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