SlideShare a Scribd company logo
Theory of Automata
        &
Formal Languages
BOOKS
Theory of computer Science: K.L.P.Mishra &

  N.Chandrasekharan

Intro to Automata theory, Formal languages and
  computation:          Ullman,Hopcroft
                             Motwani

Elements of theory of computation Lewis &
                           papadimitrou
Syllabus
Introduction
Deterministic and non deterministic Finite
  Automata, Regular Expression,Two way
  finite automata,Finite automata with
  output,properties of regular sets,pumping
  lemma, closure properties,Myhill nerode
  theorem
Context free Grammar: Derivation trees,
 Simplification forms
Pushdown automata: Def, Relationship
 between PDA and context free
 language,Properties, decision
 algorithms
Turing Machines: Turing machine
 model,Modification of turing
 machines,Church’s
 thesis,Undecidability,Recursive and
 recursively enumerable languages Post
 correspondence problems recursive
 functions
Chomsky Hierarchy: Regular grammars,
 unrestricted grammar, context sensitive
 language, relationship among
 languages
temporary memory

                   input memory
        CPU
                   output memory

 Program memory
3
     temporary memory         f ( x) = x
        z = 2*2 = 4
      f ( x) = z * 2 = 8
                           input memory
                               x=2
               CPU
                           output memory
Program memory
      compute    x∗x
                   2
      compute    x ∗x
Automaton
temporary memory

Automaton
                   input memory
            CPU
                   output memory

  Program memory
temporary memory



                   input memory
  Finite
  Automaton
                   output memory
Different Kinds of Automata
Automata are distinguished by the temporary memory


  • Finite Automata:     no temporary memory


  • Pushdown Automata:   stack


  • Turing Machines:     random access memory
Turing Machine

         Random Access Memory



                                input memory
              Turing
              Machine
                               output memory


Algorithms    (highest computing power)
Power of Automata



Finite         Pushdown        Turing
Automata       Automata        Machine
Power sets
A power set is a set of sets

S = { a, b, c }


Powerset of S = the set of all the subsets of S

2S = {   , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} }


Observation: | 2S | = 2|S|          ( 8 = 23 )
Cartesian Product
        A = { 2, 4 }              B = { 2, 3, 5 }


A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) }


                   |A X B| = |A| |B|


         Generalizes to more than two sets


                     AXBX…XZ
RELATIONS
R = {(x1, y1), (x2, y2), (x3, y3), …}


xi R yi


e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1




In relations xi can be repeated
Equivalence Relations
• Reflexive:       xRx
• Symmetric:       xRy        yRx
• Transitive:      x R Y and y R z      xRz


Example: R = ‘=‘
•x=x
•x=y                y=x
• x = y and y = z          x=z
Equivalence Classes
For equivalence relation R
      equivalence class of x = {y : x R y}


Example:
    R = { (1, 1), (2, 2), (1, 2), (2, 1),
           (3, 3), (4, 4), (3, 4), (4, 3) }


Equivalence class of 1 = {1, 2}
Equivalence class of 3 = {3, 4}
Example of Equivalence relation
Let Z = set of integers
R be defined on it as:
R= {(x,y)| x ∈Z, y ∈ Z and
                      (x - y)is divisible by
  5}
This relation is known as
” congruent modulo 5”
The equivalence classes are
[0]R= {…-10, -5, 0, 5,10,…}
[1]R = {…..,-9, -4, 1, 6, 11, 16….}
[2]R= {….-8, -3,2,7,12,17…..}
[3]R = {….-7, -2, 3, 8 ,13,…}
[4]R = {….-6,-1,4,9,14,19,….}
Z/R ={[0]R, [1]R, [2]R, [3]R, [4]R}
PROOF TECHNIQUES

• Proof by induction


• Proof by contradiction
Induction

We have statements P1, P2, P3, …

If we know
       • for some k that P1, P2, …, Pk are true
       • for any n >= k that
            P1, P2, …, Pn imply Pn+1
Then
       Every Pi is true
Trees
                root



                          parent

        leaf

                               child


Trees have no cycles
Proof by Induction
• Inductive basis
     Find P1, P2, …, Pk which are true


