(STRATEGY INNERMOST) (VAR x) (DATATYPES A = µX.< 0, s(X) >) (SIGNATURES half :: [A] -> A log :: [A] -> A) (RULES half(0()) -> 0() half(s(s(x))) -> s(half(x)) log(s(0())) -> 0() log(s(s(x))) -> s(log(s(half(x)))))