(VAR f x) (RULES app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x)) )