• Inductive hypothesis
     Let’s assume P1, P2, …, Pn are true,
     for any n >= k


• Inductive step
     Show that Pn+1 is true
root
              Level 0



                 Level 1
leaf                          Height 3

                    Level 2



                    Level 3
Binary Trees
Example
Theorem: A binary tree of height n
            has at most 2n leaves.

Proof:
         let l(i) be the number of leaves at level i

                                        l(0) = 0




                                        l(3) = 8
Induction Step


 Level
   n               hypothesis: l(n) <= 2n

n+1
We want to show: l(i) <= 2i


• Inductive basis
        l(0) = 1     (the root node)


• Inductive hypothesis
        Let’s assume l(i) <= 2i for all i = 0, 1, …, n


• Induction step
        we need to show that l(n + 1) <= 2n+1
Induction Step


 Level
   n                            hypothesis: l(n) <= 2n

n+1


      l(n+1) <= 2 * l(n) <= 2 * 2n = 2n+1
Proof by Contradiction

We want to prove that a statement P is true


     • we assume that P is false
     • then we arrive at an incorrect conclusion
     • therefore, statement P must be true
Example
Theorem:         2   is not rational


Proof:
     Assume by contradiction that it is rational
             2   = n/m
           n and m have no common factors


     We will show that this is impossible
2   = n/m            2 m2 = n2



                                    n is even
Therefore, n2 is even
                                    n=2k


                                        m is even
2 m2 = 4k2         m2 = 2k2
                                        m=2p


  Thus, m and n have common factor 2

        Contradiction!
Basic Terms
Alphabet: A finite non empty set of
 elements.

      ∑∑     ={a,b,c,d,…z}
∑




    • String: A sequence of letters

       –        Examples: “cat”, “dog”, “house”, …

       –        Defined over an alphabet:
                      Σ={a, b, c,, z}

     Language: It is a set of strings on some
    alphabet
Alphabets and Strings
• We will use small alphabets:
• Strings                      Σ = { a, b}
              a
                          u = ab
              ab
                          v = bbbaaa
              abba
                          w = abba
              baba
              aaabbbaabab
String Operations
                               abba
    w = a1a2  an
                               bbbaaa
    v = b1b2  bm

              Concatenation

wv = a1a2  anb1b2 bm        abbabbbaaa
w = a1a2  an        ababaaabbb



           Reverse

 R
w = an  a2 a1       bbbaaababa
String Length
        w = a1a2  an
        w =n
• Length:

              abba = 4
• Examples:   aa = 2
              a =1
Recursive Definition of Length
                  a =1
For any letter:
                  wa   wa = w + 1
For any string     : abba   = abb + 1
                            = ab + 1 + 1
Example:
                            = a +1+1+1
                            = 1+1+1+1
                            =4
Length of Concatenation
             uv = u + v

        u = aab, u = 3
• Example: = abaab,
         v            v =5


        uv = aababaab = 8
        uv = u + v = 3 + 5 = 8
Proof of Concatenation Length
      uv = u + v
• Claim:
                                      v
• Proof: By induction on the length

                    v =1
  – Induction basis:
  –      From definition of length:

                 uv = u +1 = u + v
uv = u + v
– Inductive hypothesis:
                                  v = 1,2,, n
    •                     for



– Inductive step: we will prove    uv = u + v
–
–                          for     v = n +1
Inductive Step
       v = wa                   w = n, a = 1
• Write         ,     where
                               uv = uwa = uw + 1
• From definition of length:
                               wa = w + 1

• From inductive hypothesis:     uw = u + w

• Thus:
          uv = u + w + 1 = u + wa = u + v
Empty String
                               λ
• A string with no letters:

                  λ =0
• Observations:

                 λw = wλ = w

                 λabba = abbaλ = abba
Substring
• Substring of string:
  – a subsequence of consecutive
    characters
                   abbab             ab
•           String           Substring
                   abbab             abba
                   abbab             b
                   abbab             bbab
Prefix and Suffix
•    Prefixes    Suffixes
                            abbab w = uv
    λ            abbab
    a            bbab         prefix

    ab           bab                   suffix

    abb          ab
    abba         b
    abbab        λ
