NO Problem: hd(cons()) -> X tl(cons()) -> Y nats() -> adx(zeros()) zeros() -> cons() incr(cons()) -> cons() adx(cons()) -> incr(cons()) Proof: Fresh Variable Processor: loop length: 1 terms: hd(cons()) context: [] substitution: X -> hd(cons()) Qed