edu.isi.powerloom.logic
Class PatternVariable

java.lang.Object
  extended by edu.isi.stella.Stella_Object
      extended by edu.isi.stella.StandardObject
          extended by edu.isi.stella.ContextSensitiveObject
              extended by edu.isi.powerloom.logic.LogicObject
                  extended by edu.isi.powerloom.logic.Skolem
                      extended by edu.isi.powerloom.logic.PatternVariable

public class PatternVariable
extends Skolem

A variable in a logical expression.


Field Summary
 int boundToOffset
           
 
Fields inherited from class edu.isi.powerloom.logic.Skolem
definingProposition, skolemName, skolemType, variableValue
 
Fields inherited from class edu.isi.powerloom.logic.LogicObject
dependentPropositionsIndex, dynamicSlots, surrogateValueInverse, variableValueInverse
 
Fields inherited from class edu.isi.stella.ContextSensitiveObject
homeContext
 
Constructor Summary
PatternVariable()
           
 
Method Summary
static Stella_Object accessPatternVariableSlotValue(PatternVariable self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static void addVariableType(PatternVariable variable, Surrogate newtype, KeyValueList table, Cons visiblevariables)
           
static boolean bindVariableToValueP(PatternVariable variable, Stella_Object value, boolean autocleanupP)
           
static Stella_Object boundTo(PatternVariable self)
           
static Stella_Object boundToInFrame(PatternVariable self, ControlFrame frame)
           
static Stella_Object boundToInRecord(PatternVariable self, PatternRecord record)
           
static void changePatternVariableBinding(PatternVariable variable, Stella_Object newvalue)
           
static Proposition cheapestGeneratorGoal(PatternVariable variable, java.lang.Object[] MV_returnarray)
           
static PatternVariable copyVariable(PatternVariable self, KeyValueList mapping)
           
static Skolem createSkolemForUnmappedVariable(PatternVariable variable, KeyValueList mapping)
           
static boolean failsAntecedentTypeCheckP(PatternVariable v1, Stella_Object i2)
           
static boolean failsUnificationTypeCheckP(PatternVariable v1, Stella_Object i2)
           
static boolean freeVariableP(PatternVariable variable, Proposition proposition)
           
static Symbol generateNameOfVariable(PatternVariable self)
           
static Stella_Object generateOneVariable(PatternVariable self, boolean typedP)
           
static GoalRecord goalRecord(PatternVariable variable)
           
static int hashUnboundGoalVariable(PatternVariable var, Vector arguments, int code)
           
static boolean helpBindVariableToValueP(PatternVariable variable, Stella_Object value)
           
static PatternVariable innermostVariableOf(PatternVariable self)
           
static PatternVariable newPatternVariable()
           
 Surrogate primaryType()
          Returns the primary type of self.
static void printKifVariable(PatternVariable self)
           
static void printOneVariableBinding(PatternVariable variable)
           
static void printQuantifiedVariable(PatternVariable self, OutputStream stream)
           
static void printVariable(PatternVariable self, OutputStream stream)
           
static void printVariableName(PatternVariable self, OutputStream stream)
           
static PatternVariable renameLogicVariableApart(PatternVariable variable, boolean destructiveP)
           
static Stella_Object safeBoundTo(PatternVariable self)
           
static void setPatternVariableBinding(PatternVariable variable, Stella_Object value)
           
static void simulateBindVariableAndPropagateConstraints(PatternVariable variable, List goalsequence)
           
static boolean topLevelExistentialVariableP(PatternVariable variable, Description description)
           
static boolean variableBoundP(PatternVariable variable)
           
 
Methods inherited from class edu.isi.powerloom.logic.Skolem
accessSkolemSlotValue, anonymousVariableP, bindSkolemToValue, computeRelationTermSurrogate, conflictingDefaultValues, generateSkolem, getSkolemPrintName, helpCreateSkolem, inheritEquivalentProposition, inheritVariableValueUpdate, markAsIncoherent, newSkolem, objectEqualP, printKifSkolem, printSkolem, printSkolemName, printValueOfChain, pushLogicVariableBinding, reactToInferenceUpdate, reactToSkolemValueUpdate, signalVariableValueClash, unbindSkolemValue, unboundP, unifySkolemAndValue, unifyTypes, updateSkolemType, valueClashesWithSkolemP
 
Methods inherited from class edu.isi.powerloom.logic.LogicObject
accessLogicObjectSlotValue, addIsaLink, allDirectSubcollections, allDirectSubcollectionsWithEquivalents, allDirectSupercollections, allDirectSupercollectionsWithEquivalents, allEquivalentCollections, allInferableDirectSubcollections, allSlotValues, allSlotValueTypes, allSubcollections, allSupercollections, allSupportedNamedSubcollections, applicableRulesOfDescription, assertProperty, badP, bindToEquivalentValue, buildCaseFromInstance, cheapEmptyTermP, collectionImpliesCollectionP, collectSubsumingParentsBelow, conceptPrototypeOf, conceptPrototypeP, deletedP, deletedPSetter, derivePartitionMembershipsP, destroyTerm, downclassificationTimestamp, downclassifiedP, downclassifyOneDescription, elaboratedInWorlds, equivalenceCollections, equivalentCollectionPriority, evaluateLogicObjectTerm, evaluateReachableInequalities, evaluateRemainingArguments, expensiveEmptyTermP, filterInstanceP, generateCaseBasedAnswer, generateExpression, getMostSpecificClasses, getSlotMaximumCardinality, getSlotMinimumCardinality, getSlotValue, getSlotValueType, helpAllSupportedNamedSubcollections, helpCollectParentsBelowP, helpDerivePartitionMemberships, helpDownclassifyOneDescription, helpUpclassifyOneEntity, introductionTimestamp, logicObjectDinheritUnnamedDescription, logLogicObject, matchInstances, namedCollectionP, newLogicObject, nonPolymorphicPredicateP, objectNameLessThanP, printKifLogicObject, printLogicObject, printObject, processDefinitionOptions, refreshDownclassificationTimestamp, removeAllDependentPropositionLinks, retractFactsOfInstance, retractProperty, testSlotValueP, unbindEquivalentValue, unlinkEquivalentValue, upclassifiedLaterThanP, upclassifyOneDescription, upclassifyOneInstance, updateProperty, variableValueInverse, visibleTermP
 
Methods inherited from class edu.isi.stella.ContextSensitiveObject
homeModule
 
Methods inherited from class edu.isi.stella.StandardObject
arrayTypeSpecifierP, baseTypeToTypeSpec, cantOverwriteActiveCollectionSlot, compatibleParameterTypesP, computeAnchoredTypeSpec, computeRelativeTypeSpec, conformingTypeSpecP, copyWrappedLiteral, cppReferenceTypeP, cppReferencizeType, cppTranslateAndPointerizeTypeSpec, cppTranslateAndReferencizeTypeSpec, cppTranslateTypeSpec, dropSlotValue, extractParameterType, extractRequiredArgumentValues, getSlot, hashCode_, idlTranslateTypeSpec, inverseSlotDemon, javaLiteralP, javaNativeLiteralWrapperNames, javaSpecialSetterName, javaTranslateArrayOfTypeSpec, javaTranslateTypeSpec, javaTranslateTypeSpecForFunction, javaTranslateTypeSpecHelper, javaYieldClassObjectArrayExpression, javaYieldClassObjectExpression, javaYieldFullyQualifiedTypeName, javaYieldTranslatedClassAndMethodNames, listifyTypeSpec, lookupClTypeFromStellaType, objectEqlP, putSlotValue, readSlotValue, runConstructorDemons, runDestructorDemons, runSlotDemons, runSlotGuardDemonsP, standardObjectP, subTypeSpecOfP, twoArgumentLeastCommonSupertype, typeSpecToBaseType, typeSpecToClass, typeToWalkedNullValueTree, validateTypeSpecifier, voidP, walkTypeSpecIsNativeTypeP, writeSlotValue, yieldTypeSpecTree
 
Methods inherited from class edu.isi.stella.Stella_Object
_, accessInContext, amPm, anchoredTypeSpecifierP, andOrNotTreeP, applyCoercionMethod, atomicExpressionP, bindToSurrogateP, booleanP, bootstrapIsaP, bquotify, cast, characterP, clTranslateAtomicTree, clTranslateATree, clTranslateBooleanTest, clTranslatePlainBooleanTest, clTranslateVerbatimBodySymbols, clYieldTypedExpressionTree, coerceATree, coerceEvaluatedTree, coerceMvTree, coerceToBoolean, coerceToModule, coerceToModuleName, coerceToSymbol, coerceToXmlElement, coercibleP, collectFeatureList, collectKeyValueList, commonLispSymbolP, computeExpressionType, cons, consify, consifyListsAndIterators, consP, consTreeMatchP, convertToLiteral, copyConsTree, cppArgumentIsStreamP, cppBinaryOperatorP, cppBlockP, cppMaybeOutputStatementWithParentheses, cppOperatorP, cppOutputAtomicExpression, cppOutputLiteral, cppOutputOneActualParameter, cppOutputStatement, cppOutputTypedEntity, cppPrognifyStatement, cppPrognP, cppStatementToList, cppStreamIsStandardOutputP, cpptrans, cppTranslateAtomicTree, cppTranslateATree, cppTranslatedArrayTypeP, csValueP, dateDivider, dateTimeDivider, day, dealWithAmPm, dealWithEra, dealWithNoonMidn, decrementReferenceCount, defaultOptionHandler, defineSystem, defmodule, describe, describeObject, describeTersely, destructureMethodNameTree, deUglifyParseTree, either, eqlP, eqlToBooleanP, eqlToCharacterP, eqlToFloatP, eqlToIntegerP, eqlToStringP, equalConsTreesP, equalHashCode, equalP, era, estimatedEvaluationCost, evaluate, evaluateArgumentTree, evaluateAtomicTree, evaluateCommand, expandBquoteTree, filterModuleP, floatP, free, get, getObject, hashlist, hashMemoizedArguments, helpBquotify, helpClTranslateATree, helpCoerceATree, helpLptrans, helpPrintOutline, helpTransformBooleanProceduralExpression, helpWalkATree, hour, idlOutputAtomicExpression, idlOutputLiteral, idlOutputStatement, idlTranslateAtomicTree, idlTranslateATree, illegalTreeP, implodePathname, incrementallyTranslate, incrementReferenceCount, inlineUnwrapBoolean, inlineWrapBoolean, inModule, integerP, isaP, javaBinaryOperatorP, javaBlockP, javaEndOfLineTokenP, javaHelpOutputPrintStream, javaMaybeOutputStatementWithParentheses, javaOperatorP, javaOutputLiteral, javaOutputStatement, javaPrognP, javaStreamIsStandardOutputP, javaSymbolCaseP, javaTranslateAtomicTree, javaTranslateATree, javaTranslateWithNativeWrapper, jptrans, keywordP, kvCons, legalTokenizerFromStateP, legalTokenizerStateP, legalTokenizerToStateP, literalEqlP, logLevelLE, lptrans, makeFileNameFromRelativePath, makeMemoizedValueEntry, makeMemoizedValueEntryn, matchConsTree, methodSlotP, minute, month, nameToString, nilP, noonMidn, numberWrapperToFloat, objectHashCode, one, oneI, onlyIf, parametricTypeSpecifierP, parseArrayDimensionsSpec, parseTokenizerCharacterSpec, parseTokenizerStateModifiers, permanentCopy, permanentify, permanentifyForm, po, prettyPrintLiteral, primaryClass, printOutline, printStellaCode, printStellaDefinition, printUndefinedSuperClasses, proceduralExpressionP, ptrans, publicSlots, registerRecycledItem, runOptionHandlerP, safeEqualHashCode, safeHashCode, safePrimaryType, safeYieldTypeSpecifier, searchConsTreeP, searchConsTreeWithFilterP, searchForObject, secondp, sideEffectFreeExpressionP, simplifyBquoteTree, specialp, stella_Increment, stellaClassP, stellaCollectionP, stellaNeedToCompileP, stellaNeedToTranslateP, stellaObjectP, stellify, storageSlotP, stringifyInModule, stringP, substituteConsTree, substituteOnce, surrogateP, surrogatify, sweep, symbolCaseP, symbolP, sysTree, targetLanguageType, taxonomyIsaP, timeDivider, timeMultiply, tokenizerIncludeSpecP, tokenizerToStateAlias, tokenizerToStateName, toString, traceIf, traceKeywordP, transientifyForm, transientObjectP, transientSymbolP, translateWalkedTree, treeSize, treeToTrees, trueOptionP, tryToEvaluate, typeP, typify, unmake, unregisterRecycledItem, updateInContext, valuesTreeP, variableExpressionP, verbatimStringP, verbatimTreeP, vetOptions, vrletExpressionP, walkAtomicTree, walkATree, walkCollectionTree, walkDontCallMeTree, walkedExpressionType, walkExpressionTree, walkMvExpressionTree, walkMvTree, walkStatement, walkTopLevelExpression, walkWithoutTypeTree, warnAboutUnknownSourceType, weekday, withinContext, withinModule, withinWorld, withStellaTokenizer, withSystemDefinition, withTokenizer, wrapperP, wrapWhereTest, xmlAttributeP, xmlCdataFormP, xmlCdataP, xmlDeclarationFormP, xmlDeclarationP, xmlDoctypeFormP, xmlElementFormP, xmlElementP, xmlnsAttributeP, xmlProcessingInstructionFormP, xmlProcessingInstructionP, xmlTagCase, year, yieldCondTest, yieldCondTestOrTests, yieldHardcodedCaseSymbolIdOrIds, yieldInCursorClausesForArgumentList, yieldInCursorClausesForGeneralCollection, yieldInCursorClausesForVector, yieldTypeSpecifier, zone, zoneMinute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

boundToOffset

public int boundToOffset
Constructor Detail

PatternVariable

public PatternVariable()
Method Detail

newPatternVariable

public static PatternVariable newPatternVariable()

createSkolemForUnmappedVariable

public static Skolem createSkolemForUnmappedVariable(PatternVariable variable,
                                                     KeyValueList mapping)

copyVariable

public static PatternVariable copyVariable(PatternVariable self,
                                           KeyValueList mapping)

simulateBindVariableAndPropagateConstraints

public static void simulateBindVariableAndPropagateConstraints(PatternVariable variable,
                                                               List goalsequence)

cheapestGeneratorGoal

public static Proposition cheapestGeneratorGoal(PatternVariable variable,
                                                java.lang.Object[] MV_returnarray)

goalRecord

public static GoalRecord goalRecord(PatternVariable variable)

variableBoundP

public static boolean variableBoundP(PatternVariable variable)

generateOneVariable

public static Stella_Object generateOneVariable(PatternVariable self,
                                                boolean typedP)

generateNameOfVariable

public static Symbol generateNameOfVariable(PatternVariable self)

printQuantifiedVariable

public static void printQuantifiedVariable(PatternVariable self,
                                           OutputStream stream)

printVariable

public static void printVariable(PatternVariable self,
                                 OutputStream stream)

printVariableName

public static void printVariableName(PatternVariable self,
                                     OutputStream stream)

printKifVariable

public static void printKifVariable(PatternVariable self)

hashUnboundGoalVariable

public static int hashUnboundGoalVariable(PatternVariable var,
                                          Vector arguments,
                                          int code)

printOneVariableBinding

public static void printOneVariableBinding(PatternVariable variable)

bindVariableToValueP

public static boolean bindVariableToValueP(PatternVariable variable,
                                           Stella_Object value,
                                           boolean autocleanupP)

helpBindVariableToValueP

public static boolean helpBindVariableToValueP(PatternVariable variable,
                                               Stella_Object value)

failsAntecedentTypeCheckP

public static boolean failsAntecedentTypeCheckP(PatternVariable v1,
                                                Stella_Object i2)

failsUnificationTypeCheckP

public static boolean failsUnificationTypeCheckP(PatternVariable v1,
                                                 Stella_Object i2)

boundToInRecord

public static Stella_Object boundToInRecord(PatternVariable self,
                                            PatternRecord record)

boundToInFrame

public static Stella_Object boundToInFrame(PatternVariable self,
                                           ControlFrame frame)

safeBoundTo

public static Stella_Object safeBoundTo(PatternVariable self)

boundTo

public static Stella_Object boundTo(PatternVariable self)

changePatternVariableBinding

public static void changePatternVariableBinding(PatternVariable variable,
                                                Stella_Object newvalue)

setPatternVariableBinding

public static void setPatternVariableBinding(PatternVariable variable,
                                             Stella_Object value)

renameLogicVariableApart

public static PatternVariable renameLogicVariableApart(PatternVariable variable,
                                                       boolean destructiveP)

addVariableType

public static void addVariableType(PatternVariable variable,
                                   Surrogate newtype,
                                   KeyValueList table,
                                   Cons visiblevariables)

freeVariableP

public static boolean freeVariableP(PatternVariable variable,
                                    Proposition proposition)

topLevelExistentialVariableP

public static boolean topLevelExistentialVariableP(PatternVariable variable,
                                                   Description description)

innermostVariableOf

public static PatternVariable innermostVariableOf(PatternVariable self)

accessPatternVariableSlotValue

public static Stella_Object accessPatternVariableSlotValue(PatternVariable self,
                                                           Symbol slotname,
                                                           Stella_Object value,
                                                           boolean setvalueP)

primaryType

public Surrogate primaryType()
Description copied from class: Stella_Object
Returns the primary type of self. Gets defined automatically for every non-abstract subclass of OBJECT.

Overrides:
primaryType in class Skolem
Returns:
Surrogate