Regular Expressions (REs) Regular Expressions (REs) p.1/37 - PowerPoint PPT Presentation
Regular Expressions (REs) Regular Expressions (REs) p.1/37 Expressions In arithmetic: Regular Expressions (REs) p.2/37 Expressions In arithmetic: 1. expressions are constructed from numbers and variables using arithmetic
β οΏ½ β οΏ½ β οΏ½ β οΏ½ β β β β β β οΏ½ β β β οΏ½ β οΏ½ β οΏ½ οΏ½ β οΏ½ β Precedence relation Denoting the rule describing the order of ops in the evaluation of arithmetic and regular expressions we have: β ββ Arithmetic expressions: Regular expressions: β βοΏ½ Note: denotes expressions enclosed in parentheses Regular Expressions (REs) β p.7/37
οΏ½ οΏ½ οΏ½ Formal definitions Consider an alphabet. A regular expression (RE) over is defi ned recursivelyby the rules: Regular Expressions (REs) β p.8/37
οΏ½ οΏ½ οΏ½ Formal definitions Consider an alphabet. A regular expression (RE) over is defi ned recursivelyby the rules: Recursion basis: Regular Expressions (REs) β p.8/37
β β οΏ½ β οΏ½ οΏ½ οΏ½ β β β οΏ½ β οΏ½ οΏ½ οΏ½ Formal definitions Consider an alphabet. A regular expression (RE) over is defi ned recursivelyby the rules: Recursion basis: 1. For any , is a RE describing the language Regular Expressions (REs) β p.8/37
οΏ½ β οΏ½ β β β β οΏ½ β οΏ½ οΏ½ β β β οΏ½ β β β οΏ½ β οΏ½ β οΏ½ β Formal definitions Consider an alphabet. A regular expression (RE) over is defi ned recursivelyby the rules: Recursion basis: 1. For any , is a RE describing the language 2. is a RE describing the language Regular Expressions (REs) β p.8/37
β β β οΏ½ β β β β β οΏ½ β β β οΏ½ οΏ½ οΏ½ β οΏ½ β β β οΏ½ οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ β Formal definitions Consider an alphabet. A regular expression (RE) over is defi ned recursivelyby the rules: Recursion basis: 1. For any , is a RE describing the language 2. is a RE describing the language 3. is a RE describing the empty language . Regular Expressions (REs) β p.8/37
οΏ½ β β β οΏ½ β οΏ½ οΏ½ β οΏ½ β οΏ½ Formal definitions, continutation Recursion body: If and are REs evaluating to the οΏ½ βοΏ½ languages and then: Regular Expressions (REs) β p.9/37
οΏ½ οΏ½ β β β οΏ½ β β οΏ½ οΏ½ οΏ½ β β β οΏ½ οΏ½ β β β οΏ½ οΏ½ οΏ½ β β β β οΏ½ β οΏ½ β Formal definitions, continutation Recursion body: If and are REs evaluating to the οΏ½ βοΏ½ languages and then: 1. is a RE evaluating to Regular Expressions (REs) β p.9/37
οΏ½ οΏ½ β β β οΏ½ οΏ½ β β β β οΏ½ οΏ½ β β οΏ½ οΏ½ οΏ½ β β οΏ½ β β β β οΏ½ β β οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β β β οΏ½ οΏ½ β β β β οΏ½ οΏ½ β Formal definitions, continutation Recursion body: If and are REs evaluating to the οΏ½ βοΏ½ languages and then: 1. is a RE evaluating to 2. is a RE evaluating to Regular Expressions (REs) β p.9/37
β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β β οΏ½ β οΏ½ οΏ½ β β β β β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β οΏ½ β οΏ½ β β οΏ½ β β οΏ½ οΏ½ β β β οΏ½ οΏ½ β β οΏ½ οΏ½ β β β οΏ½ οΏ½ οΏ½ β β β β οΏ½ β β οΏ½ οΏ½ β β οΏ½ οΏ½ β β β οΏ½ οΏ½ β β β β οΏ½ οΏ½ β β β β οΏ½ β οΏ½ Formal definitions, continutation Recursion body: If and are REs evaluating to the οΏ½ βοΏ½ languages and then: 1. is a RE evaluating to 2. is a RE evaluating to 3. is a RE evaluating to β βοΏ½ where and . Regular Expressions (REs) β p.9/37
Note A defi nition of the form expressed by rule (4) above is called an inductive defi nition Regular Expressions (REs) β p.10/37
οΏ½ οΏ½ β Potential confusions Do not confuse the REs and ; Regular Expressions (REs) β p.11/37
οΏ½ οΏ½ β β Potential confusions Do not confuse the REs and ; 1. represents the language containing just the empty string Regular Expressions (REs) β p.11/37
οΏ½ οΏ½ β β οΏ½ Potential confusions Do not confuse the REs and ; 1. represents the language containing just the empty string 2. is the RE that represents the the empty language Regular Expressions (REs) β p.11/37
β οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ β β οΏ½ Potential confusions Do not confuse the REs and ; 1. represents the language containing just the empty string 2. is the RE that represents the the empty language Note the distinction between and . is an expression and is the set of strings specifi ed by Regular Expressions (REs) β p.11/37
οΏ½ β β οΏ½ β Example REs 1. , Regular Expressions (REs) β p.12/37
β οΏ½ β β β β οΏ½ οΏ½ β οΏ½ β β β β οΏ½ β β οΏ½ οΏ½ Example REs 1. , contains exactly a single 1 Regular Expressions (REs) β p.12/37
β οΏ½ β β οΏ½ β οΏ½ β β β β β β β οΏ½ οΏ½ β β β οΏ½ β β οΏ½ β Example REs 1. , contains exactly a single 1 2. , Regular Expressions (REs) β p.12/37
β β β β β β β β β οΏ½ β οΏ½ β β β β β οΏ½ β β οΏ½ οΏ½ β β οΏ½ β οΏ½ β οΏ½ οΏ½ β β οΏ½ β β β β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 Regular Expressions (REs) β p.12/37
β β β β οΏ½ β οΏ½ β οΏ½ β β β β β β β β οΏ½ β οΏ½ β β β β οΏ½ οΏ½ β β οΏ½ β β β οΏ½ β β β οΏ½ β β β β οΏ½ β οΏ½ β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , Regular Expressions (REs) β p.12/37
β οΏ½ β β β οΏ½ β οΏ½ β οΏ½ β β οΏ½ β β οΏ½ β β β β β β οΏ½ β β οΏ½ οΏ½ β β β β β β β οΏ½ β β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β οΏ½ β οΏ½ β οΏ½ β β οΏ½ β β β β β οΏ½ β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring Regular Expressions (REs) β p.12/37
β β β β β οΏ½ οΏ½ οΏ½ β β β β β οΏ½ οΏ½ β β β β β οΏ½ β β β β β οΏ½ οΏ½ οΏ½ β β οΏ½ β β β οΏ½ β οΏ½ β β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β β β β β οΏ½ β β β β β οΏ½ β β β β οΏ½ β οΏ½ Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , Regular Expressions (REs) β p.12/37
οΏ½ β οΏ½ β β οΏ½ β β β β β οΏ½ β β β β β β οΏ½ β β β β β β οΏ½ οΏ½ β β οΏ½ β οΏ½ β οΏ½ β οΏ½ β β β οΏ½ οΏ½ β οΏ½ β β β β οΏ½ β β οΏ½ β β β β οΏ½ β β οΏ½ οΏ½ οΏ½ β οΏ½ β β β β β β β β οΏ½ οΏ½ β β β β β β β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length Regular Expressions (REs) β p.12/37
β οΏ½ β β β β οΏ½ οΏ½ β β β β οΏ½ β β β οΏ½ οΏ½ β β β οΏ½ β β β β οΏ½ β β β β β οΏ½ β β β οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β β β οΏ½ β β β β οΏ½ β οΏ½ β οΏ½ β β β οΏ½ β β οΏ½ οΏ½ β οΏ½ β β οΏ½ β β β β β β β β οΏ½ β β β β β β β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , Regular Expressions (REs) β p.12/37
οΏ½ β β β οΏ½ οΏ½ β οΏ½ β οΏ½ β β β β β β β οΏ½ β β οΏ½ β β β οΏ½ β β β β οΏ½ β β β οΏ½ β οΏ½ β β β β β β οΏ½ β οΏ½ β β β β β β οΏ½ β οΏ½ οΏ½ β οΏ½ β β β β β β β οΏ½ οΏ½ β β β οΏ½ β β οΏ½ β β οΏ½ β οΏ½ β β β β β οΏ½ β οΏ½ β β β β β β β β οΏ½ β οΏ½ β β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three Regular Expressions (REs) β p.12/37
β οΏ½ οΏ½ β β β β οΏ½ οΏ½ οΏ½ οΏ½ β β β β β β β β οΏ½ οΏ½ β β οΏ½ β β οΏ½ β β β β β β β β οΏ½ β β οΏ½ β β οΏ½ β β β β β β οΏ½ β β β β β οΏ½ β β οΏ½ οΏ½ β οΏ½ β β β β β β β οΏ½ οΏ½ β β β οΏ½ β β οΏ½ β β β οΏ½ β οΏ½ οΏ½ β β β β οΏ½ οΏ½ β β β β β β β β β β οΏ½ β β β οΏ½ Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , Regular Expressions (REs) β p.12/37
οΏ½ οΏ½ β β β β β οΏ½ β β β β β β οΏ½ οΏ½ β β β β οΏ½ β οΏ½ β οΏ½ β β β β β β β οΏ½ οΏ½ β β οΏ½ β β οΏ½ β β β β β οΏ½ β οΏ½ β οΏ½ β β β β β οΏ½ οΏ½ β β β β β β β β β β οΏ½ β β οΏ½ β οΏ½ β β β β οΏ½ β β οΏ½ οΏ½ β β β οΏ½ β β οΏ½ β β οΏ½ β οΏ½ β β οΏ½ β β β β β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ β οΏ½ β β β β β β β β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , Regular Expressions (REs) β p.12/37
β β β β οΏ½ β β οΏ½ οΏ½ β οΏ½ β β β β β β οΏ½ β β β β β β οΏ½ οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β β οΏ½ β β οΏ½ οΏ½ β οΏ½ β οΏ½ β β οΏ½ β β β οΏ½ οΏ½ β οΏ½ β β β β β β β οΏ½ β β β β β οΏ½ β β β β β β β οΏ½ β β οΏ½ β οΏ½ β β β β οΏ½ β β οΏ½ οΏ½ β β β οΏ½ β β οΏ½ β β οΏ½ β β β β β β β οΏ½ οΏ½ β β οΏ½ β β β β β οΏ½ οΏ½ β β β β β οΏ½ β οΏ½ β β β β β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , 7. , Regular Expressions (REs) β p.12/37
οΏ½ β β β β οΏ½ β β β β β β β οΏ½ β β οΏ½ β β β β β β οΏ½ β β β β β β β β οΏ½ β β β οΏ½ οΏ½ β β β β οΏ½ οΏ½ β β οΏ½ β οΏ½ β β β β οΏ½ β β β β οΏ½ οΏ½ β β οΏ½ β β β οΏ½ β β β οΏ½ β β β β οΏ½ β β β β β β β β β β οΏ½ οΏ½ β οΏ½ β β β β β οΏ½ β β οΏ½ οΏ½ β β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β β β β β β οΏ½ β β β β β οΏ½ β β οΏ½ οΏ½ οΏ½ β β β οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ β οΏ½ β β β β β οΏ½ β β β β β β οΏ½ β οΏ½ Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , 7. , starts and ends with the same symbol Regular Expressions (REs) β p.12/37
οΏ½ οΏ½ β οΏ½ β β β οΏ½ β β β οΏ½ β β οΏ½ οΏ½ β β οΏ½ β β β β β οΏ½ β οΏ½ β οΏ½ β β β β β β β οΏ½ β β β β β β β β β οΏ½ β β οΏ½ β β β β β β οΏ½ β β β β β οΏ½ β οΏ½ οΏ½ οΏ½ β β β οΏ½ β β οΏ½ οΏ½ β οΏ½ β β β β β β β οΏ½ β β β β β β β β β β οΏ½ οΏ½ β οΏ½ β β β β οΏ½ οΏ½ β β β β β β οΏ½ β οΏ½ οΏ½ β οΏ½ β β β β β β β β β β β β β οΏ½ οΏ½ β β β οΏ½ β β β οΏ½ οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β οΏ½ οΏ½ β β β β β β οΏ½ β οΏ½ β Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , 7. , starts and ends with the same symbol 8. , Regular Expressions (REs) β p.12/37
οΏ½ β β οΏ½ οΏ½ β β οΏ½ β β οΏ½ οΏ½ οΏ½ β β οΏ½ β β β β οΏ½ οΏ½ β β β β οΏ½ β β β β β β β β β β β β β β β οΏ½ οΏ½ β οΏ½ β β β β β β β οΏ½ β β β β β οΏ½ β οΏ½ β β β β οΏ½ β οΏ½ β β β β οΏ½ β β οΏ½ β β οΏ½ β β β οΏ½ β β β β οΏ½ β β οΏ½ β β β β β β β οΏ½ β β β β β β β β οΏ½ β οΏ½ β β β β οΏ½ οΏ½ β β οΏ½ β β β οΏ½ β β β οΏ½ β β β β οΏ½ β οΏ½ β β οΏ½ β οΏ½ β β β β οΏ½ β β β β β β οΏ½ β β β β β β οΏ½ οΏ½ β β οΏ½ οΏ½ β β β οΏ½ β οΏ½ β β οΏ½ οΏ½ β β β β β β οΏ½ οΏ½ Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , 7. , starts and ends with the same symbol 8. , Regular Expressions (REs) β p.12/37
β β β β β οΏ½ οΏ½ β β οΏ½ β β β β οΏ½ β β οΏ½ β β β οΏ½ οΏ½ β β β β β β β β οΏ½ β β β β οΏ½ β β οΏ½ β β οΏ½ οΏ½ β β β οΏ½ β β β β β οΏ½ β οΏ½ β β β οΏ½ β οΏ½ β β β β β β β οΏ½ β οΏ½ β β β β β β β οΏ½ β β β οΏ½ β οΏ½ β β οΏ½ β β β β β β οΏ½ οΏ½ β β β β β β οΏ½ β β β β β β β β οΏ½ β οΏ½ οΏ½ β β β β β β οΏ½ β β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β β β οΏ½ β οΏ½ β β οΏ½ β β οΏ½ οΏ½ β β β β β β οΏ½ β οΏ½ β β β β οΏ½ β οΏ½ β β β β οΏ½ οΏ½ β β β β β οΏ½ β β οΏ½ β οΏ½ β β β β β οΏ½ β οΏ½ β οΏ½ οΏ½ Example REs 1. , contains exactly a single 1 2. , contains at least one 1 3. , contains as a substring 4. , is a string of even length 5. , the length of is a multiple of three 6. , 7. , starts and ends with the same symbol 8. , 9. , Regular Expressions (REs) β p.12/37
Regular Expressions (REs) β p.12/37 β οΏ½ β β β οΏ½ οΏ½ β β οΏ½ β β β β β β οΏ½ β β β β β οΏ½ β οΏ½ β β β οΏ½ β β β β β οΏ½ οΏ½ β β οΏ½ β β β β οΏ½ β β οΏ½ β β οΏ½ β β οΏ½ β β οΏ½ β β β β β β β οΏ½ οΏ½ οΏ½ β β β οΏ½ β οΏ½ β β β β β β β β β οΏ½ β β β β β β β β β β οΏ½ οΏ½ οΏ½ β β β β β β β β οΏ½ β β β β β β οΏ½ οΏ½ β οΏ½ οΏ½ β β β οΏ½ οΏ½ β β β β β β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ β β β β β β οΏ½ β β οΏ½ β οΏ½ β β β β β β β β β οΏ½ οΏ½ β β β β β β β β β οΏ½ β οΏ½ β β β οΏ½ οΏ½ οΏ½ β β β οΏ½ β β β οΏ½ β οΏ½ β οΏ½ β β β β β β β β β οΏ½ β οΏ½ β οΏ½ οΏ½ β β β β β οΏ½ β β οΏ½ β β β β β starts and is a multiple of three as a substring contains exactly a single 1 contains at least one 1 is a string of even length contains the length of οΏ½ ββ ends with the same symbol Example REs , , , , , , , , , 1. 2. 3. 4. 5. 6. 7. 8. 9.
β β β β β β β οΏ½ β β β β οΏ½ More example 10. , ; Note: concatenating to any set yields Regular Expressions (REs) β p.13/37
β οΏ½ οΏ½ οΏ½ οΏ½ β β β οΏ½ β οΏ½ β β β β β β β β β οΏ½ β β β β οΏ½ More example 10. , ; Note: concatenating to any set yields 11. , ; by defi nition, is in the star operation applied on any language; if the language is empty becomes the one element Regular Expressions (REs) β p.13/37
οΏ½ Identities If is a RE then the following identities take place: Regular Expressions (REs) β p.14/37
β οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ β οΏ½ β οΏ½ β Identities If is a RE then the following identities take place: ; adding the empty language to any other language will not change that language Regular Expressions (REs) β p.14/37
οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ β β οΏ½ οΏ½ β οΏ½ β β β οΏ½ οΏ½ β οΏ½ οΏ½ Identities If is a RE then the following identities take place: ; adding the empty language to any other language will not change that language ; concatenating any string with the empty string does not change that string Regular Expressions (REs) β p.14/37
β οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ β β οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ οΏ½ Note . Example: if then ; Regular Expressions (REs) β p.15/37
β οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ β β οΏ½ οΏ½ β οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ οΏ½ β οΏ½ β β Note . Example: if then ; . Example: if then but Regular Expressions (REs) β p.15/37
οΏ½ Application REs are useful tools for the design of compilers Regular Expressions (REs) β p.16/37
οΏ½ οΏ½ Application REs are useful tools for the design of compilers Language lexicon is described by REs. Regular Expressions (REs) β p.16/37
β β β οΏ½ οΏ½ οΏ½ οΏ½ β β οΏ½ οΏ½ β β οΏ½ β β β β β β β β β β οΏ½ β β β β β β β β β οΏ½ οΏ½ οΏ½ β β οΏ½ οΏ½ β Application REs are useful tools for the design of compilers Language lexicon is described by REs. Example: numerical constants can be described by: where β ββ β ββ β ββ β ββ Regular Expressions (REs) β p.16/37
οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ β β β β οΏ½ β οΏ½ β β β β β β β β β β οΏ½ οΏ½ β β β β β β β β β οΏ½ οΏ½ οΏ½ β β οΏ½ οΏ½ β Application REs are useful tools for the design of compilers Language lexicon is described by REs. Example: numerical constants can be described by: where β ββ β ββ β ββ β ββ From the lexicon description by REs one can generate automatically lexical analyzers Regular Expressions (REs) β p.16/37
οΏ½ β οΏ½ οΏ½ β β οΏ½ οΏ½ β New terminology A RE that evaluates to the language is further said that specifi es the language Regular Expressions (REs) β p.17/37
οΏ½ Equivalence with FA REs and fi nite automata are equivalentin their descriptive power Regular Expressions (REs) β p.18/37
οΏ½ οΏ½ οΏ½ οΏ½ Equivalence with FA REs and fi nite automata are equivalentin their descriptive power Any RE can be converted into a fi nite automaton, βββ , that recognizes the language specifi ed by Regular Expressions (REs) β p.18/37
οΏ½ οΏ½ β β οΏ½ οΏ½ οΏ½ Equivalence with FA REs and fi nite automata are equivalentin their descriptive power Any RE can be converted into a fi nite automaton, βββ , that recognizes the language specifi ed by Vice-versa, any fi nite automaton recognizing a language can be converted into a RE that οΏ½ βοΏ½ specifi es the language Regular Expressions (REs) β p.18/37
Theorem 1.54 Language is regular iff some RE specifi es it Regular Expressions (REs) β p.19/37
Theorem 1.54 Language is regular iff some RE specifi es it Proof idea: this proof has two parts: Regular Expressions (REs) β p.19/37
οΏ½ Theorem 1.54 Language is regular iff some RE specifi es it Proof idea: this proof has two parts: First part: we show that a language specified by a RE is regular, i.e., there is a finite automaton that recognizes it. Regular Expressions (REs) β p.19/37
οΏ½ οΏ½ Theorem 1.54 Language is regular iff some RE specifi es it Proof idea: this proof has two parts: First part: we show that a language specified by a RE is regular, i.e., there is a finite automaton that recognizes it. Second part: we show that if a language is regular then there is a RE that specifies it Regular Expressions (REs) β p.19/37
Lemma 1.55 If a language is specifi ed by a RE, then it is regular. Regular Expressions (REs) β p.20/37
β οΏ½ Lemma 1.55 If a language is specifi ed by a RE, then it is regular. Proof idea: Assume that we have a RE that evaluate to the language . Regular Expressions (REs) β p.20/37
β οΏ½ οΏ½ οΏ½ Lemma 1.55 If a language is specifi ed by a RE, then it is regular. Proof idea: Assume that we have a RE that evaluate to the language . 1. We will show how to convert into an NFA that recognizes . Regular Expressions (REs) β p.20/37
οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ Lemma 1.55 If a language is specifi ed by a RE, then it is regular. Proof idea: Assume that we have a RE that evaluate to the language . 1. We will show how to convert into an NFA that recognizes . 2. Then by corollary 1.40, if an NFA recognizes then is regular Regular Expressions (REs) β p.20/37
οΏ½ οΏ½ Proof Convert into an NFA by the following six-steps proce- dure: Regular Expressions (REs) β p.21/37
β β β β β β β β οΏ½ οΏ½ β β οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ Step 1: If , then and the NFA recognizing is in Figure 1 Figure 1: NFA recognizing Regular Expressions (REs) β p.22/37
οΏ½ β β β β β β β οΏ½ β β β οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ Step 1: If , then and the NFA recognizing is in Figure 1 Figure 1: NFA recognizing Note: this is an NFA but not a DFA because it has states with no exiting arrow for each possible input symbol Regular Expressions (REs) β p.22/37
οΏ½ β οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ β β β β οΏ½ β β β οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ β β οΏ½ β β β β οΏ½ οΏ½ β οΏ½ οΏ½ β β οΏ½ Formal construction οΏ½ βοΏ½ Formally where: , οΏ½ ββ , for and Regular Expressions (REs) β p.23/37
β β β β οΏ½ β β β οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ β οΏ½ οΏ½ β οΏ½ οΏ½ οΏ½ Step 2: If then and the NFA that recognizes is in Figure 2 Figure 2: The NFA recognizing Regular Expressions (REs) β p.24/37
οΏ½ οΏ½ β β β β β β β β β β οΏ½ οΏ½ β β β οΏ½ β β οΏ½ οΏ½ οΏ½ οΏ½ οΏ½ β Formal construction οΏ½ βοΏ½ οΏ½ βοΏ½ Formally where: οΏ½ ββ for any and Regular Expressions (REs) β p.25/37
οΏ½ β β β β β β οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ Step 3: If then , and the NFA that recognizes is in Figure 3 Figure 3: he NFA recognizing Regular Expressions (REs) β p.26/37
β β β οΏ½ β β β β β οΏ½ β β β οΏ½ β β β οΏ½ οΏ½ οΏ½ β Formal construction οΏ½ βοΏ½ Formally where: οΏ½ ββ for any and Regular Expressions (REs) β p.27/37
β οΏ½ β β οΏ½ οΏ½ β οΏ½ β οΏ½ β οΏ½ β β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ β Step 4: If then . οΏ½ βοΏ½ Regular Expressions (REs) β p.28/37
β οΏ½ β β β β οΏ½ β οΏ½ β οΏ½ οΏ½ β οΏ½ β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ οΏ½ Step 4: If then . οΏ½ βοΏ½ Note: in view with the inductive nature of we may assume that: Regular Expressions (REs) β p.28/37
οΏ½ οΏ½ οΏ½ οΏ½ β β β β β β οΏ½ β β β β β β β β β β β οΏ½ β β οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ β β οΏ½ οΏ½ οΏ½ β οΏ½ β οΏ½ β β β β β Step 4: If then . οΏ½ βοΏ½ Note: in view with the inductive nature of we may assume that: 1. is an NFA recognizing Regular Expressions (REs) β p.28/37
β οΏ½ β β β β β β β β β β β β β οΏ½ β β β β β β β οΏ½ οΏ½ β β β β β β β β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ οΏ½ β οΏ½ β β β οΏ½ οΏ½ β οΏ½ β β οΏ½ οΏ½ β β β β β οΏ½ οΏ½ β β β οΏ½ οΏ½ β β β Step 4: If then . οΏ½ βοΏ½ Note: in view with the inductive nature of we may assume that: 1. is an NFA recognizing 2. is an NFA recognizing Regular Expressions (REs) β p.28/37
β β β οΏ½ β β οΏ½ οΏ½ β β β οΏ½ β β β β β β οΏ½ β β οΏ½ β β β β β β β οΏ½ β β β β β β β β β β β οΏ½ β οΏ½ β οΏ½ οΏ½ β β β οΏ½ β οΏ½ οΏ½ οΏ½ οΏ½ β β β οΏ½ β β οΏ½ οΏ½ β β β οΏ½ β οΏ½ β οΏ½ β β οΏ½ οΏ½ οΏ½ Step 4: If then . οΏ½ βοΏ½ Note: in view with the inductive nature of we may assume that: 1. is an NFA recognizing 2. is an NFA recognizing The NFA recognizing is given in Figure 4 Regular Expressions (REs) β p.28/37
β β οΏ½ οΏ½ β οΏ½ β β β β β β β β οΏ½ β β β β β β β β β β β β β β β β β β NFA recognizing βββ Figure 4: Construction of to recognize Regular Expressions (REs) β p.29/37
β β β β β β β οΏ½ β οΏ½ β β β β β β β οΏ½ β Construction procedure 1. : That is, the states of are all states on and with the addition of a new state Regular Expressions (REs) β p.30/37
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.