Induction and Recursion

Slides:



Advertisements
Similar presentations
Request Dispatching for Cheap Energy Prices in Cloud Data Centers
Advertisements

SpringerLink Training Kit
Luminosity measurements at Hadron Colliders
From Word Embeddings To Document Distances
Choosing a Dental Plan Student Name
Virtual Environments and Computer Graphics
Chương 1: CÁC PHƯƠNG THỨC GIAO DỊCH TRÊN THỊ TRƯỜNG THẾ GIỚI
THỰC TIỄN KINH DOANH TRONG CỘNG ĐỒNG KINH TẾ ASEAN –
D. Phát triển thương hiệu
NHỮNG VẤN ĐỀ NỔI BẬT CỦA NỀN KINH TẾ VIỆT NAM GIAI ĐOẠN
Điều trị chống huyết khối trong tai biến mạch máu não
BÖnh Parkinson PGS.TS.BS NGUYỄN TRỌNG HƯNG BỆNH VIỆN LÃO KHOA TRUNG ƯƠNG TRƯỜNG ĐẠI HỌC Y HÀ NỘI Bác Ninh 2013.
Nasal Cannula X particulate mask
Evolving Architecture for Beyond the Standard Model
HF NOISE FILTERS PERFORMANCE
Electronics for Pedestrians – Passive Components –
Parameterization of Tabulated BRDFs Ian Mallett (me), Cem Yuksel
L-Systems and Affine Transformations
CMSC423: Bioinformatic Algorithms, Databases and Tools
Some aspect concerning the LMDZ dynamical core and its use
Bayesian Confidence Limits and Intervals
实习总结 (Internship Summary)
Current State of Japanese Economy under Negative Interest Rate and Proposed Remedies Naoyuki Yoshino Dean Asian Development Bank Institute Professor Emeritus,
Front End Electronics for SOI Monolithic Pixel Sensor
Face Recognition Monday, February 1, 2016.
Solving Rubik's Cube By: Etai Nativ.
CS284 Paper Presentation Arpad Kovacs
انتقال حرارت 2 خانم خسرویار.
Summer Student Program First results
Theoretical Results on Neutrinos
HERMESでのHard Exclusive生成過程による 核子内クォーク全角運動量についての研究
Wavelet Coherence & Cross-Wavelet Transform
yaSpMV: Yet Another SpMV Framework on GPUs
Creating Synthetic Microdata for Higher Educational Use in Japan: Reproduction of Distribution Type based on the Descriptive Statistics Kiyomi Shirakawa.
MOCLA02 Design of a Compact L-­band Transverse Deflecting Cavity with Arbitrary Polarizations for the SACLA Injector Sep. 14th, 2015 H. Maesaka, T. Asaka,
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Fuel cell development program for electric vehicle
Overview of TST-2 Experiment
Optomechanics with atoms
داده کاوی سئوالات نمونه
Inter-system biases estimation in multi-GNSS relative positioning with GPS and Galileo Cecile Deprez and Rene Warnant University of Liege, Belgium  
ლექცია 4 - ფული და ინფლაცია
10. predavanje Novac i financijski sustav
Wissenschaftliche Aussprache zur Dissertation
FLUORECENCE MICROSCOPY SUPERRESOLUTION BLINK MICROSCOPY ON THE BASIS OF ENGINEERED DARK STATES* *Christian Steinhauer, Carsten Forthmann, Jan Vogelsang,
Particle acceleration during the gamma-ray flares of the Crab Nebular
Interpretations of the Derivative Gottfried Wilhelm Leibniz
Advisor: Chiuyuan Chen Student: Shao-Chun Lin
Widow Rockfish Assessment
SiW-ECAL Beam Test 2015 Kick-Off meeting
On Robust Neighbor Discovery in Mobile Wireless Networks
Chapter 6 并发:死锁和饥饿 Operating Systems: Internals and Design Principles
You NEED your book!!! Frequency Distribution
Y V =0 a V =V0 x b b V =0 z
Fairness-oriented Scheduling Support for Multicore Systems
Climate-Energy-Policy Interaction
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Ch48 Statistics by Chtan FYHSKulai
The ABCD matrix for parabolic reflectors and its application to astigmatism free four-mirror cavities.
Measure Twice and Cut Once: Robust Dynamic Voltage Scaling for FPGAs
Online Learning: An Introduction
Factor Based Index of Systemic Stress (FISS)
What is Chemistry? Chemistry is: the study of matter & the changes it undergoes Composition Structure Properties Energy changes.
THE BERRY PHASE OF A BOGOLIUBOV QUASIPARTICLE IN AN ABRIKOSOV VORTEX*
Quantum-classical transition in optical twin beams and experimental applications to quantum metrology Ivano Ruo-Berchera Frascati.
The Toroidal Sporadic Source: Understanding Temporal Variations
FW 3.4: More Circle Practice
ارائه یک روش حل مبتنی بر استراتژی های تکاملی گروه بندی برای حل مسئله بسته بندی اقلام در ظروف
Decision Procedures Christoph M. Wintersteiger 9/11/2017 3:14 PM
Limits on Anomalous WWγ and WWZ Couplings from DØ
Presentation transcript:

Induction and Recursion Chapter 5

Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms Program Correctness (not yet included in overheads)

