YES (VAR x y z u v) (RULES and(true(),true()) -> true() null(end(x,y)) -> false() null(nil()) -> true() .(end(x,y),z) -> .(x,f(y,z)) .(nil(),y) -> y f(x,end(y,z)) -> end(f(x,y),z) f(x,nil()) -> end(nil(),x) eq(end(x,y),end(u,v)) -> and(eq(y,v),eq(x,u)) eq(end(x,y),nil()) -> false() eq(nil(),end(y,z)) -> false() eq(x,x) -> true() ) (COMMENT Termination is shown by LPO with precedence: . > eq > and > f > end > null > true > nil > false )