parent(ram,rahim). parent(gita,rahim). parent(shyam,raj). parent(anita,raj). parent(anita,smita). parent(ravi,smita). parent(sita,gita). parent(sita,anita). parent(smita,sudha). parent(ravi,sudha). male(ram). male(rahim). male(shyam). male(ravi). male(raj). female(gita). female(anita). female(smita). female(sita). female(sudha). father(X,Y):- parent(X,Y),male(X). mother(X,Y):- parent(X,Y),female(X). sibling(X,Y):- father(Z,X),father(Z,Y),mother(W,X),mother(W,Y),X\=Y. stepsibling(X,Y):- father(Z,X),father(Z,Y),X\=Y. stepsibling(X,Y):- mother(Z,X),mother(Z,Y),X\=Y. brother(X,Y):- sibling(X,Y),male(X). sister(X,Y):- sibling(X,Y),female(X). stepbrother(X,Y):- stepsibling(X,Y),male(X). stepsister(X,Y):- stepsibling(X,Y),female(X). ancestor(X,Y):- parent(X,Y). ancestor(X,Y):- parent(Z,Y),ancestor(X,Z).