q1: propositional logic

15
COMP1600/COMP6260: Mid-semester exam (solutions) 2021-2 Q1: Propositional Logic Multiple choice question (Wattle). Version 1: 1

Upload: others

Post on 25-Feb-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Q1: Propositional Logic

COMP1600/COMP6260: Mid-semester exam

(solutions)

2021-2

Q1: Propositional Logic

Multiple choice question (Wattle).Version 1:

1

Page 2: Q1: Propositional Logic

Version 2:

Q2: Propositional Logic + Natural Deduction

Determine, and explicitly mention, if the formula below is a tautology, con-tradiction, or contingency

(a → (b → c))→ (a ∧ b → c).

• If tautology, give a proof in Natural Deduction. Use only the rulesgiven in this Appendix 1 and justify every step of your proof;

• If contradiction, give a proof in Natural Deduction of its negation. Useonly the rules given in this Appendix 1 and justify every step of yourproof;

• If contingency, give two truth-assignments to its variables, one thatmakes the formula false, and one that makes it true.

2

Page 3: Q1: Propositional Logic

Solution: It is a tautology

1 a → (b → c)

2 a ∧ b

3 a ∧-E, 2

4 b → c →-E, 3, 1

5 b ∧-E, 2

6 c →-E, 5, 4

7 a ∧ b → c →-I, 2–6

8 (a → (b → c))→ (a ∧ b → c) →-I, 1–7

3

Page 4: Q1: Propositional Logic

Q3: First Order Logic + Natural Deduction

Show that the rule¬∀ x . ∃ y .¬P(x , y)

∃ x . ∀ y .P(x , y)

is derivable in natural deduction.Use only the rules given in this Appendix 1 and justify every step of your

proof.Hint : you might want to use proof by contradiction repeatedly.Solution: There are several ways. Here are 3 of them:

4

Page 5: Q1: Propositional Logic

Solution 1:

1 ¬ ∀ x .∃ y .¬ P(x , y)

2 ¬ ∃ x . ∀ y .P(x , y)

3 a ¬ ∃ y .¬ P(a, y)

4 b ¬ P(a, b)

5 ∃ y .¬ P(a, y) ∃-I, 4

6 ⊥ ¬I, 5, 3

7 P(a, b) PC, 4–6

8 ∀ y .P(a, y) ∀-I, 7

9 ∃ x . ∀ y .P(x , y) ∃-I, 8

10 ⊥ ¬I, 9, 2

11 ∃ y .¬ P(a, y) PC, 3–10

12 ∀ x . ∃ y .¬ P(x , y) ∀-I, 11

13 ⊥ ¬I, 12, 1

14 ∃ x .∀ y .P(x , y) PC, 2–13

5

Page 6: Q1: Propositional Logic

Solution 2: We first prove ∃ x .¬ ∃ y .¬ P(x , y) as an intermediate step.

1 ¬ ∀ x .∃ y .¬ P(x , y)

2 ¬ ∃ x .¬ ∃ y .¬ P(x , y)

3 a ¬ ∃ y .¬ P(a, y)

4 ∃ x .¬ ∃ y .P(x , y) ∃-I, 3

5 ⊥ ¬I, 4, 2

6 ∃ y .¬ P(a, y) PC, 3–5

7 ∀ x . ∃ y .¬ P(x , y) ∀-I, 6

8 ⊥ ¬I, 7, 1

9 ∃ x .¬ ∃ y .¬ P(x , y) PC, 2–8

10 a ¬ ∃ y .¬ P(a, y)

11 b ¬ P(a, b)

12 ∃ y .¬ P(a, y) ∃-I, 11

13 ⊥ ¬I, 12, 10

14 P(a, b) PC, 11–13

15 ∀ y .P(a, y) ∀-I, 14

16 ∃ x . ∀ y .P(x , y) ∃-I, 15

17 ∃ x .∀ y .P(x , y) ∃-E, 9, 10–16

6

Page 7: Q1: Propositional Logic

Solution 3: We first prove the following lemmas:

¬ ∀ x .P(x )

∃ x .¬ P(x )(L1)

1 ¬ ∀ x .P(x )

2 ¬ ∃ x .¬ P(x )

3 a ¬ P(a)

4 ∃ x .¬ P(x ) ∃-I, 3

5 ⊥ ¬I, 4, 2

6 P(a) PC, 3–5

7 ∀ x .P(x ) ∀-I, 6

8 ⊥ ¬I, 7, 1

9 ∃ x .¬ P(x ) PC, 2–8

