Recursive Definitions and Structural Induction. Niloufar Shafiei

Similar documents
Mathematical Induction. Lecture 10-11

Full and Complete Binary Trees

Math 55: Discrete Mathematics

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

Section IV.1: Recursive Algorithms and Recursion Trees

C H A P T E R Regular Expressions regular expression

Reading 13 : Finite State Automata and Regular Expressions

Examination paper for MA0301 Elementær diskret matematikk

GRAPH THEORY LECTURE 4: TREES

Cartesian Products and Relations

Discrete Mathematics Problems

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON

Connectivity and cuts

8 Divisibility and prime numbers

PUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include

Lecture 1: Course overview, circuits, and formulas

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

1 if 1 x 0 1 if 0 x 1

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: b + 90c = c + 10b

3. Mathematical Induction

Undergraduate Notes in Mathematics. Arkansas Tech University Department of Mathematics

CHAPTER 7 GENERAL PROOF SYSTEMS

Discrete Mathematics. Hans Cuypers. October 11, 2007

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Answer Key for California State Standards: Algebra I

Why? A central concept in Computer Science. Algorithms are ubiquitous.

CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions

LEARNING OBJECTIVES FOR THIS CHAPTER

INTRODUCTORY SET THEORY

Mathematical Induction

1. Prove that the empty set is a subset of every set.

5.1 Radical Notation and Rational Exponents

This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.

Midterm Practice Problems

MAT12X Intermediate Algebra

Lecture 16 : Relations and Functions DRAFT

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Lecture 17 : Equivalence and Order Relations DRAFT

Solutions to Homework 6 Mathematics 503 Foundations of Mathematics Spring 2014

DEGREES OF CATEGORICITY AND THE HYPERARITHMETIC HIERARCHY

WHERE DOES THE 10% CONDITION COME FROM?

MATH Fundamental Mathematics IV

MA651 Topology. Lecture 6. Separation Axioms.

Graphs without proper subgraphs of minimum degree 3 and short cycles

Automata and Formal Languages

P. Jeyanthi and N. Angel Benseera

To define function and introduce operations on the set of functions. To investigate which of the field properties hold in the set of functions

SOLUTIONS TO EXERCISES FOR. MATHEMATICS 205A Part 3. Spaces with special properties

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold

Class One: Degree Sequences

Acquisition Lesson Planning Form Key Standards addressed in this Lesson: MM2A3d,e Time allotted for this Lesson: 4 Hours

Fundamentele Informatica II

Math 55: Discrete Mathematics

A.2. Exponents and Radicals. Integer Exponents. What you should learn. Exponential Notation. Why you should learn it. Properties of Exponents

Introduction to Automata Theory. Reading: Chapter 1

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

Collatz Sequence. Fibbonacci Sequence. n is even; Recurrence Relation: a n+1 = a n + a n 1.

The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).

6.3 Conditional Probability and Independence

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Rational Exponents. Squaring both sides of the equation yields. and to be consistent, we must have

x 2 + y 2 = 1 y 1 = x 2 + 2x y = x 2 + 2x + 1

Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1

Predicate Logic. Example: All men are mortal. Socrates is a man. Socrates is mortal.

A Beginner s Guide to Modern Set Theory

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

TU e. Advanced Algorithms: experimentation project. The problem: load balancing with bounded look-ahead. Input: integer m 2: number of machines

CONTENTS 1. Peter Kahn. Spring 2007

This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.

Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series

Notes on Determinant

Student Outcomes. Lesson Notes. Classwork. Discussion (10 minutes)

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

Lecture 13 - Basic Number Theory.

Page 331, 38.4 Suppose a is a positive integer and p is a prime. Prove that p a if and only if the prime factorization of a contains p.

Computability Theory

Geometric Transformations

Determination of the normalization level of database schemas through equivalence classes of attributes

SECTION 10-2 Mathematical Induction

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

SCORE SETS IN ORIENTED GRAPHS

3 Some Integer Functions

