1. Prove formally that the following program fragments each store the maximum among x, y, z, and w into variable max: 2. Does the proof of also hold with the weaker precondition input? 0 and input 0? Can the assumed precondition be weakened? How? 3. Build correctness proofs for the following fragments: In the second fragment, the predicate GCD (x, y, w), read “w is the greatest common divisor of x and y,” stands for