• No results found

CSE 311: Foundations of Computing. Fall 2014 Lecture 17: Recursive Definitions and Structural Induction

N/A
N/A
Protected

Academic year: 2021

Share "CSE 311: Foundations of Computing. Fall 2014 Lecture 17: Recursive Definitions and Structural Induction"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

CSE 311: Foundations of Computing

Fall 2014

Lecture 17:

Recursive Definitions and

Structural Induction

(2)

Administrivia

Midterm

Monday, November 3

rd

, IN CLASS

Topics: Everything up to ordinary induction.

Review sessions:

Thursday, Oct 30: 4:30pm – 6:00pm (

THO 101)

Saturday, Nov 1: 4:30pm – 7:00pm (

EEB 125)

(3)

Strings

•  An alphabet

Σ

is any finite set of characters

•  The set

Σ

*

of strings over the alphabet

Σ

is

defined by

– Basis:

∈ Σ* (

is the empty string)

(4)

Palindromes

Palindromes are strings that are the same backwards

and forwards (e.g. “abba”, “tht”, “neveroddoreven”).

Basis

•  ℇ

is  a  palindrome    

•  a ∈  Σ

is  a  palindrome

Recursive Step

• 

If p  is  a  palindrome  and  a ∈  Σ, then  apa is  a  

palindrome.  

(5)

All Binary Strings with no 1’s before 0’s…

Basis: ℇ  ∈  S Recursive: If x  ∈  S, then 0x  ∈  S If x  ∈  S, then x1  ∈  S

Write a recursive definition for the set of binary strings in which all 0’s appear before any 1’s in the entire string.

(6)

Function Definitions on Recursively Defined Sets

Length:

len(ℇ)  =  0  

 len(wa)  =  1  +  len(w)  for  w  ∈  Σ*,  a  ∈  Σ  

Reversal:  ℇR  =  ℇ  

 (wa)R  =  awR  for  w  ∈  Σ*,  a  ∈  Σ  

Concatenation:

x  •  ℇ  =  x  for  x  ∈  Σ*

x  •  wa  =  (x  •  w)a  for  x  ∈  Σ*,  a  ∈  Σ  

 

Number of c’s in a string: #c(ℇ)  =  0  

#c(wc)  =  #c(w)  +  1  for  w  ∈  Σ*

(7)

Rooted Binary Trees

  Basis:

• is a rooted binary tree

  Recursive step:

If and are rooted binary trees,

then so is:

T

1  

T

2  

(8)

Functions Defined on Rooted Binary Trees

•  size(•) = 1

•  size( ) = 1 + size(T

1

) + size(T

2

)

•  height(•) = 0

•  height( )=1 + max{height(T

1

), height(T

2

)}

 

T1 T2

(9)

Structural Induction

How to prove ∀  

x  ∈  S,  P(x)  is true:

  Base Case:

Show that P(u) is true for all specific

elements of

u∈  S

mentioned in the Basis step

Inductive Hypothesis:

Assume that P is true for

some arbitrary values of each of the existing named

elements mentioned in the Recursive step

Inductive Step:

Prove that P(w) holds for each of the

new elements constructed in the Recursive step using

the named elements mentioned in the Inductive

Hypothesis

(10)

Structural Induction vs. Ordinary Induction

Ordinary induction is a special case of structural

induction:

Recursive definition of ℕ

Basis:      0  ∈  ℕ

Recursive  Step:    If  k  ∈  ℕ  then  k+1  ∈  ℕ

Structural induction follows from ordinary induction:

Let Q(n) be true iff for all

x  ∈  S  that take n

(11)

Using Structural Induction

•  Let S be given by…

Basis: 6 ∈  S,  15 ∈  S

Recursive: If x, y ∈  S,  then  x  +  y  ∈  S.

Claim:

Every element of S is divisible by 3.

Let  P(x)  be  “3  |  x”.    We  go  by  structural  inducNon  on    S.   Base Case:

 6  =  2•3;  So,  3  |  6.    15  =  5•3;  So,  3  |  15.   Induction Hypothesis:

Suppose  P(x),  P(y)  for  some  x,  y  ∈  S. Induction Step:

We  know,  by  the  IH,  that  x  =  k•3  and  y  =  j•3  for  some  k,  j.    So,  x  +  y  =  k•3  +  j•3  =  3(k  +  j).    So,  3  |  x  +  y.  

(12)

Function Definitions on Recursively Defined Sets

Length:

len(ℇ)  =  0  

 len(wa)  =  1  +  len(w)  for  w  ∈  Σ*,  a  ∈  Σ  

Reversal:  ℇR  =  ℇ  

 (wa)R  =  awR  for  w  ∈  Σ*,  a  ∈  Σ  

Concatenation:

x  •  ℇ  =  x  for  x  ∈  Σ*

x  •  wa  =  (x  •  w)a  for  x  ∈  Σ*,  a  ∈  Σ  

 

Number of c’s in a string: #c(ℇ)  =  0  

#c(wc)  =  #c(w)  +  1  for  w  ∈  Σ*

(13)

Structural Induction for Strings

•  Let S be a set of strings over {a,b}, defined as

follows…

Basis: a ∈  S

Recursive:

• 

If  w  ∈  S,  then  wa  ∈  S  and  wba  ∈  S

• 

If  u  ∈  S  and  v  ∈  S,  then  uv  ∈  S

(14)

Basis: a ∈  S

Recursive:

