correctness proof of partial evaluation of recursors and iterators