Another Operation
              wn = ww w
                   
                    
                       n

             ( abba ) = abbaabba
                   2
• Example:


               0
•   Definition:
                w =λ
    –
             ( abba ) = λ
                   0
The * Operation
 • Σ * : the set of all possible strings from
 • Σ alphabet




Σ = { a, b}
Σ* = { λ, a, b, aa, ab, ba, bb, aaa, aab,}
 •
The + Operation
  + : the set of all possible strings from
Σ
      alphabet Σ except λ

Σ = { a, b}
Σ* = { λ , a, b, aa, ab, ba, bb, aaa, aab,}

 +
Σ = Σ * −λ
 +
Σ = { a, b, aa, ab, ba, bb, aaa, aab,}
Language

• A language is any subset of   Σ*
           Σ = { a, b}
• Example: Σ* = { λ , a, b, aa, ab, ba, bb, aaa,}


            { λ}
            { a, aa, aab}
• Languages:
            {λ , abba, baba, aa, ab, aaaaaa}
Another Example
                       n n
                 L = {a b : n ≥ 0}
• An infinite language

 λ
 ab
                   ∈L    abb ∉ L
 aabb
 aaaaabbbbb
Operations on Languages

• The usual set operations

{ a, ab, aaaa}  { bb, ab} = {a, ab, bb, aaaa}
{ a, ab, aaaa}  { bb, ab} = {ab}
{ a, ab, aaaa} − { bb, ab} = { a, aaaa}
• Complement:
                   L = Σ * −L
  { a, ba} = { λ , b, aa, ab, bb, aaa,}
Reverse
                R        R
             L = {w : w ∈ L}
• Definition:

•
          { ab, aab, baba} = { ba, baa, abab}
    Examples:
                                R

                          n n
                    L = {a b : n ≥ 0}

                     R       n n
                    L = {b a : n ≥ 0}
Concatenation
                L1L2 = { xy : x ∈ L1, y ∈ L2 }
• Definition:


         { a, ab, ba}{ b, aa}
• Example:
         = { ab, aaa, abb, abaa, bab, baaa}
Another Operation
                Ln = 
                     LL  L
                        n
• Definition:

  { a, b}3 ={ a, b}{ a, b}{ a, b} =
  { aaa, aab, aba, abb, baa, bab, bba, bbb}

                     L0 = { λ}
• Special case:
                                    0
                     { a , bba , aaa } = { λ}
More Examples
          n n
•   L = {a b : n ≥ 0}

     2    n n m m
    L = {a b a b : n, m ≥ 0}

                        2
         aabbaaabbb ∈ L
Star-Closure (Kleene *)
                     0   1   2
                L* = L  L  L 
• Definition:


• Example:    λ ,                     
              a, bb,                  
                                      
 { a, bb} * =                         
               aa, abb, bba, bbbb,    
•
              aaa, aabb, abba, abbbb,
                                      
Positive Closure
           +    1    2
             L = L  L 
• Definition:  = L * −{ λ }


           a, bb,                  
        +                          
{ a, bb} = aa, abb, bba, bbbb,     
           aaa, aabb, abba, abbbb,
                                   
Finite Automaton
      Input
•
      String

                   Output
    Finite         String
    Automaton

More Related Content

PPT
Theory of Automata
Farooq Mian
 
PDF
Theory of Computation Grammar Concepts and Problems
Rushabh2428
 
PPTX
Push down automata
Ratnakar Mikkili
 
PPTX
Turing Machine
arwa wshyar
 
PDF
Regular language and Regular expression
Animesh Chaturvedi
 
PDF
Automata theory
Pardeep Vats
 
PPTX
Pumping lemma
sanjeevtmk
 
PPTX
Theory of automata and formal language
Rabia Khalid
 
Theory of Automata
Farooq Mian
 
Theory of Computation Grammar Concepts and Problems
Rushabh2428
 
Push down automata
Ratnakar Mikkili
 
Turing Machine
arwa wshyar
 
Regular language and Regular expression
Animesh Chaturvedi
 
Automata theory
Pardeep Vats
 
