compute-value-restriction [Function]
Purpose
The compute-value-restriction function computes the value restriction of a given concept on a given relation.
Syntax
compute-value-restriction concept relation &key return-a-list-p
Arguments
The concept argument is a concept.
The relation argument is a relation.
If the return-a-list-p argument is t, then a list of the concepts which constitute the value restriction will be returned, rather than a single concept that represents the conjunction of those concepts.
Value
The value restriction of concept is the type of all fillers of the relation role in instances of concept. Depending on return-a-list-p, compute-value-restriction returns either a list of the concepts which make up this type, or a concept which is the unification of all the concepts in the type.
Examples
(defconcept A :implies (:and (:all r B) (:all r C)))
(defconcept C :implies D)
(defrelation r :range E)
(compute-value-restriction (fc A) (fr r)) ==> |C|B&C&D&E
(compute-value-restriction (fc A) (fr r) :return-a-list-p t) ==>
(|C|B |C|C |C|D |C|E)
See Also
Last modified: Jun 1 1995