Function All-Values

Arity: 3
Documentation:
ALL-VALUES is a way to state all of the the values of a slot on an instance. Its third argument is a set. If all-values are given for a slot on an instance, there cannot be any other values for that slot on that instance. For example, (= (ALL-VALUES i R) (setof v_1 v_2 v_3)) means that R(i,v_1), R(i,v_2), and R(i,v_3) hold, and there is no other unique v_i for which R(i,v_i) holds.

Notes:

  • Version-4: In version 3, this was incorrectly defined as a relation. It should have been a function all along. The definition remains the same.

Instance-Of: Function, Relation, Set

Equivalence Axioms for All-Values:

(<=> (All-Values ?Instance ?Binary-Relation)
     (And (Binary-Relation ?Binary-Relation)
          (Forall (?Value)
                  (<=> (Member ?Value ?Set-Of-Values)
                       (Holds ?Binary-Relation ?Instance ?Value)))))


Axioms for All-Values:

(Nth-Domain All-Values 2 Binary-Relation)


Implication Axioms mentioning All-Values:

(=> (= (All-Values ?Instance ?Binary-Relation) ?Set-Of-Values)
    (Forall (?Value)
            (<=> (Member ?Value ?Set-Of-Values)
                 (Holds ?Binary-Relation ?Instance ?Value))))

(=> (= (All-Values ?Instance ?Binary-Relation) ?Set-Of-Values)
    (Binary-Relation ?Binary-Relation))