Protege Axiom Language:
Predicates
Notes on Evaluation Strategy
Frame-system:
- allowed-slot-value (3 arguments: slot,
class that slot is attached to, a value)
- allowed-slot-value-type (3
arguments: slot, class that slot is attached to, class which defines value type)
- direct-instance-of (2 arguments: a
frame and a class)
- direct-subclass-of (2 arguments: the
subclass and the superclass)
- direct-superclass-of (2 arguments:
the superclass and the subclass)
- direct-template-slot-of (2
arguments: a slot and a class)
- facet-not-null (3 arguments: a facet,
a frame, and a slot)
- instance-of (2 arguments: a frame and a class)
- is-class (1 argument: any type)
- is-concrete-class (1 argument: any type)
- is-frame (1 argument: any type)
- own-facet-not-null (3 arguments: a
facet, a frame, and a slot)
- own-slot-has-duplicate-values
(2 arguments: a slot and a frame)
- own-slot-not-null (2 arguments: a
slot and a frame)
- own-slot-of (2 arguments: a slot and a frame)
- slot-at-class-is-boolean-valued (2
arguments: a slot and a class)
- slot-at-class-is-class-valued (2
arguments: a slot and a class)
- slot-at-class-is-float-valued (2
arguments: a slot and a class)
- slot-at-class-is-frame-valued (2
arguments: a slot and a class)
- slot-at-class-is-instance-valued (2
arguments: a slot and a class)
- slot-at-class-is-integer-valued (2
arguments: a slot and a class)
- slot-at-class-is-primitive-valued (2
arguments: a slot and a class)
- slot-at-class-is-single-valued (2
arguments: a slot and a class)
- slot-at-class-is-string-valued (2
arguments: a slot and a class)
- slot-at-class-is-symbol-valued (2
arguments: a slot and a class)
- slot-has-duplicate-values (2
arguments: a slot and a frame)
- slot-is-boolean-valued (1
argument: the slot in question)
- slot-is-class-valued (1
argument: the slot in question)
- slot-is-float-valued (1
argument: the slot in question)
- slot-is-frame-valued (1
argument: the slot in question)
- slot--is-instance-valued (1
argument: the slot in question)
- slot-is-integer-valued (1
argument: the slot in question)
- slot-is-primitive-valued (1
argument: the slot in question)
- slot-is-single-valued (1
argument: the slot in question)
- slot-is-string-valued(1
argument: the slot in question)
- slot-is-symbol-valued (1
argument: the slot in question)
- slot-not-null (2 arguments: a slot and
a frame)
- slot-of (2 arguments: a slot and a frame)
- subclass-of (2 arguments: the subclass and the
superclass)
- superclass-of (2 arguments: the superclass
and the subclass)
- template-facet-not-null (3
arguments: a facet, a class, and a slot)
- template-slot-has-duplicate-values
(2 arguments: a slot and a frame)
- template-slot-not-null (2
arguments: a slot and a class)
- template-slot-of (2 arguments: a
slot and a class)
Arithmetic:
- even (1 argument: an integer)
- negative (1 argument: a number)
- odd (1 argument: an integer)
- positive (1 argument: an number)
- prime (1 argument: an integer)
- < (2 arguments, both numbers)
- > (2 arguments, both numbers)
String:
- prefix-of (2 arguments: the smaller string and
the larger string)
- substring-of (2 arguments: the smaller string
and the larger string)
- suffix-of (2 arguments: the smaller string and
the larger string)
Miscellaneous:
Functions
Notes on Evaluation Strategy
Coercion:
Arithmetic:
- + (2 arguments: both numbers. Return type is number.)
- - (2 arguments: both numbers. Return type is
number.)
- * (2 arguments: both numbers. Return type is
number.)
- / (2 arguments: both numbers. Return type is
number.)
- round (1 arguments: a number. Return type is
integer.)
- truncate (1 arguments: a number. Return type is
integer.)
Miscellaneous:
The Type System: