CPSC 125 Ch 1 sec 4

13
Formal Logic Mathematical Structures for Computer Science Chapter 1 Copyright © 2006 W.H. Freeman & Co. MSCS Slides Formal Logic

Transcript of CPSC 125 Ch 1 sec 4

Page 1: CPSC 125 Ch 1 sec 4

Formal Logic

Mathematical Structures for Computer Science

Chapter 1

Copyright © 2006 W.H. Freeman & Co. MSCS Slides Formal Logic

Page 2: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 1

Predicate Logic

●  Similar to propositional logic for solving arguments, build from quantifiers, predicates and logical connectives.

●  A valid argument for predicate logic need not be a tautology. ●  The meaning and the structure of the quantifiers and predicates

determines the interpretation and the validity of the arguments ●  Basic approach to prove arguments:

■  Strip of quantifiers ■  Manipulate the unquantified wffs ■  Reinsert the quantifiers

Four new inference rules

●  Note to remember: P(x) could be (∀y) (∀z) Q(x,y,z)

Two rules to strip the qualifiers Two rules to reinsert the qualifiers

Page 3: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 2

Inference Rules From Can Derive Name /

Abbreviation Restrictions on Use

(∀x)P(x) P(t) where t is a variable or constant

symbol

Universal Instantiation- ui

If t is a variable, it must not fall within the scope

of a quantifier for t (∃x)P(x) P(t) where t is a

variable or constant symbol not previously

used in a proof sequence

Existential Instantiation- ei

Must be the first rule used that introduces t

P(x) (∀x)P(x) Universal Generalization- ug

P(x) has not been deduced from any

hypotheses in which x is a free variable nor has P(x) been deduced by ei

from any wff in which x is a free variable

P(x) or P(a) (∃x)P(x) Existential Generalization- eg

To go from P(a) to (∃x)P(x), x must not appear in

P(a)

Page 4: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 3

Examples: Proofs using Predicate Logic

●  Prove the following argument: ■  All flowers are plants. Sunflower is a flower. Therefore, sunflower

is a plant. ■  P(x) is “ x is a plant” ■  a is a constant symbol (Sunflower) ■  Q(x) is “x is a flower”

●  The argument is (∀x)[Q(x) → P(x)] Λ Q(a) → P(a) ●  The proof sequence is as follows:

1.  (∀x)[Q(x) → P(x)] hyp 2.  Q(a) hyp 3.  Q(a) → P(a) 1, ui 4.  P(a) 2, 3, mp

Page 5: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 4

Examples: Proofs using Predicate Logic

●  Prove the argument (∀x)[P(x) → Q(x)] Λ [Q(y)]ʹ′ → [P(y)]ʹ′ ●  Proof sequence:

1.  (∀x)[P(x) → Q(x)] hyp 2.  [Q(y)]ʹ′ hyp 3.  P(y) → Q(y) 1, ui 4.  [P(y)]ʹ′ 2, 3, mt

●  Prove the argument (∀x)P(x) → (∃x)P(x) ●  Proof sequence:

1.  (∀x)P(x) hyp 2.  P(x) 1, ui 3.  (∃x)P(x) 2, eg

Page 6: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 5

Examples: Proofs using Predicate Logic

●  Prove the argument (∀x)[P(x) → Q(x)] Λ (∀x)P(x) → (∀x)Q(x) ●  Proof sequence:

1.  (∀x)[P(x) → Q(x)] hyp 2.  (∀x)P(x) hyp 3.  P(x) → Q(x) 1, ui 4.  P(x) 2, ui : no restriction on ui about reusing a name 5.  Q(x) 3, 4, mp 6.  (∀x)Q(x) 5, ug

●  Note: step 6 is legitimate since x is not a free variable in any hypothesis nor was ei used before

Page 7: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 6

Examples: Proofs using Predicate Logic

●  Prove the argument (∀x)[P(x) Λ Q(x)] → (∀x)P(x) Λ (∀x)Q(x)

●  Proof sequence:

1.  (∀x)[P(x) Λ Q(x)] hyp 2.  P(x) Λ Q(x) 1, ui 3.  P(x) 2, sim 4.  Q(x) 2, sim 5.  (∀x)P(x) 3, ug 6.  (∀x)Q(x) 4, ug 7.  (∀x)P(x) Λ (∀x)Q(x) 5, 6, con

Page 8: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 7

Examples: Proofs using Predicate Logic

●  Prove the argument (∀y)[P(x) → Q(x,y)] → [P(x) → (∀y)Q(x,y)]

●  Using the deduction method, we can derive (∀y)[P(x) → Q(x,y)] Λ P(x) → (∀y)Q(x,y)

●  Proof sequence:

1.  (∀y)[P(x) → Q(x,y)] hyp 2.  P(x) hyp 3.  P(x) → Q(x,y) 1, ui 4.  Q(x,y) 2, 3, mp 5.  (∀y)Q(x,y) 4, ug

Page 9: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 8

Temporary hypotheses