Pumping lemma
sanjeevtmk
 
Theory of automata and formal language
Rabia Khalid
 

What's hot (20)

PPT
Turing machines
lavishka_anuj
 
PPTX
Context free grammar
Mohammad Ilyas Malik
 
PPTX
Regular expressions
Shiraz316
 
PPTX
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Mohammad Ilyas Malik
 
PDF
TOC 4 | Non-deterministic Finite Automata
Mohammad Imam Hossain
 
PPT
Lecture 8
shah zeb
 
PPTX
Ambiguous & Unambiguous Grammar
MdImamHasan1
 
PPTX
Regular expressions
Ratnakar Mikkili
 
PPTX
Undecidability.pptx
PEzhumalai
 
PDF
Formal Languages and Automata Theory Unit 1
Srimatre K
 
PPT
Regular Languages
parmeet834
 
PPTX
TOC Introduction
Thapar Institute
 
PPT
Pda to cfg h2
Rajendran
 
PPT
Lecture 3,4
shah zeb
 
PPT
context free language
khush_boo31
 
PDF
Master theorem
fika sweety
 
PPTX
Merge sort algorithm
Shubham Dwivedi
 
PPT
Turing Machine
Rajendran
 
PPTX
Regular Expression in Compiler design
Riazul Islam
 
Turing machines
lavishka_anuj
 
Context free grammar
Mohammad Ilyas Malik
 
Regular expressions
Shiraz316
 
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Mohammad Ilyas Malik
 
TOC 4 | Non-deterministic Finite Automata
Mohammad Imam Hossain
 
Lecture 8
shah zeb
 
Ambiguous & Unambiguous Grammar
MdImamHasan1
 
Regular expressions
Ratnakar Mikkili
 
Undecidability.pptx
PEzhumalai
 
Formal Languages and Automata Theory Unit 1
Srimatre K
 
Regular Languages
parmeet834
 
TOC Introduction
Thapar Institute
 
Pda to cfg h2
Rajendran
 
Lecture 3,4
shah zeb
 
context free language
khush_boo31
 
Master theorem
fika sweety
 
Merge sort algorithm
Shubham Dwivedi
 
Turing Machine
Rajendran
 
Regular Expression in Compiler design
Riazul Islam
 
Ad

Similar to Finite automata intro (20)

PPT
Flat
lavishka_anuj
 
PPT
Class1
issbp
 
PPT
L16
FALLEE31188
 
PPT
Ch01
Maqsood Hayat
 
PPTX
Chap 1 real number
JNV
 
PDF
Chapter 3 REGULAR EXPRESSION.pdf
dawod yimer
 
PDF
Finite mathematics
Igor Rivin
 
PPT
Lecture in Sets, Sequences and Summations
Kamal El-Saady
 
PDF
Mid semexam | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
Vivekananda Samiti
 
PDF
Imc2020 day1&amp;2 problems&amp;solutions
Christos Loizos
 
PDF
Mit6 094 iap10_lec03
Tribhuwan Pant
 
PPT
lecture07 dicrete mathematics relation .ppt
ssuser7b9bda1
 
PDF
Dynamic Programming From CS 6515(Fibonacci, LIS, LCS))
leoyang0406
 
PDF
Prin digcommselectedsoln
Ahmed Alshomi
 
PPT
Methods_of_Proof In Discrete Mathematics
ssuserb399fd
 
PPT
Methods_of_Proof In Discrete Mathematics
ssuserb399fd
 
PDF
Unit i
TPLatchoumi
 
PPTX
Av 738- Adaptive Filtering - Wiener Filters[wk 3]
Dr. Bilal Siddiqui, C.Eng., MIMechE, FRAeS
 
PPTX
Pseudo and Quasi Random Number Generation
Ashwin Rao
 
PDF
about pi and its properties from number theory
ambujkumar914981
 
Class1
issbp
 
Chap 1 real number
JNV
 
Chapter 3 REGULAR EXPRESSION.pdf
dawod yimer
 
Finite mathematics
Igor Rivin
 
Lecture in Sets, Sequences and Summations
Kamal El-Saady
 
