Download presentation
Presentation is loading. Please wait.
1
Discrete Mathematics ? Transparency No. 2-0 Chapter 3 Mathematical Reasoning Transparency No. 3-1 formal logic mathematical preliminaries
2
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-2 Contents 1.5 and 3.1 Proofs ad proof methods 3.2 Mathematical Inductions 3.3 Recursive defined sets Recursive definitions Structural Induction 3.4 Recursive algorithms 3.5 Program correctness
3
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-3 Proofs and proof methods Nature and importance of proofs Applications of proofs Proof terminology Inference rules Some inference rules Soundness of inference rules Formal proofs Formal proof examples Inference rules for quantifiers common fallacies proof methods
4
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-4 Nature & Importance of Proofs In mathematics, a proof is: a correct (well-reasoned, logically valid) and complete (clear, detailed) argument that rigorously & undeniably establishes the truth of a mathematical statement. Why must the argument be correct & complete? Correctness prevents us from fooling ourselves. Completeness allows anyone to verify the result. [Discrete] Mathematics requires a very high standard for correctness and completeness of proofs.
5
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-5 Overview of §§1.5 & 3.1 Methods of mathematical argument (i.e., proof methods) can be formalized in terms of rules of logical inference. Mathematical proofs can themselves be represented formally as discrete structures. Review both correct & fallacious inference rules, & several proof methods.
6
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-6 Applications of Proofs Clear communication of logical arguments in any area of study. Discovery and elucidation, through proofs, of interesting new mathematical theorems. Theorem-proving has applications in program verification, computer security, automated reasoning systems, etc. Proving a theorem allows us to rely upon on its correctness even in the most critical scenarios.
7
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-7 Proof Terminology Theorem [ 定理 ] A statement that has been proven to be true. Axioms[ 公設 ], postulates, hypotheses, premises Assumptions (often unproven) defining the structures about which we are reasoning. Rules of inference [ 推論法則 ] Patterns of logically valid deductions from hypotheses to conclusions.
8
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-8 More Proof Terminology Lemma[ 輔助定理 ] - A minor theorem used as a stepping-stone to proving a major theorem. Corollary - A minor theorem proved as an easy consequence of a major theorem. Conjecture - A statement whose truth value has not been proven. (A conjecture may be widely believed to be true, regardless.) Theory – The set of all theorems that can be proven from a given set of axioms.
9
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-9 Graphical Visualization A Particular Theory … Various Theorems The Axioms of the Theory A proof inference rule
10
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-10 Inference Rules - General Form Inference Rule – Pattern establishing that if we know that a set of antecedent statements of certain forms are all true, then a certain related consequent statement is true. antecedent 1 antecedent 2 … consequent “ ” means “ therefore ”
11
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-11 Inference Rules & Implications Each logical inference rule corresponds to an implication that is a tautology. antecedent 1 Inference rule antecedent 2 … consequent Corresponding tautology: ((ante. 1) (ante. 2) … ) consequent
12
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-12 Some Inference Rules pRule of Addition p q p qRule of Simplification p pRule of Conjunction q p q
13
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-13 Modus Ponens & Tollens pRule of modus ponens p q (a.k.a. law of detachment) q q p q Rule of modus tollens p “the mode of affirming” “the mode of denying”
14
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-14 Syllogism Inference Rules p qRule of hypothetical q rsyllogism p r p qRule of disjunctive psyllogism q Aristotle (ca. 384-322 B.C.)
15
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-15 Formal Proofs A formal proof of a conclusion C, given premises p 1, p 2, …,p n consists of a sequence of steps, each of which applies some inference rule to premises or to previously-proven statements (as antecedents) to yield a new true statement (the consequent). A proof demonstrates that if the premises are true, then the conclusion is true.
16
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-16 Formal Proof Example Suppose we have the following premises: “ It is not sunny and it is cold. ” “ We will swim only if it is sunny. ” “ If we do not swim, then we will canoe. ” “ If we canoe, then we will be home early. ” Given these premises, prove the theorem “ We will be home early ” using inference rules.
17
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-17 Proof Example cont. Let us adopt the following abbreviations: sunny = “ It is sunny ” ; cold = “ It is cold ” ; swim = “ We will swim ” ; canoe = “ We will canoe ” ; early = “ We will be home early ”. Then, the premises can be written as: (1) sunny cold (2) swim sunny (3) swim canoe (4) canoe early
18
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-18 Proof Example cont. StepProved by 1. sunny cold Premise #1. 2. sunnySimplification of 1. 3. swim sunnyPremise #2. 4. swimModus tollens on 2,3. 5. swim canoe Premise #3. 6. canoeModus ponens on 4,5. 7. canoe earlyPremise #4. 8. earlyModus ponens on 6,7.
19
Discrete Mathematics ? Transparency No. 2-0 The formalization of proofs and inference rules
20
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-20 What is a proof what is a proof ? ==> a sequence of formulas (I.e., statements or logical expressions) A1,... An [=A] generated according to some ( valid inference) rules
21
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-21 Inference rules An inference rule is a pattern of formulas of the form: P 1,P 2,...,P m (m 0) // C. Meaning that if P 1,..,P m have been produced (proved, generated, etc) before then we can add C to the proof sequence (now). P 1,..,P m : premises of the rule; C: Conclusion of the rule.
22
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-22 Formal definition of proofs Ax: a set of axioms R: a set of inference rules A: a formula A proof of A (according to axioms Ax and rules R) is a nonempty sequence of formulas A1,A2,...,An s.t., 1. An = A. 2. For i = 1,.., n Either Ai is an axiom (i.e., a member of Ax) or there is an inference rule r: P1,..,Pm / C in R s.t. 1. C = Ai 2. {p1,..,Pm} {A1,...,A i-1 } Note: 1. each Ai (i <n) is called a lemma. 2. If B can be inferred from A directly, it is called a corollary of theorem A. 3. Both lemmas and corollaries are theorems.
23
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-23 More about proofs Notation: we use A1,A2,…Am |- C to means that there is a proof of C with A1,…,Am as premises. An inference rule: P 1,..,P m // C is said to be sound( 可靠 ) (or correct[ 正確 ], valid[ 有效 ]) iff It is impossible that all premises are true while the conclusion is false. I.e., If all premise are true than the conclusion must be true. I.e., (P1/\P2/\…/\Pn ) C is a tautology. I.e., C is a logical consequence of P1,P2,… and Pm.
24
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-24 More about proofs A fallacy is a inference rule which is not sound. (I.e., It is possible that all premises are true but the conclusion is false). Ex: Rain Wet // ~Rain ~Wet. Fact1 : If P 1,..,P m // C is sound in T, and all premises are theorems then so is the conclusion C. Fact2: If 1. there is a proof of C from a set of premises P1,… Pn (I.e., P1,…Pn |- C ), 2. all premises are theorems and 3. all inference rules used are sound, then the conclusion C must be a theorem.
25
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-25 Inference Rules for Quantifiers x P(x) P(o)(substitute any object o) P(o) (substitute any extant object o) x P(x)
26
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-26 Example Definitions: s :≡ Socrates (ancient Greek philosopher) ; H(x) :≡ “ x is human ” ; M(x) :≡ “ x is mortal ”. Premises: H(s) Socrates is human. x H(x) M(x) All h umans are mortal. Conclusion: M(s) Socrates is mortal. Topic #3 – Predicate Logic
27
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-27 The proof Some valid conclusions you can draw: H(s) M(s) [Instantiate universal.] If Socrates is human then he is mortal. H(s) M(s) Socrates is inhuman or mortal. H(s) ( H(s) M(s)) Socrates is human, and also either inhuman or mortal. (H(s) H(s)) (H(s) M(s)) [Apply distributive law.] F (H(s) M(s)) [Trivial contradiction.] H(s) M(s) [Use identity law.] M(s) Socrates is mortal. Topic #3 – Predicate Logic
28
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-28 Another Example Definitions: H(x) :≡ “ x is human ” ; M(x) :≡ “ x is mortal ” ; G(x) :≡ “ x is a god ” Premises: x H(x) M(x) ( “ Humans are mortal ” ) and x G(x) M(x) ( “ Gods are immortal ” ). Show that x (H(x) G(x)) ( “ No human is a god. ” ) Topic #3 – Predicate Logic
29
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-29 The Derivation x H(x) M(x) and x G(x) M(x). x M(x) H(x) [Contrapositive.] x [G(x) M(x)] [ M(x) H(x)] x G(x) H(x) [Transitivity of .] x G(x) H(x) [Definition of .] x (G(x) H(x)) [DeMorgan ’ s law.] x G(x) H(x) [An equivalence law.] Topic #3 – Predicate Logic
30
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-30 More Inference Rules for Quantifiers P(g) x P(x) x P(x) P(c)(substitute a new constant c c is an object restricted to property P) (where g a general element of u.d. I.e., g cannot be restricted to any property except being an element of u.d.)
31
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-31 Example The square of all odd numbers are odd. pf: let g be any number. [ if g is odd, then, g = 2k + 1 for some k g 2 = 4kk + 4k + 1 = 2(2kk + 2k) + 1 => g 2 is odd. ] => Odd(g) Odd(g 2 ). => x Odd(x) Odd(x 2 ).
32
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-32 a fallacy Prove that x P(x) |- x P(x) What ’ s wrong with the proof: ? 1. x P(x) --- premise 2. P(c) --- instanciation 3. x P(x) --- Gen Ans: c is not a general element!
33
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-33 Example inference rules 1. Modus Ponus(MP) : A B, A // B 2. abduction (ABD) : A B, B // A 3. denying premise : A B, ~A // ~B 4. Math. ind.: (let P be any formula ) P(0) x P(x) P(x +1) -------------------------- x P(x) Notes: 1. rule 1 is correct. 2. rule 2,3 are in general not correct. 3. Rule 4 is correct for natural number(NT) theory, but not correct for integer theory(ZT) and real number theory(RT).
34
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-34 Some commonly used inference rules
35
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-35 Some commonly used fallacies Affirming the conclusion [abduction]: From p->q, q infer p Ex: Do all exercises => learn discrete math. Since have learned D.M., hence have done all exercises. note: p is a possible reason (explanation) of q, instead of a (necessary) consequence of q. Denying the hypothesis: from ~p and p->q infer ~q. Ex: rain => wet, since not rain, hence not wet. Circular reasoning Assume n 2 is even. n 2 = 2k for some k. Hence n 2 is even
36
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-36 Techniques for proving theorems Different ways of proving a theorem: p implies q. Vacuous proof: Prove that ~p. [~p //p->q] Trivial proof: Prove that q. [q // p->q ] Direct proof: Prove that if p then q. [p->q //p->q] suppose p, then..., q Indirect proof: (proof by contraposition) Prove that "~q implies ~P" [~q->~p // p->q] Proof by contradiction: To prove P, it suffices to show that ~P -> F (false) [~p ->F // p] Proof by cases: To prove that "p \/ q implies r " it suffices to show that p->r and q -> r. [p->r, q->r // (p\/ q) ->r.]
37
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-37 Proof Methods for Implications For proving implications p q, we have: Direct proof: Assume p is true, and prove q. Indirect proof: Assume q, and prove p. Vacuous proof: Prove p by itself. Trivial proof: Prove q by itself. Proof by cases: Show p (a b), and (a q) and (b q).
38
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-38 Direct Proof Example Definition: An integer n is called odd iff n=2k+1 for some integer k; n is even iff n=2k for some k. Axiom: Every integer is either odd or even. Theorem: (For all numbers n) If n is an odd integer, then n 2 is an odd integer. Proof: If n is odd, then n = 2k+1 for some integer k. Thus, n 2 = (2k+1) 2 = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1. Therefore n 2 is of the form 2j + 1 (with j the integer 2k 2 + 2k), thus n 2 is odd. □
39
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-39 Indirect Proof Example Theorem: (For all integers n) If 3n+2 is odd, then n is odd. Proof: Suppose that the conclusion is false, i.e., that n is even. Then n=2k for some integer k. Then 3n+2 = 3(2k)+2 = 6k+2 = 2(3k+1). Thus 3n+2 is even, because it equals 2j for integer j = 3k+1. So 3n+2 is not odd. We have shown that ¬ (n is odd)→ ¬ (3n+2 is odd), thus its contra-positive (3n+2 is odd) → (n is odd) is also true. □
40
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-40 Vacuous Proof Example Theorem: (For all n) If n is both odd and even, then n 2 = n + n. Proof: The statement “ n is both odd and even ” is necessarily false, since no number can be both odd and even. So, the theorem is vacuously true. □
41
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-41 Trivial Proof Example Theorem: (For integers n) If n is the sum of two prime numbers, then either n is odd or n is even. Proof: Any integer n is either odd or even. So the conclusion of the implication is true regardless of the truth of the antecedent. Thus the implication is true trivially. □
42
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-42 Proving existence theorem Methods for proving x p(x): Constructive proof: find an object (or term) a, s.t. P(a). [p(a) // x p(x) ] Nonconstructive proof: a proof of x P(x) w/o knowing what object satisfies p. ex:proof by contradiction: Show that ~ x p(x) ->F.
43
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-43 Example of existence proofs Ex 20: [constructive proof] Show that there are n consecutive composite integers for every integer n >0. ( I.e. for all n x (x+1,x+2,...x+n) are all composite. Sol: Let x = (n+1)! +1. => x+i = (n+1)! + (i+1) = (i+1)( (n+1)!/(i+1) +1) is composite for i = 1,..,n. QED. Ex 21: [nonconstructive proof] For all n >0 prime number > n. Sol: by contradiction. Assume n s.t. all prime number < n. Let m = n! +1. ==> (k, m) = 1 for all k ≤ n. => all prime cannot divide m => m is a prime > n => a contradiction. QED. Note: We cannot know a prime > n from the proof.
44
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-44 Example of proof by cases... Given n>0, prove there is a prime p>n. Consider x = n!+1. Since x>1, we know (x is prime) (x is composite). Case 1: x is prime. Obviously x>n, so let p=x and we ’ re done. Case 2: x has a prime factor p. But if p n, then p mod x = 1. So p>n, and we ’ re done.
45
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-45 Limits on Proofs Some very simple statements of number theory haven ’ t been proved or disproved! E.g. Goldbach ’ s conjecture: Every integer n≥2 is exactly the average of some two primes. n≥2 primes p,q: n=(p+q)/2. There are true statements of number theory (or any sufficiently powerful system) that can never be proved (or disproved) (G ö del incompleteness theorem).
46
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-46 3.2 Mathematical Induction To show that a property p hold for all nonnegative integer n, it suffices to show that 1. Basis step: P(0) is true 2. Ind. step: P(n) P(n+1) is true for all nonnegative integer. P(n) in 2. is called the inductive hypothesis. Note: Math. Ind. is exactly the inference rule: P(0), n p(n) P(n+1) // n P(n) for any property P The second form of MI Basis: P(0) holds Ind. step: P(0) /\ P(1) /\...,/\p(n-1) P(n) holds for all n. P(0) /\ P(1) /\...,/\p(n-1) (or for all k k P(k)) is the ind. hyp.
47
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-47 Correctness of Math. Ind. Correctness of MI. Pf: Assume MI is incorrect. i.e. the set NP = {k | P(k) is false} is not empty. Let m be the least number of NP. Since p(0), 0 NP and m >0. => m-1 exists and P(0),P(1),…,P(m-1) hold P(m) holds [by MI I or II]=> m NP => a contradiction. QED.
48
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-48 Examples : 2: i=1,n 2i-1 = n 2 3. n < 2n 4. 3 | n 3 - n if n > 0 i=1,n 2 i = 2 (n+1) -1 6. j=1,n ar j = ar n+1 - a / (r -1) 7. Let H k = 1 + 1/2 +...+ 1/k => H 2 n 1 + n/2 8. |S| = n => |2 S | = 2 n. 9. 1 + 2+...+ n = n(n+1)/2 10. If n > 3 => 2 n < n! 11. ~(S 1 ... S n ) = ~S 1 U... U ~S n.
49
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-49 More examples: 13: n >1 => n can be written as a product of primes. [hint: use 2 nd form of MI] 14. for every k >11, there are m,n s.t. k = 4m + 5n.
50
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-50 3.3 Recursive definitions Different ways of defining sets of objects Explicit listing Suitable for finite objects only. Define by giving an explicit expression Ex: F(n) = 2 n recursive (or inductive ) definition Define value of objects (sequences, functions, sets,...) in terms of values of smaller similar ones. Ex: the sequence 1,2,4,... (a n = 2 n ) can be defined recursively as follows: 1. a 0 = 1; 2. a n+1 = 2 x a n for n > 0.
51
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-51 Recursively defined functions To define a function over natural numbers: specify the value of f at 0 (i.e., f(0)) Given a rule for finding f(n) from f(n-1),..., f(0). i.e., f(n) = some expression in terms of n, f(n),..., f(0). Ex1: f(n) = 3 if n = 0 = 2f(n-1) +3 if n >0 => f(0) = 3, f(1) = 2f(0) +3 = 9 f(2) = 2f(1)+3 = 21,... This guarantees f be defined for all numbers.
52
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-52 More examples functions Ex2: The factorial function f(n) = n! f(0) = 1 f(n) = n f(n-1) for all n > 0. Recursively defined functions (over N) are well defined Pf: Let P(n) = "there is at least one value assigned to f(n)". Q(n) = "there are at most one value assigned to f(n)". We show P(n) hold for all n by MI.. basis: P(0) holds. Ind. : assume p(k) holds for all k ≤ n => since f(n+1) can be assigned a value by evaluating the expr(n,f(0),..,f(n)), where by ind. hyp. all f(i)s (i<n) have been assigned a value. The fact that Q(n) holds for all n is trivial, since each f(k) appear at the left hand side of the definition exactly once. QED
53
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-53 More examples: Ex5: The Fibonacci number: f(0) = 0; f(1) = 1; f(n) = f(n-1) + f(n-2) for n > 1. ==> 0,1,1,2,3,5,8,... Ex6: Show that f(n) > n-2 where = (1+ sqrt(5))/2 whenever n ≥ 3. Pf: (by MI). Let P(n) = "f(n) > n-2 ". Basis: P(3), P(4) holds. An easy check. Ind.step: (for n >= 3) If n ≥ 3 => n-1 = 2 n-3 = ( +1) n-3 = n-2 + n-3. If n ≥ 4 => by ind. hyp., f(n-1) >a n-3, f(n) >a n-2 Hence f(n+1) = f(n)+f(n-1) > n-2 + n-3 = n-1. QED
54
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-54 Lame's theorem a,b: positive integer with a b. => #divisions used by the Euclidean algorithm to find gcd(a,b) 5 x #decimal digits in b. Pf: seq of equations used for finding gcd(a,b) where r 0 = a, r 1 = b. r 2 = r o mod r 1 0 r 3 = r 1 mod r 2 0... r n = r n-2 mod r n-1 0 r n+1 = r n-1 mod r n = 0 i.e., until r n | r n-1 and then gcd(a,b) = r n. #division used = n. r n 1 = f 2 r n-1 2r n 2f 2 = f 3 ; r n-2 r n +r n-1 = f 2 + f 3 = f 4...r 2 r 3 + r 4 f n-1 +f n-2 =f n ; b = r 1 r 2 r 3 f n +f n-1 = f n+1.> n-1. logb > (n-1) log ~ 0.208 (n-1) > (n-1)/5 n n 5#digit(b).
55
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-55 Recursively defined sets Given a universal set U, a subset V of U and a set of operations OP on U, we often define a subset D of U as follows: 1. Init: Every element of V is an element of D. 2. Closure: For each operation f in OP, if f:U n ->U and t 1,..,t n are objects already known to be in the set D, then f(t 1,..,t n ) is also an object of D. Example: The set S = {3n | n >0} N can be defined recursively as follows: 1. Init: 3 ∈ S (i.e., V = { 3 } ) 2. closure: S is closed under +. i.e., If a,b ∈ S then so are a+b. (OP = {+})
56
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-56 Notes about recursively defined sets 1. The definition of D is not complete (in the sense that there are multiple subsets of U satisfying both conditions. Ex: the universe U satisfies (1) and (2), but it is not Our intended D. 2. In fact the intended defined set 3': D is the least of all subsets of U satisfying 1 & 2, or 3'': D is the intersection of all subsets of U satisfying 1 & 2 or 3''': Only objects obtained by a finite number of applications of rule 1 & 2 are elements of D. 3. It can be proven that 3',3'',and 3''' are equivalent. 4. Hence, to be complete, one of 3',3'' or 3''' should be appended to condition 1 & 2, though it can always be omitted(or replaced by the adv. inductively, recursively) with such understanding in mind.
57
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-57 Proof of the equivalence of 3',3'' and 3''' D1: the set obtained by 1,2,3' D1 satisfies 1&2 and any S satisfies 1&2 is a superset of D1. D2: the set obtained by 1,2,3''. D2 = the intersection of all subsets Sk of U satisfying 1&2. D3: the set obtained by 1,2,3'''. For any x ∈ U, x ∈ D3 iff there is a sequence x1,...,xm = x, such that for each xi (i = 1.m) either (init: ) xi ∈ V or (closure:) there are f in OP and t1,...tn in {x1,..,x i-1 } s.t. xi = f(t1,..,tn). pf: 1. D2 satisfies 1&2 and is the least of all sets satisfying 1&2, Hence D1 exists and equals to D2. 2.1 D3 satisfies 1 & 2.[ by ind.] 2.2 D3 is contained in all sets satisfying 1 & 2 [by ind.] Hence D3 = D2.
58
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-58 Example: Ex 7': The set of natural numbers can be defined inductively as follows: Init: 0 in N. closure: If x in N, then x' in N. => 0, 0',0'',0''',... are natural numbers (unary representation of natural numbers)
59
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-59 Induction principles III (structural induction) D: a recursively defined set P; a property about objects of D. To show that P(t) holds for all t in D, it suffices to show that 1. basis step: P(t) holds for all t in V. 2. Ind. step: For each f in OP and t 1,..,t n in D, if P(t1),...,P(tn) holds, then P(f(t1,..,tn)) holds, too. Show the correctness of structural induction. Pf: assume not correct. => NP = {t ∈ D | P(t) does not hold} is not empty. => ∃ x ∈ NP s.t. ∃ a derivation x1,..xn of x and all xi (i<n) ∉ NP. => If n =1, then x1 = x ∈ V (impossible) Else either n > 1 and x ∈ V (impossible, like n=1) or n > 1, and x=f(t 1,.,t n ) for some {t 1,..,t n } in {x 1,..x n-1 } and P holds for all t k s => P(x) holds too => x ∉ NP, a contradiction. QED.
60
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-60 MI is a specialization of SI Rephrase the SI to the domain N, we have: To show P(t) holds for all t ∈ N, it suffices to show that Init: P(0) holds Ind. step: [OP={ ‘ }] for any x in N, If P(x) holds than P(x') holds. Notes: 1. The above is just MI. 2. MI is only suitable for proving properties of natural numbers; whereas SI is suitable for proving properties of all recursively defined sets. 3. The common variant of MI starting from a value c ≠ 0,1 is also a special case of SI with the domain D = {c, c+1, c + 2, … }
61
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-61 well-formed arithmetic expressions Ex: (2 +x), (x + (y/3)),... (ok) x2+, xy*/3... (no) Let Vr = {x,y,..,} be the set of variables, M = numerals = finite representations of numbers OP = {+,-,x,/,^} U = the set of all finite strings over Vr U M U OP U {(,)}. The set of all well-formed arithmetic expressions (wfe) can be defined inductively as follows: 1. Init: every variable x in Vr and every numeral n in M is a wfe. 2. closure: If A, B are wfe, then so are (x+y), (x-y), (x * y), (x / y) and (x ^ y). Note: "1 + x " is not a wfe. Why ?
62
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-62 More examples: Ex9: Wff (well-formed propositional formulas) PV: {p 1,p 2,.. } a set of propositional symbols. OP = {/\, \/, ~, -> } U = the set of all finite strings over PV U OP U {(,)} Init: every p i in PV is a wff closure: If A and B are wffs, then so are (A/\B), (A \/B), (A->B), ~A. Ex10: [strings] : an alphabet *: the set of finite strings over is defined inductively as follows: 1. Init: is a string. 2. closure: If x is a string and a a symbol in , then a·x is a string.
63
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-63 Ex11: Recursively define two functions on *. len : * -> N s.t. len(x) = the length of the string x. basis: i( ) = 0 Ind. step: for any x in and a in , len(ax) = len(x) + 1. · : S* x S* S* s.t. x · y = the concatenation of x and y. Basis: e · y = y for all string y. recursive step: (a · z) · y = a · (z · y) for all symbols a and strings z,y. Prove properties of len(-) on *: Ex12: show that len(x · y) = len(x) +len(y) for any x,y ∈ *. By SI on x. Let P(x) = "len(xy) = len(x) +len(y)". Basis: x = . => x · y = y => len(x · y) = len(y) = len( ) + len(y). Ind. step: x = az len(x · y) = len((a · z) · y) = len((a · (z · y)) = 1 + len(zy) = 1+ len(z) + len(y) =l(x) +l(y).
64
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-64 Where we use Recursion Define a domain numbers, lists, trees, formulas, strings,... Define functions on recursively defined domains Prove properties of functions or domains by structural induction. compute recursive functions --> recursive algorithm Ex: len (x){ // x : a string if x = then return(0) else return(1+ l(tl(x))) }
65
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-65 3.4 Recursive algorithm Definition: an algorithm is recursive if it solve a problem by reducing it to an instance of the same problem with smaller inputs. Ex1: compute a n where a ∈ R and n ∈ N. Ex2: gcd(a,b) a, b ∈ N, a > b gcd(a,b) = def if b = 0 then a else gcd(b, a mod b). Ex: show that gcd(a,b) will always terminate. Comparison b/t recursion and iteration Recursion: easy to read, understand and devise. Iteration: use much less computation time. Result: programmer --> recursive program --> compiler --> iterative program --> machine.
66
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-66 3.5 Program correctness After designing a program to solve a problem, how can we assure that the program always produce correct output? Types of errors in a program: syntax error --> easy to detect by the help of compiler semantic error --> test or verify Program testing can only increase our confidence about the correctness of a program; it can never guarantee that the program passing test always produce correct output. A program is said to be correct if it produces the correct output for every possible input. Correctness proof generally consists of two steps: Termination proof : Partial correctness: whenever the program terminates, it will produce the correct output.
67
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-67 Program verification Problem: what does it mean that a program produce the correct output (or results)? By specifying assertions (or descriptions) about the expected outcome of the program. Input to program verifications: Pr : the program to be verified. Q : final assertions (postconditions), giving the properties that the output of the program should have P : initial assertions(preconditions), giving the properties that the initial input values are required to have.
68
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-68 Hoare triple: P,Q; assertions S: a program or program segment. P {S} Q is called a Hoare triple, meaning that S is partially correct (p.c.) w.r.t P,Q,i.e., whenever P is true for I/P value of S and terminates, then Q is true for the O/P values of S. Ex1: x=1 {y := 2; z := x+ y} z = 3 is true. Why ? Ex 2: x = 1 { while x > 0 x++ } x = 0 is true. why?
69
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-69 Typical program constructs: 1. assignment: x := expr x := x+y-3 2. composition: S1;S2 Execute S1 first, after termination, then execute S2. 3. Conditional: 3.1 If then S 3.2 If then S1 else S2. 4. Loop: 4.1 while do S 4.2 repeat S until // 4.3 do S while … Other constructs possible, But it can be shown that any program can be converted into an equivalent one using only 1,2,3.1 and 4.1
70
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-70 Assignment rule P[x/expr] {x := expr } P P[x/expr] is the result of replacing every x in P by the expression expr. ex: P = "y P[x/3] = “y < 3 /\ 3+z = 5". Why correct? consider the variable spaces (...,x,...) == x := expr ==> (..., expr,...) |= P Hence if P[x/expr] holds before execution, P will hold after execution. Example: Q {y := x+y} x > 2y + 1 => Q = ? (x b,y b ) ==>{y a := x b +y b } ==>(x b,x b +y b ) = (x a,y a ) |= P(x a,y a ) = def ‘’x a > 2y a +1’’ => (x b,y b ) |= Q = P(x a,y a )[x a /x b ;y a /x b +y b ] = P(x b,x b +y b ) “x b > 2(x b +y b ) +1”
71
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-71 Composition rules: Splitting programs into subprograms and then show that each subprogram is correct. The composition rule: P {S1} Q x = 0 { x:= x+2} ? Q {S2} R ? { x := x-1} x > 0 ------------------- --------------------------------------- P {S1;S2} R x=0 {x:= x+2; x:= x -1} x > 0 Meaning: Forward reading: Backward reading: to prove P{S1;S2}Q, it suffices to find an assertion Q s.t. P{S1}Q and Q {S2}R. Problem: How to find Q ?
72
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-72 Example: Show that x =1 {y := 2; z := x +y} z = 3 x = 1 {y := 2; z := x+y} z = 3 -------------------------------------------------------- x=1 {y := 2} ? ? {z := x+y} z = 3
73
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-73 Classical rules Classical rules: P => P1 P {S} Q1 P => P1 P1 {S} Q Q1 => Q P1 {S} Q1 ---------------------- ----------------------- Q1 => Q P {S} Q P{S} Q------------------------- P {S} Q Examples: x = 1 => x+1>1 x+1>0 {x := x + 1} x > 0 x+1>1 { x := x + 1 } x > 1 x > 0 => x ≠ 0 ----------------------------------- x = 1 { x := x + 1} x > 1 x+1 > 0 {x := x+1 } x ≠ 0
74
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-74 Conditional rules P /\ {S1} Q P /\~ {S2} Q ------------------------------------------------ P {if then S1 else S2 } Q T /\ x > y => x x x x {y:=x} y x ------------------------------------------------ P /\ {S} Q T /\ x>y {y := x} y x P /\~ => Q ~ x > y => y x --------------------------- -------------------------------------- P {if then S} Q T {if x > y then y := x} y x
75
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-75 While-loop rules Loop invariant: A statement P is said to be a loop invariant of a while program: While do S, if it remains true after each iteration of the loop body S. I.e., P /\ {S} P is true. While rule: P /\ {S} P ----------------------------------------------------- P {while do S} P /\ ~ Issues: How to find loop invariant P? Most difficulty of program verification lies in the finding of appropriate loop invariants.
76
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-76 While loop example Show that n>0 { i:= 1; f := 1; while i < n do (i := i+1 ; f := f x i ) } f = n! To prove the program terminates with f = n!, a loop invariant is needed. Let p = "i ≤ n /\ f = i!" First show that p is a loop invariant of the while program i.e., i n /\ f = i! /\ i < n { i:= i+1; f:= f x i} i n /\ f=i!
77
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-77 while loop example(cont'd) n > 0 --- i:= 1; ------ i ≤ n f := 1; ------ p = "i ≤ n /\ f = i! “ while i < n do (i := i+1 ; f := f x i ) ------ p /\ ~ i i=n /\ f = i! ==> f = n!
78
Discrete Mathematics Ch 3 Mathematical reasoning Transparency No. 3-78 Another example: Ex5:Show that the following program is correct: Procedure prod(m,n: integer) : integer 1. If n < 0 then a := -n else a := n ; ------ a = |n| 2. k := 0 ; x := 0 3. while k < a do --- p = "x = mk /\ k ≤ a" is a loop x := x + m; invariant. k := k+1 enddo --- x = mk /\ k ≤ a /\ ~k k=a /\ x=ma => x = m |n| 4. If n prod = - m |n| = mn else prod := x => Prod = m |n| = mn ---- prod = mn. Hence the program is [partially] correct ! Note: to be really correct, we need to show that the program will eventually terminates.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.