(VAR X XS ) (RULES nats -> cons(0, n__incr(n__nats)) pairs -> cons(0, n__incr(n__odds)) odds -> incr(pairs) incr(cons(X, XS)) -> cons(s(X), n__incr(activate(XS))) head(cons(X, XS)) -> X tail(cons(X, XS)) -> activate(XS) incr(X) -> n__incr(X) nats -> n__nats odds -> n__odds activate(n__incr(X)) -> incr(activate(X)) activate(n__nats) -> nats activate(n__odds) -> odds activate(X) -> X )