:-dynamic and_godel/3, pri_inf/3.

member(bottom).
member(alpha).
member(beta).
member(top).
members([bottom,alpha,beta,top]).
bot(bottom).
top(top).
leq(bottom,_). leq(_,top).
leq(X,X).
and_godel(X,Y,Z) :- pri_inf(X,Y,Z).
pri_inf(bottom,_,bottom):-!.
pri_inf(alpha,X,alpha):-leq(alpha,X),!.
pri_inf(beta,X,beta):-leq(beta,X),!.
pri_inf(top,X,X):-!.
pri_inf(_,_,bottom).