(VAR x ) (RULES a(f, 0) -> a(s, 0) a(d, 0) -> 0 a(d, a(s, x)) -> a(s, a(s, a(d, a(p, a(s, x))))) a(f, a(s, x)) -> a(d, a(f, a(p, a(s, x)))) a(p, a(s, x)) -> x )