The Incoherent predicate tests an instance for incoherence.
The object argument is any object.
The Incoherent predicate returns t if object is an incoherent instance.
There are many possible sources of incoherence. An instance may be incoherent because it instantiates an incoherent concept, or its type contains disjoint concepts, or it has asserted restrictions that conflict with concepts in its type, or it has role fillers whose number or type clash with restrictions that derive from the instance's type.
(defconcept Bachelor :is (:and Man (:exactly 0 wife)))
(tellm (:about Joe Bachelor (wife Sue)))
(ask (Incoherent Joe)) ==> T
Last modified: Jun 1 1995