Disequality constraint. Ensures that u and v will never
unify. u and v can be complex terms.
(defn != "Disequality constraint. Ensures that u and v will never unify. u and v can be complex terms." [u v] (fn [a] (let [cs (disunify a u v)] (if-not (nil? cs) (let [p (:prefixc cs)] (when-not (empty? p) (if (some (fn [[u v]] (nil? (unify a u v))) p) a ((cgoal (!=c p)) a)))) a))))
Comments top
No comments for !=. Log in to add a comment.