several cases of correctness proof