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