4. How many integers between 2004 and 4002 are perfect squares?

E3: PROBABILITY AND STATISTICS lecture notes

Binary Search Trees. Data in each node. Larger than the data in its left child Smaller than the data in its right child

arxiv:cs/ v1 [cs.dc] 30 May 2006

Binary Search Trees CMPSC 122

God created the integers and the rest is the work of man. (Leopold Kronecker, in an after-dinner speech at a conference, Berlin, 1886)

COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS

Examples of Tasks from CCSS Edition Course 3, Unit 5

3. INNER PRODUCT SPACES

it is easy to see that α = a

INCIDENCE-BETWEENNESS GEOMETRY

Regular Languages and Finite State Machines

Solutions to In-Class Problems Week 4, Mon.

DRAFT. Algebra 1 EOC Item Specifications

Math 223 Abstract Algebra Lecture Notes

9.2 Summation Notation

Transcription:

Recursive Definitions and Structural Induction Niloufar Shafiei

Recursion Sometimes it is difficult to define an object explicitly. It may be easy to define this object in terms of itself. This process is called recursion. 1

Recursion We can use recursion to define sequences, functions, and sets. Example: a n =2 n for n = 0,1,2, 1,2,4,8,16,32, After giving the first term, each term of the sequence can be defined from the previous term. a 1 =1 a n+1 = 2a n 2

Recursion When a sequence is defined recursively, mathematical induction can be used to prove results about the sequence. Let P(k) be proposition about a k. Basis step: Verify P(1). Inductive step: Show k 1 (P(k) P(k+1)). 3

Recursively defined functions Assume f is a function with the set of nonnegative integers as its domain We use two steps to define f. Basis step: Specify the value of f(0). Recursive step: Give a rule for f(x) using f(y) where 0 y<x. Such a definition is called a recursive or inductive definition. 4

Example Suppose f(0) = 3 f(n+1) = 2f(n)+2, n 0. Find f(1), f(2) and f(3). Solution: f(1) = f(2) = f(3) = 2f(0) + 2 = 2(3) + 2 = 8 2f(1) + 2 = 2(8) + 2 = 18 2f(2) + 2 = 2(18) + 2 = 38 5

Example Give an inductive definition of the factorial function F(n) = n!. Solution: Basis step: (Find F(0).) F(0)=1 Recursive step: (Find a recursive formula for F(n+1).) F(n+1) = (n+1) F(n) What is the value of F(5)? F(5) = 5F(4) = 5. 4F(3) = 5. 4. 3F(2) = 5. 4. 3. 2F(1) = 5. 4. 3. 2. 1F(0) = 5. 4. 3. 2. 1. 1 = 120 6

Recursive functions Recursively defined functions should be well defined. It means for every positive integer, the value of the function at this integer is determined in an unambiguous way. 7

Example Assume a is a nonzero real number and n is a nonnegative integer. Give a recursive definition of a n. Solution: Basis step: (Find F(0).) F(0) = a 0 = 1 Recursive step: (Find a recursive formula for F(n+1).) F(n+1) = a. a n = a. F(n) 8

Example Give a recursive definition of a k. K=0 Solution: Basis step: (Find F(0).) 0 F(0) = a k = a 0 K=0 Recursive step: (Find a recursive formula for F(n+1).) n F(n+1) = F(n) + a n+1 9

Recursive functions In some recursive functions, The values of the function at the first k positive integers are specified A rule is given to determine the value of the function at larger integer from its values at some of the preceding k integers. Example: f(0) = 2 and f(1) = 3 f(n+2) = 2f(n) + f(n+1) + 5, n 0. 10

Fibonacci numbers The Fibonacci numbers, f 0, f 1, f 2,, are defined by the equations f 0 = 0 f 1 = 1 f n = f n-1 + f n-2 for n = 2,3,4,. 11

Example Find the Fibonacci number f 4. Solution: f 4 = f 3 + f 2 f 2 = f 0 + f 1 = 0 + 1 = 1 f 3 = f 1 + f 2 = 1 + 1 = 2 f 4 = f 3 + f 2 = 1 + 2 = 3 12