Mathematical Induction Section 5.1

Section Summary Mathematical Induction Examples of Proof by Mathematical Induction Mistaken Proofs by Mathematical Induction Guidelines for Proofs by Mathematical Induction

Climbing an Infinite Ladder Suppose we have an infinite ladder: We can reach the first rung of the ladder. If we can reach a particular rung of the ladder, then we can reach the next rung. From (1), we can reach the first rung. Then by applying (2), we can reach the second rung. Applying (2) again, the third rung. And so on. We can apply (2) any number of times to reach any particular rung, no matter how high up. This example motivates proof by mathematical induction.

Peano’s Postulates In the work Formulario Matematico, published 1889, Giuseppe Peano formulated the set of nonnegative integers on the basis of three terms: zero, number, and successor. Peano’s postulates: Zero is a number. For any number n, its successor is a number. No number has zero as its successor. If two numbers m and n have the same successor, the m=n. If T is a set of numbers where 0T and the successor of n is in T whenever n is in T, then T is the set of all numbers.

Constructive Theory Step 1: A set of basic elements. The theory is used to formally construct a class of objects recursively and prove properties of the class objects inductively. The construction process include the following steps: Step 1: A set of basic elements. Step 2: A basic element recognizer, to recognize basic elements. Step 3: A constructor to construct other elements. Step 4: A recognizer to recognize elements of the class. Step 5: A destructor to access “previous” elements of the class. Step 6: A well-founded relation to compare “measurement” of the elements. Step 7: Sound axioms for the elements of the class. Predicate L(x, y) is a well-founded relation, if for all x and y, when L(x, y)=true, there does not exist an infinite sequence x1, x2, , xn and x1=x, xn=y, such that L(xk, xk+1)=true, for all 1k<n. For N, “< ” is a well-founded relation; “” is not a well-founded relation.

Natural Numbers Construction of natural numbers N: Basic elements: 0N (zero) Basic elements recognizer: zerop(x)  if (x=0) then true else false. Constructor: if xN then add1(x)N. Recognizer: numberp(x)  if (xN) then true else false Destructor: if x is a non-zero element, sub1(x) is also a natural number sub1(add1(x)) = x if zerop(x) then add1(sub1(x)) = x Well-founded relation: lessp (<) lessp(x, y)  if (zerop(y)) then false else if (zerop(x)) then true else lessp(sub1(x), sub1(y))

Natural Numbers (cont’d) Numbers 1, 2, 3, 4, 5,  are only symbols representing: 1: add1(0) sub1(1) = sub1(add1(0)) = 0 2: add1(1) = add1(add1(0)) sub1(2) = sub1(add1(1)) = 1 3: add1(2) = add1(add1(1)) = add1(add1(add1(0))) 4: add1(3) = add1(add1(add1(add1(0)))) 5: add1(5) = add1(add1(add1(add1(add1(0))))) 2<5: lessp(2, 5) = lessp(sub1(2), sub1(5)) = lessp(1, 4) = lessp(0, 3) = true 3<2: lessp(3, 2) = lessp(sub1(3), sub1(2)) = lessp(2, 1) = lessp(1, 0) = false

Recursion: Addition and Multiplication Addition: x+y plus(x, y)  if zerop(x) then y else add1(plus(sub1(x), y)) plus(2, 3) = add1(plus(1, 3)) = add1(add1(plus(0, 3))) = add1(add1(3)) = add1(4) =5 Multiplication: xy multiply(x, y)  if zerop(x) then 0 else plus(multiply(sub1(x), y), y) multiply(3, 5) = plus(multiply(2, 5), 5) = plus(plus(multiply(1, 5), 5) 5) = plus(plus(plus(multiply(0, 5), 5) 5), 5) = plus(plus(plus(0, 5), 5), 5) = plus(plus(5, 5), 5) = plus(10, 5) = 15

Induction: Commutative Law of Addition Assume the two lemmas hold: Lemma 1: plus(x, 0) = x Lemma 2: add1(plus(x, y)) = plus(x, add1(y)) Prove plus(x, y) = plus(y, x) Basis step: plus(0, y)=y (plus definition) plus(y, 0)=y (Lemma 1)  plus(0, y) = plus(y, 0) Inductive step: inductive hypothesis plus(sub1(x), y) = plus(y, sub1(x)) plus(x, y) = add1(plus(sub1(x), y)) (plus definition) = add1(plus(y, sub1(x))) (inductive hypothesis) = plus(y, add1(sub1(x))) (Lemma 2) = plus(y, x) (Axiom)

Principle of Mathematical Induction To prove that P(n) is true for all natural numbers in N, where P(n) is a positional function, two steps are completed: Basis step: Verify P(0) is true. Inductive step: Show the conditional statement P(k)P(k+1) for all natural number k. Predicate P(k) in the inductive step is called inductive hypothesis. In the textbook, the principle of mathematical induction is stated for positive integers, N+. In this case the basis step is changed to P(1).

Important Points About Using Mathematical Induction Mathematical induction can be expressed as the rule of inference where the domain is the set of positive integers. In a proof by mathematical induction, we don’t assume that P(k) is true for all positive integers! We show that if we assume that P(k) is true, then P(k + 1) must also be true. (P(1) ∧ ∀k (P(k) → P(k + 1))) → ∀n P(n),

