(STRATEGY INNERMOST) (VAR X X1 X2 Y) (DATATYPES A = µX.< cons(X, X), 0, zeros, s(X), incr(X), adx(X), nats, hd(X), tl(X) >) (SIGNATURES a__nats :: [] -> A a__zeros :: [] -> A a__incr :: [A] -> A a__adx :: [A] -> A a__hd :: [A] -> A a__tl :: [A] -> A mark :: [A] -> A) (RULES a__nats() -> a__adx(a__zeros()) a__zeros() -> cons(0(),zeros()) a__incr(cons(X,Y)) -> cons(s(X) ,incr(Y)) a__adx(cons(X,Y)) -> a__incr(cons(X,adx(Y))) a__hd(cons(X,Y)) -> mark(X) a__tl(cons(X,Y)) -> mark(Y) mark(nats()) -> a__nats() mark(adx(X)) -> a__adx(mark(X)) mark(zeros()) -> a__zeros() mark(incr(X)) -> a__incr(mark(X)) mark(hd(X)) -> a__hd(mark(X)) mark(tl(X)) -> a__tl(mark(X)) mark(cons(X1,X2)) -> cons(X1,X2) mark(0()) -> 0() mark(s(X)) -> s(X) a__nats() -> nats() a__adx(X) -> adx(X) a__zeros() -> zeros() a__incr(X) -> incr(X) a__hd(X) -> hd(X) a__tl(X) -> tl(X))