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