Regular Expressions Fall 2006 Costas Busch RPI 1
Regular Expressions Fall 2006 Costas Busch - RPI 1
Regular Expressions Regular expressions describe regular languages Example: describes the language Fall 2006 Costas Busch - RPI 2
Recursive Definition Primitive regular expressions: Given regular expressions and Are regular expressions Fall 2006 Costas Busch - RPI 3
Examples A regular expression: Not a regular expression: Fall 2006 Costas Busch - RPI 4
Languages of Regular Expressions : language of regular expression Example Fall 2006 Costas Busch - RPI 5
Definition For primitive regular expressions: Fall 2006 Costas Busch - RPI 6
Definition (continued) For regular expressions Fall 2006 Costas Busch - RPI and 7
Example Regular expression: Fall 2006 Costas Busch - RPI 8
Example Regular expression Fall 2006 Costas Busch - RPI 9
Example Regular expression Fall 2006 Costas Busch - RPI 10
Example Regular expression = { all strings containing substring 00 } Fall 2006 Costas Busch - RPI 11
Example Regular expression = { all strings without substring 00 } Fall 2006 Costas Busch - RPI 12
Equivalent Regular Expressions Definition: Regular expressions and are equivalent if Fall 2006 Costas Busch - RPI 13
Example = { all strings without substring 00 } and are equivalent regular expressions Fall 2006 Costas Busch - RPI 14
Regular Expressions and Regular Languages Fall 2006 Costas Busch - RPI 15
Theorem Languages Generated by Regular Expressions Fall 2006 Costas Busch - RPI Regular Languages 16
Proof: Languages Generated by Regular Expressions Regular Languages Fall 2006 Costas Busch - RPI 17
Proof - Part 1 Languages Generated by Regular Expressions Regular Languages For any regular expression the language is regular Proof by induction on the size of Fall 2006 Costas Busch - RPI 18
Induction Basis Primitive Regular Expressions: Corresponding NFAs regular languages Fall 2006 Costas Busch - RPI 19
Inductive Hypothesis Suppose that for regular expressions and , and are regular languages Fall 2006 Costas Busch - RPI 20
Inductive Step We will prove: Are regular Languages Fall 2006 Costas Busch - RPI 21
By definition of regular expressions: Fall 2006 Costas Busch - RPI 22
By inductive hypothesis we know: and are regular languages We also know: Regular languages are closed under: Union Concatenation Star Fall 2006 Costas Busch - RPI 23
Therefore: Are regular languages is trivially a regular language (by induction hypothesis) Fall 2006 Costas Busch - RPI End of Proof-Part 1 24
Using the regular closure of these operations, we can construct recursively the NFA that accepts Example: Fall 2006 Costas Busch - RPI 25
Proof - Part 2 Languages Generated by Regular Expressions Regular Languages For any regular language there is a regular expression with We will convert an NFA that accepts to a regular expression Fall 2006 Costas Busch - RPI 26
Since NFA is regular, there is a that accepts it Take it with a single final state Fall 2006 Costas Busch - RPI 27
From construct the equivalent Generalized Transition Graph in which transition labels are regular expressions Example: Fall 2006 Corresponding Generalized transition graph Costas Busch - RPI 28
Another Example: Transition labels are regular expressions Fall 2006 Costas Busch - RPI 29
Reducing the states: Transition labels are regular expressions Fall 2006 Costas Busch - RPI 30
Resulting Regular Expression: Fall 2006 Costas Busch - RPI 31
In General Removing a state: Fall 2006 Costas Busch - RPI 32
By repeating the process until two states are left, the resulting graph is Initial graph Resulting graph The resulting regular expression: Fall 2006 Costas Busch - RPI End of Proof-Part 2 33
Standard Representations of Regular Languages DFAs NFAs Fall 2006 Costas Busch - RPI Regular Expressions 34
When we say: We mean: We are given a Regular Language is in a standard representation (DFA, NFA, or Regular Expression) Fall 2006 Costas Busch - RPI 35
- Slides: 35