OpenCyc HomepageRule Macro Predicates

E-Mail Comments to: opencyc-doc@cyc.com
Last Update: 3/30/02
Copyright© 1996-2002. All rights reserved. See Terms of Usage.

Return to Documentation Contents
Return to Vocabulary Contents


#$RuleMacroPredicate   rule macro predicate
A specialization of #$Predicate. Each instance of #$RuleMacroPredicate is a predicate that has, implicit in its definition, a schema for a class of quantified formulas (an instance of #$RuleMacroPredicate is related to its schema via the predicate #$expansion). A ground assertion using one of these predicates is in fact shorthand for a rule fitting this schema. For example, #$genls is a #$RuleMacroPredicate and its implicit schema is (#$implies (#$isa ?X ARG1) (#$isa ?X ARG2)). Therefore, (#$genls #$Poodle #$Dog) is shorthand for the rule (#$implies (#$isa ?X #$Poodle) (#$isa ?X #$Dog). #$RuleMacroPredicates may be supported by system code, as is #$genls, or they may be defined with an #$expansion. In general, one should only introduce a new #$RuleMacroPredicate if 1) there is a plan to eventually provide code support for efficient reasoning with its uses, and/or 2) using it enables useful type-level reasoning.
guid: bd8efae4-9c29-11b1-9dad-c379636f7270
direct instance of: #$PredicateCategory
direct specialization of: #$MacroRelation  #$Predicate  #$PlanningKBPredicate  
direct generalization of: #$TypeTypeTernaryRuleMacroPredicate #$TypeInstanceTernaryRuleMacroPredicate #$InstanceTypeTernaryRuleMacroPredicate
#$expansionAxiom   expansion axiom
(#$expansionAxiom PRED ASSERT) means that the assertion ASSERT is part of the expansion of PRED.
guid: bdfabffc-9c29-11b1-9dad-c379636f7270
direct instance of: #$DistributingMetaKnowledgePredicate #$BinaryPredicate
direct specialization of: #$salientAssertions
#$relationAllExists   relation all exists
(#$relationAllExists PRED COL1 COL2) means that for any instance INST1 of COL1, there exists some instance INST2 of COL2 such that (PRED INST1 INST2) holds. (#$relationAllExists PRED COL1 COL2) is thus redundant with a commonly-encountered form of rule. So #$relationAllExists (and its defining axiom; see #$expansion) enables this common type of rule to be stated more tersely. Moreover, (forthcoming) code support will enable type-level inferencing with #$relationAllExists.
guid: bf3429c5-9c29-11b1-9dad-c379636f7270
direct instance of: #$TypeTypeTernaryRuleMacroPredicate
direct specialization of: #$most-GenQuantRelnToType
#$relationExistsAll   relation exists all
(#$relationExistsAll SLOT COL1 COL2) means that, for every INS2 which is an instance of COL2, there is some INS1 which is an instance of COL1, such that (SLOT INS1 INS2) holds. #$relationExistsAll is thus redundant with a huge set of commonly-occurring axioms. By having this predicate (along with an axiom that defines it, and, eventually, support in code for quick inferencing with it), axioms in that set can be stated more tersely, and collection-level reasoning with it is possible.
guid: c0bb3413-9c29-11b1-9dad-c379636f7270
direct instance of: #$TypeTypeTernaryRuleMacroPredicate
direct specialization of: #$most-GenQuantRelnFromType
#$requiredArg1Pred   required arg 1 pred
A #$MetaPredicate for stating that every instance of a given collection is related to some thing or things by a given predicate. (#$requiredArg1Pred COL PRED) means that for every instance INST of COL, there exists some sequence such that (PRED INST X2 ... Xn) holds. For example, (#$requiredArg1Pred #$Organization #$hasMembers) means that every organization has at least one member. See also #$requiredArg2Pred.
guid: bdd50606-9c29-11b1-9dad-c379636f7270
direct instance of: #$OpenCycDefinitionalPredicate #$RuleMacroPredicate #$MetaPredicate #$BinaryPredicate
#$requiredArg2Pred   required arg 2 pred
A #$MetaPredicate for stating that every instance of a given collection is related (as the arg2 ) to some thing or things by a given predicate. (#$requiredArg2Pred COL PRED) means that for every instance INST of COL, there exists some sequence of such that (PRED X1 INST X3 ... Xn) holds. For example, (#$requiredArg2Pred #$Side #$objectSides) means that every side is the side of at least one object. See also #$requiredArg1Pred.
guid: bef7ed88-9c29-11b1-9dad-c379636f7270
direct instance of: #$OpenCycDefinitionalPredicate #$RuleMacroPredicate #$MetaPredicate #$BinaryPredicate
#$interArgIsa1-2   inter arg isa 1 - 2
A ternary instance of #$InterArgIsaPredicate (q.v.). (#$interArgIsa1-2 RELN INDEPENDENT-ARG-COL DEPENDENT-ARG-COL) means that, when an instance of INDEPENDENT-ARG-COL appears as the first argument to RELN, a necessary condition for semantic well-formedness is that the second argument must be an instance of DEPENDENT-ARG-COL. That is, if INST is an instance of INDEPENDENT-ARG-COL, then (RELN INST ARG2 ... ARGN) is semantically well-formed only if ARG2 is an instance of DEPENDENT-ARG-COL. For example, (#$interArgIsa1-2 #$performedBy #$PurposefulAction #$IntelligentAgent) means that, if ACT is a purposeful action, then (#$performedBy ACT AGENT) is semantically well-formed only if AGENT is an intelligent agent. For an explanation of semantic well-formedness, see #$CycLExpression-Assertible and its direct specializations. See #$interArgIsa for a similar but more general predicate that is quintary, allowing the user to specify the positions of the independent and dependent arguments.
guid: bd5c548a-9c29-11b1-9dad-c379636f7270
direct instance of: #$OpenCycDefinitionalPredicate #$RuleMacroPredicate #$TernaryPredicate #$InterArgIsaPredicate
#$interArgIsa2-1   inter arg isa 2 - 1
A ternary instance of #$InterArgIsaPredicate (q.v.). (#$interArgIsa2-1 RELN INDEPENDENT-ARG-COL DEPENDENT-ARG-COL) means that, when an instance of INDEPENDENT-ARG-COL appears as the second argument to RELN, a necessary condition for semantic well-formedness is that the first argument must be an instance of DEPENDENT-ARG-COL. That is, if INST is an instance of INDEPENDENT-ARG-COL, then (RELN ARG1 INST ... ARGN) is semantically well-formed only if ARG1 is an instance of DEPENDENT-ARG-COL. For an explanation of semantic well-formedness, see #$CycLExpression-Assertible and its direct specializations.
guid: bd682bdd-9c29-11b1-9dad-c379636f7270
direct instance of: #$OpenCycDefinitionalPredicate #$RuleMacroPredicate #$TernaryPredicate #$InterArgIsaPredicate


Copyright© 1996-2002. All rights reserved. See Terms of Usage.