(STRATEGY INNERMOST) (VAR X Y) (DATATYPES A = µX.< cons(X, X), n__0, n__zeros, n__s(X), n__incr(X), n__adx(X) >) (SIGNATURES nats :: [] -> A zeros :: [] -> A incr :: [A] -> A adx :: [A] -> A hd :: [A] -> A tl :: [A] -> A 0 :: [] -> A s :: [A] -> A activate :: [A] -> A) (RULES nats() -> adx(zeros()) zeros() -> cons(n__0() ,n__zeros()) incr(cons(X,Y)) -> cons(n__s(activate(X)) ,n__incr(activate(Y))) adx(cons(X,Y)) -> incr(cons(activate(X) ,n__adx(activate(Y)))) hd(cons(X,Y)) -> activate(X) tl(cons(X,Y)) -> activate(Y) 0() -> n__0() zeros() -> n__zeros() s(X) -> n__s(X) incr(X) -> n__incr(X) adx(X) -> n__adx(X) activate(n__0()) -> 0() activate(n__zeros()) -> zeros() activate(n__s(X)) -> s(X) activate(n__incr(X)) -> incr(X) activate(n__adx(X)) -> adx(X) activate(X) -> X)