• 

If  w  ∈  S,  then  wa  ∈  S  and  wab  ∈  S

• 

If  u  ∈  S  and  v  ∈  S,  then  uv  ∈  S

Claim:

If w ∈  S,  then #

a

(w) > #

b

(w)

Proof:

Let  P(w)  be  “#a(w)  >  #b(w)”.      

We  go  by  structural  inducNon  on  S.   Base Case:

#a(a)  =  #a(ℇa)  =  #a(ℇ)  +  1  =  0  +  1  =  1    #b(a)  =  #b(ℇa)  =  #b(ℇ)  =  0  

 Since  1  >  0,  it  follows  that  #a(a)  >  #b(a).  

Number of c’s in a string: #c(ℇ)  =  0  

#c(wc)  =  #c(w)  +  1  for  w  ∈  Σ*

(15)

Claim:

If w ∈  S,  then #

a

(w) > #

b

(w)

Recursive  Case  1  (w  ∈  S  →  wa  ∈  S  and  wab  ∈  S): Suppose  #a(w)  >  #b(w)  for  some  w  ∈  S.

We  want  to  show  P(wa)  and  P(wba).

Note  that  #a(wa)  =  #a(w)  +  1        (def  of  #a)                      >  #b(w)  +  1    (IH)  

                   >  #b(w)      (inequaliNes)                      =  #b(wa)      (def  of  #b)    

 Also,                #a(wab)  =  #a(wa)      (def  of  #a)  

                   >  #b(w)  +  1    (proof  above)                      =  #b(wa)  +  1  

                   =  #b(wab)      (def  of  #c)  

Number of c’s in a string: #c(ℇ)  =  0  

#c(wc)  =  #c(w)  +  1  for  w  ∈  Σ*

#c(wa)  =  #c(w)  for  w  ∈  Σ*,  a  ∈  Σ,  a  ≠  c   Recursive:  

If  w  ∈  S,  then  wa  ∈  S  and  wab  ∈  S

(16)

Claim:

If w ∈  S,  then #

a

(w) > #

b

(w)

Recursive  Case  2  (u  ∈  S  and  v  ∈  S  →  uv  ∈  S): Suppose  P(u)  and  P(v)  for  some  u,v  ∈  S. We  want  to  show  P(uv).

Note  that  #a(uv)    =  #a(u)  +  #a(v)    (#a  is  addiNve;  we’re    

                               pretending  we’ve  proven                      this)  

                   >  #b(u)  +  #b(v)  (IH)  

                   =  #b(uv)      (#b  is  addiNve)    

So,  the  P(x)  is  true  for  all  x  ∈  S    by  structural  inducNon.  

Number of c’s in a string: #c(ℇ)  =  0  

#c(wc)  =  #c(w)  +  1  for  w  ∈  Σ*

#c(wa)  =  #c(w)  for  w  ∈  Σ*,  a  ∈  Σ,  a  ≠  c   Recursive:  

If  w  ∈  S,  then  wa  ∈  S  and  wab  ∈  S

(17)

Claim:

len(x•y) = len(x) + len(y) for all x,y ∈  Σ

*

Let  P(y)  be  “len(x  •  y)  =  len(x)  +  len(y)  for  all  x  ∈  Σ*”    

We  prove  P(y)  for  all  y  ∈  Σ*  by  structural  inducNon.   Base Case:

 len(x  •  ℇ)  =  len(x)          (def  of  concat.)                  =  len(x)  +  0      (adding  0)  

               =  len(x)  +  len(ℇ)  (def  of  len(ℇ))   Induc7on  Hypothesis:  

 Suppose  P(w)  for  some  w  ∈  Σ*.  

Induc7on  Step:  

 len(x  •  wa)    =  len((x  •  w)a)        (def  of  concat.)                        =  1  +  len(x  •  w)      (def  of  len)  

                     =  1  +  len(w)  +  len(x)      (IH)  

                     =  len(wa)  +  len(x)      (def  of  len)    

   

Length: len(ℇ)  =  0  

len(wa)  =  1  +  len(w)  for  w  ∈  Σ*,  a  ∈  Σ  

Concatenation:

x  •  ℇ  =  x  for  x  ∈  Σ*

(18)

Functions Defined on Rooted Binary Trees

•  size(•) = 1

•  size( ) = 1 + size(T

1

) + size(T

2

)

•  height(•) = 0

•  height( )=1 + max{height(T

1

), height(T

2

)}

 

T1 T2

References

Related documents

A sticky prit enables code to deduce, at run time, a property of a function evaluation that is proved theoretically by structural induction over the function’s computation

• Please help us improve the quality of this course and take a few minutes to fill out the course evaluation.. Are the real numbers countable?..

Look at the rules for introducing connectives to see how you would build up the formula you want to prove from pieces of what is given.. Use the rules for eliminating connectives

The tan- nin supplementation in feeding cow diet cow feed affects the microfloura of rumen resulting in unsaturated fatty acids biohydrogenation and hence influencing linolenic

2) Influence of Fluctuations in Foreign Exchange Rates Overseas sales accounted for 67.4% of the consolidated net sales of the Group in fiscal 2013, and it is expected that

The concept is simple: Every etude is composed as an improvised jazz solo, written over the chords from a famous jazz standard.. And every etude consists of two parts; easy/medium

Path you with a public on black silver metal business cards templates with us notary stamp notary commission is usually presented at least one state, privileges and in. Spain and