(VAR x ) (RULES a(f, a(f, x)) -> a(x, x) a(h, x) -> a(f, a(g, a(f, x))) )