60
snick snack CPSC 121: Models of Computation 2009 Winter Term 1 Proof (First Visit) Steve Wolfman, based on notes by Patrice Belleville, Meghan Allen and others 1

CPSC 121: Models of Computation 2009 Winter Term 1

Embed Size (px)

DESCRIPTION

CPSC 121: Models of Computation 2009 Winter Term 1. Proof (First Visit) Steve Wolfman, based on notes by Patrice Belleville, Meghan Allen and others. Outline. Prereqs, Learning Goals, and Quiz Notes Prelude: What Is Proof? Problems and Discussion “Prove Your Own Adventure” - PowerPoint PPT Presentation

Citation preview

Page 1: CPSC 121: Models of Computation 2009 Winter Term 1

snick

snack

CPSC 121: Models of Computation2009 Winter Term 1

Proof (First Visit)

Steve Wolfman, based on notes by Patrice Belleville, Meghan Allen and others

1

Page 2: CPSC 121: Models of Computation 2009 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Prelude: What Is Proof?

• Problems and Discussion– “Prove Your Own Adventure”– Why rules of inference? (advantages + tradeoffs)

– Onnagata, Explore and Critique

• Next Lecture Notes

2

Page 3: CPSC 121: Models of Computation 2009 Winter Term 1

Lecture Prerequisites

Read Section 1.3.

Solve problems like Exercise Set 1.3, #1, 3, 4, 6-32, 36-44. Of these, we’re especially concerned about problems like 12-13 and 39-44. Many of these problems go beyond the pre-class learning goals into the in-class goals, but they’re the tightest fit in the text.

Complete the open-book, untimed quiz on WebCT that was due before class.

3

Page 4: CPSC 121: Models of Computation 2009 Winter Term 1

Learning Goals: Pre-Class

By the start of class, you should be able to:– Use truth tables to establish or refute the

validity of a rule of inference.– Given a rule of inference and propositional

logic statements that correspond to the rule’s premises, apply the rule to infer a new statement implied by the original statements.

4

Page 5: CPSC 121: Models of Computation 2009 Winter Term 1

Learning Goals: In-Class

By the end of this unit, you should be able to:– Explore the consequences of a set of

propositional logic statements by application of equivalence and inference rules, especially in order to massage statements into a desired form.

– Critique a propositional logic proof, identifying flaws in its reasoning and application.

– Devise and attempt multiple different, appropriate strategies for proving a propositional logic statement follows from a list of premises.

5

Page 6: CPSC 121: Models of Computation 2009 Winter Term 1

Quiz 4 Notes (1 of 2)

Applying a rule:

a b, b c a c

p (q r), q s ?

Validity of a rule:

p ~p ?

6Second set of quiz notes will come much later!

Page 7: CPSC 121: Models of Computation 2009 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Prelude: What Is Proof?

• Problems and Discussion– “Prove Your Own Adventure”– Why rules of inference? (advantages + tradeoffs)

– Onnagata, Explore and Critique

• Next Lecture Notes

7

Page 8: CPSC 121: Models of Computation 2009 Winter Term 1

What is Proof?

A rigorous formal argument that unequivocally demonstrates the truth of a proposition, given the truth of the

proof’s premises.

Adapted from MathWorld: http://mathworld.wolfram.com/Proof.html8

Page 9: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Meaning of Proof

Let’s say you prove the following:

Premise 1

Premise 2

Premise n

Conclusion

What does this mean?

a.Premises 1 to n are trueb.Conclusion is truec.Premises 1 to n can be trued.Conclusion can be truee.None of the above

9

Page 10: CPSC 121: Models of Computation 2009 Winter Term 1

Tasting Powerful Proof: Some Things We Might Prove

• We can build a “three-way switch” system with any number of switches.

• We can build a combinational circuit matching any truth table.

• We can build any digital logic circuit using nothing but NAND gates.

• We can sort a list by breaking it in half, and then sorting and merging the halves.

• We can find the GCD of two numbers by finding the GCD of the 2nd and the remainder when dividing the 1st by the 2nd.

• There’s (sort of) no fair way to run elections.• There are problems no program can solve.

Meanwhile...10

