Presentation is loading. Please wait.

Presentation is loading. Please wait.

Discrete Mathematics ? Transparency No. 2-0 Chapter 3 Mathematical Reasoning Transparency No. 3-1 formal logic mathematical preliminaries.

Similar presentations


Presentation on theme: "Discrete Mathematics ? Transparency No. 2-0 Chapter 3 Mathematical Reasoning Transparency No. 3-1 formal logic mathematical preliminaries."— Presentation transcript:

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.


Download ppt "Discrete Mathematics ? Transparency No. 2-0 Chapter 3 Mathematical Reasoning Transparency No. 3-1 formal logic mathematical preliminaries."

Similar presentations


Ads by Google