and¬ ∃ x .¬ P(x )

∀ x .P(x )(L2)

1 ¬ ∃ x .¬ P(x )

2 a ¬ P(a)

3 ∃ x .¬ P(x ) ∃-I, 2

4 ⊥ ¬I, 3, 1

5 P(a) PC, 2–4

6 ∀ x .P(x ) ∀-I, 5

from which the result then easily follows

1 ¬ ∀ x .∃ y .¬ P(x , y)

2 ∃ x .¬ ∃ y .¬ P(x , y) L1, 1

3 a ¬ ∃ y .¬ P(a, y)

4 ∀ y .P(a, y) L2, 3

5 ∃ x . ∀ y .P(x , y) ∃-I, 4

6 ∃ x .∀ y .P(x , y) ∃-E, 2, 3–5

7

Page 8: Q1: Propositional Logic

Q4: Structural Induction

Consider the following two functions:

treeSize :: Tree a -> Int

treeSize Null = 0 --TS1

treeSize (Node l x r) = 1 + (treeSize l) + (treeSize r) --TS2

and

bloom :: Tree a -> a -> Tree a

bloom Null flower = Node Null flower Null --B1

bloom (Node l x r) flower = Node (bloom l flower) x (bloom r flower) --B2

The goal of this exercise is to show that

∀ t . ∀ f .treeSize(bloomtf ) = 2 ∗ (treeSizet) + 1.

1. What precisely should we prove by induction? State a property P, in-cluding possible quantifiers, so that proving this property by inductionimplies the (above) goal of this exercise.

2. State (including possible quantifiers) and prove the base case goal.

3. State (including possible quantifiers) the inductive hypotheses of theproof.

4. State (including possible quantifiers) and prove the step case goal.

Solution:We prove by tree induction on t.

1. P(t) = ∀ f. treeSize (bloom t f) = 2 * (treeSize t) + 1

2. Base case, we need to prove that

∀ f. treeSize (bloom Nul f) = 2 * (treeSize Nul) + 1

Or P(Nul)

LHS = treeSize (bloom Null f)

= treeSize (Node Null f Null) --B1

= 1 + treeSize Null + treeSize Null --TS2

= 1 + 2 * treeSize Null --maths

= 2 * (treeSize Null) + 1 --maths

= RHS

8

Page 9: Q1: Propositional Logic

3. Inductive Hypotheses:

∀ f. treeSize (bloom l f) = 2 * (treeSize l) + 1 --IH1

and∀ f. treeSize (bloom r f) = 2 * (treeSize r) + 1 --IH2

4. Step case goal : ∀ x, ∀ f.treeSize (bloom (Node t1 x t2) f) =

2 * (treeSize (Node t1 x t2)) + 1

Or ∀ x P(Node l x r)

treeSize (bloom (Node l x r) f)

= treeSize (Node (bloom l f) x (bloom r f)) --B2

= 1 + treeSize (bloom l f) + treeSize (bloom r f) --TS2

= 1 + (2 * (treeSize l) + 1) + (2 * (treeSize r) + 1) --IH1,IH2

= 2 *(1 + treeSize l + treeSize r) + 1 --maths

= 2 * treeSize (Node l x r) + 1 --TS2

9

Page 10: Q1: Propositional Logic

Q5: Hoare Logic Semantics

Multiple choice question (Wattle).

10

Page 11: Q1: Propositional Logic

Q6: Hoare Logic (proof)

Version 1: Consider the following Hoare Triple (all variables are of typeinteger):

{true}

if g > e + 5 then g := g-e; e := -g

else e := (g-e)-5; g := 12

{g > 0 and e <= 0}

Give a Hoare-Logic Proof of this triple. You may only use the rules givenin this Appendix 2. Be sure to justify every step of your proof.

solution:

1. {g-e>0 and -(g-e)<=0} g:=g-e {g > 0 and -g <= 0} (Assignment)

2. true and g > e+5 -> g-e>0 and -(g-e)<=0 (Logic)

Nothing that:

g-e > 0 <=> g > e

and that

-(g-e) <= 0 <=> -g+e <= 0 <=> g >= e

3. {true and g > e+5} g:=g-e {g > 0 and -g <= 0} (Prec. Str., 1, 2)

4. {g > 0 and -g <= 0} e:= -g {g > 0 and e <= 0} (Assignment)

5. {true and g > e+5} g := g-e; e := -g {g > 0 and e <= 0} (Seq., 3, 4)

6. {12 > 0 and (g-e)-5 <= 0} e := (g-e)-5 {12 > 0 and e <= 0} (Assignment)

