(STRATEGY INNERMOST) (VAR x y) (DATATYPES A = µX.< 0, d, s(X), h >) (SIGNATURES g :: [A x A] -> A double :: [A] -> A half :: [A] -> A f :: [A x A] -> A id :: [A] -> A) (RULES g(x,0()) -> 0() g(d(),s(x)) -> s(s(g(d(),x))) g(h(),s(0())) -> 0() g(h(),s(s(x))) -> s(g(h(),x)) double(x) -> g(d(),x) half(x) -> g(h(),x) f(s(x),y) -> f(half(s(x)) ,double(y)) f(s(0()),y) -> y id(x) -> f(x,s(0())))