(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 )