edu.isi.powerloom.logic
Class Skolem

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
Direct Known Subclasses:
PatternVariable

public class Skolem
extends LogicObject

Object whose identity and type are not fixed at creation time. Potentially unifiable with any other object.


Field Summary
 Proposition definingProposition
           
 Symbol skolemName
           
 Surrogate skolemType
           
 Stella_Object 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
Skolem()
           
 
Method Summary
static Stella_Object accessSkolemSlotValue(Skolem self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static boolean anonymousVariableP(Skolem self)
           
static void bindSkolemToValue(Skolem fromskolem, Stella_Object tovalue, boolean toplevelupdateP)
           
static Surrogate computeRelationTermSurrogate(Skolem skolem, Proposition proposition)
           
 Cons conflictingDefaultValues()
           
static Stella_Object generateSkolem(Skolem self)
           
static java.lang.String getSkolemPrintName(Skolem self)
           
static Skolem helpCreateSkolem(Skolem self, Surrogate type, Symbol name, boolean assertisaP)
           
static Proposition inheritEquivalentProposition(Skolem skolem, Stella_Object value)
           
static void inheritVariableValueUpdate(Skolem skolem, World toworld)
           
 void markAsIncoherent()
           
static Skolem newSkolem()
           
 boolean objectEqualP(Stella_Object other)
          Return true if x and y are eqP.
 Surrogate primaryType()
          Returns the primary type of self.
static void printKifSkolem(Skolem self, boolean suppressdefiningpropositionP)
           
static void printSkolem(Skolem self, OutputStream stream, boolean toplevelP)
           
static void printSkolemName(Skolem self, OutputStream stream)
           
static void printValueOfChain(Skolem self, OutputStream stream, Stella_Object chainend)
           
static void pushLogicVariableBinding(Skolem variable)
           
 void reactToInferenceUpdate()
           
static void reactToSkolemValueUpdate(Skolem skolem, Stella_Object oldvalue, Stella_Object newvalue, boolean toplevelupdateP)
           
static void signalVariableValueClash(Skolem skolem, Stella_Object value1, Stella_Object value2)
           
static void unbindSkolemValue(Skolem skolem, boolean toplevelupdateP)
           
static boolean unboundP(Skolem skolem)
           
static void unifySkolemAndValue(Skolem skolem, Stella_Object value)
           
static void unifyTypes(Skolem term1, Stella_Object term2)
           
static void updateSkolemType(Skolem self, Surrogate type)
           
static boolean valueClashesWithSkolemP(Skolem skolem, Stella_Object value)
           
 
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

skolemType

public Surrogate skolemType

skolemName

public Symbol skolemName

variableValue

public Stella_Object variableValue

definingProposition

public Proposition definingProposition
Constructor Detail

Skolem

public Skolem()
Method Detail

newSkolem

public static Skolem newSkolem()

inheritEquivalentProposition

public static Proposition inheritEquivalentProposition(Skolem skolem,
                                                       Stella_Object value)

valueClashesWithSkolemP

public static boolean valueClashesWithSkolemP(Skolem skolem,
                                              Stella_Object value)

generateSkolem

public static Stella_Object generateSkolem(Skolem self)

printSkolem

public static void printSkolem(Skolem self,
                               OutputStream stream,
                               boolean toplevelP)

printSkolemName

public static void printSkolemName(Skolem self,
                                   OutputStream stream)

printValueOfChain

public static void printValueOfChain(Skolem self,
                                     OutputStream stream,
                                     Stella_Object chainend)

getSkolemPrintName

public static java.lang.String getSkolemPrintName(Skolem self)

printKifSkolem

public static void printKifSkolem(Skolem self,
                                  boolean suppressdefiningpropositionP)

computeRelationTermSurrogate

public static Surrogate computeRelationTermSurrogate(Skolem skolem,
                                                     Proposition proposition)

pushLogicVariableBinding

public static void pushLogicVariableBinding(Skolem variable)

inheritVariableValueUpdate

public static void inheritVariableValueUpdate(Skolem skolem,
                                              World toworld)

markAsIncoherent

public void markAsIncoherent()
Overrides:
markAsIncoherent in class LogicObject

reactToInferenceUpdate

public void reactToInferenceUpdate()

updateSkolemType

public static void updateSkolemType(Skolem self,
                                    Surrogate type)

anonymousVariableP

public static boolean anonymousVariableP(Skolem self)

conflictingDefaultValues

public Cons conflictingDefaultValues()

unbindSkolemValue

public static void unbindSkolemValue(Skolem skolem,
                                     boolean toplevelupdateP)

bindSkolemToValue

public static void bindSkolemToValue(Skolem fromskolem,
                                     Stella_Object tovalue,
                                     boolean toplevelupdateP)

unifySkolemAndValue

public static void unifySkolemAndValue(Skolem skolem,
                                       Stella_Object value)

unifyTypes

public static void unifyTypes(Skolem term1,
                              Stella_Object term2)

signalVariableValueClash

public static void signalVariableValueClash(Skolem skolem,
                                            Stella_Object value1,
                                            Stella_Object value2)

objectEqualP

public boolean objectEqualP(Stella_Object other)
Description copied from class: Stella_Object
Return true if x and y are eqP.

Overrides:
objectEqualP in class Stella_Object
Returns:
boolean

helpCreateSkolem

public static Skolem helpCreateSkolem(Skolem self,
                                      Surrogate type,
                                      Symbol name,
                                      boolean assertisaP)

unboundP

public static boolean unboundP(Skolem skolem)

reactToSkolemValueUpdate

public static void reactToSkolemValueUpdate(Skolem skolem,
                                            Stella_Object oldvalue,
                                            Stella_Object newvalue,
                                            boolean toplevelupdateP)

accessSkolemSlotValue

public static Stella_Object accessSkolemSlotValue(Skolem 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 LogicObject
Returns:
Surrogate