●  A temporary hypothesis can be inserted into a proof sequence. If T is inserted as a temporary hypothesis and eventually W is deduced from T and other hypotheses, then the wff T → W has been deduced from other hypotheses and can be reinserted into the proof sequence

●  Prove the argument [P(x) → (∀y)Q(x,y)] → (∀y)[P(x) → Q(x,y)]

●  Proof sequence: 1.  P(x) → (∀y)Q(x,y) hyp 2.  P(x) temporary hypothesis 3.  (∀y)Q(x,y) 1, 2, mp 4.  Q(x,y) 3, ui 5.  P(x) → Q(x,y) temp. hyp discharged 6.  (∀y)[P(x) → Q(x,y)] 5, ug

Page 10: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 9

More Examples

●  Prove the sequence [(∃x)A(x)]ʹ′ ⇔ (∀x)[A(x)]ʹ′ ■  To prove equivalence, implication in each direction should be proved

●  Proof sequence for [(∃x)A(x)]ʹ′ → (∀x)[A(x)]ʹ′ 1.  [(∃x)A(x)]ʹ′ hyp 2.  A(x) temp. hyp 3.  (∃x)A(x) 2, eg 4.  A(x) → (∃x)A(x) temp. hyp discharged 5.  [A(x)]ʹ′ 1, 4, mt 6.  (∀x)[A(x)]ʹ′ 5, ug

●  Proof sequence for (∀x)[A(x)]ʹ′ → [(∃x)A(x)]ʹ′ 1.  (∀x)[A(x)]ʹ′ hyp 2.  (∃x)A(x) temp. hyp 3.  A(a) 2, ei 4.  [A(a)]ʹ′ 1, ui 5.  [(∀x)[A(x)]ʹ′]ʹ′ 3, 4, inc 6.  (∃x)A(x) → [(∀x)[A(x)]ʹ′]ʹ′ temp. discharged 7.  [((∀x)[A(x)]ʹ′)ʹ′]ʹ′ 1, dn 8.  [(∃x)A(x)]ʹ′ 6, 7, mt

Page 11: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 10

Proving Verbal arguments ●  Every crocodile is bigger than every alligator. Sam is a crocodile. But

there is a snake, and Sam isn’t bigger than that snake. Therefore, something is not an alligator. ■  Use C(x): x is a crocodile; A(x): x is an alligator, B(x,y): x is bigger than y,

s is a constant (Sam), S(x): x is a Snake ●  Hence prove argument

(∀x) (∀y)[C(x) Λ A(y) → B(x,y)] Λ C(s) Λ (∃x)(S(x) Λ [B(s,x)]ʹ′) → (∃x)[A(x)] 1.  (∀x) (∀y)[C(x) Λ A(x) → B(x,y)] hyp 2.  C(s) hyp 3.  (∃x)(S(x) Λ [B(s,x)]ʹ′) hyp 4.  (∀y)[C(s) Λ A(y) → B(s,y)] 1, ui 5.  S(a) Λ [B(s,a)]ʹ′) 3, ei 6.  C(s) Λ A(a) → B(s,a) 4, ui 7.  [B(s,a)]ʹ′ 5, sim 8.  [C(s) Λ A(a)]ʹ′ 6, 7, mt 9.  [C(s)]ʹ′ V [A(a)]ʹ′ 9, De Morgan 10.  [[C(s)]ʹ′]ʹ′ 2, dn 11.  [A(a)]ʹ′ 9, 10, ds 12.  (∃x)[A(x)]ʹ′ 11, eg

Page 12: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 11

Class Exercise

●  Prove the argument (∀x)[(B(x) V C(x)) → A(x)] → (∀x)[B(x) → A(x)]

Proof sequence:

1.  (∀x)[(B(x) V C(x)) → A(x)] hyp 2.  (B(x) V C(x)) → A(x) 1, ui 3.  B(x) temp. hyp 4.  B(x) V C(x) 3, add 5.  A(x) 2, 4, mp 6.  B(x) → A(x) temp. hyp discharged 7.  (∀x)[B(x) → A(x)] 6, ug

Page 13: CPSC 125 Ch 1 sec 4

Section 1.4 Predicate Logic 12

Class exercise

●  Every ambassador speaks only to diplomats, and some ambassadors speak to someone. Therefore, there is a diplomat.

●  Use A(x): x is an ambassador; S(x,y): x speaks to y; D(x): x is a diplomat

Proof Sequence: 1.  (∀x) (∀y)[(A(x) Λ S(x,y)) → D(y)] hyp 2.  (∃x)(∃y)(A(x) Λ S(x,y)) hyp 3.  (∀y)((A(a) Λ S(a,y)) → D(y)) 1, ui 4.  (∃y)(A(a) Λ S(a,y)) 2, ei 5.  A(a) Λ S(a,b) 4, ei 6.  (A(a) Λ S(a,b)) → D(b) 3, ui 7.  D(b) 5, 6, mp 8.  (∃x)D(x) 7, eg

Prove the argument (∀x) (∀y)[(A(x) Λ S(x,y)) → D(y)] Λ (∃x)(∃y)(A(x) Λ S(x,y)) → (∃x)D(x)