Mid semexam | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
Vivekananda Samiti
 
Imc2020 day1&amp;2 problems&amp;solutions
Christos Loizos
 
Mit6 094 iap10_lec03
Tribhuwan Pant
 
lecture07 dicrete mathematics relation .ppt
ssuser7b9bda1
 
Dynamic Programming From CS 6515(Fibonacci, LIS, LCS))
leoyang0406
 
Prin digcommselectedsoln
Ahmed Alshomi
 
Methods_of_Proof In Discrete Mathematics
ssuserb399fd
 
Methods_of_Proof In Discrete Mathematics
ssuserb399fd
 
Unit i
TPLatchoumi
 
Av 738- Adaptive Filtering - Wiener Filters[wk 3]
Dr. Bilal Siddiqui, C.Eng., MIMechE, FRAeS
 
Pseudo and Quasi Random Number Generation
Ashwin Rao
 
about pi and its properties from number theory
ambujkumar914981
 
Ad

More from lavishka_anuj (8)

PPT
Simplifiaction of grammar
lavishka_anuj
 
PPT
Properties of cfg
lavishka_anuj
 
PPT
One ques
lavishka_anuj
 
PPT
Non regular languages
lavishka_anuj
 
PPT
Moore and mealy machines
lavishka_anuj
 
PPT
Grammar
lavishka_anuj
 
PPT
Finite automata
lavishka_anuj
 
PPT
Pushdown automata
lavishka_anuj
 
Simplifiaction of grammar
lavishka_anuj
 
Properties of cfg
lavishka_anuj
 
One ques
lavishka_anuj
 
Non regular languages
lavishka_anuj
 
Moore and mealy machines
lavishka_anuj
 
Grammar
lavishka_anuj
 
Finite automata
lavishka_anuj
 
Pushdown automata
lavishka_anuj
 

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Software Development Methodologies in 2025
KodekX
 
The Future of Artificial Intelligence (AI)
Mukul
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Doc9.....................................
SofiaCollazos
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Simple and concise overview about Quantum computing..pptx
mughal641
 

