edu.isi.powerloom.logic
Class Description

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.Description
Direct Known Subclasses:
NamedDescription

public class Description
extends LogicObject


Field Summary
 Vector internalVariables
          The set of internally quantified variables besides the descriptions's IO variables.
 Vector ioVariables
           
 Proposition proposition
           
 KeyValueList queryPatterns
           
 
Fields inherited from class edu.isi.powerloom.logic.LogicObject
dependentPropositionsIndex, dynamicSlots, surrogateValueInverse, variableValueInverse
 
Fields inherited from class edu.isi.stella.ContextSensitiveObject
homeContext
 
Constructor Summary
Description()
           
 
Method Summary
static Stella_Object accessDescriptionSlotValue(Description self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static int accessObservedCardinality(Description self)
           
static void addSubsumptionLink(Description subdescription, Description superdescription)
           
static void addTaxonomyImpliesSubsumesLink(Description taildescription, Description headdescription)
           
static List allIntensionalParents(Description self)
           
static Cons allNamedDirectSubdescriptions(Description self)
           
static Cons allNamedDirectSuperdescriptions(Description self, boolean removeequivalentsP)
           
static Iterator allocateAntecedentsIterator(Description goaldescription, Vector externalarguments, boolean reversepolarityP)
           
static void applyForwardRulesToVector(Description triggerdescription, Vector arguments, Proposition triggerproposition)
           
static boolean applyKappaP(Description description, Vector vector)
          Apply (inherit) the description 'description' to members of the vector 'vector'.
static void applyRuleConsequentToVector(Description consequent, Vector arguments, Proposition rule, Description triggerdescription, Proposition triggerproposition, boolean toucheddefaultP)
           
 int arity()
           
static Proposition assertDescriptionImpliesDescription(Description sub, Description renamed_Super, boolean dontupdateP)
           
static boolean atomicGoalDescriptionP(Description description)
           
static boolean checkForSingleValuedGoalP(Description pattern, Cons iobindings)
           
static KeyValueList collectForwardChainingRules(Description description, java.lang.Object[] MV_returnarray)
           
static boolean computedConstraintP(Description self)
           
static boolean computedTermP(Description self)
           
static void computeInternalVariables(Description self)
           
static Description copyDescription(Description self, KeyValueList parentmapping, boolean addbacklinksP)
           
static void createBaseRelationForPolymorphicDescription(Description description)
           
static TaxonomyNode createDescriptionImplicationSubsumptionNode(Description description, TaxonomyNode parentnode)
           
static QueryIterator createQueryIterator(Description description, Vector outsidebindings)
           
 BooleanWrapper deferredContrapositivesP()
           
static void deriveDeferredContrapositiveSatelliteRules(Description self)
           
static void deriveDeferredSatelliteRules(Description self)
           
static boolean descriptionExtensionL(Description desc1, Description desc2)
           
static boolean descriptionImpliesDescriptionP(Description subdesc, Description superdesc)
           
 Symbol descriptionName()
          Return the name of the description self, if it has one.
static TruthValue descriptionSpecializesDescriptionP(Description sub, Description renamed_Super)
           
 Surrogate descriptionSurrogate()
           
static boolean disjointTermsP(Description d1, Description d2)
          Return TRUE if 'd1' and 'd2' belong to disjoint partitions.
static void dropTaxonomyImpliesSubsumesLink(Description taildescription, Description headdescription)
           
static void ensureDescriptionBody(Description description)
           
static boolean equivalentDescriptionsP(Description self, Description other, KeyValueList mapping)
           
static void evaporateVirgin(Description self)
           
static boolean expensiveDisjointTermsP(Description d1, Description d2)
           
static Proposition extractProposition(Description self, KeyValueList mapping)
           
static TaxonomyNode findDescriptionImplicationSubsumptionNode(Description description)
           
static Cons findDirectSupersAndSubs(Description self, boolean onlysupersP, java.lang.Object[] MV_returnarray)
          Classify 'self' and return three values, its direct supers, direct subs, and a list of equivalent descriptions.
static Description findDuplicateComplexDescription(Description self)
           
static Description findDuplicateDescription(Description self)
           
 LogicObject findDuplicateNamedDescription()
           
static TaxonomyNode findOrCreateDescriptionImplicationSubsumptionNode(Description description)
           
static Description finishBuildingDescription(Description description, boolean checkforduplicateP)
           
 List forwardChainingIndices()
           
static Stella_Object generateDescription(Description self)
           
static Cons generateDescriptionProposition(Description self, boolean invertP)
           
static Cons generateDescriptionsAsRule(Description head, Description tail, Proposition rule, boolean reversepolarityP)
           
static Description getInferableComplementDescription(Description self)
           
static LogicObject getPrototype(Description description)
           
static boolean hasForwardChainingRulesP(Description description, Proposition proposition)
           
static Cons helpCollectForwardRules(Description description, KeyValueList rules, KeyValueList indices, boolean toucheddefaultP, List beenthere)
           
static void helpCollectIntensionalParents(Description description, Proposition proposition, List collection)
           
static Cons helpGetForwardChainingRules(Description description)
           
 void helpPrintOutline(OutputStream stream, int currentDepth, int depth, boolean namedP)
          Helper function for printConceptOutline
static boolean inferableP(Description self)
           
static boolean inferableWithCycleCheckP(Description self, Cons alreadyvisitedlist)
           
static KeyValueList inferVariableTypesInDescription(Description description)
           
static Description instantiateExternalVariables(Description self, KeyValueList bindings)
           
static void introduceIntoClassificationSession(Description self)
           
static void markUnmarkedSuperrelations(Description description, MarkerTable selfisbelowtable)
           
static boolean namedDescriptionP(Description self)
          Return TRUE if 'self' is the description of a named class or relation.
 Relation nativeRelation()
           
static Description newDescription()
           
static boolean nonInferableP(Description self)
           
static void optimizeQuery(Description description, BooleanVector booleanvector, ControlFrame parentframe)
           
 Surrogate primaryType()
          Returns the primary type of self.
static void printDescription(Description self, OutputStream stream, boolean toplevelP)
           
static void printDescriptionsAsKifRule(Description head, Description tail, Proposition rule, boolean reversepolarityP)
           
static void printKifDescription(Description self)
           
static void printKifDescriptionProposition(Description self, boolean invertP)
           
static Description selectOptimalQueryPattern(Description description, BooleanVector booleanvector, ControlFrame parentframe)
           
static void simplifyDescription(Description description, boolean postoptimizationP)
           
static Cons topLevelExistentialVariables(Description self)
           
static TruthValue unaryDescriptionSpecializesDescriptionP(Description sub, Description renamed_Super)
           
static boolean variableArityP(Description self)
           
static PatternVariable variableFromUnbindingOffset(Description description, int uboffset)
           
 boolean virginP()
           
 
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, markAsIncoherent, 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, 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, objectEqualP, 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

proposition

public Proposition proposition

ioVariables

public Vector ioVariables

internalVariables

public Vector internalVariables
The set of internally quantified variables besides the descriptions's IO variables. This set includes any top-level implicit existential variables plus any variables introduced by some nested quantifier. IMPORTANT: therefore, a description's internal variables are not necessarily equivalent to its top-level implicit existential variables.


queryPatterns

public KeyValueList queryPatterns
Constructor Detail

Description

public Description()
Method Detail

newDescription

public static Description newDescription()

helpPrintOutline

public void helpPrintOutline(OutputStream stream,
                             int currentDepth,
                             int depth,
                             boolean namedP)
Helper function for printConceptOutline

Overrides:
helpPrintOutline in class Stella_Object
Parameters:
stream -
currentDepth -
depth -
namedP -

findDirectSupersAndSubs

public static Cons findDirectSupersAndSubs(Description self,
                                           boolean onlysupersP,
                                           java.lang.Object[] MV_returnarray)
Classify 'self' and return three values, its direct supers, direct subs, and a list of equivalent descriptions. Setting 'supersOnly?' may speed up the computation (perhaps by a lot). If 'description' is nameless and has no dependent propositions, then it is automatically removed from the hierarchy after classification.

Parameters:
self -
onlysupersP -
MV_returnarray -
Returns:
Cons

evaporateVirgin

public static void evaporateVirgin(Description self)

virginP

public boolean virginP()

markUnmarkedSuperrelations

public static void markUnmarkedSuperrelations(Description description,
                                              MarkerTable selfisbelowtable)

introduceIntoClassificationSession

public static void introduceIntoClassificationSession(Description self)