The SLOT-VALUE-TYPE of a relation R with respect to a domain class C is a constraint on the values of R when R is applied to instances of C. The constraint is specified as a class T such that for any instance c of C, when R(c,t), t is an instance of T.
(<=> (Slot-Value-Type ?Class ?Binary-Relation ?Type)
(And (Class ?Class)
(Binary-Relation ?Binary-Relation)
(Class ?Type)
(Forall (?Instance)
(=> (Instance-Of ?Instance ?Class)
(=> (Holds ?Binary-Relation
?Instance
?Slot-Value)
(Instance-Of ?Slot-Value ?Type))))))
(Nth-Domain Slot-Value-Type 3 Class) (Nth-Domain Slot-Value-Type 2 Binary-Relation) (Nth-Domain Slot-Value-Type 1 Class)
(<=> (Slot-Value-Type ?Class ?Binary-Relation ?Type)
(And (Class ?Class)
(Binary-Relation ?Binary-Relation)
(Class ?Type)
(Forall (?Instance)
(=> (Instance-Of ?Instance ?Class)
(=> (Holds ?Binary-Relation
?Instance
?Slot-Value)
(Instance-Of ?Slot-Value ?Type))))))
(Inherited-Facet-Value Slot-Value-Type
One-To-One-Relation
Inverse
Function)
(Inherited-Facet-Value Slot-Value-Type
One-To-Many-Relation
Inverse
Function)
In KEE, slot-value-type is called `VALUECLASS'.