Prima possibilita': max(N1,N2,N1):- N1>N2. max(N1,N2,N2):- N1=N2. max(_,N2,N2). altezza(X,1):- atom(X). altezza(node(_,Subtree1,Subtree2),N):- altezza(Subtree1,N1), altezza(Subtree2,N2), max(N1,N2,M), !, N is M+1. Altre possibilita': max(N1,N2,N1):- N1>N2,!. max(N1,N2,N2). altezza(X,1):- atom(X). altezza(node(_,Subtree1,Subtree2),N):- altezza(Subtree1,N1), altezza(Subtree2,N2), max(N1,N2,M), N is M+1.