woman(lisa).
woman(maggie).
parents(lisa , homer, marge).
parents(maggie, homer, marge).
sister(X, Y) :-
X \= Y,
woman(X),
parents(X, P, M),
parents(Y, P, M).
When I ran the following query, I did not expect failure (but got it nonetheless).
?- sister(lisa, X).
false. % expected result: X = maggie
Why am I seeing this behavior?