A Simple Example Prove Basis step: so P(0) is true. Inductive step: Inductive hypothesis: holds. is true. Q.E.D.

Summation of Even Numbers Formulate summation of the first n even numbers: Proof: Basis step: n=1, Inductive step: Inductive hypothesis: Q.E.D.

Summation of Odd Numbers Formulate summation of the first n odd numbers: Proof: Basis step: n=1, Inductive step: Inductive hypothesis: Q.E.D.

Summation of Squares Recall that Proof: Basis Step: Inductive Step: Inductive hypothesis: To be continued.

Summation of Squares (cont’d) Q.E.D.

Summation of Arithmetic Progression Revisit Recall that Proof: Basis step: Inductive step: Inductive hypothesis: Q.E.D.

Summation of Geometric Progression Revisit Recall that Proof: Basis step: Inductive step: Inductive hypothesis: Q.E.D.

Summation of Polynomials What is ? Use the known results

Inductive Proof of Summation of a Polynomial Prove Basis step: Inductive step: Inductive hypothesis:

Inductive Proof of Summation of a Polynomial (cont’d) Q.E.D.

Inequality of Power of 2 Prove the inequality P(n): n<2n, for all positive integer. Proof: Basis step: P(1) is true since 1<21. Inductive step: Assume P(k) is true for k with 1k, i.e., k<2k. For k with 1k, k+1<2k+1  k+1<2k+2k =22k  k+1<2(k+1). Hence, P(k+1) is true.  P(n): n<2n is true for all positive integer. Q.E.D.

Inequality of Factorial Numbers Prove the inequality P(n): 2n<n!, for all positive integer n with 4n. Proof: Basis step: P(4) is true since 24=16<24=4!. Inductive step: Assume P(k) is true is true for k with k4, i.e., 2k<k!. For k with k4, 2(k+1) = 22k < 2k! < (k+1)k! = (k+1)! Hence, P(k+1) is true.  P(n): 2n<n!, is true for all positive integer n with 4n. Q.E.D.

Inequality of Harmonic Numbers Prove the inequality P(n): 𝐻 2 𝑛 ≥1+ 𝑛 2 , for all natural numbers, 0n. Proof: Basis step: 𝐻 2 0 = 𝐻 1 =1≥1+ 0 2 . Hence, P(0) is true. Inductive step: Induction hypothesis: Assume P(k) is true for k with k0, i.e., 𝐻 2 𝑘 ≥1+ 𝑘 2 .

Inequality of Harmonic Numbers (cont’d) For k0, 𝐻 2 𝑘+1 = 𝑖=1 2 𝑘+1 1 𝑖 = 𝑖=1 2 𝑘 1 𝑖 + 𝑖= 2 𝑘 +1 2 𝑘+1 1 𝑖 ≥1+ 𝑘 2 + 𝑖= 2 𝑘 +1 2 𝑘+1 1 𝑖 ≥1+ 𝑘 2 + 𝑖=1 2 𝑘 1 2 𝑘+1 =1+ 𝑘 2 + 2 𝑘 1 2 𝑘+1 =1+ 𝑘 2 + 1 2 =1+ 𝑘+1 2 . P(n): 𝐻 2 𝑛 ≥1+ 𝑛 2 is true for all natural numbers. 𝑖= 2 𝑘 +1 2 𝑘+1 1 𝑖 = 1 2 𝑘 +1 + 1 2 𝑘 +2 + 1 2 𝑘 +3 +⋯+ 1 2 𝑘 + 2 𝑘 = 𝑖=1 2 𝑘 1 2 𝑘 +𝑖 ≥ 𝑖=1 2 𝑘 1 2 𝑘 + 2 𝑘 = 𝑖=1 2 𝑘 1 2 𝑘+1 Hence, P(k+1) is true. Q.E.D.

Divisibility of Integers Prove P(n): n3–n is divisible by 3, for all positive integers. Proof: Basis step: 13–1=1–1=0 is divisible by 3. Hence P(1) is true. Inductive step: for any positive integer k: Inductive hypothesis: Assume k3–k is divisible by 3. (k+1)3– (k+1) = (k3+3k2+3k+1)–(k+1) = (k3–k)+3(k2+k) is divisible by 3 because k3–k is divisible by 3 (by inductive hypothesis) and 3(k2+k) is also divisible by 3. Hence, P(k+1) is true.  n3–n is divisible by 3, for all positive integers, i.e., P(n) is true. Q.E.D.

More Divisibility of Integers Prove 7 𝑛+2 + 8 2𝑛+1 is divisible by 57 for all natural numbers. Proof: Basis step: For n=0, 70+2+820+1=72+81=57 is divisible by 57. Inductive step: Inductive hypothesis: Assume 7 𝑘+2 + 8 2𝑘+1 is divisible by 57 for any natural number k. 7 𝑘+1 +2 + 8 2 𝑘+1 +1 = 7 𝑘+3 + 8 2𝑘+3 =7×7 𝑘+2 + 8 2 ×8 2𝑘+1 =7×7 𝑘+2 + 64×8 2𝑘+1 =7× 7 𝑘+2 + 8 2𝑘+1 + 57×8 2𝑘+1 is divisible by 57, because 7 𝑘+2 + 8 2𝑘+1 is divisible by 57 by inductive hypothesis and 57×8 2𝑘+1 is also divisible by 57. ∴ 7 𝑛+2 + 8 2𝑛+1 is divisible by 57 for all natural numbers. Q.E.D.

