Question 1 (1) (a) true for all non-negative values of x (b) true for all non-negative values of x (2) (a) error when x = 0; true when x > 0 (b) true for all non-negative values of x Question 2 The result is true for all values of x Question 3 (1) all integers (2) x >= 0 (3) x <= 0 Question 4 {(x,int), (y,int)} {(x,int), (y,real)} {(x,real), (y,int)} {(x,real), (y,real)} Question 5. Note: The repeat-until in this question is different from the one you learned in PASCAL or other programming languages. The repeat-until presented here quits after the condition becomes false (same as do-while in C/C++). 1. repeat Stm until Exp can be defined as Stm; while Exp do Stm 2. while Exp do Stm can be defined as if Exp then repeat Stm until Exp else skip If we use the "other meaning" for repeat-until, the solution should look like: 1. repeat Stm until Exp can be defined as Stm; while (not Exp) do Stm 2. while Exp do Stm can be defined as if Exp then repeat Stm until (not Exp) else skip