datatype 'a tree = empty | node of 'a tree * 'a * 'a tree;In this declaration, 'a is (only one answer please):
fun nodes empty = 0 (* returns the number of nodes *) | nodes (node(t1,n,t2)) = nodes(t1) + 1 + nodes(t2); yes
fun sum empty = 0 (* returns the sum of all nodes *) | sum (node(t1,n,t2)) = nodes(t1) + n + nodes(t2); no
fun symm empty = empty (* returns a symmetric tree *) | symm (node(t1,n,t2)) = node(symm t2, n, symm t1); yes
fun add2 empty = empty (* adds 2 to all the nodes *) | add2 (node(t1,n,t2)) = node(add1, n+2, symm t1); no
append([],L,L). append([X|L],K,[X|M]) :- append(L,K,M).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".