YES exiting with thread! (VAR x y z ) (RULES @(nil,y) -> y @(.(x,y),z) -> .(x,@(y,z)) rev(nil) -> nil rev(.(x,y)) -> @(rev(y),.(x,nil)) rev(rev(x)) -> x rev(@(y,.(x,nil))) -> .(x,rev(y)) )