1 / 55

CPSC 121: Models of Computation 2012 Summer Term 2

CPSC 121: Models of Computation 2012 Summer Term 2. Proof Techniques (Part A) Steve Wolfman, based on notes by Patrice Belleville and others. Outline. Learning Goals, Quiz Notes, and Big Picture Problems and Discussion: Generally Faster? Breaking Down Big Proofs

ion
Download Presentation

CPSC 121: Models of Computation 2012 Summer Term 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPSC 121: Models of Computation2012 Summer Term 2 Proof Techniques(Part A) Steve Wolfman, based on notes by Patrice Belleville and others

  2. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  3. 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.

  4. 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. Discuss point of learning goals.

  5. Where We Are inThe Big Stories Theory 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 little while longer. Never fear, though, we’ll return! 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”).

  6. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  7. Our “GenerallyFaster” GenerallyFaster(a1, a2) = i  Z+, n  Z+, n  i  Faster(a1, a2, n). time Alg A Alg B problem size

  8. 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. time Alg A Alg B problem size

  9. 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 time Alg A Alg B problem size

  10. 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. time Alg A Alg B (The last line is what we really mean in this case.) problem size

  11. Proving “GenerallyFaster” Theorem: i  Z+, n  Z+, n  i  60n < n2. Which of these is the best overall description of this statement? • It’s a big “AND”. • It’s a big “OR”. • It’s a conditional. • It’s an inequality. time Alg A Alg B problem size

  12. 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 time Alg A Alg B problem size

  13. 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 time Alg A Alg B problem size

  14. 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 time Alg A Alg B problem size

  15. 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… time Alg A Alg B problem size

  16. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  17. 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”.) proving

  18. 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. Where “valid” means “runnable using the java/racket commands with no flags”.

  19. 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. LEAVE this blank until you know what to pick. Take notes as you learn more about i. time Alg A Alg B problem size

  20. Form of Our “TODO Item” Partial Theorem: n  Z+, n  i  60n < n2. Which of these is the best overall description of this statement? • It’s a big “AND”. • It’s a big “OR”. • It’s a conditional. • It’s an inequality. time Alg A Alg B problem size

  21. 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). time Alg A Alg B So, how do we prove a universal? problem size

  22. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  23. 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 whichx it is except that it’s drawn from D Then prove R(x). That is: pick x “without loss of generality”! proving

  24. Why Does This Work? Pattern to prove x  D, R(x). Pick some arbitrary x, but assume nothing about whichx 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?

  25. WLOG Example: My Machine Speaks Racket Theorem: Any valid Racket program can be represented in my computer’s machine language. Problem: prove the theorem.

  26. 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

  27. 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. time Alg A Alg B problem size

  28. Form of Our “TODO Item” Partial Theorem: n  i  60n < n2. Which of these is the best overall description of this statement? • It’s a big “AND”. • It’s a big “OR”. • It’s a conditional. • It’s an inequality. time Alg A Alg B problem size

  29. 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) time Alg A Alg B So, how do we prove a conditional? problem size

  30. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  31. 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. proving But this is a prop logic technique?Can we use those for pred logic?

  32. 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?

  33. 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.

  34. 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.

  35. AND XOR OR NOT Partly Worked Problem: Universality of NOR Gates Insight: We can “rewrite” each of the gates in this circuit as a NOR gate. How? Once you’ve shown this rewriting, you’ve proven the theorem.

  36. Partly Worked Problem: Universality of NOR Gates Which of these NOR gate configurations is equivalent to ~p? a. c. q p p b. d. T F p p e. None of these

  37. AND XOR OR 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?

  38. 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. time Alg A Alg B So, how do we prove an inequality? problem size

  39. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  40. “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.

  41. 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. time Alg A Scratch work: We need to pick an i so that 60n < n2. Alg B problem size

  42. 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! time Alg A Alg B problem size

  43. Polished Work Partial Theorem: 60n < n2. With i = ____: time Alg A Alg B problem size

  44. Outline • Learning Goals, Quiz Notes, and Big Picture • Problems and Discussion: Generally Faster? • Breaking Down Big Proofs • Witness Proofs, also known asProofs 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 Rest

  45. 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 time Alg A QED! Alg B problem size

  46. Notation note… Remember that this: 60n < 61n = i*n  n*n = n2 Actually means this: 60n < 61n 61n = i*n i*n  n*n n*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… time Alg A Alg B problem size

  47. 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 time Alg A Alg B QED! problem size

  48. 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 Those last two are prop logic strategies, and we can still use the rest of those as well!

  49. 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.

  50. 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.

More Related