Problem: tail(cons(X)) -> XS nats() -> cons(0()) pairs() -> cons(0()) odds() -> incr(pairs()) incr(cons(X)) -> cons(s(X)) head(cons(X)) -> X Proof: Fresh Variable Processor: loop length: 1 terms: tail(cons(X)) context: [] substitution: XS -> tail(cons(X)) Qed