slot-def associates a slot name with a slot definition
A slot-def consists of the following main components:
subslot-of: defines a subset of each set in the list.
Domain: pair(x,y) is an instance, then x must be an instance of each class-expression in the list.
Range: pair(x,y) is an instance, then y must be an instance of each class-expression in the list.
Inverse: pair(x,y) is an instance of slot S, then pair(y,x) must be an instance of the slot being defined.
Properties: valid properties are transitive, symmetric and reflexive.