one_mod_3(s(X)) :- zero_mod_3(X). tree_3n_plus_2(nil). tree_3n_plus_2(s(X)) :- one_mod_3(X). tree_3n_plus_2(cons(X1,X2)) :- tree_3n_plus_2(X1), tree_3n_plus_2(X2). two_mod_3(s(X)) :- one_mod_3(X). zero_mod_3(o). zero_mod_3(s(X)) :- two_mod_3(X).