(VAR X XS ) (STRATEGY CONTEXTSENSITIVE (nats ) (cons 1) (0 ) (incr 1) (pairs ) (odds ) (s 1) (head 1) (tail 1) ) (RULES nats -> cons(0, incr(nats)) pairs -> cons(0, incr(odds)) odds -> incr(pairs) incr(cons(X, XS)) -> cons(s(X), incr(XS)) head(cons(X, XS)) -> X tail(cons(X, XS)) -> XS )