YES (VAR x y z v) (RULES eq(end(x,y),end(z,v)) -> and(eq(y,v),eq(x,z)) eq(end(x,y),nil()) -> false() eq(nil(),end(x,y)) -> false() and(true(),true()) -> true() eq(x,x) -> true() f(x,nil()) -> end(nil(),x) f(x,end(y,z)) -> end(f(x,y),z) .(nil(),x) -> x .(end(x,y),z) -> .(x,f(y,z)) null(nil()) -> true() null(end(x,y)) -> false() )