HAS-VALUES is a way to state the values of a slot on an instance. Its third arguyment is a set, so that one can specify several values at once. For example, (HAS-VALUES i R (setof v_1 v_2 v_3)) means that slot R applied to domain instance i maps to values v_1, v_2, and v_3. In other words, R(i,v_1), R(i,v_2), and R(i,v_3) hold.There is no closed-world assumption implied; there may be other values for the specified slot on a given domain instance.
(Nth-Domain Has-Values 3 Set)
(Nth-Domain Has-Values 2 Binary-Relation)
(<=> (Has-Values ?Instance ?Binary-Relation ?Set-Of-Values)
(And (Binary-Relation ?Binary-Relation)
(Set ?Set-Of-Values)
(Forall (?Instance)
(<=> (Member ?Value ?Set-Of-Values)
(Has-Value ?Instance ?Binary-Relation ?Value)))))