Number of Finite Subsets Revisit P(n): If S is a finite set of n elements, prove that S has 2n subsets. Proof: Basis step: P(0) is true since the set with zero element is the empty set, , which has exactly 20=1 subset, i.e.,  itself. Inductive step: Assume P(k) is true, i.e., any set of k elements has 2k subsets. Let T be a set of k+1 elements and T=S{a}, for some S with k elements and element a, such that aS. We know that S has 2k subsets. Since any subset of S is also a subset of T, there are 2k subsets of T. For any subset X of S, we construct X{a} which is also a subset of T, but it is distinct from X. Hence there are 2k subsets of T with this form X{a}. Totally, we have 22k=2k+1 subsets of T, i.e., P(k+1) is true.  P(n) is true for every natural number n. Q.E.D.

Generalized DeMorgan’s Laws Revisit Prove 𝑃 𝑛 : 𝑖=1 𝑛 𝐴 𝑖 = 𝑖=1 𝑛 𝐴 𝑖 for n2. Proof: Basis step: 𝑃 2 : 𝐴 1 ∩ 𝐴 2 = 𝐴 1 ∪ 𝐴 2 (by DeMorgan’s law). Inductive step: Inductive hypothesis: Assume 𝑃 𝑘 : 𝑖=1 𝑘 𝐴 𝑖 = 𝑖=1 𝑘 𝐴 𝑖 is true. 𝑖=1 𝑘+1 𝐴 𝑖 = 𝑖=1 𝑘 𝐴 𝑖 ∩ 𝐴 𝑘+1 = 𝑖=1 𝑘 𝐴 𝑖 ∪ 𝐴 𝑘+1 (DeMorgan’s Law) = 𝑖=1 𝑘 𝐴 𝑖 ∪ 𝐴 𝑘+1 (Inductive hypothesis) = 𝑖=1 𝑘+1 𝐴 𝑖 Hence 𝑃 𝑘+1 : 𝑖=1 𝑘+1 𝐴 𝑖 = 𝑖=1 𝑘+1 𝐴 𝑖 is true. ∴𝑃 𝑛 : 𝑖=1 𝑛 𝐴 𝑖 = 𝑖=1 𝑛 𝐴 𝑖 for n2. Q.E.D.

Tiling Checkerboards Example: Show that every 2n ×2n checkerboard with one square removed can be tiled using right triominoes. Solution: Let P(n) be the proposition that every 2n ×2n checkerboard with one square removed can be tiled using right triominoes. Use mathematical induction to prove that P(n) is true for all positive integers n. Basis step: P(1) is true, because each of the four 2 ×2 checkerboards with one square removed can be tiled using one right triomino. Inductive step: Assume that P(k) is true for every 2k ×2k checkerboard, for some positive integer k. A right triomino is an L-shaped tile which covers three squares at a time. continued →

Tiling Checkerboards Inductive Hypothesis: Every 2k ×2k checkerboard, for some positive integer k, with one square removed can be tiled using right triominoes. Consider a 2k+1 ×2k+1 checkerboard with one square removed. Split this checkerboard into four checkerboards of size 2k ×2k,by dividing it in half in both directions. Remove a square from one of the four 2k ×2k checkerboards. By the inductive hypothesis, this board can be tiled. Also by the inductive hypothesis, the other three boards can be tiled with the square from the corner of the center of the original board removed. We can then cover the three adjacent squares with a triominoe. Hence, the entire 2k+1 ×2k+1 checkerboard with one square removed can be tiled using right triominoes. Q.E.D.

An Incorrect “Proof” by Mathematical Induction Example: Let P(n) be the statement that every set of n lines in the plane, no two of which are parallel, meet in a common point. Here is a “proof” that P(n) is true for all positive integers n ≥ 2. BASIS STEP: The statement P(2) is true because any two lines in the plane that are not parallel meet in a common point. INDUCTIVE STEP: The inductive hypothesis is the statement that P(k) is true for the positive integer k ≥ 2, i.e., every set of k lines in the plane, no two of which are parallel, meet in a common point. We must show that if P(k) holds, then P(k + 1) holds, i.e., if every set of k lines in the plane, no two of which are parallel, k ≥ 2, meet in a common point, then every set of k + 1 lines in the plane, no two of which are parallel, meet in a common point. continued →

An Incorrect “Proof” by Mathematical Induction Inductive Hypothesis: Every set of k lines in the plane, where k ≥ 2, no two of which are parallel, meet in a common point. Consider a set of k + 1 distinct lines in the plane, no two parallel. By the inductive hypothesis, the first k of these lines must meet in a common point p1. By the inductive hypothesis, the last k of these lines meet in a common point p2. If p1 and p2 are different points, all lines containing both of them must be the same line since two points determine a line. This contradicts the assumption that the lines are distinct. Hence, p1 = p2 lies on all k + 1 distinct lines, and therefore P(k + 1) holds. Assuming that k ≥2, distinct lines meet in a common point, then every k + 1 lines meet in a common point. There must be an error in this proof since the conclusion is absurd. But where is the error? Answer: P(k)→ P(k + 1) only holds for k ≥3. It is not the case that P(2) implies P(3). The first two lines must meet in a common point p1 and the second two must meet in a common point p2. They do not have to be the same point since only the second line is common to both sets of lines. Not true for P(3)!

