CPSC 121: Models of Computation 2012 Summer Term 2
description
Transcript of CPSC 121: Models of Computation 2012 Summer Term 2
![Page 1: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/1.jpg)
snick
snack
CPSC 121: Models of Computation2012 Summer Term 2
Proof Techniques(Part A)
Steve Wolfman, based on notes by Patrice Belleville and others
1
![Page 2: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/2.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest2
![Page 3: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/3.jpg)
Learning Goals: “Pre-Class”
Be able for each proof strategy below to:– Identify the form of statement the strategy can prove.– Sketch the structure of a proof that uses the strategy.
Strategies: constructive/non-constructive proofs of existence ("witness"), disproof by counterexample, exhaustive proof, generalizing from the generic particular ("WLOG"), direct proof ("antecedent assumption"), proof by contradiction, and proof by cases.
Alternate names are listed for some techniques.3
![Page 4: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/4.jpg)
Learning Goals: In-Class
By the end of this unit, you should be able to:– Devise and attempt multiple different, appropriate
proof strategies—including all those listed in the “pre-class” learning goals plus use of logical equivalences, rules of inference, universal modus ponens/tollens, and predicate logic premises—for a given theorem.
– For theorems requiring only simple insights beyond strategic choices or for which the insight is given/hinted, additionally prove the theorem.
4
![Page 5: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/5.jpg)
Where We Are inThe Big Stories
Theory
How do we model computational systems?
Now: With our powerful modelling language (pred logic), we can begin to express interesting questions (like whether one algorithm is faster than another “in general”).
Hardware
How do we build devices to compute?
Now: We’ve been mostly on the theoretical side for
a while, and we’ll stay there for a littlewhile longer. Never fear, though, we’ll
return!
5
![Page 6: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/6.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest6
![Page 7: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/7.jpg)
Our “GenerallyFaster”
GenerallyFaster(a1, a2) = i Z+, n Z+, n i Faster(a1, a2, n).
7
Alg A
Alg Bproblem size
time
![Page 8: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/8.jpg)
Our Algorithms
(a) Ask each student for the list of their MUG-mates’ classes, and check for each class whether it is CPSC 121. If the answer is ever yes, include the student in my count.
(b) For each student s1 in the class, ask the student for each other student s2 in the class whether s2 is a MUG-mate. If the answer is ever yes, include s1 in my count.
8
Alg A
Alg Bproblem size
time
![Page 9: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/9.jpg)
Our Algorithms At Particular Sizes
(a) For 10 students: 10 minutes For 100 students: 100 minutes
For 400 students: 400 minutes
(b) For 10 students: ~10*10 seconds For 100 students: ~100*100 seconds
For 400 students: ~400*400 seconds
9
Alg A
Alg Bproblem size
time
![Page 10: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/10.jpg)
Proving “GenerallyFaster”
GenerallyFaster(a1, a2) = i Z+, n Z+, n i Faster(a1, a2, n).
Can we prove algA is generally faster than algB?
GenerallyFaster(algA, algB) i Z+, n Z+, n i Faster(algA, algB, n). i Z+, n Z+, n i 60n < n2.
10
Alg A
Alg Bproblem size
time
(The last line is what we really mean in this case.)
![Page 11: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/11.jpg)
Proving “GenerallyFaster”
Theorem: i Z+, n Z+, n i 60n < n2.
Which of these is the best overall description of this statement?
a.It’s a big “AND”.
b.It’s a big “OR”.
c.It’s a conditional.
d.It’s an inequality.
11
Alg A
Alg Bproblem size
time
![Page 12: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/12.jpg)
Proving “GenerallyFaster”
Theorem: i Z+, n Z+, n i 60n < n2.
We can always pick out the “outermost” operator:i Z+, P(i), where…
P(i) = n Z+, n i 60n < n2
12
Alg A
Alg Bproblem size
time
![Page 13: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/13.jpg)
Proving “GenerallyFaster”
Theorem: i Z+, n Z+, n i 60n < n2.
We can always pick out the “outermost” operator:i Z+, P(i), where…
P(i) = n Z+, Q(i,n),
Q(i,n) = n i 60n < n2
13
Alg A
Alg Bproblem size
time
![Page 14: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/14.jpg)
Proving “GenerallyFaster”
Theorem: i Z+, n Z+, n i 60n < n2.
We can always pick out the “outermost” operator:i Z+, P(i), where…
P(i) = n Z+, Q(i,n),
Q(i,n) = R(i,n) S(n),R(i,n)= n i,S(n) = 60n < n2
14
Alg A
Alg Bproblem size
time
![Page 15: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/15.jpg)
Proving “GenerallyFaster”
Theorem: i Z+, n Z+, n i 60n < n2.
We can always pick out the “outermost” operator:i Z+, P(i), where…
P(i) = n Z+, Q(i,n),
Q(i,n) = R(i,n) S(n),R(i,n)= n i,S(n) = 60n < n2
So to get started, we can think about how to prove an existential…
15
Alg A
Alg Bproblem size
time
![Page 16: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/16.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest16
![Page 17: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/17.jpg)
Proof of Existence or “witness proofs”
Pattern to prove x D, R(x).
Prove R(x) for any one x in D. Pick the one that makes your job easiest!
The x you use for your proof is the “witness” to the existential… it “testifies” that your existential is true.
(We’re proving one of the disjuncts of a big “OR”.)
17proving
![Page 18: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/18.jpg)
Witness Proof Example: A Touch of Brevity
Theorem: There’s a valid Racket program shorter than this (45-character) Java program:
class A{public static void main(String[]a){}}
Problem: prove the theorem.
18Where “valid” means “runnable using the java/racket commands with no flags”.
![Page 19: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/19.jpg)
Proving “GenerallyFaster” Our Strategy So Far
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = ??.
Then, we prove: n Z+, n i 60n < n2.
19
Alg A
Alg Bproblem size
time
LEAVE this blank until you know what to pick.Take notes as you learn more about i.
![Page 20: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/20.jpg)
Form of Our “TODO Item”
Partial Theorem: n Z+, n i 60n < n2.
Which of these is the best overall description of this statement?
a.It’s a big “AND”.
b.It’s a big “OR”.
c.It’s a conditional.
d.It’s an inequality.
20
Alg A
Alg Bproblem size
time
![Page 21: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/21.jpg)
Proving “GenerallyFaster” Our Strategy So Far
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = ??.
Then, we prove: n Z+, n i 60n < n2.
That’s the same as:
Q(i,n) = n i 60n < n2.
n Z+, Q(i,n).
21
Alg A
Alg Bproblem size
time
So, how do we prove a universal?
![Page 22: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/22.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest22
![Page 23: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/23.jpg)
Generalizing from the Generic Particular /Without Loss of Generality (WLOG)
Pattern to prove x D, R(x).
Pick some arbitrary x, but assume nothing about which x it is except that it’s drawn from D
Then prove R(x).
That is: pick x “without loss of generality”!
23proving
![Page 24: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/24.jpg)
Why Does This Work?
Pattern to prove x D, R(x).
Pick some arbitrary x, but assume nothing about which x it is except that it’s drawn from D. Then prove R(x).
This is a big “AND”. To prove it, we must prove each “conjunct”.
Can we generate each individual proof from this one generic proof?
24
![Page 25: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/25.jpg)
WLOG Example: My Machine Speaks Racket
Theorem: Any valid Racket program can be represented in my computer’s machine language.
Problem: prove the theorem.
25
![Page 26: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/26.jpg)
WLOG Example: My Machine Speaks Racket
Theorem: Any valid Racket program can be represented in my computer’s machine language.
Proof: Without loss of generality, consider a valid Racket program p.
Since p is valid, my Racket interpreter (DrRacket) can interpret it on my computer. However, all commands that my computer runs are expressed in its machine language.
Therefore, p can be expressed (as the combination of the compiled interpreter and the input program) in my computer’s machine language.
QED
26
![Page 27: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/27.jpg)
Proving “GenerallyFaster” Our Strategy So Far
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = ??.
Without loss of generality, let n be an arbitrary positive integer.
Then, we prove: n i 60n < n2.
27
Alg A
Alg Bproblem size
time
![Page 28: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/28.jpg)
Form of Our “TODO Item”
Partial Theorem: n i 60n < n2.
Which of these is the best overall description of this statement?
a.It’s a big “AND”.
b.It’s a big “OR”.
c.It’s a conditional.
d.It’s an inequality.
28
Alg A
Alg Bproblem size
time
![Page 29: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/29.jpg)
Proving “GenerallyFaster” Our Strategy So Far
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = ??.
Without loss of generality, let n be an arbitrary positive integer.
Then, we prove: n i 60n < n2.
With appropriate helpers, that’s just:R(i,n) S(n)
29
Alg A
Alg Bproblem size
time
So, how do we prove a conditional?
![Page 30: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/30.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest30
![Page 31: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/31.jpg)
A New Proof Strategy“Antecedent Assumption”
To prove p q:
Assume p.
Prove q.
You have then shown that q follows from p, that is, that p q, and you’re done.
But this is a prop logic technique?Can we use those for pred logic?
31proving
![Page 32: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/32.jpg)
Why Does This Work?
To prove p q:
Assume p.
Prove q.
p q is “really” an OR like ~p q.
If our assumption is wrong, is the OR true?
If our assumption is right, is the OR true?
32
![Page 33: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/33.jpg)
Partly Worked Problem: Universality of NOR Gates
Theorem: If a circuit can be built from NOT gates and two-input AND, OR and XOR gates, then it can be built from NOR gates alone.
Problem: prove the theorem.
33
![Page 34: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/34.jpg)
Partly Worked Problem: Universality of NOR Gates
Opening steps:
(1) Without loss of generality, consider an arbitrary circuit.
(2) [Assume the antecedent.] Assume the circuit can be built from NOT gates and two-input AND, OR and XOR gates.
34
![Page 35: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/35.jpg)
Partly Worked Problem: Universality of NOR Gates
Insight: We can “rewrite” each of the gates in this circuit as a NOR gate. How?
AND OR XORNOT
Once you’ve shown this rewriting, you’ve proven the theorem.35
![Page 36: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/36.jpg)
Partly Worked Problem: Universality of NOR Gates
Which of these NOR gate configurations is equivalent to ~p?
e. None of these36
p
pT
pF
pq
a.
b.
c.
d.
![Page 37: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/37.jpg)
Partly Worked Problem: Universality of NOR Gates
Insight: Now that we can build NOT, can we rewrite the rest in terms of NOR and NOT?
AND OR XOR
37
![Page 38: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/38.jpg)
Proving “GenerallyFaster” Our Strategy So Far
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = ??.
Without loss of generality, let n be an arbitrary positive integer.
Assume n i.
Then, we prove: 60n < n2.
38
Alg A
Alg Bproblem size
time
So, how do we prove an inequality?
![Page 39: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/39.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest39
![Page 40: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/40.jpg)
“Rules” for Inequalities
Proving an inequality is a lot like proving equivalence.
First, do your scratch work (often solving for a variable).
Then, rewrite formally:• Start from one side.• Work step-by-step to the other.• Never move “opposite” to your inequality (so, to
prove “<”, never make the quantity smaller).• Strict inequalities (< and >): have
at least one strict inequality step.
40
![Page 41: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/41.jpg)
Proving “GenerallyFaster” Our Strategy So Far
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = ??.
Without loss of generality, let n be an arbitrary positive integer.
Assume n i.Then, we prove: 60n < n2.
41
Alg A
Alg Bproblem size
time
Scratch work: We need to pick an i so that 60n < n2.
![Page 42: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/42.jpg)
Scratch Work
Partial Theorem: 60n < n2.
We need to pick an i so that 60n < n2.
Let’s try solving for n in our scratch work!
42
Alg A
Alg Bproblem size
time
![Page 43: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/43.jpg)
Polished Work
Partial Theorem: 60n < n2.
With i = ____:
43
Alg A
Alg Bproblem size
time
![Page 44: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/44.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest44
![Page 45: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/45.jpg)
Finishing the Proof
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = 61.
Without loss of generality, let n be an arbitrary positive integer.
Assume n i.Observe that:60n < 61n
= i*n n*n (since n i)= n2
45
Alg A
Alg Bproblem size
time QED!
![Page 46: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/46.jpg)
Notation note…
Remember that this:
60n < 61n= i*n n*n= n2
Actually means this:
60n < 61n61n = i*ni*n n*nn*n = n2
Since 60n is less than 61n, and 61n is equal to i*n, 60n is less than i*n.
And, since i*n is less than or equal to n*n, 60n is less than n*n.
And so on…
46
Alg A
Alg Bproblem size
time
![Page 47: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/47.jpg)
How Did We Build the Proof?
Theorem: i Z+, n Z+, n i 60n < n2.
We pick i = 61.
Without loss of generality, let n be an arbitrary positive integer.
Assume n i.Observe that:60n < 61n
= i*n n*n (since n i)= n2
47
Alg A
Alg Bproblem size
time
QED!
![Page 48: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/48.jpg)
Strategies So Far
x D, P(x). with WLOG
x D, P(x). with a witness
p q by assuming the LHS
p q by proving each part
p q by proving either part
48Those last two are prop logic strategies,
and we can still use the rest of those as well!
![Page 49: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/49.jpg)
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.
49
![Page 50: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/50.jpg)
More Practice: Always a Bigger Number
Prove that for any integer, there’s a larger integer.
Note: our proofs will frequently be purely in words now.BUT, translate the theorem into predicate logic
so you can structure your proof!This is x Z, y Z, y > x.
50
![Page 51: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/51.jpg)
More Practice: Always a Bigger Number
Prove that for any integer, there’s a larger integer.
Which strategy or strategies should we use?
a.Witness proof alone
b.WLOG with a witness proof inside
c.Without loss of generality, twice.
d.Witness proof, twice.
e.None of these51
x Z, y Z, y > x
![Page 52: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/52.jpg)
Worked Problem: Always a Bigger Number
Prove that for any integer, there’s a larger integer.
Proof: Without loss of generality, let the first number x be an integer. Let the second number y be x + 1. Then, y = x + 1 > x. QED
The proof uses WLOG then witness.
52And… the predicate logic version makes that order obvious!
WLOG outside for x Z, witness inside for y Z.
x Z, y Z, y > x.
![Page 53: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/53.jpg)
Outline
• Learning Goals, Quiz Notes, and Big Picture• Problems and Discussion: Generally Faster?
– Breaking Down Big Proofs– Witness Proofs, also known as
Proofs of Existence– Without loss of generality (WLOG), also known as
Generalizing from the Generic Particular– Antecedent Assumption– Proving Inequality (and equivalences/equality)– Breaking Down Big Proofs, Revisited
• Coming Soon: The Rest53
![Page 54: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/54.jpg)
snick
snack
Extra Slides
54
![Page 55: CPSC 121: Models of Computation 2012 Summer Term 2](https://reader034.fdocuments.net/reader034/viewer/2022051517/56815041550346895dbe40df/html5/thumbnails/55.jpg)
Why Does This Work?
To prove p q:
Assume p.
Prove q.
By the way, does this look like a propositional logic proof? When is such a proof valid? When p q is a tautology!
55