Page 11: CPSC 121: Models of Computation 2009 Winter Term 1

What Is a Propositional Logic Proof?

An argument in which (1) each line is a propositional logic statement, (2) each

statement is a premise or follows unequivocally by a previously established rule of inference from the truth of previous statements, and (3)

the last statement is the conclusion.

A very constrained form of proof, but a good starting point.Interesting proofs will usually come in less structured

packages than propositional logic proofs.11

Page 12: CPSC 121: Models of Computation 2009 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Prelude: What Is Proof?

• Problems and Discussion– “Prove Your Own Adventure”– Why rules of inference? (advantages + tradeoffs)

– Onnagata, Explore and Critique

• Next Lecture Notes

12

Page 13: CPSC 121: Models of Computation 2009 Winter Term 1

Prop Logic Proof Problem

To prove:

~(q r)(u q) s

~s ~p___

~p

13

Page 14: CPSC 121: Models of Computation 2009 Winter Term 1

“Prove Your Own Adventure”

To prove:

~(q r)(u q) s

~s ~p___

~p

Which step is the easiest to fill in?

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise[STEP A: near the start] [STEP B: in the middle]

[STEP C: near the end][STEP D: last step]

14

Page 15: CPSC 121: Models of Computation 2009 Winter Term 1

D: Last Step

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise

...~q ~r De Morgan’s (1)~q Specialization (?)

...((u q) s) Bicond (2) (s (u q))

...~s~p Modus ponens (3,?)

How do we know to put ~p at the end?

a.~p is the proof’s conclusionb.~p is the end of the last premisec.every proof ends with ~pd.None of these but some other reasone.None of these because we don’t know

15

Page 16: CPSC 121: Models of Computation 2009 Winter Term 1

C: Near the End

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise

...~q ~r De Morgan’s (1)~q Specialization (?)

...((u q) s) Bicond (2) (s (u q))

...~s~p Modus ponens (3,?)

How do we know to put the blue line/justification at the end?

a.~s ~p is the last premiseb.~s ~p is the only premise that mentions ~sc.~s ~p is the only premise that mentions pd.None of these but some other reasone.None of these because we don’t know

16

Page 17: CPSC 121: Models of Computation 2009 Winter Term 1

A: Near the Start

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise

...~q ~r De Morgan’s (1)~q Specialization (?)

...((u q) s) Bicond (2) (s (u q))

...~s~p Modus ponens (3,?)

How do we know to put the blue lines/justifications in?

a.~(q r) is the first premiseb.~(q r) is a useless premisec.We can’t work directly with a premise with a negation “on the outside”d.Neither the conclusion nor another premise mentions re.None of these

17

Page 18: CPSC 121: Models of Computation 2009 Winter Term 1

B: In the Middle

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise

...~q ~r De Morgan’s (1)~q Specialization (?)

...((u q) s) Bicond (2) (s (u q))

...~s~p Modus ponens (3,?)

How do we know to put the blue lines/justifications in?

a.(u q) s is the only premise leftb.(u q) s is the only premise that mentions uc.(u q) s is the only premise that mentions s without a negationd.We have no rule to get directly from one side of a biconditional to the othere.None of these

18

Page 19: CPSC 121: Models of Computation 2009 Winter Term 1

Prop Logic Proof Strategies

• Work backwards from the end• Play with alternate forms of premises• Identify and eliminate irrelevant information• Identify and focus on critical information• Alter statements’ forms so they’re easier to

work with• “Step back” from the problem frequently to

think about assumptions you might have wrong or other approaches you could take

And, if you don’t know that what you’re trying to prove follows...switch from proving to disproving and back now and then.

19

Page 20: CPSC 121: Models of Computation 2009 Winter Term 1

Continuing From There

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise4. ~q ~r De Morgan’s (1)5. ~q Specialization (4)6. ((u q) s) Bicond (2) (s (u q))7. ?????? Specialization (6)

...~s~p Modus ponens (3,?)

Which direction of goes in step 7?

a.(u q) s because the simple part is on the rightb.(u q) s because the other direction can’t establish ~sc.s (u q) because the simple part is on the leftd.s (u q) because the other direction can’t establish ~se.None of these