Guidelines: Mathematical Induction Proofs

Strong Induction and Well-Ordering Section 5.2

Section Summary Strong Induction Example Proofs using Strong Induction Using Strong Induction in Computational Geometry (not yet included in overheads) Well-Ordering Property

Strong Induction Strong Induction: To prove that P(n) is true for all positive integers n, where P(n) is a propositional function, complete two steps: Basis Step: Verify that the proposition P(1) is true. Inductive Step: Show the conditional statement [P(1) ∧ P(2) ∧∙∙∙ ∧ P(k)] → P(k + 1) holds for all positive integers k. Strong Induction is sometimes called the second principle of mathematical induction or complete induction.

Strong Induction and the Infinite Ladder Strong induction tells us that we can reach all rungs if: We can reach the first rung of the ladder. For every integer k, if we can reach the first k rungs, then we can reach the (k + 1)st rung. To conclude that we can reach every rung by strong induction: BASIS STEP: P(1) holds INDUCTIVE STEP: Assume P(1) ∧ P(2) ∧∙∙∙ ∧ P(k) holds for an arbitrary integer k, and show that P(k + 1) must also hold. We will have then shown by strong induction that for every positive integer n, P(n) holds, i.e., we can reach the nth rung of the ladder.

Proof using Strong Induction Example: Suppose we can reach the first and second rungs of an infinite ladder, and we know that if we can reach a rung, then we can reach two rungs higher. Prove that we can reach every rung. (Try this with mathematical induction.) Solution: Prove the result using strong induction. BASIS STEP: We can reach the first step. INDUCTIVE STEP: The inductive hypothesis is that we can reach the first k rungs, for any k ≥ 2. We can reach the (k + 1)st rung since we can reach the (k − 1)st rung by the inductive hypothesis. Hence, we can reach all rungs of the ladder. Q.E.D.

Which Form of Induction Should Be Used? We can always use strong induction instead of mathematical induction. But there is no reason to use it if it is simpler to use mathematical induction. (See page 335 of text.) In fact, the principles of mathematical induction, strong induction, and the well-ordering property are all equivalent. (Exercises 41-43) Sometimes it is clear how to proceed using one of the three methods, but not the other two.

Prime Products Prove P(n): n can be written as the product of primes, for 1<n. Proof: Basis step: 2 is the product of one prime, i.e., 2 itself. Hence, P(2) is true. Inductive step: Inductive hypothesis: Assume for an integer k, 1<k, that P(j) is true, i.e., j can be written as a product of primes for all 1<jk. If k+1 is a prime number, then k+1 is the product of one prime, i.e., k+1 itself. If k+1 is not a prime number, then there exist a and b, 2ab<k+1 such that k+1=ab. By inductive hypothesis, both a and b can be written as products of primes. Since k+1 is the product of a and b, k+1 can also be written as a product of primes. We have shown P(k+1) is true.  P(n): n can be written as the product of primes, for 1<n, is true. Q.E.D.

Sums of Multiples of Four and Five Prove for integer n, n12, P(n): n=4s+5t, for some s and t. Proof: Basis step: Consider the cases of n=12, 13, 14, and 15. P(12) = 43, P(13) = 42+51, P(14) = 41+52, P(15) = 53. Inductive Step: Inductive hypothesis: If k15, P(j) is true, i.e., j=4s+5t, for some s and t, for 12jk. Since P(k3) is true, k+1=(k3)+4=(4s+5t)+4=4(s+1)+5t. We have shown P(k+1) is true.  P(n): n=4t+5s, for some s and t is true, for integers 12n. Q.E.D.

Sums of Multiples of Four and Five Revisit Prove for integer n, n12, P(n): n=4s+5t, for some s and t. Proof: Basis step: Consider the cases of n=12, 13, 14, and 15. P(12) = 43, P(13) = 42+51, P(14) = 41+52, P(15) = 53. Inductive Step: (using only mathematical induction) Inductive hypothesis: If k15, P(k) is true, i.e., k=4s+5t, for some s and t. Case 1: When s>0, k+1=4(s-1)+5t+4+1=4(s-1)+5(t+1) Case 2: When s=0, we must have t3, and we have the result k+1=5(t-3)+53+1=44+5(t-3).  P(n): n=4t+5s, for some s and t is true, for integers 12n. Q.E.D.

Well-Ordering Property Well-ordering property: Every nonempty set of nonnegative integers has a least element. The well-ordering property is one of the axioms of the positive integers listed in Appendix 1. The well-ordering property can be used directly in proofs, as the next example illustrates. The well-ordering property can be generalized. Definition: A set is well ordered if every subset has a least element. N is well ordered under ≤. The set of finite strings over an alphabet using lexicographic ordering is well ordered. We will see a generalization of induction to sets other than the integers in the next section.

