Transcript A = B ∩ A
CS 3240 – Chapter 4
Closure Properties
Algorithms for Elementary Questions:
Is a given word, w, in L?
Is L empty, finite or infinite?
Are L1 and L2 the same set?
Detecting non-regular languages
CS 3240 - Properties of Regular Languages
2
Closure of operations
If x and y are in the same set, is x op y also?
Example: The integers are closed under addition
▪ They are not closed under division
Regular languages are closed under
everything!
Typical set operations
CS 3240 - Properties of Regular Languages
3
Regular languages are closed under:
Kleene Star (*)
Union (+)
Concatenation (xy)
(By definition!)
They are also closed under:
Complement (reverse state acceptability✓)
Intersection
Set difference
Reversal (already proved in homework #12, 2.3✓)
CS 3240 - Properties of Regular Languages
4
Proof from set theory:
L1 ∩ L2 = (L1’ ∪ L2’)’
Since complement and union are closed,
intersection must be also! QED
CS 3240 - Properties of Regular Languages
5
• Note how the intersection is never shaded
• L1’ ∪ L2’ shades everything but where they overlap
• Therefore, (L1’ ∪ L2’)’ is the overlap (intersection)
CS 3240 - Properties of Regular Languages
6
A – B:
Everything that is in A but not in B
A – B = A ∩ B’
We have already shown that regular languages
are closed under intersection and complement.
QED
CS 3240 - Properties of Regular Languages
7
Start with a composite start state:
Consisting of the two start states
Follow all out-edges simultaneously
As we did for NFA-to-DFA conversion
States containing any original final state is a final state
in the result for union
Because one of the machines accepts there
States containing an original final state from each
original machine is a final state in the result for
intersection
Because both of the machines accept there
¿How would you construct the difference machine?
CS 3240 - Properties of Regular Languages
8
b
a,b
a
a
-x1
x2
+x3
b
b
y1
a
Double-a
y2
b
a
a
a
EVEN-EVEN
b
y3
y4
b
9
xi, yi
a
b
x1, y1
x2, y3
x1, y2
x2, y3
x3, y1
x1, y4
x1, y2
x2, y4
x1, y1
x3, y1
x3, y3
x3, y2
x1, y4
x2, y2
x1, y3
x2, y4
x3, y2
x1, y3
x3, y3
x3, y1
x3, y4
x3, y2
x3, y4
x3, y1
x2, y2
x3, y4
x1, y1
x1, y3
x2, y1
x1, y4
x3, y4
x3, y2
x3, y3
x2, y1
x3, y3
x1, y2
For union: assign accepting
states where any original xi or
yi accept.
For intersection: assign
accepting states only where
both original xi or yi accept
simultaneously. No need to
compute (L1’ ∪ L2’)’ !
For difference, assign
accepting states where one
accepts and the other does
not.
The resulting machine…
a
11
a
a
a
a
b
a
1
9
b
8
3
b
b
b
b
b
12
b
a
a
10
a
7
6
b
b
a
5
b
2
a
4
a
11
Given a word w, and a regular language, L,
can we answer the question:
Is w ∊ L?
You tell me…
CS 3240 - Properties of Regular Languages
12
A graph theory problem:
Find a path from the start to a final state in the
associated FA
Algorithm:
“mark” the start state
repeat:
mark any state with an incoming edge from a previously
marked state
until an accepting state is marked or no new states were
marked at all
CS 3240 - Properties of Regular Languages
13
Attempt to convert the associated FA to a
regular expression
By the state bypass and elimination algorithm
If you get a regular expression, then a string is
accepted
CS 3240 - Properties of Regular Languages
14
Suppose a minimal machine, M, for the
language L has p states
If M accepts any non-empty words at all, it
must accept one of length <= p
Why?
So…
Systematically try all possible strings in Σ* of
length 1 through p. If none are accepted, then no
non-empty strings at all are in L.
CS 3240 - Properties of Regular Languages
15
Convert its machine to a regular expression
It is infinite iff it has a star
Another way:
A language is infinite if there is a cycle in an
accepting path
A (tedious) graph theory problem
CS 3240 - Properties of Regular Languages
16
Suppose L’s minimal machine, M, has p states
Any path of length p has (or is) a cycle
And any cycle must have or be a cycle of length p or less
Because a state is revisited after at most p characters
So, infinite languages have a machine with at least
one cycle of length p or less in an accepting path*
And all non-empty languages have a string of length
p or less (already showed that)…
CS 3240 - Properties of Regular Languages
17
Let m denote the length of a cycle in an accepting path
We know m ≤ p
Let k be the length of a string in L such that k ≤ p
There has to be one if the language is infinite!
Then strings of length k + im are accepted, i ≥ 0
By traversing the cycle i times
But k + im ≤ p + ip = (i+1)p
So, there must be some i such that p ≤ k+im ≤ 2p
Procedure: Test all strings of length p through 2p-1
CS 3240 - Properties of Regular Languages
18
That is, are they the same set of strings?
Set-theoretic argument:
Two sets are equal if their symmetric difference is
empty (denoted by A ∆ B or A ⊖ B)
A∆B=A∪B–A∩B=A–B∪B–A
But A – B = A ∩ B’, and B – A = B ∩ A’
So L1 = L2 iff (L1 ∩ L2’) ∪ (L1’ ∩ L2) = ∅
CS 3240 - Properties of Regular Languages
19
CS 3240 - Properties of Regular Languages
20
CS 3240 - Properties of Regular Languages
21
Not all languages are regular
We need to recognize whether languages are
regular or not
We don’t want to waste time using regular
language processing techniques where they don’t
apply
CS 3240 - Properties of Regular Languages
22
CS 3240 - Properties of Regular Languages
23
CS 3240 - Properties of Regular Languages
24
CS 3240 - Properties of Regular Languages
25
Consider anbn
ab is regular
ab + aabb = anbn, 0 ≤ n ≤ 2, is regular
Any finite language is regular (why?)
But anbn, n ≥ 0 is not regular (why not?)
How do we prove it’s not regular!?!
CS 3240 - Properties of Regular Languages
26
Finite Automata don’t have unlimited
counting capability
They only have a fixed number of states
Intuitively, we see that an automaton can’t
keep track of counts for anbn where n is
arbitrarily large
But intuition is often faulty. We need a proof!
CS 3240 - Properties of Regular Languages
27
Any accepted string of length p (the number
of states) or greater forces a cycle in an
accepting path.
In other words, at least one state is visited a
second time
And that “revisit” must happen within the first p
characters of the string
▪ Because that’s when the (p+1)th state is entered
This could be any state (start, final, other)
CS 3240 - Properties of Regular Languages
28
Consider akbk, where k is greater than the number of
states in a supposed DFA accepting all anbn, n ≥ 0
Before the first b is encountered, a state has been visited at least
twice (because there are more a’s than states)
Suppose the length of the associated cycle is m
Then the string ak+imbk is also accepted!
This contradicts the existence of a DFA that accepts anbn
CS 3240 - Properties of Regular Languages
29
The first “revisit”
CS 3240 - Properties of Regular Languages
30
For every infinite regular language, L, there is
a number, p, such that for all strings, s, in L,
where |s| ≥ p, you can partition s into three
concatenated substrings, xyz, such that:
1. |y| > 0
2. |xy| ≤ p
3. xy*z ∈ L
CS 3240 - Properties of Regular Languages
31
You can only use the pumping lemma to show
that a language is not regular
By showing it fails the “pumping” conditions of
infinite regular languages
Note: Some non-regular languages pump!
The trick is to find a convenient string
Usually the condition |xy| ≤ p is also key
Sometimes pumping down (i = 0) is easiest
CS 3240 - Properties of Regular Languages
32
Consider the string apbp
It is in this language
It is long enough (≥ p in length)
Now let apbp = xyz
Remember |xy| ≤ p
What can you conclude about y?
CS 3240 - Properties of Regular Languages
33
You can treat proving a language non-regular
as a “game”:
1. You pick a string, s, in L, where |s| ≥ p
▪ You may pick any such string; choose wisely!
2. Opponent picks x, y, and z
▪ But must obey |xy| ≤ p and |y| > 0
3. You show it can’t be “pumped”
▪ Because a pumped string falls “outside” the language
Must anticipate all possible partitions xyz
CS 3240 - Properties of Regular Languages
34
aibj, i > j
PALINDROME
w = wR (same backwards and forwards)
ww
Equal halves
PRIME (am where m is prime)
SQUARE (am where m is a perfect square)
CS 3240 - Properties of Regular Languages
35
Strings with equal number of a’s and b’s
NOTPRIME
CS 3240 - Properties of Regular Languages
36
NOTPRIME is pumpable!
Let y = the whole string (akm)
The number of a’s will always be a multiple
of km, hence not prime
Note: zero is not a prime number
This does not violate the pumping lemma
The pumping lemma draws no conclusion about
non-regular languages
CS 3240 - Properties of Regular Languages
37