0% found this document useful (0 votes)
20 views11 pages

Lesson 03

The document discusses regular expressions (RE) and their role in defining languages over alphabets, illustrating how different languages can be expressed using RE such as a*, a+, and combinations thereof. It emphasizes that a language may have multiple REs and provides examples of languages defined over the alphabet {a, b}. Additionally, it outlines the recursive definition of RE and presents tasks for constructing REs for specific language conditions.

Uploaded by

kashafbutt72
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views11 pages

Lesson 03

The document discusses regular expressions (RE) and their role in defining languages over alphabets, illustrating how different languages can be expressed using RE such as a*, a+, and combinations thereof. It emphasizes that a language may have multiple REs and provides examples of languages defined over the alphabet {a, b}. Additionally, it outlines the recursive definition of RE and presents tasks for constructing REs for specific language conditions.

Uploaded by

kashafbutt72
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 11

Regular Expression

 As discussed earlier that a* generates


Λ, a, aa, aaa, …
and a+ generates a, aa, aaa, aaaa, …, so
the language L1 = {Λ, a, aa, aaa, …} and
L2 = {a, aa, aaa, aaaa, …} can simply
be expressed by a* and a+, respectively.
a* and a+ are called the regular expressions
(RE) for L1 and L2 respectively.
Note: a+, aa* and a*a generate L2.
1
Important Notes

 A language may have more than one RE


 We may have more than one languages
over the same alphabet. i.e. a(a*),(a+) etc.
 There are so many languages that cannot
be expressed by RE i.e. L= {Λ}, Λ*= Λ,
L={a} =>a L={b} =>b,
 Strings can never be added or multiplied
only languages can be added or multiplied.
 Two RE’s are said to be equivalent not
equal to exact, if they generate the same
language i.e. a+ = aa*
2
Recursive definition of Regular
Expression(RE)

Step 1: Every letter of Σ including Λ is a regular


expression.
Step 2: If r1 and r2 are regular expressions then
1. (r1)

2. r1 r2

3. r1 + r2 and r2 + r1

4. r1*
are also regular expressions.
Step 3: Nothing else is a regular expression.

3
Defining Languages (continued)…

 Method 3 (Regular Expressions)


 Consider the language L={Λ, x, xx, xxx,…}
of strings, defined over Σ = {x}.
We can write this language as the Kleene
star closure of alphabet Σ or L=Σ*={x}*
this language can also be expressed by the
regular expression x*.
 Similarly the language L={x, xx, xxx,…},
defined over Σ = {x}, can be expressed by
the regular expression x+.

4
 Now consider another language L,
consisting of all possible strings, defined
over Σ = {a, b}. This language can
also be expressed by the regular
expression
(a + b)*.
 Now consider another language L, of
strings having exactly double a, defined
over Σ = {a, b}, then it’s regular
expression may be
b*aab*
5
 Now consider another language L, of
even length, defined over Σ = {a, b},
then it’s regular expression may be
((a+b)(a+b))*
 Now consider another language L, of
odd length, defined over Σ = {a, b},
then it’s regular expression may be
(a+b)((a+b)(a+b))* or
((a+b)(a+b))*(a+b)

6
Remark

 It may be noted that a language may be


expressed by more than one regular
expressions, while given a regular
expression there exist a unique language
generated by that regular expression.

7
 Example:
 Consider the language, defined over
Σ={a , b} of words having at least one a,
may be expressed by a regular
expression
(a+b)*a(a+b)*.
 Consider the language, defined over
Σ = {a, b} of words having at least one a
and one b, may be expressed by a
regular expression
(a+b)*a(a+b)*b(a+b)*+ (a+b)*b(a+b)*a(a+b)*. 8
 Consider the language, defined over
Σ={a, b}, of words starting with double
a and ending in double b then its
regular expression may be aa(a+b)*bb
 Consider the language, defined over
Σ={a, b} of words starting with a and
ending in b OR starting with b and
ending in a, then its regular expression
may be a(a+b)*b+b(a+b)*a

9
TASK

 Consider the language, defined over


Σ={a, b} of words beginning with a,
then its regular expression may be a(a+b)*

 Consider the language, defined over


Σ={a, b} of words beginning and
ending in same letter, then its regular
expression may be (a+b)
+a(a+b)*a+b(a+b)*b

10
TASK

 Consider the language, defined over


Σ={a, b} of words ending in b, then
its regular expression may be (a+b) *b.
 Consider the language, defined over
Σ={a, b} of words not ending in a,
then its regular expression may be (a+b) *b
+ Λ. It is to be noted that this language
may also be expressed by ((a+b) *b)*.

11

You might also like