Example Show that whenever n 3, f n > n-2, where =(1 + 5)/2. (Hint: 2 = +1) Proof by strong induction: Find P(n) P(n) is f n > n-2. Basis step: (Verify P(3) and P(4) are true.) f 3 > 1 2 > (1 + 5) / 2 f 4 > 2 3 > (1 + 5) 2 / 4 13

Example Show that whenever n 3, f n > n-2, where =(1 + 5)/2. (Hint: 2 = +1) Proof by strong induction: Inductive step: (Show k ([P(3) P(4) P(k)] P(k+1)) is true.) Inductive hypothesis: f j > j-2 when 3 j k. Show k 4 P(k+1) is true. (Show f k+1 > k-1 is true.) Let k 4. f k+1 = f k + f k-1 By induction hypothesis, f k > k-2 and f k-1 > k-3. f k+1 = f k + f k-1 > k-2 + k-3 =. k-3 + k-3 = ( +1). k-3 = 2. k-3 = k-1 We showed P(k+1) is true, so by strong induction f n > n-2 is true. 14

Recursively defined sets and structures Assume S is a set. We use two steps to define the elements of S. Basis step: Specify an initial collection of elements. Recursive step: Give a rule for forming new elements from those already known to be in S. 15

Example Consider S Z defined by Basis step: (Specify initial elements.) 3 S Recursive step: (Give a rule using existing elements) If x S and y S, then x+y S. 3 S 3 + 3 = 6 S 6 + 3 = 9 S 6 + 6 = 12 S 16

Example Show that the set S defined in previous slide, 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. We want to show that A=S Part 1: (Show A S using mathematical induction.) Show x (x A x S). Define P(n). P(n) is 3n S. Basis step: (Show P(1).) P(1) is 3 S. By recursive definition of S, 3 S, so P(1) is true. 17

Example Show that the set S defined in previous slide, is the set of all positive integers that are multiples of 3. Solution: Part 1: (Show A S using mathematical induction.) Inductive step: (Show k 1 P(k) P(k+1).) Define inductive hypothesis: P(k) is 3k S. Show k 1 P(k+1) is true. P(k+1) is 3(k+1) S. 3(k+1) = 3k + 3 By recursive definition of S, since 3 S and 3k S, (3k+3) S. By mathematical induction, n 1 3n S. 18

Example Show that the set S defined in previous slide, is the set of all positive integers that are multiples of 3. Solution: Part 2: (Show S A.) Show x (x S x A) By basis step, 3 S. Since 3 is positive multiple of by 3, 3 A. By recursive step, If x S and y S, then x+y S. Show If x A and y A, then x+y A. Assume x A and y A, so x and y are positive multiples of 3. So, x+y is positive multiple of 3 and x+y A. So, S=A. 19

Set of strings Finite sequences of form a 1,a 2,,a n are called strings. The set * of strings over the alphabet can be defined by Basic step: * ( is the empty string containing no symbols.) Recursive step: If w * and x, then wx. Example: ={0,1} * 0 = 0 * 1 = 1 * 01 * 11 * 010 * 110 * 20

Concatenation Let be a set of symbols and * be a set of strings formed from symbols in. The concatenation of two strings, denoted by., recursively as follows. Basic step: If w *, then w. = w. Recursive step: If w 1 * and w 2 * and x, then w 1.(w 2 x) = (w 1. w 2 ) x. Example: w 1 = abc w 2 = def w 1. w 2 = w 1 w 2 = abcdef 21

Example Give a recursive definition of l(w), the length of the string w. Solution: Basis step: l( ) = 0 Recursive step: l(wx) = l(w) + 1, where w * and x. Example: l(ab) = l(a) + 1 = l( ) + 1 + 1 = 0 + 1 + 1 = 2 22

Structural induction Instead of mathematical induction to prove a result about a recursively defined sets, we can used more convenient form of induction known as structural induction. 23