20

Page 21: CPSC 121: Models of Computation 2009 Winter Term 1

Finishing Up (1 of 3)

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise4. ~q ~r De Morgan’s (1)5. ~q Specialization (4)6. ((u q) s) Bicond (2) (s (u q))7. s (u q) Specialization (6) 8. ???? ????9. ~(u q) ????10. ~s Modus tollens (7, 9)11. ~p Modus ponens (3,10)

We know we needed ~(u q) on line 9 because that’s what we created line 7 for!

Now, how do we get ~(u q)?

Working forward is tricky. Let’s work backward. What is ~(u q) equivalent to? 21

Page 22: CPSC 121: Models of Computation 2009 Winter Term 1

Finishing Up (2 of 3)

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise4. ~q ~r De Morgan’s (1)5. ~q Specialization (4)6. ((u q) s) Bicond (2) (s (u q))7. s (u q) Specialization (6) 8. ~u ~q ????9. ~(u q) De Morgan’s (8)10. ~s Modus tollens (7, 9)11. ~p Modus ponens (3,10)

All that’s left is to get to ~u ~q. How do we do it?

22

Page 23: CPSC 121: Models of Computation 2009 Winter Term 1

Finishing Up (3 of 3)

To prove:

~(q r)(u q) s

~s ~p___

~p

1. ~(q r) Premise2. (u q) s Premise3. ~s ~p Premise4. ~q ~r De Morgan’s (1)5. ~q Specialization (4)6. ((u q) s) Bicond (2) (s (u q))7. s (u q) Specialization (6) 8. ~u ~q Generalization (5)9. ~(u q) De Morgan’s (8)10. ~s Modus tollens (7, 9)11. ~p Modus ponens (3,10)

As usual in our slides, we made no mistakes and reached no dead ends. That’s not the way things really go on difficult proofs!

Mistakes and dead ends are part of the discovery process! So, step back now and then and reconsider your assumptions and approach! 23

Page 24: CPSC 121: Models of Computation 2009 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Prelude: What Is Proof?

• Problems and Discussion– “Prove Your Own Adventure”– Why rules of inference? (advantages + tradeoffs)

– Onnagata, Explore and Critique

• Next Lecture Notes

24

Page 25: CPSC 121: Models of Computation 2009 Winter Term 1

Limitations of Truth Tables

Why not just use truth tables to prove propositional logic theorems?

a.No reason; truth tables are enough.b.Truth tables scale poorly to large problems.c.Rules of inference and equivalence rules can

prove theorems that cannot be proven with truth tables.

d.Truth tables require insight to use, while rules of inference can be applied mechanically.

25

Page 26: CPSC 121: Models of Computation 2009 Winter Term 1

Limitations of Logical Equivalences

Why not use logical equivalences to prove that the conclusions follow from the premises?

a.No reason; logical equivalences are enough.b.Logical equivalences scale poorly to large

problems.c.Rules of inference and truth tables can prove

theorems that cannot be proven with logical equivalences.

d.Logical equivalences require insight to use, while rules of inference can be applied mechanically.

26

Page 27: CPSC 121: Models of Computation 2009 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Prelude: What Is Proof?

• Problems and Discussion– “Prove Your Own Adventure”– Why rules of inference? (advantages + tradeoffs)

– Onnagata: Explore and Critique

• Next Lecture Notes

27

Page 28: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Onnagata

Problem: Critique the following argument.

Premise 1: If women are too close to femininity to portray women then men must be too close to masculinity to play men, and vice versa.

Premise 2: And yet, if the onnagata are correct, women are too close to femininity to portray women and yet men are not too close to masculinity to play men.

Conclusion: Therefore, the onnagata are incorrect, and women are not too close to femininity to portray women.

28

Page 29: CPSC 121: Models of Computation 2009 Winter Term 1

Quiz 4 Notes (2 of 2)

Approaches:

• Use our model!

• Prove with a truth table

• Trace the argument

• Build a new argument and see where it leads

• Assume the opposite of the conclusion and see what happens

• Question the premises

29

Page 30: CPSC 121: Models of Computation 2009 Winter Term 1

