(VAR N X Y ) (RULES terms(N) -> cons(recip(sqr(N))) sqr(0) -> 0 sqr(s) -> s dbl(0) -> 0 dbl(s) -> s add(0, X) -> X add(s, Y) -> s first(0, X) -> nil first(s, cons(Y)) -> cons(Y) )