Well-Ordering Property Example: Use the well-ordering property to prove the division algorithm, which states that if a is an integer and d is a positive integer, then there are unique integers q and r with 0 ≤ r < d, such that a = dq + r. Solution: Let S be the set of nonnegative integers of the form a − dq, where q is an integer. The set is nonempty since −dq can be made as large as needed. By the well-ordering property, S has a least element r = a − dq0. The integer r is nonnegative. It also must be the case that r < d. If it were not, then there would be a smaller nonnegative element in S, namely, a − d(q0 + 1) = a − dq0 − d = r − d > 0. Therefore, there are integers q and r with 0 ≤ r < d. (uniqueness of q and r is Exercise 37) −2 .

Recursive Definitions and Structural Induction Section 5.3

Section Summary Recursively Defined Functions Recursively Defined Sets and Structures Structural Induction Generalized Induction

Recursive Function Definition A recursive function is defined in two parts: basis step and recursive step. f(0) = 3, basis step f(n) = 2f(n-1)+3 if 0<n recursive step Mathematical notation: 𝑓 𝑛 = 3 if 𝑛=0 2𝑓 𝑛−1 +3 if 𝑛>0 Functional notation: f(n)  if n=0 then 3 else 2f(n-1)+3 The arguments must satisfy a well-ordering relation, e.g., n-1<n.

Arithmetic and Geometric Progressive Sequence Revisit Arithmetic progressive sequence Recurrence relation: 𝑎 0 =𝑐, 𝑎 𝑛 = 𝑎 𝑛−1 +𝑑 if 0<𝑛 Recursive definition: 𝑓 𝑛 = 𝑐 if 𝑛=0 𝑓 𝑛−1 +𝑑 if 0<𝑛 Geometric progressive sequence 𝑎 0 =𝑐, 𝑎 𝑛 =𝑟× 𝑎 𝑛−1 if 0<𝑛 𝑓 𝑛 = 𝑐 if 𝑛=0 𝑟×𝑓 𝑛−1 if 0<𝑛

Summation of Arithmetic and Geometric Progressive Sequence Revisit Summation of arithmetic progressive sequence Recurrence relation: 𝑎 0 =𝑐, 𝑎 𝑛 = 𝑎 𝑛−1 +𝑛×𝑑+𝑐 if 0<𝑛 Recursive function: 𝑓 𝑛 = 𝑐 if 𝑛=0 𝑓 𝑛−1 +𝑛×𝑑+𝑐 if 0<𝑛 Summation of geometric progressive sequence Recurrence relation : 𝑎 0 =𝑐, 𝑎 𝑛 = 𝑎 𝑛−1 +𝑐× 𝑟 𝑛 if 0<𝑛 𝑓 𝑛 = 𝑐 if 𝑛=0 𝑓 𝑛−1 +𝑐× 𝑟 𝑛 if 0<𝑛

Divisibility and Modular Arithmetic Definition: If a and b are integers with a0, we say a divides b, if there is an integer c such that b=ac, or equivalently, if 𝑏 𝑎 is an integer. When a divides b we say that a is a factor or divisor of b, and that b is a multiple of a. The notation a | b denotes that a divides b. We write a | b when a does not divide b. Definition: Let a be an integer and d be a positive integer. Then there are unique q and r, with 0r<d, such the a=dq+r. a: dividend d: divisor q: quotient r: remainder q = a div d r = a mod d The following materials are in Sections 4.1 to 4.3

Prime and Greatest Common Divisor Definition: An integer p greater than 1 is called prime if the only positive factors of p are 1 and p. A positive integer that is greater than 1 and is not prime is called composite. An integer n is composite if and only if there exists an integer a such that a|n and 1<a<n. Definition: Let a and b be integers, not both zero. The largest integer d that d|a and d|b is called the greatest common divisor of a and b. The greatest common divisor of a and b is denoted by gcd(a, b). Integers a and b are relative prime if their greatest common divisor is 1.

The Euclidean Algorithm Let a and b be two positive integers. Find gcd(a, b). Prime factorization: Factorize a and b into products of prime factors, Take the common factors and, for each common factor the least of the two degrees. 𝑎=46800= 2 4 × 3 2 × 5 2 ×13 𝑏=11880= 2 3 × 3 3 ×5×11 gcd 𝑎, 𝑏 = 2 3 × 3 2 ×5=360 The Euclidean Algorithm The recursive function for computing gcd(a, b): gcd 𝑎, 𝑏 = 𝑏 if 𝑎 mod 𝑏=0 gcd 𝑏,𝑎 mod 𝑏 if 𝑎 mod 𝑏≠0

The Euclidean Algorithm (cont’d) C language programs: Recursive function int gcd(int a, int b) { if (a % b == 0) return b; else return gcd(b, a % b); } Iterative loop int gcd(int a, int b) { while (a % b != 0) { temp = b; b = a % b; a = temp; } return b; }

Fibonacci Number Revisit (1170- 1250) Fibonacci Number Revisit Recursive definition: 𝑓 𝑛 = 1 if 𝑛=0 1 if 𝑛=1 𝑓 𝑛−1 +𝑓(𝑛−2) if 𝑛>1 C language programs: Recursive function: int fib(int n) { if (n==0) return 1; else if (n==1) return 1; else return fib(n-1)+fib(n-2); }

