Use the proof calculus to construct proofs for the followingquestions
Let Fac1(x) be the program: a=2; y=1; while (a >0){ y = y* a; a= a – 1; Show that ttot {r >0} Facl() {y = x! is valid. 1. Write down a proper loop invariant which is useful for constructing the correctness proof. [2 marks] 2. Write down a proper variant which is useful for proving the termination of the program. [1 mark] 3. Provide the full proof using proof rules. [4 marks] 4. Justify the correct uses of the implied rule in three places of the proof in English. [3 marks] Show transcribed image text Let Fac1(x) be the program: a=2; y=1; while (a >0){ y = y* a; a= a – 1; Show that ttot {r >0} Facl() {y = x! is valid. 1. Write down a proper loop invariant which is useful for constructing the correctness proof. [2 marks] 2. Write down a proper variant which is useful for proving the termination of the program. [1 mark] 3. Provide the full proof using proof rules. [4 marks] 4. Justify the correct uses of the implied rule in three places of the proof in English. [3 marks]
Expert Answer
Answer to Use the proof calculus to construct proofs for the following questions…