I have the following Prolog program.
Code:
male(jim).
male(pat).
male(bob).
female(alice).
female(diane).
single(jim).
single(pat).
single(alice).
married(bob).
married(diane).
parent(bob,jim).
parent(bob,pat).
parent(bob,alice).
parent(diane,jim).
parent(diane,pat).
parent(diane,alice).
mother(X,Y) :- female(X), parent(X,Y).
father(X,Y) :- male(X), parent(X,Y).
siblings(X,Y) :- mother(M,X), mother(M,Y), father(F,X), father(F,Y).
brother(X,Y) :- siblings(X,Y), male(X), X \= Y.
sister(X,Y) :- siblings(X,Y), female(X), X \= Y.
When I run the query it prints true and waits for input from user. I expected to print true and exit.
Code:
sister(alice,jim).
true ;
false.
Any solution to this problem please.