Structural induction Assume we have recursive definition for the set S. Let n S. Show P(n) is true using structural induction: Basis step: Assume j is an element specified in the basis step of the definition. Show j P(j) is true. Recursive step: Let x be a new element constructed in the recursive step of the definition. Assume k 1, k 2,, k m are elements used to construct an element x in the recursive step of the definition. Show k 1, k 2,, k m ((P(k 1 ) P(k 2 ) P(k m )) P(x)). 24

Example Use structural induction, to prove that l(xy) = l(x)+l(y), where x * and y *. Proof by structural induction: Define P(n). P(n) is l(xn) = l(x)+l(n) whenever x *. Basis step: (P(j) is true, if j is specified in basis step of the definition.) Show P( ) is true. P( ) is l( x) = l( ) + l(x). Since x = x, l( x) = l(x) = l(x) + 0 = l(x) + l( ) So, P( ) is true. 25

Example Use structural induction, to prove that l(xy) = l(x)+l(y), where x * and y *. Proof by structural induction: Inductive step: (P(y) P(ya) where a ) Inductive hypothesis:(p(y)) l(xy) = l(x) + l(y) Show that P(ya) is true. Show l(xya) = l(x) + l(ya) By recursive definition, l(xya) = l(xy) + 1. By inductive hypothesis, l(xya)= l(x) + l(y) + 1. By recursive definition (l(ya)= l(y) + 1), l(xya)= l(x) + l(ya). So, P(ya) is true. 26

Example Well-formed formulae for compound propositions: Basis step: T(true), F(false) and p, where p is a propositional variable, are well-formed. Recursive step: If F and E are well-formed formulae, then ( E), (E F), (E F), (E F) and (E F) are well-formed formulae. Example: p F is well-formed. p q is not well-formed. 27

Example Well-formed formulae for operations: Basis step: x, where x is a numeral or variable, is well-formed. Recursive step: If F and E are well-formed formulae, then (E+F), (E-F), (E*F), (E/F) and (E F) are well-formed formulae. (* denotes multiplication and denotes exponentiation.) Example: 3 + (5-x) is well-formed. 3 * + x is not well-formed. 28

Example Show that well-formed formulae for compound propositions contains an equal number of left and right parentheses. Proof by structural induction: Define P(x) P(x) is well-formed compound proposition x contains an equal number of left and right parentheses Basis step: (P(j) is true, if j is specified in basis step of the definition.) T, F and propositional variable p is constructed in the basis step of the definition. Since they do not have any parentheses, P(T), P(F) and P(p) are true. 29

Example Proof by structural induction: Recursive step: Assume p and q are well-formed formulae. Let l p be the number of left parentheses in p. Let r p be the number of right parentheses in p. Let l q be the number of left parentheses in q. Let r q be the number of right parentheses in q. Assume l p = r p and l q = r q. We need to show that ( p), (p q), (p q), (p q) and (p q) also contains an equal number of left and right parentheses. 30

Example Proof by structural induction: Recursive step: The number of left parentheses in ( p) is l p +1 and the number of right parentheses in ( p) is r p +1. Since l p = r p, l p +1= r p +1 and ( p) contains an equal number of left and right parentheses. The number of left parentheses in other compund propositions is l p + l q + 1 and the number of right parentheses in ( p) is r p + r q + 1. Since l p = r p and l q = r q, l p + l q + 1 = r p + r q + 1 and other compound propositions contain an equal number of left and right parentheses. So, by structural induction, the statement is true. 31

Structural induction Structural induction is really just a version of (strong) induction. 32

Tree A graph is made up vertices and edges connecting some pairs of vertices. A tree is a special type of a graph. A rooted tree consists of a set of vertices a distinguished vertex called root and edges connecting these vertices. (A tree has no cycle.) root 33