Contradictory Premises?

Do premises #1 and #2 contradict each other (i.e., is premise1 AND premise2 logically equivalent to F)?

a. Yes

b. No

c. Not enough information to tell.

30

Page 31: CPSC 121: Models of Computation 2009 Winter Term 1

Defining the Problem

Which definitions should we use?

a. w = women, m = men, f = femininity, m = masculinity, o = onnagata, c = correct

b. w = women are too close to femininity, m = men are too close to masculinity, pw = women portray women, pm = men portray men, o = onnagata are correct

c. w = women are too close to femininity to portray women, m = men are too close to masculinity to portray men, o = onnagata are correct

d. None of these, but another set of definitions works well.

e. None of these, and this problem cannot be modeled well with propositional logic.

31

Page 32: CPSC 121: Models of Computation 2009 Winter Term 1

Translating the Statements

Which of these is not an accurate translation of one of the statements?

a.w m

b.(w m) (m w)

c.o w ~m

d.~o ~w

e.All of these are accurate translations.

32

Page 33: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Now, Explore!

Critique the argument by either:

(1) Proving it correct (and commenting on how good the propositional logic model’s fit to the context is).

How do we prove prop logic statements?

(2) Showing that it is an invalid argument.

How do we show an argument is invalid? (Hint: think back to the quiz!)

33

Page 34: CPSC 121: Models of Computation 2009 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Prelude: What Is Proof?

• Problems and Discussion– “Prove Your Own Adventure”– Why rules of inference? (advantages + tradeoffs)

– Onnagata, Explore and Critique

• Next Lecture Notes

34

Page 35: CPSC 121: Models of Computation 2009 Winter Term 1

Next Lecture Learning Goals: Pre-Class

By the start of class, you should be able to:– Evaluate the truth of predicates applied to

particular values.– Show predicate logic statements are true by

enumerating examples (i.e., all examples in the domain for a universal or one for an existential).

– Show predicate logic statements are false by enumerating counterexamples (i.e., one counterexample for universals or all in the domain for existentials).

– Translate between statements in formal predicate logic notation and equivalent statements in closely matching informal language (i.e., informal statements with clear and explicitly stated quantifiers).

35

Page 36: CPSC 121: Models of Computation 2009 Winter Term 1

Next Lecture Prerequisites

Review Chapter 1 and be able to solve any Chapter 1 exercise.

Read Sections 2.1 and 2.3 (skipping the “Negation” sections in 2.3 on pages 102-104)

Solve problems like Exercise Set 2.1 #1-24 and Set 2.3 #1-12, part (a) of 14-19, 21-22, 30-31, part (a) of 32-38, 39, parts (a) and (b) of 45-52, and 53-56.

You should have completed the open-book, untimed quiz on Vista that was due before this class.

36

Page 37: CPSC 121: Models of Computation 2009 Winter Term 1

snick

snack

More problems to solve...

(on your own or if we have time)

37

Page 38: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Who put the cat in the piano?

Hercule Poirot has been asked by Lord Martin to find out who closed the lid of his piano after dumping the cat inside. Poirot interrogates two of the servants, Akilna and Eiluj. One and only one of them put the cat in the piano. Plus, one always lies and one never lies.

Akilna says:– Eiluj did it.– Urquhart paid her $50 to help him study.

Eiluj says:– I did not put the cat in the piano.– Urquhart gave me less than $60 to help him study.

Problem: Whodunit?

38

Page 39: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Automating Proof

Given:p q

p ~q r(r ~p) s ~p

~r

Problem: What’s everything you can prove?

39

Page 40: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Canonical Form

A common form for propositional logic expressions, called “disjunctive normal form” or “sum of products form”, looks like this:

(a ~b d) (~c) (~a ~d) (b c d e) ...In other words, each clause is built up of simple

propositions or their negations, ANDed together, and all the clauses are ORed together.

40

Page 41: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Canonical Form

Problem: Prove that any propositional logic statement can be expressed in disjunctive normal form.

41

Page 42: CPSC 121: Models of Computation 2009 Winter Term 1

Mystery #1

Theorem:

