欢迎!请在关于 页面查看更多有关此工作方式的信息。
当一个统一约束和一个不等性约束应用于同一 lvars 时,它们可能会消除可能性。
`(run 1 [q](fresh [v n](== q v)(!= q v)))
`
;=> () `
然而,当插入一个独立的非等性时,可能性不会被消除。
`(run 1 [q](fresh [v n]
(== q v) (!= q n) (!= q v)))
;=> ((_0 :- (!= (_0 _0)) (!= (_0 _1)))) `
我期望这也返回 '()。