(STRATEGY INNERMOST) (VAR L N X) (DATATYPES A = µX.< cons(X, X), 0, n__zeros, tt, nil, s(X) >) (SIGNATURES zeros :: [] -> A and :: [A x A] -> A length :: [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))) zeros() -> n__zeros() activate(n__zeros()) -> zeros() activate(X) -> X)