I know nothing of clojure and core.logic, but a quick test:
*sum=> (run* [q] (fresh [a b] (== a 1) (== b 2) (== a b) (== q [a b]))) () *sum=> (run* [q] (fresh [a b] (== a 1) (== b 1) (== a b) (== q [a b]))) ([1 1])
I know nothing of clojure and core.logic, but a quick test:
the first has no solutions, while the latter returns one of them.