The VALUE-CARDINALITY of a binary-relation with respect to a given domain instance is the number of range-elements to which the relation maps the domain-element. For a function (single-valued relation), the VALUE-CARDINALITY is 1 on all domain instances for which the function is defined. It is 0 for those instances outside the exact domain of the function.VALUE-CARDINALITY may be used within the definition of a class to specify a slot cardinality if its first argument is the class's instance variable.
(Nth-Domain Value-Cardinality 3 Nonnegative-Integer) (Nth-Domain Value-Cardinality 2 Binary-Relation)
(<- (Value-Cardinality ?Instance ?Binary-Relation)
(Cardinality (Setofall ?Y (Holds ?Binary-Relation ?Instance ?Y))))
(<=> (Minimum-Value-Cardinality ?Instance ?Binary-Relation ?N)
(And (Binary-Relation ?Binary-Relation)
(Nonnegative-Integer ?N)
(>= (Value-Cardinality ?Instance ?Binary-Relation) ?N)))
(<=> (Maximum-Value-Cardinality ?Instance ?Binary-Relation ?N)
(And (Binary-Relation ?Binary-Relation)
(Nonnegative-Integer ?N)
(=< (Value-Cardinality ?Instance ?Binary-Relation) ?N)))
(=> (= (Slot-Cardinality ?Domain-Class ?Binary-Relation) ?N)
(=> (Instance-Of ?Instance ?Domain-Class)
(= (Value-Cardinality ?Instance ?Binary-Relation) ?N)))
(<=> (Minimum-Slot-Cardinality ?Domain-Class ?Relation ?N)
(=> (Instance-Of ?Instance ?Domain-Class)
(>= (Value-Cardinality ?Instance ?Relation) ?N)))
(<=> (Maximum-Slot-Cardinality ?Domain-Class ?Relation ?N)
(=> (Instance-Of ?Instance ?Domain-Class)
(=< (Value-Cardinality ?Instance ?Relation) ?N)))
(<=> (One-To-One-Relation ?R)
(And (Unary-Function ?R)
(Value-Type ?R Inverse Function)
(Value-Cardinality ?R Inverse 1)))
(<=> (One-To-Many-Relation ?R)
(And (Binary-Relation ?R)
(Value-Type ?R Inverse Function)
(Value-Cardinality ?R Inverse 1)))