I write prolog program as below. Now, when I run halfsister predicate as halfsister(X,Y)
. I got result
X = ann
Y = sylvia ? ;
X = sylvia
Y = ann ? ;
but both are the same result but showing twice. How can I make the program to show the same result for once only? my prolog code:
parent(john,ann).
parent(jim,john).
parent(jim,keith).
parent(mary,ann).
parent(mary,sylvia).
parent(brian,sylvia).
male(keith).
male(jim).
male(brian).
female(sylvia).
female(ann).
female(marry).
female(john).
brother(X,Y):-parent(Z,X),parent(Z,Y),male(X),X\==Y.
uncle(X,Y):-brother(X,Z),parent(Z,Y).
halfsister(X,Y):-
parent(A,X),
parent(A,Y),
parent(B,X),
parent(C,Y),
\+(A = B),
\+(A = C),
\+(B = C),
female(Y).
Thanks for your valuable, time.