##### Document information

**Transparency No. 10-1
**

**Formal Language
and Automata Theory
**

**Chapter 10
**

**The Myhill-Nerode Theorem
(lecture 15,16 and B) **

**The Myhill-Nerode theorem
**

**Transparency No. 10-2
**

**Isomorphism of DFAs
** **M = (QM,S,dM,sM,FM), N = (QN,S, dN,sN,FN): two DFAs
** **M and N are said to be isomorphic if there is a bijection f:QM->
**

**QN s.t.
f(sM) = sN
f(dM(p,a)) = dN(f(p),a) for all p QM , a S
p FM iff f(p) FN.
**

**I.e., M and N are essentially the same machine up to renaming
of states.
**

**facts:
1. Isomorphic DFAs accept the same set.
2. if M and N are any two DFAs w/o inaccessible states
accepting the same set, then the quotient automata M/ and
N/ are isomorphic
3. The DFA obtained by the collapsing algorithm (lec. 14) is
the minimal DFA for the set it accepts, and this DFA is
unique up to isomorphism.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-3
**

**Myhill-Nerode Relations
**

**R: a regular set, M=(Q, S, d,s,F): a DFA for R w/o inaccessible
states.
**

**M induces an equivalence relation M on S* defined by
x M y iff D(s,x) = D (s,y).
i.e., two strings x and y are equivalent iff it is
indistinguishable by running M (i.e., by running x and y,
respectively, from the initial state of M.)
**

**Properties of M :
0. M is an equivalence relation on S*.
**

**(cf: is an equivalence relation on states)
1. M is a right congruence relation on S*: i.e., for any x,y
S* and a S, x M y => xa M ya.
pf: if x M y => D(s,xa) = d(D (s,x),a) = d(D (s,y),a) = D(s, ya)
**

**=> xa M ya.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-4
**

**Properties of the Myhill-Nerode relations
**

**Properties of M :
2. M refines R. I.e., for any x,y S*,
**

