Advertisement
logicmoo

Untitled

May 5th, 2016
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 2.28 KB | None | 0 0
  1.  
  2.  
  3. Mt : UniversalVocabularyImplementationMt
  4. [Def](canonicalizerDirectiveForArg expansion 2 AllowGenericArgVariables)
  5. [Def](canonicalizerDirectiveForArg expansion 2 LeaveSomeTermsAtEL)
  6.  
  7. Mt : UniversalVocabularyMt
  8. comment :   [Def]"Some relations (namely, instances of MacroRelation (q.v.)) can be defined in terms of more basic or primitive constructs. (expansion RELATION FORMULA) associates RELATION with the FORMULA that defines it. The arg2 is allowed to reference generic-argument keywords, such as :ARG1 :ARG2 which represent respectively the arg1 and the arg2 within uses of RELATION. For example, (expansion genls (implies (isa ?object :ARG1) (isa ?object :ARG2))) indicates that the gaf (genls Poodle Dog) is defined as (implies (isa ?object Poodle) (isa ?object Dog))). Importantly, the expansion-formula arg2 must be necessary and sufficient; it denotes the definition of the uses of relation arg1; there can be only one expansion for any relation. Furthermore, no two relations can share a common expansion; thus, there can be only one possible contraction from a formula that corresponds to an expansion into a compact form that references expandable relations. For example, (implies (isa ?object Poodle) (isa ?object Dog))) has the unambiguous contraction of (genls Poodle Dog). The expansion arg2 can (and should when possible) make use of relations that have expansions. Note that the example above references implies which would itself have the expansion (or (not :ARG1) :ARG2). Thus, the full expansion of a relation can involve recursive expansions. For example, the full expansion of genls would be (or (isa ?object :ARG1) (not (isa ?object :ARG2)))). No relation may reference itself (either directly or indirectly via recursion) in its expansion (or in its full recursive expansion). See ELRelation, TermMacroFunction, expansionAxiom."
  9.  
  10. Mt : BaseKB
  11. cyclistNotes :  [Def]"Be sure to quantify any variables in an expansion that you wish to have scoped. Leaving the quantification implicit can lead to unintended variable capture." [Def]M"The canonicalizer can (optionally) impose semantic wff testing on the full expansions of uses of relations that have an expansion." [Def]M"The canonicalizer will translate uses of ELRelation into their expansions; every instance of ELRelation must have an expansion."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement