member(E,L) is true if E is a member of list L.eval(N,N,E) <- number(N). eval(C,V,E) <- member(val(C,V),E). eval((X+Y),V,E) <- eval(X,XV,E)& eval(Y,YV,E)& V is XV+YV. eval((X*Y),V,E) <- eval(X,XV,E)& eval(Y,YV,E)& V is XV*YV. eval((X-Y),V,E) <- eval(X,XV,E)& eval(Y,YV,E)& V is XV-YV. eval((X/Y),V,E) <- eval(X,XV,E)& eval(Y,YV,E)& V is XV/YV.
member(E,[E|R]). member(E,[H|T]) <- member(E,T).