YES (VAR x0 x1 x y z) (RULES rev(@(x0,.(x1,nil()))) -> .(x1,rev(x0)) rev(rev(x)) -> x rev(.(x,y)) -> @(rev(y),.(x,nil())) rev(nil()) -> nil() @(.(x,y),z) -> .(x,@(y,z)) @(nil(),y) -> y ) (COMMENT Termination is shown by LPO with precedence: rev > @ > . > nil )