(STRATEGY INNERMOST) (VAR X Y Z) (DATATYPES A = µX.< s(X), cons(X, X), 0, nil, nil1, cons1(X, X), 01, s1(X) >) (SIGNATURES sel :: [A x A] -> A first :: [A x A] -> A from :: [A] -> A sel1 :: [A x A] -> A first1 :: [A x A] -> A quote :: [A] -> A quote1 :: [A] -> A unquote :: [A] -> A unquote1 :: [A] -> A fcons :: [A x A] -> A) (RULES sel(s(X),cons(Y,Z)) -> sel(X,Z) sel(0(),cons(X,Z)) -> X first(0(),Z) -> nil() first(s(X),cons(Y,Z)) -> cons(Y ,first(X,Z)) from(X) -> cons(X,from(s(X))) sel1(s(X),cons(Y,Z)) -> sel1(X ,Z) sel1(0(),cons(X,Z)) -> quote(X) first1(0(),Z) -> nil1() first1(s(X),cons(Y,Z)) -> cons1(quote(Y),first1(X,Z)) quote(0()) -> 01() quote1(cons(X,Z)) -> cons1(quote(X),quote1(Z)) quote1(nil()) -> nil1() quote(s(X)) -> s1(quote(X)) quote(sel(X,Z)) -> sel1(X,Z) quote1(first(X,Z)) -> first1(X ,Z) unquote(01()) -> 0() unquote(s1(X)) -> s(unquote(X)) unquote1(nil1()) -> nil() unquote1(cons1(X,Z)) -> fcons(unquote(X),unquote1(Z)) fcons(X,Z) -> cons(X,Z))