Title: Myhill-Nerode Theorem
1Lecture 22
- Myhill-Nerode Theorem
- distinguishability
- equivalence classes of strings
- designing FSAs
- proving a language L is not regular
2Distinguishability
3Distinguishable and Indistinguishable
- String x is distinguishable from string y with
respect to language L iff - there exists a string z such that
- xz is in L and yz is not in L OR
- xz is not in L and yz is in L
- String x is indistinguishable from string y with
respect to language L iff - for all strings z,
- xz and yz are both in L OR
- xz and yz are both not in L
4Example
- Let EVEN-ODD be the set of strings over a,b
with an even number of as and an odd number of
bs - Is the string aa distinguishable from the string
bb with respect to EVEN-ODD? - Is the string aa distinguishable from the string
ab with respect to EVEN-ODD?
5Equivalence classes of strings(Societies in the
handout)
6Definition of equivalence classes
- Every language L partitions S into equivalence
classes via indistinguishability - Two strings x and y belong to the same
equivalence class defined by L iff x and y are
indistinguishable w.r.t L - Two strings x and y belong to different
equivalence classes defined by L iff x and y are
distinguishable w.r.t. L
7Example
How does EVEN-ODD partition a,b into
equivalence classes?
Strings with an EVEN number of as and an EVEN
number of bs
Strings with an ODD number of as and an EVEN
number of bs
Strings with an EVEN number of as and an ODD
number of bs
Strings with an ODD number of as and an ODD
number of bs
8Second Example
Let 1MOD3 be the set of strings over a,b whose
length mod 3 1. How does 1MOD3 partition a,b
into equivalence classes?
Length mod 3 0
Length mod 3 1
Length mod 3 2
9Designing FSAs
10Designing an FSA for EVEN-ODD
Even Even
Odd Even
Even Odd
Odd Odd
11Designing an FSA for 1MOD3
Length mod 3 0
Length mod 3 1
Length mod 3 2
12Proving a language is not regular
13Third Example
- Let EQUAL be the set of strings x over a,b s.t.
the number of as in x the number of bs in x - How does EQUAL partition a,b into equivalence
classes? - Strings with an equal number of as and bs
- Strings with one extra a
- Strings with one extra b
- Strings with two extra as
- Strings with two extra bs
-
- There are an infinite number of equivalence
classes. - Can we construct a finite state automaton for
EQUAL? - We shall see that the answer is no.
14Myhill-Nerode Theorem
15Theorem Statement
- Two part statement
- If L is regular, then L partitions S into a
finite number of equivalence classes - If L partitions S into a finite number of
equivalence classes, then L is regular - One part statement
- L is regular iff L partitions S into a finite
number of equivalence classes
16Implication 1
- Method for constructing FSAs to accept a
language L - Identify equivalence classes defined by L
- Make a state for each equivalence class
- Identify initial and accepting states
- Add transitions between the states
- You can use a canonical element of each
equivalence class to help with building the
transition function d
17Implication 2
- Method for proving a language L is not regular
- Identify equivalence classes defined by L
- Show there are an infinite number of such
equivalence classes - Table format may help, but it is only a way to
help illustrate that there are an infinite number
of equivalence classes defined by L
18Proving a language is not regular revisited
19Proving EQUAL is not regular
- Let EQUAL be the set of strings x over a,b s.t.
the number of as in x the number of bs in x - We want to show that EQUAL partitions a,b into
an infinite number of equivalence classes - We will use a table that is somewhat reminiscent
of the table used for diagonalization
20Table
b IN OUT OUT OUT OUT ...
bb OUT IN OUT OUT OUT ...
bbb OUT OUT IN OUT OUT ...
bbbb OUT OUT OUT IN OUT ...
bbbbb OUT OUT OUT OUT IN ...
a aa aaa aaaa aaaaa ...
The strings being distinguished are the rows. The
tables entries indicate the the concatenation of
the row string with the column string is in or
not in EQUAL. Each complete column shows one row
string is distinguishable from all the other row
strings.
21Concluding EQUAL is nonregular
- We have shown that EQUAL partitions a,b into
an infinite number of equivalence classes - In this case, we only identified some of the
equivalence classes defined by EQUAL, but that is
sufficient - Strings with one extra a
- Strings with two extra as
- Strings with three extra as
-
- Thus, the Myhill-Nerode Theorem implies that
EQUAL is nonregular
22Summary
- Myhill-Nerode Theorem and what it says
- It does not say a language L is regular iff L is
finite - Many regular languages such as S are not finite
- It says that a language L is regular iff L
partitions S into a finite number of equivalence
classes - Provides method for designing FSAs
- Provides method for proving a language L is not
regular - Show that L partitions S into an infinite number
of equivalence classes