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. When multi-valued slots are used as predicates, then the predicate will be tested with each value of the slot.

Note on the strategy for evaluating predicates:

Note: When using a class or slot name that contains a space, you must enclose the name in single quotes. For example, my class must be written as 'my class'.

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.  However, multi-valued slots are not very useful as functions, because in this case the element-of predicate is broken.

Note on the strategy for evaluating functions:

Note: When using a class or slot name that contains a space, you must enclose the name in single quotes. For example, my class must be written as 'my class'.

Frame-system functions

 

Coercion  functions

 

Arithmetic functions

 


The PAL Language and Frames/Supported Predicates and Functions in PAL

Next: The User Interface/The PAL Constraints Tab

PAL Table of Contents