(VAR X Y Z) (RULES sel(s(X),cons(Y)) -> sel(X,Z) sel(0,cons(X)) -> X first(0,Z) -> nil first(s(X),cons(Y)) -> cons(Y) from(X) -> cons(X) sel1(s(X),cons(Y)) -> sel1(X,Z) sel1(0,cons(X)) -> quote first1(0,Z) -> nil1 first1(s(X),cons(Y)) -> cons1(quote,first1(X,Z)) quote -> 01 quote1 -> cons1(quote,quote1) quote1 -> nil1 quote -> s1(quote) quote -> sel1(X,Z) quote1 -> 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) )