(STRATEGY INNERMOST) (VAR x) (DATATYPES A = µX.< 0, s(X), +(X, X), *(X, X) >) (SIGNATURES sum :: [A] -> A sqr :: [A] -> A) (RULES sum(0()) -> 0() sum(s(x)) -> +(sqr(s(x)),sum(x)) sqr(x) -> *(x,x) sum(s(x)) -> +(*(s(x),s(x)) ,sum(x)))