Finite automata intro

  • 1. Theory of Automata & Formal Languages
  • 2. BOOKS Theory of computer Science: K.L.P.Mishra & N.Chandrasekharan Intro to Automata theory, Formal languages and computation: Ullman,Hopcroft Motwani Elements of theory of computation Lewis & papadimitrou
  • 3. Syllabus Introduction Deterministic and non deterministic Finite Automata, Regular Expression,Two way finite automata,Finite automata with output,properties of regular sets,pumping lemma, closure properties,Myhill nerode theorem
  • 4. Context free Grammar: Derivation trees, Simplification forms Pushdown automata: Def, Relationship between PDA and context free language,Properties, decision algorithms Turing Machines: Turing machine model,Modification of turing machines,Church’s thesis,Undecidability,Recursive and recursively enumerable languages Post correspondence problems recursive functions
  • 5. Chomsky Hierarchy: Regular grammars, unrestricted grammar, context sensitive language, relationship among languages
  • 6. temporary memory input memory CPU output memory Program memory
  • 7. 3 temporary memory f ( x) = x z = 2*2 = 4 f ( x) = z * 2 = 8 input memory x=2 CPU output memory Program memory compute x∗x 2 compute x ∗x
  • 8. Automaton temporary memory Automaton input memory CPU output memory Program memory
  • 9. temporary memory input memory Finite Automaton output memory
  • 10. Different Kinds of Automata Automata are distinguished by the temporary memory • Finite Automata: no temporary memory • Pushdown Automata: stack • Turing Machines: random access memory
  • 11. Turing Machine Random Access Memory input memory Turing Machine output memory Algorithms (highest computing power)
  • 12. Power of Automata Finite Pushdown Turing Automata Automata Machine
  • 13. Power sets A power set is a set of sets S = { a, b, c } Powerset of S = the set of all the subsets of S 2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } Observation: | 2S | = 2|S| ( 8 = 23 )
  • 14. Cartesian Product A = { 2, 4 } B = { 2, 3, 5 } A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) } |A X B| = |A| |B| Generalizes to more than two sets AXBX…XZ
  • 15. RELATIONS R = {(x1, y1), (x2, y2), (x3, y3), …} xi R yi e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1 In relations xi can be repeated
  • 16. Equivalence Relations • Reflexive: xRx • Symmetric: xRy yRx • Transitive: x R Y and y R z xRz Example: R = ‘=‘ •x=x •x=y y=x • x = y and y = z x=z
  • 17. Equivalence Classes For equivalence relation R equivalence class of x = {y : x R y} Example: R = { (1, 1), (2, 2), (1, 2), (2, 1), (3, 3), (4, 4), (3, 4), (4, 3) } Equivalence class of 1 = {1, 2} Equivalence class of 3 = {3, 4}
  • 18. Example of Equivalence relation Let Z = set of integers R be defined on it as: R= {(x,y)| x ∈Z, y ∈ Z and (x - y)is divisible by 5} This relation is known as ” congruent modulo 5”
  • 19. The equivalence classes are [0]R= {…-10, -5, 0, 5,10,…} [1]R = {…..,-9, -4, 1, 6, 11, 16….} [2]R= {….-8, -3,2,7,12,17…..} [3]R = {….-7, -2, 3, 8 ,13,…} [4]R = {….-6,-1,4,9,14,19,….} Z/R ={[0]R, [1]R, [2]R, [3]R, [4]R}
  • 20. PROOF TECHNIQUES • Proof by induction • Proof by contradiction
  • 21. Induction We have statements P1, P2, P3, … If we know • for some k that P1, P2, …, Pk are true • for any n >= k that P1, P2, …, Pn imply Pn+1 Then Every Pi is true
  • 22. Trees root parent leaf child Trees have no cycles
  • 23. Proof by Induction • Inductive basis Find P1, P2, …, Pk which are true • Inductive hypothesis Let’s assume P1, P2, …, Pn are true, for any n >= k • Inductive step Show that Pn+1 is true
  • 24. root Level 0 Level 1 leaf Height 3 Level 2 Level 3
  • 26. Example Theorem: A binary tree of height n has at most 2n leaves. Proof: let l(i) be the number of leaves at level i l(0) = 0 l(3) = 8
  • 27. Induction Step Level n hypothesis: l(n) <= 2n n+1
  • 28. We want to show: l(i) <= 2i • Inductive basis l(0) = 1 (the root node) • Inductive hypothesis Let’s assume l(i) <= 2i for all i = 0, 1, …, n • Induction step we need to show that l(n + 1) <= 2n+1
  • 29. Induction Step Level n hypothesis: l(n) <= 2n n+1 l(n+1) <= 2 * l(n) <= 2 * 2n = 2n+1
  • 30. Proof by Contradiction We want to prove that a statement P is true • we assume that P is false • then we arrive at an incorrect conclusion • therefore, statement P must be true
  • 31. Example Theorem: 2 is not rational Proof: Assume by contradiction that it is rational 2 = n/m n and m have no common factors We will show that this is impossible
  • 32. 2 = n/m 2 m2 = n2 n is even Therefore, n2 is even n=2k m is even 2 m2 = 4k2 m2 = 2k2 m=2p Thus, m and n have common factor 2 Contradiction!
  • 33. Basic Terms Alphabet: A finite non empty set of elements. ∑∑ ={a,b,c,d,…z}
  • 34. • String: A sequence of letters – Examples: “cat”, “dog”, “house”, … – Defined over an alphabet: Σ={a, b, c,, z} Language: It is a set of strings on some alphabet
  • 35. Alphabets and Strings • We will use small alphabets: • Strings Σ = { a, b} a u = ab ab v = bbbaaa abba w = abba baba aaabbbaabab
  • 36. String Operations abba w = a1a2  an bbbaaa v = b1b2  bm Concatenation wv = a1a2  anb1b2 bm abbabbbaaa
  • 37. w = a1a2  an ababaaabbb Reverse R w = an  a2 a1 bbbaaababa
  • 38. String Length w = a1a2  an w =n • Length: abba = 4 • Examples: aa = 2 a =1
  • 39. Recursive Definition of Length a =1 For any letter: wa wa = w + 1 For any string : abba = abb + 1 = ab + 1 + 1 Example: = a +1+1+1 = 1+1+1+1 =4
  • 40. Length of Concatenation uv = u + v u = aab, u = 3 • Example: = abaab, v v =5 uv = aababaab = 8 uv = u + v = 3 + 5 = 8
  • 41. Proof of Concatenation Length uv = u + v • Claim: v • Proof: By induction on the length v =1 – Induction basis: – From definition of length: uv = u +1 = u + v
  • 42. uv = u + v – Inductive hypothesis: v = 1,2,, n • for – Inductive step: we will prove uv = u + v – – for v = n +1
  • 43. Inductive Step v = wa w = n, a = 1 • Write , where uv = uwa = uw + 1 • From definition of length: wa = w + 1 • From inductive hypothesis: uw = u + w • Thus: uv = u + w + 1 = u + wa = u + v
  • 44. Empty String λ • A string with no letters: λ =0 • Observations: λw = wλ = w λabba = abbaλ = abba
  • 45. Substring • Substring of string: – a subsequence of consecutive characters abbab ab • String Substring abbab abba abbab b abbab bbab
  • 46. Prefix and Suffix • Prefixes Suffixes abbab w = uv λ abbab a bbab prefix ab bab suffix abb ab abba b abbab λ
  • 47. Another Operation wn = ww w    n ( abba ) = abbaabba 2 • Example: 0 • Definition: w =λ – ( abba ) = λ 0
  • 48. The * Operation • Σ * : the set of all possible strings from • Σ alphabet Σ = { a, b} Σ* = { λ, a, b, aa, ab, ba, bb, aaa, aab,} •
  • 49. The + Operation + : the set of all possible strings from Σ alphabet Σ except λ Σ = { a, b} Σ* = { λ , a, b, aa, ab, ba, bb, aaa, aab,} + Σ = Σ * −λ + Σ = { a, b, aa, ab, ba, bb, aaa, aab,}
  • 50. Language • A language is any subset of Σ* Σ = { a, b} • Example: Σ* = { λ , a, b, aa, ab, ba, bb, aaa,} { λ} { a, aa, aab} • Languages: {λ , abba, baba, aa, ab, aaaaaa}
  • 51. Another Example n n L = {a b : n ≥ 0} • An infinite language λ ab ∈L abb ∉ L aabb aaaaabbbbb
  • 52. Operations on Languages • The usual set operations { a, ab, aaaa}  { bb, ab} = {a, ab, bb, aaaa} { a, ab, aaaa}  { bb, ab} = {ab} { a, ab, aaaa} − { bb, ab} = { a, aaaa} • Complement: L = Σ * −L { a, ba} = { λ , b, aa, ab, bb, aaa,}
  • 53. Reverse R R L = {w : w ∈ L} • Definition: • { ab, aab, baba} = { ba, baa, abab} Examples: R n n L = {a b : n ≥ 0} R n n L = {b a : n ≥ 0}
  • 54. Concatenation L1L2 = { xy : x ∈ L1, y ∈ L2 } • Definition: { a, ab, ba}{ b, aa} • Example: = { ab, aaa, abb, abaa, bab, baaa}
  • 55. Another Operation Ln =  LL  L n • Definition: { a, b}3 ={ a, b}{ a, b}{ a, b} = { aaa, aab, aba, abb, baa, bab, bba, bbb} L0 = { λ} • Special case: 0 { a , bba , aaa } = { λ}
  • 56. More Examples n n • L = {a b : n ≥ 0} 2 n n m m L = {a b a b : n, m ≥ 0} 2 aabbaaabbb ∈ L
  • 57. Star-Closure (Kleene *) 0 1 2 L* = L  L  L  • Definition: • Example: λ ,  a, bb,    { a, bb} * =    aa, abb, bba, bbbb,  • aaa, aabb, abba, abbbb,  
  • 58. Positive Closure + 1 2 L = L  L  • Definition: = L * −{ λ } a, bb,  +   { a, bb} = aa, abb, bba, bbbb,  aaa, aabb, abba, abbbb,  
  • 59. Finite Automaton Input • String Output Finite String Automaton