compile done, correctness proof with one case left
compile done, correctness proof with one case left