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