Chứng minh: Giả sử L ∈ X * là ngôn ngữ nhóm Aben chính qui đợc đoán nhận bởi ôtômát ω(L) = (A, X, a0, δ, A )’ hữu hạn và tách đợc. Ta xây dựng văn phạm G nh sau.
G = (N, X, P, σ) trong đó N = A, σ = a0, các qui tắc thuộc P là 1) ai → xai’ nếu ai, ai’∈ A, x ∈ X sao cho δ(ai, x) = ai’.
2) a →∧ nếu a ∈ A .’ Thế thì
1) Rõ ràng ai chạy khắp N, và do à(L) là ngôn ngữ nhóm nên mọi x∈X,
δx là song ánh từ A lên chính nó. Do đó {ai’} = {ai}.
2) Tồn tại a ∈ A sao cho δ(a, ∧) ∈ A’: hiển nhiên. Do đó, tồn tại ít nhất a
∈ N sao cho a →∧.
Nh vậy, G thuần tuý bên phải. Ta hãy chứng minh L(ω) = L(G), tức là văn
phạm xây dựng nh trên sinh ra L.
Giả sử u = L(G), khi đó σ⇒* u. Hai trờng hợp xảy ra:
*) Nếu u = ∧ và σ⇒* u thì do tồn tại zi,…,zk sao cho z1 = σ = u1p1v1 với p1 → q1
z2 = u1q1v1 (u1, v1, p1, q1 ∈ V* = (N ∪ X *) ………
zk 1 – = uk 1– pk 1– vk 1–
zk = uk 1– qk 1– vk 1– với pk 1– → qk 1–
(Ta kí hiệu pi, qi thay cho ai, ai’). Thế thì zk = u = ∧, nên từ đẳng thức cuối cùng và định nghĩa vị nhóm tự do, ta phải có: uk 1– = qk 1– = vk 1– = ∧. Theo cách xây dựng các qui tắc của P, ta thấy pk 1– ∈ A và z’ k-1 = pk-1 với pk-1 ∈ A’,
A ∩ X = φ mà zk 2– ⇒ zk 1– nên phải có zk 1– = zk 2– = … = σ. Từ đó σ = ∧. Pk 1– . ∧ = a0∈ A’.
Vì pk 1– ∈ A’, mà δ(a0, ∧) = a0 ∈ A’ nên ∧∈ω(L) hay u ∈ω(L)
*) Nếu u = x1x2 …xm với xi ∈ X thì tồn tại z1, …, zk sao cho: 33
σ = z1 ⇒ z2 ⇒ … ⇒ zk = u, nên
σ = z1 = u1p1v1 = a0
z2 = u1q1v1 với p1, a0 ∈ N
Mà V* là vị nhóm tự do sinh bởi N∪ X với N ∩ X =φ, nên từ đẳng thức đầu
ta phải có: u1 = v1 = ∧, p1 = a0.
Giả sử q1 = ∧, thế thì a0 = pi → ∧ nên a0 ∈ A’ và z2 = ∧. Theo cách xây dựng P, ta phải có z2 = z3 = … = zk = u nên u = ∧ và do a0 ∈ A’ nên phải có
u = ∧∈ L(ω).
Nếu qi ≠∧, thế thì q1 = y1a1 với y1 ∈ X, a1 ∈ N. Khi đó từ z2 = u2p2v2 = y1a1
z3 = u2q2v2
với p2, a1 ∈ N; v1, v2 ∈ V*; y1 ∈ X và N ∩ X = φ nên từ đẳng thức đầu suy ra
v2 = ∧, p2 = a1 và u2 = y1 (theo định nghĩa của vị nhóm tự do trên V = N ∪ X)
Khi đó, hoặc q2 = ∧ suy ra z3 = z4 = … = zk = u (theo qui tắc xây dựng P)
và từ đó u = y1, a1 = p2 ∈ A’, mà a0 = p1 → y1a1 nên từ δ(a0, y1) = a1 ∈ A’ suy ra y1 ∈ L(ω) hay q = L(ω).
Hoặc q2 = y2a2 với y2 ∈ X, a2 ∈ N; thế thì từ z3 = u3p3v3 = y1y2a2
z4 = u3q3v3 với p3 → q3
y1, y2 ∈X; p3, a2 ∈ N; N ∩ X = φ và u3, v3 ∈ V* = (N ∪ X)*. Suy ra v3 = ∧, p3 = a2 và u3 = y1y2. Do đó, hoặc q3 = ∧ thì u = z4 = … = zk
trong đó z4 = y1y2 . ∧. ∧ = y1y2.a2 = p1 = y1.a1 nên δ(a0, y1) = a1; a1 → y2a2 suy ra
δ(a1, y2) = a2 = p3∈ A ,vì p’ 3 → q3 = ∧. Do đó δ(a0, y1y2) = δ(a1, y2) =a2∈ A .’ Suy ra u = ∈L(ω).
Nếu q3 = y3a3 với y3 ∈ X, a3 ∈ N thì lí luận tiếp, sau không quá k bớc ta đi
đến:
σ = a0 = ∧.a0.∧
u = ∧ = ∧. ∧. ∧
2) hoặc zk = y1y2 …zkak = x1x2 …xm
Với xi ∈ X, yi ∈ X, ak ∈ N và theo định nghĩa của vị nhóm tự do trên (N ∪ X)* ta suy ra k + 1 = m và yi = xi (1≤ i ≤ k), ak = xm với ak ∈ N và xm ∈ X, trong đó N ∩
X =φ: mâu thuẫn.
Nh vậy, từ u ∈ L(G) ta suy ra u ∈ L(ω). Hay L(G) ⊂ L(ω).
Bây giờ chứng minh: L(ω) ⊂ L(G).
Thật vậy, giả sử u ∈ L(ω) suy ra δ(a0, u) = a ’ ∈ A ’ thì hoặc u = ∧, suy ra
δ(a0,∧) = ao ∈ A nên a’ o →∧ mà
nên từ a0 →∧ ta có σ⇒* u, vậy u ∈ L(G). hoặc u = x1.x2 …xk với xi ∈ X…(i = 1,2,…, k) và
δ(a0, x1) = a1 δ(a1, x2) = a2 ………….. δ(ak 1– , xk) = ak = a ’ ∈ A’. (vì u ∈ L(ω)) nên a0 → x1a1 a1 → x2a2 ……… ak 1– → xkak với ak →∧ thế thì σ = a0 = ∧.a0. ∧
x1a1 = ∧.x1.a1 . ∧ nên σ⇒ x1a1, vì a0 → a1a1
x1a1 = x1.a1. ∧
x1x2a2 = x1x2a2. ∧ nên x1a1 ⇒ x1x2a2, vì a1 → x1a2
………
x1 …xk 1– ak 1– = x1x2 …xk 1– ak 1– . ∧
uak = x1x2 …xkak. ∧
nên x1 …xk 1– ak 1– ⇒ ukak 1– , vì ak 1– → xkak. uak = uak . ∧
u = u. ∧. ∧ nên uak ⇒ u, vì ak →∧
Do đó σ⇒* u hay u ∈ L(G). Vậy L(ω) ⊂ L(G).