author | urbanc |
Thu, 10 Feb 2011 05:57:56 +0000 | |
changeset 92 | a9ebc410a5c8 |
parent 78 | 77583805123d |
child 99 | 54aa3b6dd71c |
permissions | -rw-r--r-- |
31
b6815473ee2e
1. Myhill.thy is proved to correct some typos. 2. Some sections are added to the first direction. 3. The small theory of list difference is now separated into Prefix_subtract.thy and the ROOT.ML
zhang
parents:
30
diff
changeset
|
1 |
theory Myhill |
62
d94209ad2880
Copy Myhill.thy into Myhill_2.thyand put Myhill_2.thy into logic ListP. Myhill.thy is now almost empty ready to be extended by new manuscripts.
zhang
parents:
57
diff
changeset
|
2 |
imports Myhill_2 |
31
b6815473ee2e
1. Myhill.thy is proved to correct some typos. 2. Some sections are added to the first direction. 3. The small theory of list difference is now separated into Prefix_subtract.thy and the ROOT.ML
zhang
parents:
30
diff
changeset
|
3 |
begin |
b6815473ee2e
1. Myhill.thy is proved to correct some typos. 2. Some sections are added to the first direction. 3. The small theory of list difference is now separated into Prefix_subtract.thy and the ROOT.ML
zhang
parents:
30
diff
changeset
|
4 |
|
73 | 5 |
section {* Preliminaries *} |
6 |
||
7 |
subsection {* Finite automata and \mht \label{sec_fa_mh} *} |
|
31
b6815473ee2e
1. Myhill.thy is proved to correct some typos. 2. Some sections are added to the first direction. 3. The small theory of list difference is now separated into Prefix_subtract.thy and the ROOT.ML
zhang
parents:
30
diff
changeset
|
8 |
|
b6815473ee2e
1. Myhill.thy is proved to correct some typos. 2. Some sections are added to the first direction. 3. The small theory of list difference is now separated into Prefix_subtract.thy and the ROOT.ML
zhang
parents:
30
diff
changeset
|
9 |
text {* |
64
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
10 |
|
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
11 |
A {\em determinisitc finite automata (DFA)} $M$ is a 5-tuple |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
12 |
$(Q, \Sigma, \delta, s, F)$, where: |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
13 |
\begin{enumerate} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
14 |
\item $Q$ is a finite set of {\em states}, also denoted $Q_M$. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
15 |
\item $\Sigma$ is a finite set of {\em alphabets}, also denoted $\Sigma_M$. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
16 |
\item $\delta$ is a {\em transition function} of type @{text "Q \<times> \<Sigma> \<Rightarrow> Q"} (a total function), |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
17 |
also denoted $\delta_M$. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
18 |
\item @{text "s \<in> Q"} is a state called {\em initial state}, also denoted $s_M$. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
19 |
\item @{text "F \<subseteq> Q"} is a set of states named {\em accepting states}, also denoted $F_M$. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
20 |
\end{enumerate} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
21 |
Therefore, we have $M = (Q_M, \Sigma_M, \delta_M, s_M, F_M)$. Every DFA $M$ can be interpreted as |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
22 |
a function assigning states to strings, denoted $\dfa{M}$, the definition of which is as the following: |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
23 |
\begin{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
24 |
\begin{aligned} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
25 |
\dfa{M}([]) &\equiv s_M \\ |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
26 |
\dfa{M}(xa) &\equiv \delta_M(\dfa{M}(x), a) |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
27 |
\end{aligned} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
28 |
\end{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
29 |
A string @{text "x"} is said to be {\em accepted} (or {\em recognized}) by a DFA $M$ if |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
30 |
$\dfa{M}(x) \in F_M$. The language recoginzed by DFA $M$, denoted |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
31 |
$L(M)$, is defined as: |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
32 |
\begin{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
33 |
L(M) \equiv \{x~|~\dfa{M}(x) \in F_M\} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
34 |
\end{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
35 |
The standard way of specifying a laugage $\Lang$ as {\em regular} is by stipulating that: |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
36 |
$\Lang = L(M)$ for some DFA $M$. |
64
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
37 |
|
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
38 |
For any DFA $M$, the DFA obtained by changing initial state to another $p \in Q_M$ is denoted $M_p$, |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
39 |
which is defined as: |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
40 |
\begin{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
41 |
M_p \ \equiv\ (Q_M, \Sigma_M, \delta_M, p, F_M) |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
42 |
\end{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
43 |
Two states $p, q \in Q_M$ are said to be {\em equivalent}, denoted $p \approx_M q$, iff. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
44 |
\begin{equation}\label{m_eq_def} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
45 |
L(M_p) = L(M_q) |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
46 |
\end{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
47 |
It is obvious that $\approx_M$ is an equivalent relation over $Q_M$. and |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
48 |
the partition induced by $\approx_M$ has $|Q_M|$ equivalent classes. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
49 |
By overloading $\approx_M$, an equivalent relation over strings can be defined: |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
50 |
\begin{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
51 |
x \approx_M y ~ ~ \equiv ~ ~ \dfa{M}(x) \approx_M \dfa{M}(y) |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
52 |
\end{equation} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
53 |
It can be proved that the the partition induced by $\approx_M$ also has $|Q_M|$ equivalent classes. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
54 |
It is also easy to show that: if $x \approx_M y$, then $x \approx_{L(M)} y$, and this means |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
55 |
$\approx_M$ is a more refined equivalent relation than $\approx_{L(M)}$. Since partition induced by |
73 | 56 |
$\approx_M$ is finite, the one induced by $\approx_{L(M)}$ must also be finite, and this is |
57 |
one of the two directions of \mht: |
|
58 |
\begin{Lem}[\mht , Direction two] |
|
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
59 |
If a language $\Lang$ is regular (i.e. $\Lang = L(M)$ for some DFA $M$), then |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
60 |
the partition induced by $\approx_\Lang$ is finite. |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
61 |
\end{Lem} |
68
dceb84acdee8
Check in Myhill.thy before trying another way to explain DFA
zhang
parents:
64
diff
changeset
|
62 |
|
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
63 |
The other direction is: |
73 | 64 |
\begin{Lem}[\mht , Direction one]\label{auto_mh_d1} |
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
65 |
If the partition induced by $\approx_\Lang$ is finite, then |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
66 |
$\Lang$ is regular (i.e. $\Lang = L(M)$ for some DFA $M$). |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
67 |
\end{Lem} |
73 | 68 |
The $M$ we are seeking when prove lemma \ref{auto_mh_d2} can be constructed out of $\approx_\Lang$, |
69 |
denoted $M_\Lang$ and defined as the following: |
|
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
70 |
\begin{subequations} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
71 |
\begin{eqnarray} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
72 |
Q_{M_\Lang} ~ & \equiv & ~ \{ \cls{x}{\approx_\Lang}~|~ x \in \Sigma^* \}\\ |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
73 |
\Sigma_{M_\Lang} ~ & \equiv & ~ \Sigma_M \\ |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
74 |
\delta_{M_\Lang} ~ & \equiv & ~ \left (\lambda (\cls{x}{\approx_\Lang}, a). \cls{xa}{\approx_\Lang} \right) \\ |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
75 |
s_{M_\Lang} ~ & \equiv & ~ \cls{[]}{\approx_\Lang} \\ |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
76 |
F_{M_\Lang} ~ & \equiv & ~ \{ \cls{x}{\approx_\Lang}~|~ x \in \Lang \} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
77 |
\end{eqnarray} |
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
78 |
\end{subequations} |
73 | 79 |
It can be proved that $Q_{M_\Lang}$ is indeed finite and $\Lang = L(M_\Lang)$, so lemma \ref{auto_mh_d1} holds. |
80 |
It can also be proved that $M_\Lang$ is the minimal DFA (therefore unique) which recoginzes $\Lang$. |
|
81 |
||
82 |
||
68
dceb84acdee8
Check in Myhill.thy before trying another way to explain DFA
zhang
parents:
64
diff
changeset
|
83 |
|
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
84 |
*} |
68
dceb84acdee8
Check in Myhill.thy before trying another way to explain DFA
zhang
parents:
64
diff
changeset
|
85 |
|
73 | 86 |
subsection {* The objective and the underlying intuition *} |
87 |
||
69
ecf6c61a4541
A formal presentation of automaton and Myhill-Nerrode theorem added to serve as a basis for further discussion
zhang
parents:
68
diff
changeset
|
88 |
text {* |
73 | 89 |
It is now obvious from section \ref{sec_fa_mh} that \mht\ can be established easily when |
90 |
{\em reglar languages} are defined as ones recognized by finite automata. |
|
91 |
Under the context where the use of finite automata is forbiden, the situation is quite different. |
|
92 |
The theorem now has to be expressed as: |
|
93 |
\begin{Thm}[\mht , Regular expression version] |
|
94 |
A language $\Lang$ is regular (i.e. $\Lang = L(\re)$ for some {\em regular expression} $\re$) |
|
95 |
iff. the partition induced by $\approx_\Lang$ is finite. |
|
96 |
\end{Thm} |
|
97 |
The proof of this version consists of two directions (if the use of automata are not allowed): |
|
98 |
\begin{description} |
|
99 |
\item [Direction one:] |
|
100 |
generating a regular expression $\re$ out of the finite partition induced by $\approx_\Lang$, |
|
101 |
such that $\Lang = L(\re)$. |
|
102 |
\item [Direction two:] |
|
103 |
showing the finiteness of the partition induced by $\approx_\Lang$, under the assmption |
|
104 |
that $\Lang$ is recognized by some regular expression $\re$ (i.e. $\Lang = L(\re)$). |
|
105 |
\end{description} |
|
106 |
The development of these two directions consititutes the body of this paper. |
|
64
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
107 |
|
73 | 108 |
*} |
109 |
||
110 |
section {* Direction @{text "regular language \<Rightarrow>finite partition"} *} |
|
111 |
||
112 |
text {* |
|
113 |
Although not used explicitly, the notion of finite autotmata and its relationship with |
|
114 |
language partition, as outlined in section \ref{sec_fa_mh}, still servers as important intuitive |
|
115 |
guides in the development of this paper. |
|
116 |
For example, {\em Direction one} follows the {\em Brzozowski algebraic method} |
|
117 |
used to convert finite autotmata to regular expressions, under the intuition that every |
|
118 |
partition member $\cls{x}{\approx_\Lang}$ is a state in the DFA $M_\Lang$ constructed to prove |
|
119 |
lemma \ref{auto_mh_d1} of section \ref{sec_fa_mh}. |
|
120 |
||
78 | 121 |
The basic idea of Brzozowski method is to extract an equational system out of the |
122 |
transition relationship of the automaton in question. In the equational system, every |
|
123 |
automaton state is represented by an unknown, the solution of which is expected to be |
|
124 |
a regular expresion characterizing the state in a certain sense. There are two choices of |
|
125 |
how a automaton state can be characterized. The first is to characterize by the set of |
|
126 |
strings leading from the state in question into accepting states. |
|
127 |
The other choice is to characterize by the set of strings leading from initial state |
|
128 |
into the state in question. For the second choice, the language recognized the automaton |
|
129 |
can be characterized by the solution of initial state, while for the second choice, |
|
130 |
the language recoginzed by the automaton can be characterized by |
|
131 |
combining solutions of all accepting states by @{text "+"}. Because of the automaton |
|
132 |
used as our intuitive guide, the $M_\Lang$, the states of which are |
|
133 |
sets of strings leading from initial state, the second choice is used in this paper. |
|
73 | 134 |
|
78 | 135 |
Supposing the automaton in Fig \ref{fig_auto_part_rel} is the $M_\Lang$ for some language $\Lang$, |
136 |
and suppose $\Sigma = \{a, b, c, d, e\}$. Under the second choice, the equational system extracted is: |
|
137 |
\begin{subequations} |
|
138 |
\begin{eqnarray} |
|
139 |
X_0 & = & X_1 \cdot c + X_2 \cdot d + \lambda \label{x_0_def_o} \\ |
|
140 |
X_1 & = & X_0 \cdot a + X_1 \cdot b + X_2 \cdot d \label{x_1_def_o} \\ |
|
141 |
X_2 & = & X_0 \cdot b + X_1 \cdot d + X_2 \cdot a \\ |
|
142 |
X_3 & = & \begin{aligned} |
|
143 |
& X_0 \cdot (c + d + e) + X_1 \cdot (a + e) + X_2 \cdot (b + e) + \\ |
|
144 |
& X_3 \cdot (a + b + c + d + e) |
|
145 |
\end{aligned} |
|
146 |
\end{eqnarray} |
|
147 |
\end{subequations} |
|
148 |
||
64
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
149 |
\begin{figure}[h!] |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
150 |
\centering |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
151 |
\begin{minipage}{0.5\textwidth} |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
152 |
\scalebox{0.8}{ |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
153 |
\begin{tikzpicture}[ultra thick,>=latex] |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
154 |
\node[draw,circle,initial] (start) {$X_0$}; |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
155 |
\node[draw,circle,accepting] at ($(start) + (3.5cm,2cm)$) (ac1) {$X_1$}; |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
156 |
\node[draw,circle,accepting] at ($(start) + (3.5cm,-2cm)$) (ac2) {$X_2$}; |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
157 |
\node[draw,circle] at ($(start) + (6.5cm,0cm)$) (ab) {$X_3$}; |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
158 |
|
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
159 |
\path[->] (start) edge [bend left] node [midway, above] {$a$} (ac1); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
160 |
\path[->] (start) edge [bend right] node [midway, below] {$b$} (ac2); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
161 |
\path[->] (ac1) edge [loop above] node [midway, above] {$b$} (ac1); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
162 |
\path[->] (ac2) edge [loop below] node [midway, below] {$a$} (ac2); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
163 |
\path[->] (ac1) edge [bend right] node [midway, left] {$c$} (ac2); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
164 |
\path[->] (ac2) edge [bend right] node [midway, right] {$c$} (ac1); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
165 |
\path[->] (ac1) edge node [midway, sloped, above] {$d$} (start); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
166 |
\path[->] (ac2) edge node [midway, sloped, above] {$d$} (start); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
167 |
|
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
168 |
\path [draw, rounded corners,->,dashed] (start) -- ($(start) + (0cm, 3.7cm)$) |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
169 |
-- ($(ab) + (0cm, 3.7cm)$) node[midway,above,sloped]{$\Sigma - \{a, b\}$} -- (ab); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
170 |
\path[->,dashed] (ac1) edge node [midway, above, sloped] {$\Sigma - \{b,c,d\}$} (ab); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
171 |
\path[->,dashed] (ac2) edge node [midway, below, sloped] {$\Sigma - \{a,c,d\}$} (ab); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
172 |
\path[->,dashed] (ab) edge [loop right] node [midway, right] {$\Sigma$} (ab); |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
173 |
\end{tikzpicture}} |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
174 |
\end{minipage} |
78 | 175 |
\caption{An example automaton}\label{fig_auto_part_rel} |
64
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
176 |
\end{figure} |
b69d4e04e64a
Added something to Myhill.thy, trying to explain the relationship between finite automata and language partition.
zhang
parents:
62
diff
changeset
|
177 |
|
78 | 178 |
Every $\cdot$-item on the right side of equations describes some state transtions, except |
179 |
the $\lambda$ in \eqref{x_0_def_o}, which represents empty string @{text "[]"}. |
|
180 |
The reason is that: every state is characterized by the |
|
181 |
set of incoming strings leading from initial state. For non-initial state, every such |
|
182 |
string can be splitted into a prefix leading into a preceding state and a single character suffix |
|
183 |
transiting into from the preceding state. The exception happens at |
|
184 |
initial state, where the empty string is a incoming string which can not be splitted. The $\lambda$ |
|
185 |
in \eqref{x_0_def_o} is introduce to repsent this indivisible string. There is one and only one |
|
186 |
$\lambda$ in every equational system such obtained, becasue $[]$ can only be contaied in one |
|
187 |
equivalent class (the intial state in $M_\Lang$) and equivalent classes are disjoint. |
|
188 |
||
189 |
Suppose all unknowns ($X_0, X_1, X_2, X_3$) are solvable, the regular expression charactering |
|
190 |
laugnage $\Lang$ is $X_1 + X_2$. This paper gives a procedure |
|
191 |
by which arbitrarily picked unknown can be solved. The basic idea to solve $X_i$ is by |
|
192 |
eliminating all variables other than $X_i$ from the equational system. If |
|
193 |
$X_0$ is the one picked to be solved, variables $X_1, X_2, X_3$ have to be removed one by |
|
194 |
one. The order to remove does not matter as long as the remaing equations are kept valid. |
|
195 |
Suppose $X_1$ is the first one to remove, the action is to replace all occurences of $X_1$ |
|
196 |
in remaining equations by the right hand side of its characterizing equation, i.e. |
|
197 |
the $ X_0 \cdot a + X_1 \cdot b + X_2 \cdot d$ in \eqref{x_1_def_o}. However, because |
|
198 |
of the recursive occurence of $X_1$, this replacement does not really removed $X_1$. Arden's |
|
199 |
lemma is invoked to transform recursive equations like \eqref{x_1_def_o} into non-recursive |
|
200 |
ones. For example, the recursive equation \eqref{x_1_def_o} is transformed into the follwing |
|
201 |
non-recursive one: |
|
202 |
\begin{equation} |
|
203 |
X_1 = (X_0 \cdot a + X_2 \cdot d) \cdot b^* |
|
204 |
\end{equation} |
|
205 |
which, by Arden's lemma, still characterizes $X_1$ correctly. By subsitute |
|
206 |
$(X_0 \cdot a + X_2 \cdot d) \cdot b^*$ for all $X_1$ and remove \eqref{x_1_def_o}, |
|
207 |
we get: |
|
55 | 208 |
|
78 | 209 |
\begin{subequations} |
210 |
\begin{eqnarray} |
|
211 |
X_0 & = & ((X_0 \cdot a + X_2 \cdot d) \cdot b^*) \cdot c + X_2 \cdot d + \lambda \label{x_0_def_1} \\ |
|
212 |
X_2 & = & X_0 \cdot b + ((X_0 \cdot a + X_2 \cdot d) \cdot b^*) \cdot d + X_2 \cdot a \\ |
|
213 |
X_3 & = & \begin{aligned} |
|
214 |
& X_0 \cdot (c + d + e) + ((X_0 \cdot a + X_2 \cdot d) \cdot b^*) \cdot (a + e)\\ |
|
215 |
& + X_2 \cdot (b + e) + X_3 \cdot (a + b + c + d + e) |
|
216 |
\end{aligned} |
|
217 |
\end{eqnarray} |
|
218 |
\end{subequations} |
|
219 |
||
220 |
*} |
|
73 | 221 |
|
31
b6815473ee2e
1. Myhill.thy is proved to correct some typos. 2. Some sections are added to the first direction. 3. The small theory of list difference is now separated into Prefix_subtract.thy and the ROOT.ML
zhang
parents:
30
diff
changeset
|
222 |
end |