(VAR x y z ) (RULES :(x, x) -> e :(x, e) -> x i(:(x, y)) -> :(y, x) :(:(x, y), z) -> :(x, :(z, i(y))) :(e, x) -> i(x) i(i(x)) -> x i(e) -> e :(x, :(y, i(x))) -> i(y) :(x, :(y, :(i(x), z))) -> :(i(z), y) :(i(x), :(y, x)) -> i(y) :(i(x), :(y, :(x, z))) -> :(i(z), y) )