|
|
|
The Basics |
|
Arity |
|
Argument Types |
|
Second-Order Predicates |
|
More on Functions |
|
|
|
|
The types of arguments a predicate or function
requires. |
|
|
|
|
|
|
|
Argument types can be specified two ways |
|
|
|
#$arg[N]Isa :
states what the Nth argument must be an instance of |
|
|
|
#$arg[N]Genl :
states what the Nth argument must be a specialization of |
|
|
|
|
|
|
|
|
Example 1 |
|
|
|
(#$arg1Isa
#$mother #$Animal) |
|
(#$arg2Isa
#$mother #$FemaleAnimal) |
|
|
|
Thus , |
|
|
|
(#$mother
#$ChelseaClinton
#$HillaryClinton) |
|
|
|
is a well-formed sentence because : |
|
(#$isa
#$ChelseaClinton #$Animal) and |
|
(#$isa
#$HillaryClinton
#$FemaleAnimal) |
|
|
|
|
|
|
|
|
|
|
Example 2 |
|
|
|
(#$arg1Isa #$TransportViaFn
#$ExistingObjectType) |
|
(#$arg1Genl
#$TransportViaFn
#$SolidTangibleThing) |
|
|
|
Thus , |
|
(#$TransportViaFn #$Automobile) is a well-formed NAT because #$Automobile is
both: |
|
an instance of #$ExistingObjectType |
|
and |
|
a specialization of #$SolidTangibleThing. |
|
|
|
|
|
A relation must be applied to arguments that meet
its argument type specifications for the result to be semantically well-formed. |
|
|
|
(#$MotherFn #$TheWhiteHouse) is semantically malformed. |
|
(#$MotherFn
#$HillaryClinton) is
semantically well-formed. |
|
|
|
|
|
|
|
|
|
|
|
|
Each predicate and function is defined to use
arguments of particular types |
|
Argument types can be specified in two ways |
|
#$arg[N]Isa |
|
#$arg[N]Genl |
|
A relation must be applied to arguments that
meet its argument type specifications if the result is to be semantically
well-formed |
|