7. true and !(g > e+5) -> 12 > 0 and (g-e)-5 <= 0 (Logic)

Noting that

!(g > e+5) <=> g <= e+5 <=> g-e-5 <= 0

8. {true and !(g > e+5)} e := (g-e)-5 {12 > 0 and e <= 0} (Prec. Str., 6,7)

9. {12 > 0 and e <= 0} g := 12 {g > 0 and e <= 0} (Assignment)

10. {true and !(g > e+5)} e := (g-e)-5; g := 12 {g > 0 and e <= 0} (Seq., 8,9)

11. {true}

if g > e+5

then g := g-e; e := -g

else e := (g-e)-5; g := 12

{g > 0 and e <= 0} (Conditional, 5,10)

11

Page 12: Q1: Propositional Logic

Version 1: Consider the following Hoare Triple (all variables are oftype integer):

{true}

if u > b + 3 then

u := u-b;

b := -u

else

b := (u-b)-3;

u := 10

{u > 0 and b <=0 }

Give a Hoare-Logic Proof of this triple. You may only use the rules givenin this Appendix 2. Be sure to justify every step of your proof.

solution:

1. {u > 0 and -u <= 0} b := -u {u > 0 and b <= 0} (Assignment)

2. {u-b > 0 and -(u-b) <= 0} u := u-b {u > 0 and -u <= 0} (Assignment)

3. true and u > b + 3 -> u-b > 0 and -(u-b) <= 0 (Logic)

Noting that

u-b > 0 <=> u > b

and that

-(u-b) <= 0 <=> -u+b <= 0 <=> u >= b

4. {true and u > b + 3} u := u-b {u > 0 and -u <= 0} (Prec. Str., 2, 3)

5. {true and u > b + 3} u := u-b; b := -u {u > 0 and b <= 0} (Seq., 4, 1)

6. {10 > 0 and b <= 0} u := 10 {u > 0 and b <= 0} (Assignment)

7. {10 > 0 and (u-b)-3 <= 0} b := (u-b)-3 {10 > 0 and b <= 0} (Assignment)

8. true and !(u > b + 3) -> 10 > 0 and (u-b)-3 <= 0 (Logic)

Noting that

!(u > b + 3) <=> u <= b + 3 <=> u-b-3 <= 0

9. {true and !(u > b + 3)} b := (u-b)-3 {10 > 0 and b <= 0} (Prec. Str., 7, 8)

10. {true and !(u > b + 3)} b := (u-b)-3; u := 10 {u > 0 and b <= 0} (Seq., 9, 6)

11. {true}

if u > b + 3

then u := u-b; b := -u

else b := (u-b)-3; u := 10

{u > 0 and b <= 0} (Conditional, 5,10)

12

Page 13: Q1: Propositional Logic

1 Appendix: Natural Deduction Rules

Propositional Calculus

(∧ I )p q

p ∧ q(∧ E )

p ∧ q

p

p ∧ q

q

(∨ I )p

p ∨ q

p

q ∨ p(∨ E )

[p] [q ]

......

p ∨ q r r

r

(→ I )

[p]

...

q

p → q(→ E )

p p → q

q

(¬I )

[p]

...

F

¬p(¬E )

p ¬p

F

(PC)

[¬p]

...

F

p(T )

T

Predicate Calculus

(∀ I )P(a) (a arbitrary)

∀ x . P(x )

(∀E )∀ x . P(x )

P(a)

13

Page 14: Q1: Propositional Logic

(∃ I )P(a)

∃ xP(x )

(∃E )∃ xP(x )

[P(a)]...q (a arbitrary)

q (a is not free in q)

14

Page 15: Q1: Propositional Logic

2 Hoare Logic Rules (partial correctness)

• Assignment:{Q(e)} x := e {Q(x )}

• Precondition Strengthening:

Ps → Pw {Pw} S {Q}{Ps} S {Q}

You can always replace predicates by equivalent predicates,i.e. if Ps ↔ Pw ; just label your proof step with ‘precondition equiva-lence’.

• Postcondition Weakening:

{P} S {Qs} Qs → Qw

{P} S {Qw}

You can always replace predicates by equivalent predicates,i.e. if Qs ↔ Qw ; just label your proof step with ‘postcondition equiv-alence’.

• Sequence:{P} S1 {Q} {Q} S2 {R}

{P} S1; S2 {R}

• Conditional:

{P ∧ b} S1 {Q} {P ∧ ¬ b} S2 {Q}{P} if b then S1 else S2 {Q}

15