(STRATEGY INNERMOST) (VAR X Y Z) (DATATYPES A = µX.< cons(X, X), s(X), 0, nil >) (SIGNATURES from :: [A] -> A first :: [A x A] -> A sel :: [A x A] -> A) (RULES from(X) -> cons(X,from(s(X))) first(0(),Z) -> nil() first(s(X),cons(Y,Z)) -> cons(Y ,first(X,Z)) sel(0(),cons(X,Z)) -> X sel(s(X),cons(Y,Z)) -> sel(X,Z))