Supported Predicates and Functions in PAL


PAL Predicates

PAL supports mostly predicates that test the properties of frame arguments; PAL also includes a limited number of arithmetic and string predicates, plus miscellaneous predicates.

In addition, any slot of a knowledge base can be used as a unary predicate, the first argument being the class to which the slot is attached and the second argument being a slot value (see example).

Note on the strategy for evaluating predicates:

Frame-system predicates

Frame-level predicates

Class-level predicates

Slot-level predicates

Facet-level predicates

Instance-level predicates

 

Arithmetic predicates

 

String predicates

 

Miscellaneous predicates


PAL Functions

PAL supports functions that test argument frames, as well as type-coercion functions and a few arithmetic functions.

In addition, any slot of a knowledge base can be used as a function, the only argument being the class to which the slot is attached, and the return type being the value-type of the slot (see example).

Note on the strategy for evaluating predicates:

 

Frame-system functions

 

Coercion  functions

 

Arithmetic functions


Extending PAL with additional predicates and functions.