Title: Induction: One Step At A Time
1Induction One Step At A Time
Great Theoretical Ideas In Computer Science Great Theoretical Ideas In Computer Science Great Theoretical Ideas In Computer Science
Anupam Gupta CS 15-251 Fall 2006
Lecture 2 Aug 31, 2006 Carnegie Mellon University
2 Today we will talk about INDUCTION
3- Induction is the primary way we
- Prove theorems
- Construct and define objects
4Dominoes
Domino Principle Line up any number of dominos
in a row knock the first one over and they will
all fall
5Dominoes Numbered 1 to n
Fk The kth domino falls
If we set them up in a row then each one is set
up to knock over the next
For all 1 k lt n Fk ) Fk1
F1 ) F2 ) F3 ) F1 ) All Dominoes Fall
6Standard Notation
for all is written 8
Example
8 kgt0, P(k)
For all kgt0, P(k)
7Dominoes Numbered 1 to n
Fk The kth domino falls
8k, 0 k lt n-1 Fk ) Fk1
F0 ) F1 ) F2 ) F0 ) All Dominoes Fall
8The Natural Numbers
? 0, 1, 2, 3, . . .
- One domino for each natural number
0 1 2 3 4 5 .
9Plato The Domino Principle works for an infinite
row of dominoes
Aristotle Never seen an infinite number of
anything, much less dominoes.
10Platos DominoesOne for each natural number
Theorem An infinite row of dominoes, one domino
for each natural number. Knock over the first
domino and they all will fall
Proof
Suppose they dont all fall. Let k gt 0 be the
lowest numbered domino that remains standing.
Domino k-1 0 did fall, but k-1 will knock over
domino k. Thus, domino k must fall and remain
standing. Contradiction.
11Mathematical Induction statements proved instead
of dominoes fallen
Infinite sequence of statements S0, S1,
Infinite sequence ofdominoes
Fk domino k fell
Fk Sk proved
Establish
1. F0
2. For all k, Fk ) Fk1
Conclude that Fk is true for all k
12Inductive Proof / ReasoningTo Prove ?k 2 ?, Sk
Establish Base Case S0
Establish that ?k, Sk ) Sk1
Assume hypothetically that Sk for any particular
k
?k, Sk ) Sk1
Conclude that Sk1
13Inductive Proof / ReasoningTo Prove ?k 2 ?, Sk
Establish Base Case S0
Establish that ?k, Sk ) Sk1
Induction Hypothesis Sk Induction Step
Use I.H. to show Sk1
?k, Sk ) Sk1
14Inductive Proof / ReasoningTo Prove ?k b, Sk
Establish Base Case Sb Establish that ?k
b, Sk ) Sk1 Assume k b Inductive
Hypothesis Assume Sk Inductive Step Prove
that Sk1 follows
15Theorem? The sum of the first n odd numbers is
n2. Check on small values 1 1 13
4 135 9 1357 16
16Theorem? The sum of the first n odd numbers is
n2. The kth odd number is expressed by the
formula (2k 1), when kgt0.
17Sn ? The sum of the first n odd numbers is
n2. Equivalently, Sn is the statement that
1 3 5 (2k-1) . . (2n-1) n2
18Sn ? The sum of the first n odd numbers is n2.
1 3 5 (2k-1) . . (2n-1) n2 Trying
to establish that 8n 1 Sn
19Sn ? The sum of the first n odd numbers is n2.
1 3 5 (2k-1) . . (2n-1) n2 Trying
to establish that 8n 1 Sn
20Sn ? The sum of the first n odd numbers is n2.
1 3 5 (2k-1) . . (2n-1) n2 Trying
to establish that 8n 1 Sn
- Assume Induction Hypothesis Sk
- (for any particular k 1)
- 135 (2k-1) k2
- Induction Step
- Add (2k1) to both sides.
- 135 (2k-1)(2k1) k2 (2k1)
- Sum of first k1 odd numbers (k1)2
- CONCLUDE Sk1
21Sn ? The sum of the first n odd numbers is n2.
1 3 5 (2k-1) . . (2n-1) n2 Trying
to establish that 8n 1 Sn
- In summary
- 1) Establish base case S1
- 2) Establish domino property 8k 1 Sk ) Sk1
- By induction on n, we conclude that 8k 1 Sk
22THEOREM The sum of the first n odd numbers is
n2.
23Theorem? The sum of the first n numbers is
½n(n1).
24Theorem? The sum of the first n numbers is
½n(n1). Try it out on small numbers! 1
1 ½1(11). 12 3 ½2(21). 123
6 ½3(31). 1234 10 ½4(41).
25Theorem? The sum of the first n numbers is
½n(n1). 0 ½0(01). 1
1 ½1(11). 12 3 ½2(21). 123 6
½3(31). 1234 10 ½4(41).
26Notation ?0 0 ?n 1 2 3 . . . n-1
n Let Sn be the statement ?n n(n1)/2
27Sn ?n n(n1)/2Use induction to prove ?k
0, Sk
28Sn ?n n(n1)/2Use induction to prove ?k
0, Sk
29Sn ?n n(n1)/2Use induction to prove
?k 0, Sk
Establish Base Case S0. ?0The sum of the
first 0 numbers 0. Setting n0, the formula
gives 0(01)/2 0. Establish that ?k 0, Sk )
Sk1 Inductive Hypothesis Sk ?k k(k1)/2
?k1 ?k (k1) k(k1)/2
(k1) Using I.H. (k1)(k2)/2
which proves Sk1
30Theorem The sum of the first n numbers is
½n(n1).
31Primes A natural number ngt1 is called prime if
it has no divisors besides 1 and itself. n.b. 1
is not considered prime.
32Theorem? Every natural number gt 1 can be
factored into primes. Sn ? n can be factored
into primes Base case 2 is prime ? S2 is true.
33Trying to prove Sk-1 ) Sk
- How do we use the fact Sk-1 k-1 can be
factored into primes - to prove that Sk k can be factored into
primes - Hmm!?
34Theorem? Every natural numbergt1 can be factored
into primes. A different approach Assume
2,3,,k-1 all can be factored into primes. Then
show that k can be factored into primes.
35Sn ? n can be factored into primes Use
induction to prove ?k gt 1, Sk
36Sn ? n can be factored into primes Use
induction to prove ?k gt 1, Sk
37All Previous InductionTo Prove ?k, Sk
Also called Strong Induction
Establish Base Case S0 Establish that ?k, Sk )
Sk1 Let k be any natural number. Induction
Hypothesis Assume ?jltk, Sj Use that to
derive Sk
38All Previous InductionRepackaged AsStandard
Induction
Define Ti ?j i, Sj
Establish Base Case S0
Establish Base Case T0
Establish Domino Effect
Establish that ?k, Tk ) Tk1
Let k be any number
Let k be any numberAssume ?jltk, Sj
Assume Tk-1
Prove Sk
Prove Tk
39And there are more ways to do inductive proofs
40Aristotles Contrapositive
- Let S be a sentence of the form A ) B.
- The Contrapositive of S is the sentence ?B )
?A. - A ) B When A is true, B is true.
- ?B ) ?A When B is false, A is false.
41Aristotles Contrapositive
- Logically equivalent
- A B A)B ?B ) ?A.
- False False True True
- False True True True
- True False False False
- True True True True
42Contrapositive or Least Counter-Example
Induction to Prove ?k, Sk
Establish Base Case S0 Establish that ?k, Sk
) Sk1 Let kgt0 be the least number such that Sk
is false. Prove that ?Sk ) ?Sk-1
Contradiction of k being the least
counter-example!
43Least Counter-Example Induction to Prove ?k, Sk
Establish Base Case S0 Establish that ?k, Sk
) Sk1 Assume that Sk is the least
counter-example. Derive the existence of a
smaller counter-example Sj (for j lt k)
44Rene Descartes 1596-1650
Method Of Infinite Decent Show that for any
counter-example you find a smaller one. Hence, if
a counter-example exists there would be an
infinite sequence of smaller and smaller counter
examples.
45Each number gt 1 has a prime factorization.
- Let n be the least counter-example.
- Hence n is not prime
- ? so n ab.
- If both a and b had prime factorizations, then n
would too. - Thus a or b is a smaller counter-example.
46Inductive reasoning is the high level
idea Standard Induction All Previous
Induction Least Counter-example all just
different packaging.
47 Euclids theorem on the unique factorization of
a number into primes. Assume there is a least
counter-example. Derive a contradiction, or the
existence of a smallercounter-example.
48Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
49Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
50Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
51Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
- Let n be the least counter-example. n has at
least two ways of being written as a product of
primes - n p1 p2 .. pk q1 q2 qt
- The ps must be totally different primes than the
qs or else we could divide both sides by one of
a common prime and get a smaller counter-example.
Without loss of generality, assume p1 gt q1 .
52Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
- Let n be the least counter-example.
- n p1 p2 .. pk q1 q2 qt p1 gt q1
-
- n p1p1 gt p1 q1 1 Since p1 gt q1
- .
53Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
- Let n be the least counter-example.
- n p1 p2 .. pk q1 q2 qt p1 gt q1
-
- n p1p1 gt p1 q1 1 Since p1 gt q1
- m n p1q1 Thus 1lt m lt n
- Notice m p1(p2 .. pk q1) q1(q2 qt - p1)
- Thus, p1m and q1m
- By unique factorization of m, p1q1m, thus m
p1q1z
54Theorem Each natural has a unique factorization
into primes written in non-decreasing order.
- Let n be the least counter-example.
- n p1 p2 .. pk q1 q2 qt p1 gt q1
-
- n p1p1 gt p1 q1 1 Since p1 gt q1
- m n p1q1 Thus 1lt m lt n
- Notice m p1(p2 .. pk q1) q1(q2 qt - p1)
- Thus, p1m and q1m
- By unique factorization of m, p1q1m, thus m
p1q1z - We have m n p1q1 p1(p2 .. pk - q1 )
p1q1z - Dividing by p1 we obtain (p2 .. pk - q1 ) q1z
- p2 .. pk q1z q1 q1(z1) so q1p2pk
- And hence, by unique factorization of p2pk,
- q1 must be one of the primes p2,,pk.
Contradiction of q1ltp1.
55- Yet another way of packaging inductive reasoning
is to define invariants. - Invariant
- Not varying constant.
- Mathematics. Unaffected by a designated
operation, as a transformation of coordinates.
56Yet another way of packaging inductive reasoning
is to define invariants. Invariant3.
programming A rule, such as the ordering an
orderedlist or heap, that applies throughout the
life of a datastructure or procedure. Each
change to the data structuremust maintain the
correctness of the invariant.
57Invariant InductionSuppose we have a time
varying world state W0, W1, W2, Each state
change is assumed to come from a list of
permissible operations. We seek to prove that
statement S is true of all future worlds.
Argue that S is true of the initial world. Show
that if S is true of some world then S remains
true after one permissible operation is performed.
58Invariant InductionSuppose we have a time
varying world state W0, W1, W2, Each state
change is assumed to come from a list of
permissible operations.
Let S be a statement true of W0. Let W be any
possible future world state. Assume S is true of
W. Show that S is true of any world W obtained
by applying a permissible operation to W.
59Odd/Even Handshaking Theorem At any party at
any point in time define a persons parity as
ODD/EVEN according to the number of hands they
have shaken. Statement The number of people of
odd parity must be even.
60Statement The number of people of odd parity
must be even.
61Statement The number of people of odd parity
must be even.
- Initial case Zero hands have been shaken at the
start of a party, so zero people have odd parity.
If 2 people of different parities shake, then
they both swap parities and the odd parity count
is unchanged. If 2 people of the same parity
shake, they both change and hence the odd parity
count changes by 2 and remains even.
62Inductive reasoning is the high level
idea Standard Induction Least
Counter-example All-Previous Induction
Invariants all just different packaging.
63Induction is also how we can define and construct
our world. So many things, from buildings to
computers, are built up stage by stage, module by
module, each depending on the previous stages.
64Inductive Definition Of Functions
Stage 0, Initial Condition, or Base
Case Declare the value of the function on some
subset of the domain. Inductive Rules Define
new values of the function in terms of previously
defined values of the function F(x) is defined
if and only if it is implied by finite iteration
of the rules.
65Inductive Definition
Example
Initial Condition, or Base Case F(0) 1
Inductive definition of the powers of 2!
Inductive Rule For n gt 0, F(n) F(n-1) F(n-1)
n 0 1 2 3 4 5 6 7
F(n)
1
2
4
8
16
32
64
128
66Inductive Definition
Example
Initial Condition, or Base Case F(1) 1
F(x) x for x being a power of 2!
Inductive Rule For n gt 1, F(n) F(n/2) F(n/2)
n 0 1 2 3 4 5 6 7
F(n)
1
2
4
67Leonardo Fibonacci
In 1202, Fibonacci proposed a problem about the
growth of rabbit populations
68Rabbit Reproduction
A rabbit lives forever
The population starts as single newborn pair
Every month, each productive pair begets a new
pair which will become productive after 2 months
old
Fn of rabbit pairs at the beginning of the nth
month
month 1 2 3 4 5 6 7
rabbits
1
1
3
5
2
8
13
69Fibonacci Numbers
month 1 2 3 4 5 6 7
rabbits
1
1
3
5
2
8
13
Stage 0, Initial Condition, or Base Case Fib(1)
1 Fib (2) 1
Inductive Rule For ngt3, Fib(n)
Fib(n-1) Fib(n-2)
70Programs to compute Fib(n)?
Stage 0, Initial Condition, or Base
Case Fib(0) 0 Fib (1) 1 Inductive Rule For
ngt1, Fib(n) Fib(n-1) Fib(n-2)
71Inductive Definition Fib(0)0, Fib(1)1, kgt1,
Fib(k)Fib(k-1)Fib(k-2)
Bottom-Up, Iterative ProgramFib(0) 0 Fib(1)
1Input x For k 2 to x do
Fib(k)Fib(k-1)Fib(k-2)Return Fib(x)
Top-Down, Recursive ProgramReturn
Fib(x) Procedure Fib(k) If k0 return 0 If
k1 return 1 Otherwise return
Fib(k-1)Fib(k-2)
72What is a closed form formula for Fib(n) ????
Stage 0, Initial Condition, or Base
Case Fib(0) 0 Fib (1) 1 Inductive Rule For
ngt1, Fib(n) Fib(n-1) Fib(n-2)
n 0 1 2 3 4 5 6 7
Fib(n) 0 1 1 2 3 5 8 13
73Leonhard Euler (1765) J. P. M. Binet
(1843)August de Moivre (1730)
74Study Bee
- Inductive Proof
- Standard Form
- All Previous Form
- Least-Counter Example Form
- Invariant Form
- Inductive Definition
- Bottom-Up Programming
- Top-Down Programming
- Recurrence Relations
- Fibonacci Numbers
-
- Logic
- Contrapositive Form of S