Rooted tree The set of rooted trees can be defined recursively by these steps: Basis step: A single vertex r is a rooted tree. Recursive step: Suppose that T 1, T 2,, T n are disjoint rooted trees with roots r 1, r 2,, r n, respectively. Then, the graph formed by starting with a root r which is not in any of the rooted tree T 1, T 2,, T n, and adding an edge from r to each of the vertices r 1, r 2,, r n, is also a rooted tree. 34

Rooted tree r root root T 1 T 2 35

Rooted tree Basis step: Inductive step: 36

Extended binary trees The set of extended binary trees can be defined recursively by these steps: Basis step: The empty set is an extended binary tree. Recursive step: Assume T 1 and T 2 are disjoint extended binary trees. Then, there is an extended binary tree, denoted T 1. T 2, consisting of a root r together with edges connecting the roots of left subtree T 1 and the right subtree T 2 when these trees are nonempty. 37

Extended binary trees The root of an extended binary tree is connected to at most two subtrees. Basis step: Inductive step: 38

Full binary trees The set of full binary trees can be defined recursively by these steps: Basis step: There is a full binary tree consisting only of a single vertex r. Recursive step: Assume T 1 and T 2 are disjoint full binary trees. Then, there is a full binary tree, denoted T 1. T 2, consisting of a root r together with edges connecting the root to each of the roots of the left subtree T 1 and the right subtree T 2. 39

Full binary tree The root of a full binary tree is connected to exactly two subtrees. Basis step: Inductive step: 40

Height of full binary trees We define height h(t) of a full binary tree T recursively. Basis step: Assume T is a full binary tree consisting of a single vertex. h(t)=0 Recursive step: Assume T 1 and T 2 are full binary trees. h(t 1. T 2 ) = 1 + max (h(t 1 ),h(t 2 )) 41

Height of full binary trees h(t) = 0 h(t) = 1+ max(0,0) = 1 h(t) = 1+ max(1,1) = 2 42

Number of vertices of full binary trees We define number of vertices n(t) of a full binary tree T recursively. Basis step: Assume T is a full binary tree consisting of a single vertex. n(t)=1 Recursive step: Assume T 1 and T 2 are full binary trees. n(t 1. T 2 ) = 1 + n(t 1 ) + n(t 2 ) 43

Number of vertices of full binary trees n(t) = 1 n(t) = 1+ 1 + 1 = 3 n(t) = 1+ 3 + 3 = 7 44

Structural induction How to show a result about full binary trees using structural induction? Basis step: Show that the result is true for the tree consisting of a single vertex. Recursive step: Show that if the result is true for trees T 1 and T 2, then it is true for T 1. T 2, consisting of a root r which has T 1 as its left subtree and T 2 as its right subtree. 45

Example Show if T is a full binary tree T, then n(t) 2 h(t)+1-1. Proof by structural induction: Basis step: Assume T is a full binary tree consisting of a single vertex. Show n(t) 2 h(t)+1-1 is true. 1 2 0+1-1=1 So, it is true for T. Inductive step: Assume T 1 and T 2 are full binary trees. Assume n(t 1 ) 2 h(t 1 )+1-1 and n(t 2 ) 2 h(t 2 )+1-1 are true. Assume T= T 1. T 2. 46

Example Show if T is a full binary tree T, then n(t) 2 h(t)+1-1. Proof by structural induction: Inductive step: Show n(t) 2 h(t)+1-1 is true. By recursive definition, n(t) = 1 + n(t 1 ) + n(t 2 ). By recursive definition, h(t) = 1 + max(h(t 1 ),h(t 2 )). n(t) = 1 + n(t 1 ) + n(t 2 ) 1 + 2 h(t 1 )+1-1 + 2 h(t 2 )+1-1 (by inductive hypothesis) 2. max(2 h(t 1 )+1,2 h(t 2 )+1 ) - 1 = 2. 2 max ( h(t 1 ),h(t 2 ) ) + 1-1 (max(2 x,2 y ) = 2 max(x,y) ) = 2. 2 h(t) - 1 (by recursive definition) = 2 h(t)+1-1 47

Recommended exercises 1,3,5,7,9,21,23,25,27,29,33,35,44,57,59 48