**x M y => x R iff y R
pf: x R iff D(s,x) F iff D(s,y) F iff y R.
Property 2 means that every M-class has either all its
elements in R or none of its elements in R. Hence R is a
union of some M-classes.
3. It is of finite index, i.e., it has only finitely many
equivalence classes.
(i.e., the set { [x] M | x S*}
is finite.
pf: x M y iff D(s,x) = D(s,y) = q
for some q Q. Since there
are only |Q| states, hence
S* has |Q| M-classes
**

S* R

M-classes

**The Myhill-Nerode theorem
**

**Transparency No. 10-5
**

**Definition of the Myhill-Nerode relation
**

** : an equivalence relation on S*,
R: a [regular] language over S*.
**

** is called an Myhill-Nerode relation for R if it satisfies
property 1~3. i.e., it is a right congruence of finite index
refining R.
**

**Facts:
0. R is regular iff it has a Myhill-Nerode relation.
**

**(to be proved later)
1. For any DFA M accepting R, M is a Myhill-Nerode
relation for R.
2. If is a Myhill-Nerode relation for R then there is a DFA
M accepting R s.t. M = .
3. The constructions M M and M are inverse up to
isomorphism of automata. (i.e. = M and M = MM)**

**The Myhill-Nerode theorem
**

**Transparency No. 10-6
**

**From to M
**

**R: a language over S, : a Myhill-Nerode relation for R;
the -class of the string x is [x] =def {y | x y}.
Note: Although there are infinitely many strings, there are
only finitely many -classes. (by property of finite index)
**

**Define DFA M = (Q,S,d,s,F) where
Q = {[x] | x S*}, s = [e],
F = {[x] | x R }, d([x],a) = [xa].
**

**Notes:
0: M has |Q| states, each corresponding to an -class of .
Hence the more classes has, the more states M has.
1. By right congruence of , d is well-defined, since, if y,z
[x] => y z x => ya za xa => ya, za [xa]
2. x R iff [x] F.
pf: =>: by definition of M ;
<=: [x] F => $ y s.t. y R and x y => x R. (property 2)**

**The Myhill-Nerode theorem
**

**Transparency No. 10-7
**

**M M and M are inverses
**

**Lemma 15.1: D([x],y) = [xy]
pf: Induction on |y|. Basis: D([x],e) = [x] =[xe].
**

**Ind. step: D([x],ya) = d(D([x],y),a) = d([xy],a) = [xya]. QED
**

**Theorem 15.2: L(M) = R.
pf: x L(M) iff D([e],x) F iff [x] F iff x R. QED
**

**Lemma 15.3: : a Myhill-Nerode relation for R, M: a DFA for R w/o
inaccessible states, then
**

**1. if we apply the construction M to and then apply M
M to the result, the resulting relation M is identical to .
**

**2. if we apply the construction M M to M and then apply
M to the result, the resulting relation MM is identical to M.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-8
**

**M M and M are inverses (cont’d)
**

**Pf: (of lemma 15.3) (1) Let M =(Q,S,d,s,F) be the DFA
constructed as described above. then for any x,y in S*,
x M y iff D([e], x) = D([e],y) iff [x] = [y] iff x y.
**

**(2) Let M = (Q, S ,d,s,F) and let MM = (Q’, S , d’,s’,F’). Recall that
[x] = {y | y M x} = {y | D(s,y) = D(s,x) }
Q’ = {[x] | x S*}, s’ = [e], F’ = {[x] | x R}
d’([x], a) = [xa].
**

**Now let f:Q’-> Q be defined by f([x]) = D(s,x).
1. By def., [x] = [y] iff D(s,x) = D(s,y), so f is well-defined
and 1-1. Since M has no inaccessible state, f is onto.
2. f(s’) = f([e]) = D(s, e ) = s
3. [x] F’ <=> x R <=> D(s,x) F <=> f([x]) F.
4. f(d’([x],a)) = f([xa]) = D(s,xa) = d(D(s,x),a) = d(f([x]), a)
By 1~4, f is an isomorphism from MM to M. QED**

**The Myhill-Nerode theorem
**

**Transparency No. 10-9
**

**Relations b/t DFAs and Myhill-Nerode relations
**

**Theorem 15.4: R: a regular set over S. Then up to isomorphism
of FAs, there is a 1-1 correspondence b/t DFAs w/o
inaccessible states accepting R and Myhill-Nerode relations
for R.
**

**I.e., Different DFAs accepting R correspond to different
Myhill-Nerode relations for R, and vice versa.
We now show that there exists a coarsest Myhill-Neorde
relation R for any R, which corresponds to the unique
minimal DFA for R.
**

**Def 16.1: 1 , 2 : two relations. If 1 2 (i.e., for all x,y, x 1 y
=> x 2 y) we say 1 refines 2 .
**

**Note:1. If 1 and 2 are equivalence relations, then 1 refines
2 iff every 1-class is included in a 2-class.
**

**2. The refinement relation on equivalence relations is a partial
order. (since is ref, transitive and antisymmetric).**

**The Myhill-Nerode theorem
**

**Transparency No. 10-10
**

**The refinement relation
**

**Note:
3. If , 1 2 ,we say 1 is the finer and 2 is the coarser of
the two relations.
4. The finest equivalence relation on a set U is the identity
relation IU = {(x,x) | x U}
**

**5. The coarsest equivalence relation on a set U is universal
relation U2 = {(x,y) | x, y U}
**

**Def. 16.1: R: a language over S (possibly not regular). Define a
relation R over S* by
**

**x R y iff for all z S* (xz R <=> yz R)
i.e., x and y are related iff whenever appending the same string
**

**to both of them, the resulting two strings are either both in R
or both not in R. **

**The Myhill-Nerode theorem
**

**Transparency No. 10-11
**

**Properties of R
Lemma 16.2: Properties of R :
**

**0. R is an equivalence relation over S*.
1. R is right congruent
2. R refines R.
3. R the coarsest of all relations satisfying 0,1 and 2.
[4. If R is regular => R is of finite index. ]
**

**Pf: (0) : trivial; (4) immediate from (3) and theorem 15.2.
(1) x R y => for all z S* (xz R <=> yz R)
**

**=> a w (xaw R <=> yaw R)
=> a (xa R ya)
**

**(2) x R y => (x R <=> y R)
(3) Let be any relation satisfying 0~2. Then
x y => z xz yz --- by ind. on |z| using property (1)
**

**=> z (xz R <=> yz R) --- by (2) => x R y.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-12
**

**Myhill-Nerode theorem
**

**Thorem16.3: Let R be any language over S. Then the following
statements are equivalent:
(a) R is regular;
(b) There exists a Myhill-Nerode relation for R;
(c) the relation R is of finite index.
**

**pf: (a) =>(b) : Let M be any DFA for R. The construction M M
produces a Myhill-Nerode relation for R.
(b) => (c): By lemma 16.2, any Myhill-Nerode relation for R is
of finite index and refines R => R is of finite index.
(c)=>(a): If R is of finite index, by lemma 16.2, it is a Myhill-
Nerode relation for R, and the construction M produce a
DFA for R. **

**The Myhill-Nerode theorem
**

**Transparency No. 10-13
**

**Relations b/t R and collapsed machine
Note: 1. Since R is the coarsest Myhill-Nerode relation for a
**

**regular set R, it corresponds to the DFA for R with the fewest
states among all DFAs for R.
**

**(i.e., let M = (Q,...) be any DFA for R and M = (Q’,…) the DFA
induced by R, where Q’ = the set of all R-classes
**

**==> |Q| = | the set of M-classes | >= | the set of R -classes |
= |Q’|.
**

**Fact: M=(Q,S,s,d,F): a DFA for R that has been collapsed (i.e., M
= M/). Then R = M (hence M is the unique DFA for R with
the fewest states).
**

**pf: x R y iff z S* (xz R <=> yz R)
iff z S* (D(s,xz) F <=> D(s,yz) F)
iff z S* (D(D(s,x),z) F <=> D(D(s,y),z) F)
iff D(s,x) D(s,y) iff D(s,x) = D(s,y) -- since M is collapsed
iff x M y Q.E.D.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-14
**

**An application of the Myhill-Nerode relation
**

**Can be used to determine whether a set R is regular by
determining the number of R -classes.
**

**Ex: Let A = {anbn | n 0 }.
If k m => ak not A am, since akbk A but ambk A .
Hence A is not of finite index => A is not regular.
In fact A has the following A-classes:
Gk = {ak}, k 0
Hk = {an+k bn | n 1 }, k 0
E = S* - Uk 0 (GkU Hk) = S* - {ambn | m n 0 }**

**The Myhill-Nerode theorem
**

**Transparency No. 10-15
**

**Uniqueness of Minimal NFAs
**

**Problem: Does the conclusion that minimal DFA
accepting a language is unique apply to NFA as
well ?
**

**Ans : ?**

**The Myhill-Nerode theorem
**

**Transparency No. 10-16
**

**Minimal NFAs are not unique up to isomorphism
**

**Example: let L = { x1 | x ∈ {0,1} }*
1. What is the minimum number k of states of all FAs
**

**accepting L ?
Analysis : k ≠ 1. Why ?
**

**2. Both of the following two 2-states FAs accept L.
**

p q

0,1

1 ts

0 1 1

0

**The Myhill-Nerode theorem
**

**Transparency No. 10-17
**

**Collapsing NFAs
**

**Minimal NFAs are not unique up to isomorphism
** **Part of the Myhill-Nerode theorem generalize to NFAs based
**

**on the notion of bisimulation.
**

*Bisimulation:*Def: M=(QM,S, dM,SM,FM), N=(QN,S,dN,SN,FN): two NFAs,** : a binary relation from QM to QN.
For B QN , define C (B) = {p QM | $q B p q }
For A QM, define C (A) = {q QN | $P A p q }
**

**Extend to subsets of QM and QN as follows:
A B <=>def A C(B) and B C(A)
**

**iff p A $q B s.t. p q and q B $p A s.t. p q **

**The Myhill-Nerode theorem
**

**Transparency No. 10-18
**

QM QN

A C(A)

C(C(A))

qp

**The Myhill-Nerode theorem
**

**Transparency No. 10-19
**

**Bisimulation
** **Def B.1: The relation is called a bisimulation if
**

**1. SM SN
2. if p q thena S, dM(p,a) dN(q,a)
3. if p q then p FM iff q FN.
**

**M and N are bisimilar if there exists a bisimulation between
them.
**

**For each NFA M, the bisimilar class of M is the family of all
NFAs that are bisimilar to M.
**

**Properties of bisimulaions:
1.Bisimulation is symmetric: if is a bisimulation b/t M and N,
**

**then its reverse {(q,p) | p q} is a bisimulation b.t N and M.
2.Bisimulation is transitive: M 1 N and N 2 P => M 1 2 P
3.The union of any nonempty family of bisimulation b/t M
**

**and N is a bisimulation b/t M and N.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-20
**

**Properties of bisimulations
Pf: 1,2: direct from the definition.
(3): Let {i | i I } be a nonempty indexed set of bisimulations b/t
**

**M and N. Define =def Ui I i.
Thus p q means $i I p i q.
1. Since I is not empty, SM i SN for some i I, hence SM SN
2. If p q => $i I p i q => dM(p,a) i dN(q,a) => dM(p,a) dN(q,a)
3. If p q => p i q for some i => (p FM <=> q FN )
Hence is a bisimulation b/t M and N.
Lem B.3: : a bisimulation b/t M and N. If A B, then for all x in
S*, D(A,x) D (B,x).
**

**pf: by induction on |x|. Basis: 1. x = e =>D(A,e) = A B = D(B,e).
2.x = a : since A C(B), if p A => $q B with p q. => dM(p,a)
C(dN(q,a)) C (DN(B,a)). => DM (A,a) = Up A dM (p,a)
C(DN(B,a)).
**

**By a symmetric argument, DN(B,a) C(DM(A,a)).
So DM (A,a) DN(B,a)). **

**The Myhill-Nerode theorem
**

**Transparency No. 10-21
**

**Bisimilar automata accept the same set.
**

**3. Ind. case: assume DM(A,x) DN(B,x). Then
DM(A,xa) = DM(DM(A,x), a) DN(DN(B,x),a) = DN(B,xa). Q.E.D.
**

**Theorem B.4: Bisimilar automata accept the same set.
Pf: assume : a bisimulation b/t two NFAs M and N.
**

**Since SM SN => DM (SM,x) DN (SN,x) for all x.
Hence for all x, x L(M) <=> DM(SM, x) FM {} <=> DN(SN,x)
FN {} <=> x L(N). Q.E.D.
**

**Def: : a bisimulation b/t two NFAs M and N
The support of in M is the states of M related by to some
**

**state of N, i.e., {p QM | p q for some q QN} = C(QN).**

**The Myhill-Nerode theorem
**

**Transparency No. 10-22
**

**Autobisimulation
**

**Lem B.5: A state of M is in the support of all bisimulations
involving M iff it is accessible.
**

**Pf: Let be any bisimulation b/t M and another FA.
By def B.1(1), every start state of M is in the support of .
By B.1(2), if p is in the support of , then every state in d(p,a) is
**

**in the support of . It follows by induction that every
accessible state is in the support of .
**

**Conversely, since the relation B.3 = {(p,p) | p is accessible} is a
bisimulation from M to M and all inaccessible states of M are
not in the support of B.3. It follows that no inaccessible state
is in the support of all bisimulations. Q.E.D.
**

**Def. B.6: An autobisimulation is a bisimlation b/t an automaton
and itself.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-23
**

**Property of autobisimulations
**

**Theorem B.7: Every NFA M has a coarsest autobisimulation
M , which is an equivalence relation.
**

**Pf: let B be the set of all autobisimulations on M.
B is not empty since the identity relation IM = {(p,p) | p
in Q } is an autobisimulation.
**

**1. let M be the union of all bisimualtions in B. By Lem
B.2(3), M is also a bisimualtion on M and belongs to
B. So M is the largest (i.e., coarsest) of all relations
in B.
**

**2. M is ref. since for all state p (p,p) IM M .
3. M is sym. and tran. by Lem B.2(1,2).
4. By 2,3, M is an equivalence relation on Q.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-24
**

**Find minimal NFA bisimilar to a NFA
**

**M = (Q,S,d,S,F) : a NFA.
** **Since accessible subautomaton of M is bisimilar to M under
**

**the bisimulation B.3, we can assume wlog that M has no
inaccessible states.
**

**Let be M, the maximal autobisimulation on M.
for p in Q, let [p] = {q | p q } be the -class of p, and
let « be the relation relating p to its -class [p], i.e.,
**

**« Qx2Q =def {(p,[p]) | p in Q }
for each set of states A Q, define [A] = {[p] | p in A }. Then
**

**Lem B.8: For all A,B Q,
1. A C (B) iff [A] [B], 2. A B iff [A] = [B], 3. A « [A]
**

**pf:1. A C(B) <=>p in A q in B s.t. p q <=> [A] [B]
2. Direct from 1 and the fact that A **B iff **A C(B) and B C(A)
3. p A => p [p] [A], B [A] => $ p A with p « [p] = B. **

**The Myhill-Nerode theorem
**

**Transparency No. 10-25
**

**Minimal NFA bisimilar to an NFA (cont’d)
** **Now define M’ = {Q’, S, d’, S’,F’} = M/ where
**

**Q’ = [Q] = {[p] | p Q},
S’ = [S] = {[p] | p S} , F’ = [F ] = {[p] | p F} and
d’([p],a) = [d(p,a)],
Note that d’ is well-defined since
[p] = [q] => p q => d(p,a) d(q,a) => [d(p,a)] = [d(q,a)]
=> d‘([p],a) = d‘([q],a)
**

**Lem B.9: The relation « is a bisimulation b/t M and M’.
pf: 1. By B.8(3): S [S] = S’.
**

**2. If p « [q] => p q => d(p,a) d(q,a)
=> [d(p,a)] = [d(q,a)] => d(p,a) « [d(p,a)] = [d(q,a)].
**

**3. if p F => [p] [F] = F’ and
if [p] F’= [F] => $q F with [q] = [p] => p q => p F.
**

**By theorem B.4, M and M’ accept the same set.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-26
**

**Autobisimulation
Lem B.10: The only autobisimulation on M’ is the identity relation
**

**=.
Pf: Let ~ be an autobisimulation of M’. By Lem B.2(1,2), the
**

**relation « ~ » is a bisimulation from M to itself.
1. Now if there are [p] [q] (hence not p q ) with [p] ~ [q]
=> p « [p] ~ [q] » q => p « ~ » q => « ~ » , a contradiction !.
On the other hand, if [p] not~ [p] for some [p] => for any [q],
**

**[p] not~ [q] (by 1. and the premise)
=> p not (« ~ » ) q for any q (p « [p] [q] » q )
=> p is not in the support of « ~ »
=> p is not accessible, a contradiction. **

**The Myhill-Nerode theorem
**

**Transparency No. 10-27
**

**Quotient automata are minimal FAs
**

**Theorem B11: M: an NFA w/t inaccessible states, : maximal
autobisimulation on M. Then M’ = M / is the minimal
automata bisimilar to to M and is unique up to isomorphism.
**

**pf: N: any NFA bisimilar to M w/t inaccessible states.
N’ = N/ N where N is the maximal autobisimulation on N.
**

**=> M’ bisimiar to M bisimilar to N bisimiar to N’.
Let be any bisimulation b/t M’ and N’.
**

**Under , every state p of M’ has at least on state q of N’ with p
q and every state q of N’ has exactly one state p of M’ with
p q.
**

**O/w p q -1 p’ p => -1 is a non-identity autobisimulation
on M, a contradiciton!.
**

**Hence is 1-1. Similarly, -1 is 1-1 => is 1-1 and onto and
hence is an isomorphism b/t M’ and N’. Q.E.D.**

**The Myhill-Nerode theorem
**

**Transparency No. 10-28
**

**Algorithm for computing maximal bisimulation
** **a generalization of that of Lec 14 for finding equivalent states
**

**of DFAs
The algorithm: Find maximal bisimulation of two NFAs M and N
**

**1. write down a table of all pairs (p,q) of states, initially
unmarked
**

**2. mark (p,q) if p FM and q FN or vice versa.
3. repeat until no more change occur: if (p,q) is
**

**unmarked and if for some a S, either
$p’ dM(p,a) s.t. q’ dN(q,a), (p’,q’) is marked, or
$q’ dN(q,a) s.t. p’ dM(p,a), (p’,q’) is marked,
**

**then mark (p,q).
4. define p q iff (p,q) are never marked.
5. If SM SN => is the maximal bisimulation
**

**o/w M and N has no bisimulation.**