datatype 'a tree = empty | node of 'a tree * 'a * 'a tree; yes
datatype ('a,'b) tree = leaf of 'a | node of ('a,'b) tree * 'b * ('a,'b) tree; yes
datatype tree = empty | node of tree * int * tree; no
datatype direction = north | south | east | west; no
mother(a,b). /* a is mother of b */ mother(a,c). /* a is mother of c */ mother(c,d). /* c is mother of d */ mother(d,e). /* d is mother of e */ ancestor(X,Y) :- mother(X,Y). ancestor(X,Y) :- mother(X,Z), ancestor(Z,Y).For each of the following queries, please indicate all the answers that are returned (assuming that we interactively keep asking for more answers). If no answers are returned, write "no". If the query generates an error, write "error".