p qq (r s)~r (~t u)p t u

Is this argument valid or invalid?Is whatever u means true?

42

Page 43: CPSC 121: Models of Computation 2009 Winter Term 1

Mystery #2

Theorem:

p

p rp (q ~r)~q ~s s

Is this argument valid or invalid?Is whatever s means true?

43

Page 44: CPSC 121: Models of Computation 2009 Winter Term 1

Mystery #3

Theorem:

q

p mq (r m)m q p

Is this argument valid or invalid?Is whatever p means true?

44

Page 45: CPSC 121: Models of Computation 2009 Winter Term 1

Practice Problem (for you!)

Prove (with truth tables) that hypothetical syllogism is a valid rule of inference:

p qq r p r

45

Page 46: CPSC 121: Models of Computation 2009 Winter Term 1

Practice Problem (for you!)

Prove (with truth tables) whether this is a valid rule of inference:

q

p q p

46

Page 47: CPSC 121: Models of Computation 2009 Winter Term 1

Practice Problem (for you!)

Are the following arguments valid?

This apple is green.If an apple is green, it is sour. This apple is sour.

Sam is not barking.If Sam is barking, then Sam is a dog. Sam is not a dog.

47

Page 48: CPSC 121: Models of Computation 2009 Winter Term 1

Practice Problem (for you!)

Are the following arguments valid?

This shirt is comfortable.If a shirt is comfortable, it’s chartreuse. This shirt is chartreuse.

It’s not cold.If it’s January, it’s cold. It’s not January.

Is valid (as a term) the same as true or correct (as English ideas)?48

Page 49: CPSC 121: Models of Computation 2009 Winter Term 1

More Practice

Meghan is rich.

If Meghan is rich, she will pay your tuition.

Meghan will pay your tuition.

Is this argument valid?Should you bother sending in a check for your

tuition, or is Meghan going to do it?49

Page 50: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Equivalent Java Programs

Problem: How many valid Java programs are there that do exactly the same thing?

50

Page 51: CPSC 121: Models of Computation 2009 Winter Term 1

Resources: Statements

From the Java language specification, a standard statement is one that can be:

http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.551

Page 52: CPSC 121: Models of Computation 2009 Winter Term 1

Resources: Statements

From the Java language specification, a standard statement is one that can be:

http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.552

Page 53: CPSC 121: Models of Computation 2009 Winter Term 1

What’s a “Block”?

Back to the Java Language Specification:

http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.253

Page 54: CPSC 121: Models of Computation 2009 Winter Term 1

What’s a “Block”?

A block is a sequence of statements, local class declarations and local variable declaration statements within braces.

A block is executed by executing each of the local variable declaration statements and other statements in order from first to last (left to right).

54

Page 55: CPSC 121: Models of Computation 2009 Winter Term 1

What’s an “EmptyStatement”

Back to the Java Language Specification:

http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.655

Page 56: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Validity of Arguments

Problem: If an argument is valid, does that mean its conclusion is true? If an argument is invalid, does that mean its conclusion is false?

56

Page 57: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Proofs and Contradiction

Problem: Imagine I assume premises x, y, and z and prove F. What can I conclude (besides “false is true if x, y, and z are true”)?

57

Page 58: CPSC 121: Models of Computation 2009 Winter Term 1

Proof CritiqueTheorem: √2 is irrational

Proof: Assume √2 is rational, then...

There’s some integers p and q such that √2 = p/q, and p and q share no factors.

2 = (p/q)2 = p2/q2 and p2 = 2q2

p2 is divisible by 2; so p is divisible by 2.

There’s some integer k such that p = 2k.

q2 = p2/2 = (2k)2/2 = 2k2; so q2 and q are divisible by 2.

p and q do share the factor 2, a contradiction!

√2 is irrational. QED

58

Page 59: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Comparing Deduction and Equivalence Rules

Problem: How are logical equivalence rules and deduction rules similar and different, in form, function, and the means by which we establish their truth?

59

Page 60: CPSC 121: Models of Computation 2009 Winter Term 1

Problem: Evens and Integers

Problem: Which are there more of, (a) positive even integers, (b) positive integers, or (c) neither?

60