The negation as failure constraint {{nafc}} is supposed to succeed if and only if the goal provided by a relation and its args fails. The test cases just cover very simple cases like {{(nafc == q 'b)}} which is essentially equivalent to (!= q 'b)
(at least to my understanding). But with a slightly more complex case, it doesn't seem to work anymore.
Example:
`
(run* [q]
(fresh [a b]
(== q (list a b))
(fd/in a b (fd/interval 1 3)) ;; fd is an alias for clojure.core.logic.fd
(fd/< a b)
(nafc membero 2 q)))
;=> ((1 2) (2 3) (1 3))
`
The constraint specifies that the number 2 must NOT be contained in the list {{q}} but still it is. I expected to get the single answer {{(1 3)}} here.