Fibonacci Number Revisit (cont’d) Iterative loop: int fib(int n) { int last1, last2, result; if (n==0 || n==1) return 1; else { last1 = 1; last2 = 1; for (i=2; i<=n; i++) { result = last1 + last2; last2 = last1; last1 = result; } return result; }

Fast Fibonacci Number Recursive function: C language program: 𝑓𝑖𝑏 𝑛 = 1 if 𝑛=0 ∧ 𝑛=1 2 if 𝑛=2 𝑓𝑖𝑏 𝑛 2 +1 𝑓𝑖𝑏 𝑛 2 −𝑓𝑖𝑏 𝑛 2 −1 ∗𝑓𝑖𝑏( 𝑛 2 −2) if 𝑛>2 ∧ 𝑒𝑣𝑒𝑛(𝑛) 𝑓𝑖𝑏 𝑛 2 +1 𝑓𝑖𝑏 𝑛 2 +𝑓𝑖𝑏 𝑛 2 ∗𝑓𝑖𝑏( 𝑛 2 −1) if 𝑛>2 ∧ 𝑜𝑑𝑑 𝑛 C language program: int fib(int n) { if (n==0 || n==1) return 1; if (n==2) return 2; if (n % 2 == 0) { return fib(n/2+1)*fib(n/2)-fib(n/2-1)*fib(n/2-2); } else { return (fib(n/2+1)*fib(n/2)+fib(n/2)*fib(n/2-1)); } } Download C program

Recursively Defined Sets and Structures Recursive definitions of sets have two parts: The basis step specifies an initial collection of elements. The recursive step gives the rules for forming new elements in the set from those already known to be in the set. Sometimes the recursive definition has an exclusion rule, which specifies that the set contains nothing other than those elements specified in the basis step and generated by applications of the rules in the recursive step. We will always assume that the exclusion rule holds, even if it is not explicitly mentioned. We will later develop a form of induction, called structural induction, to prove results about recursively defined sets.

Recursively Defined Sets and Structures Example : Subset of Integers S: BASIS STEP: 3 ∊ S. RECURSIVE STEP: If x ∊ S and y ∊ S, then x + y is in S. Initially 3 is in S, then 3 + 3 = 6, then 3 + 6 = 9, etc. Example: The natural numbers N. BASIS STEP: 0 ∊ N. RECURSIVE STEP: If n is in N, then n + 1 is in N. Initially 0 is in S, then 0 + 1 = 1, then 1 + 1 = 2, etc.

Strings Definition: The set Σ* of strings over the alphabet Σ: BASIS STEP: λ ∊ Σ* (λ is the empty string, sometimes denoted as .) RECURSIVE STEP: If w is in Σ* and x is in Σ, then wx  Σ*. Example: If Σ = {0,1}, the strings in in Σ* are the set of all bit strings, λ,0,1, 00,01,10, 11, etc. Example: If Σ = {a,b}, show that aab is in Σ*. Since λ ∊ Σ* and a ∊ Σ, a ∊ Σ*. Since a ∊ Σ* and a ∊ Σ, aa ∊ Σ*. Since aa ∊ Σ* and b ∊ Σ, aab ∊ Σ*.

String Concatenation Definition: Two strings can be combined via the operation of concatenation. Let Σ be a set of symbols and Σ* be the set of strings formed from the symbols in Σ. We can define the concatenation of two strings, denoted by ∙, recursively as follows. BASIS STEP: If w  Σ*, then w ∙ λ= w. RECURSIVE STEP: If w1  Σ* and w2  Σ* and x  Σ, then w1 ∙ (w2 x)= (w1 ∙ w2)x. Often w1 ∙ w2 is written as w1 w2. If w1 = abra and w2 = cadabra, the concatenation w1 w2 = abracadabra.

Length of a String Example: Give a recursive definition of leng(w), the length of the string w. Solution: The length of a string can be recursively defined by: leng(λ) = 0; leng(wx) = leng(w) + 1 if w ∊ Σ* and x ∊ Σ.

Balanced Parentheses Example: Give a recursive definition of the set of balanced parentheses P. Solution: BASIS STEP: () ∊ P RECURSIVE STEP: If w ∊ P, then () w ∊ P, (w) ∊ P and w () ∊ P. Show that (() ()) is in P. Why is ))(() not in P?

Well-Formed Formulae in Propositional Logic Definition: The set of well-formed formulae in propositional logic involving T, F, propositional variables, and operators from the set {¬,∧,∨,→,↔}. BASIS STEP: T,F, and s, where s is a propositional variable, are well-formed formulae. RECURSIVE STEP: If E and F are well-formed formulae, then (¬ E), (E ∧ F), (E ∨ F), (E → F), (E ↔ F), are well-formed formulae. Examples: ((p ∨q) → (q ∧ F)) is a well-formed formula. pq ∧ is not a well-formed formula.

Rooted Trees Definition: The set of rooted trees, where a rooted tree consists of a set of vertices containing a distinguished vertex called the root, and edges connecting these vertices, can be defined recursively by these steps: BASIS STEP: A single vertex r is a rooted tree. RECURSIVE STEP: Suppose that T1, T2, …,Tn are disjoint rooted trees with roots r1, r2,…,rn, respectively. Then the graph formed by starting with a root r, which is not in any of the rooted trees T1, T2, …,Tn, and adding an edge from r to each of the vertices r1, r2,…,rn, is also a rooted tree.

Building Up Rooted Trees Trees are studied extensively in Chapter 11. Next we look at a special type of tree, the full binary tree.

Full Binary Trees Definition: The set of full binary trees can be defined recursively by these steps. BASIS STEP: There is a full binary tree consisting of only a single vertex r. RECURSIVE STEP: If T1 and T2 are disjoint full binary trees, there is a full binary tree, denoted by T1∙T2, consisting of a root r together with edges connecting the root to each of the roots of the left subtree T1 and the right subtree T2.

Building Up Full Binary Trees

Induction and Recursively Defined Sets Example: Show that the set S defined by specifying that 3 ∊ S and that if x ∊ S and y ∊ S, then x + y is in S, is the set of all positive integers that are multiples of 3. Solution: Let A be the set of all positive integers divisible by 3. To prove that A = S, show that A is a subset of S and S is a subset of A. A⊂ S: Let P(n) be the statement that 3n belongs to S. BASIS STEP: 3∙1 = 3 ∊ S, by the first part of recursive definition. INDUCTIVE STEP: Assume P(k) is true. By the second part of the recursive definition, if 3k ∊ S, then since 3 ∊ S, 3k + 3 = 3(k + 1) ∊ S. Hence, P(k + 1) is true. S ⊂ A: BASIS STEP: 3 ∊ S by the first part of recursive definition, and 3 = 3∙1. INDUCTIVE STEP: The second part of the recursive definition adds x +y to S, if both x and y are in S. If x and y are both in A, then both x and y are divisible by 3. By part (i) of Theorem 1 of Section 4.1, it follows that x + y is divisible by 3. We used mathematical induction to prove a result about a recursively defined set. Next we study a more direct form induction for proving results about recursively defined sets.

Structural Induction Definition: To prove a property of the elements of a recursively defined set, we use structural induction. BASIS STEP: Show that the result holds for all elements specified in the basis step of the recursive definition. RECURSIVE STEP: Show that if the statement is true for each of the elements used to construct new elements in the recursive step of the definition, the result holds for these new elements. The validity of structural induction can be shown to follow from the principle of mathematical induction.

Full Binary Trees Definition: The height h(T) of a full binary tree T is defined recursively as follows: BASIS STEP: The height of a full binary tree T consisting of only a root r is h(T) = 0. RECURSIVE STEP: If T1 and T2 are full binary trees, then the full binary tree T = T1∙T2 has height h(T) = 1 + max(h(T1),h(T2)). The number of vertices n(T) of a full binary tree T satisfies the following recursive formula: BASIS STEP: The number of vertices of a full binary tree T consisting of only a root r is n(T) = 1. RECURSIVE STEP: If T1 and T2 are full binary trees, then the full binary tree T = T1∙T2 has the number of vertices n(T) = 1 + n(T1) + n(T2).

Structural Induction and Binary Trees Theorem: If T is a full binary tree, then n(T) ≤ 2h(T)+1 – 1. Proof: Use structural induction. BASIS STEP: The result holds for a full binary tree consisting only of a root, n(T) = 1 and h(T) = 0. Hence, n(T) = 1 ≤ 20+1 – 1 = 1. RECURSIVE STEP: Assume n(T1) ≤ 2h(T1)+1 – 1 and also n(T2) ≤ 2h(T2)+1 – 1 whenever T1 and T2 are full binary trees. n(T) = 1 + n(T1) + n(T2) (by recursive formula of n(T)) ≤ 1 + (2h(T1)+1 – 1) + (2h(T2)+1 – 1) (by inductive hypothesis) ≤ 2∙max(2h(T1)+1 ,2h(T2)+1 ) – 1 = 2∙2max(h(T1),h(T2))+1 – 1 (max(2x , 2y)= 2max(x,y) ) = 2∙2h(t) – 1 (by recursive definition of h(T)) = 2h(t)+1 – 1 −2 .

Generalized Induction Generalized induction is used to prove results about sets other than the integers that have the well-ordering property. (explored in more detail in Chapter 9) For example, consider an ordering on N⨉N, ordered pairs of nonnegative integers. Specify that (x1, y1) is less than (x2, y2) if either x1<x2, or (x1=x2 and y1<y2) . This is called the lexicographic ordering. Strings are also commonly ordered by a lexicographic ordering. The next example uses generalized induction to prove a result about ordered pairs from N⨉ N.

Generalized Induction Example: Suppose that am,n is defined for (m,n)∊N ×N by a0,0 = 0 and Show that am,n = m + n(n + 1)/2 is defined for all (m,n)∊N ×N. Solution: Use generalized induction. BASIS STEP: a0,0 = 0 = 0 + (0∙1)/2 INDUCTIVE STEP: Assume that am̍,n̍ = m̍+ n̍(n̍ + 1)/2 whenever(m̍,n̍) is less than (m,n) in the lexicographic ordering of N ×N . If n = 0, by the inductive hypothesis we can conclude am,n = am−1,n + 1 = m − 1+ n(n + 1)/2 + 1 = m + n(n + 1)/2 . If n > 0, by the inductive hypothesis we can conclude am,n = am,n−1 + n = m + n(n − 1)/2 + n = m + n(n + 1)/2 . Q.E.D.