(VAR x y z ) (RULES f(f(a, b), x) -> f(a, f(a, x)) f(f(b, a), x) -> f(b, f(b, x)) f(x, f(y, z)) -> f(f(x, y), z) )