From loop invariants to recursion invariants