(VAR X Y Z ) (RULES sel(s(X), cons(Y)) -> sel(X, Z) from(X) -> cons(X) sel(0, cons(X)) -> X )