A feature of prolog where
overlap(X, Y) :- member(Z,X),member(Z,Y).
disjoint(X,Y) :- \+(overlap(X,Y)).
? - disjoint([1,2], [X,4])
false.
- Overlap tries to become true first, since it becomes true, then disjoint will always be false
A feature of prolog where
overlap(X, Y) :- member(Z,X),member(Z,Y).
disjoint(X,Y) :- \+(overlap(X,Y)).
? - disjoint([1,2], [X,4])
false.