(STRATEGY INNERMOST) (VAR IL L M N X X1 X2) (DATATYPES A = µX.< cons(X, X), 0, n__zeros, tt, nil, s(X), n__take(X, X) >) (SIGNATURES zeros :: [] -> A and :: [A x A] -> A length :: [A] -> A take :: [A x A] -> A activate :: [A] -> A) (RULES zeros() -> cons(0(),n__zeros()) and(tt(),X) -> activate(X) length(nil()) -> 0() length(cons(N,L)) -> s(length(activate(L))) take(0(),IL) -> nil() take(s(M),cons(N,IL)) -> cons(N ,n__take(M,activate(IL))) zeros() -> n__zeros() take(X1,X2) -> n__take(X1,X2) activate(n__zeros()) -> zeros() activate(n__take(X1,X2)) -> take(X1,X2) activate(X) -> X)