Chuyên đề Nghiên cứu Ngôn ngữ hình thức, Văn phạm phi ngữ cảnh và Automata đẩy xuống được nghiên cứu với mục tiêu: Nghiên cứu tổng quan về văn phạm hình thức và các Automata, là những công cụ sinh ngôn ngữ, đồng thời đề cập đến các tính chất của ngôn ngữ chính quy, ngôn ngữ phi ngữ cảnh. Ngoài ra, cũng giới thiệu sơ lược về Trình biên dịch, một phần quan trọng của học phần Chương trình dịch gắn bó chặt chẽ với Lý thuyết ngôn ngữ hình thức và Automata, trong đó Văn phạm phi ngữ cảnh là cơ sở lý thuyết để xây dựng Bộ phân tích cú pháp, là thành phần quan trọng nhất trong một Trình biên dịch.
Trang 1L I C M NỜ Ả Ơ
Trước h t, em xin chân thành c m n các th y cô giáo trong khoa Côngế ả ơ ầ ngh thông tin Trệ ường ĐH K thu t – H u c n CAND đã trang b nh ng ki nỹ ậ ậ ầ ị ữ ế
th c c b n, c n thi t và quý báu đ em th c hi n chuyên đ c a mình.ứ ơ ả ầ ế ể ự ệ ề ủ
Đ c bi t, em xin bày t lòng kính tr ng và bi t n sâu s c t i th yặ ệ ỏ ọ ế ơ ắ ớ ầ Nghiêm Văn H ng, giáo viên gi ng d y, và th y Cao Xuân Trư ả ạ ầ ường, người đã
t n tình hậ ướng d n, ch b o và t o m i đi u ki n thu n l i giúp em trong quáẫ ỉ ả ạ ọ ề ệ ậ ợ trình th c hi n chuyên đ ự ệ ề
M c dù đã r t c g ng cùng nh n đặ ấ ố ắ ậ ượ ực s giúp đ t n tâm c a th y giáoỡ ậ ủ ầ
hướng d n, xong do trình đ còn h n ch , tài li u ch a đẫ ộ ạ ế ệ ư ược phong phú, và
n i dung này khá khó đ i v i em nên không tránh kh i nh ng thi u sót trongộ ố ớ ỏ ữ ế quá trình ti p nh n ki n th c. Em r t mong nh n đế ậ ế ứ ấ ậ ượ ực s quan tâm giúp đ ,ỡ
ch d n c a th y cô và s góp ý t b n bè đ trong th i gian t i em có th ti pỉ ẫ ủ ầ ự ừ ạ ể ờ ớ ể ế
t c tìm hi u và xây d ng chuyên đ m t cách hoàn thi n nh t.ụ ể ự ề ộ ệ ấ
Em xin chân thành c m n!ả ơ
Trang 2GI I THI U T NG QUAN V CHUYÊN ĐỚ Ệ Ổ Ề Ề Tên chuyên đề: Nghiên c u Ngôn ng hình th c, Văn ph m phi ngứ ữ ứ ạ ữ
Lý thuy t ngôn ng hình th c và Automata đóng m t vai trò r t quanế ữ ứ ộ ấ
tr ng trong các c s toán h c c a tin h c. Ngôn ng hình th c đọ ơ ở ọ ủ ọ ữ ứ ượ ử ụ c s d ngtrong vi c xây d ng các ngôn ng l p trình, lý thuy t v các chệ ự ữ ậ ế ề ương trình
d ch. Các ngôn ng hình th c t o thành m t công c mô t đ i v i các môị ữ ứ ạ ộ ụ ả ố ớ hình tính toán c cho d ng thông tin vào ra l n ki u thao tác. Lý thuy t ngônả ạ ẫ ể ế
ng hình th c, chính vì th c ch t c a nó là m t lĩnh v c khoa h c liên ngành;ữ ứ ự ấ ủ ộ ự ọ nhu c u mô t hình th c văn ph m đầ ả ứ ạ ược phát sinh trong nhi u ngành khoaề
h c khác nhau t ngôn ng h c đ n sinh v t h c. Do đó nh ng khía c nhọ ừ ữ ọ ế ậ ọ ữ ạ thích h p c a lý thuy t ngôn ng hình th c s có t m quan tr ng quy t đ nhợ ủ ế ữ ứ ẽ ầ ọ ế ị trong các giáo trình v Lý thuy t ngôn ng hình th c và Automata. ề ế ữ ứ
Lĩnh v c mà lý thuy t ngôn ng hình th c nghiên c u là nh ng m uự ế ữ ứ ứ ữ ẫ hình (pattern) có c u trúc bên trong ngôn ng hình th c, và đó là nh ng khíaấ ữ ứ ữ
c nh hoàn toàn mang tính ch t có cú pháp. Ngôn ng hình th c không cònạ ấ ữ ứ
đ n gi n ch là đ đ nh nghĩa ngôn ng t nhiên, mà nó vơ ả ỉ ể ị ữ ự ượt ra ngoài kh iỏ
ph m vi đó và nó cũng là m t cách đ th hi n đạ ộ ể ể ệ ược nh ng quy t c có cúữ ắ pháp c a ngôn ng t nhiên.ủ ữ ự
M c tiêuụ c a chuyên đủ ề: Nghiên c u t ng quan v văn ph m hình th cứ ổ ề ạ ứ
và các Automata, là nh ng công c sinh ngôn ng , đ ng th i đ c p đ n cácữ ụ ữ ồ ờ ề ậ ế tính ch t c a ngôn ng chính quy, ngôn ng phi ng c nh. Ngoài ra, cũng gi iấ ủ ữ ữ ữ ả ớ thi u s lệ ơ ược v Trình biên d ch, m t ph n quan tr ng c a h c ph n Chề ị ộ ầ ọ ủ ọ ầ ươ ngtrình d ch g n bó ch t ch v i Lý thuy t ngôn ng hình th c và Automata,ị ắ ặ ẽ ớ ế ữ ứ trong đó Văn ph m phi ng c nh là c s lý thuy t đ xây d ng B phân tíchạ ữ ả ơ ở ế ể ự ộ
cú pháp, là thành ph n quan tr ng nh t trong m t Trình biên d ch.ầ ọ ấ ộ ị
Đ i tố ượng nghiên c uứ : Ngôn ng hình th cữ ứ và lý thuy t Automataế
Ph m vi nghiên c uạ ứ :
Ngôn ng phi ng c nhữ ữ ả cùng hai phương ti n đ xác đ nh chúng là ệ ể ị Văn
ph m phi ng c nhạ ữ ả ;
Automata đ y xu ng.ẩ ố
Trang 32.2 Bi n đ i các Văn ph m phi ng c nhế ổ ạ ữ ả
Chương III: Automata đ y xu ngẩ ố
3.1 Automata đ y xu ng không ti n đ nhẩ ố ề ị
3.2 Automata đ y xu ng và Văn ph m phi ng c nhẩ ố ạ ữ ả
Chương IV: T ng quan v trình biên d chổ ề ị
Trang 4 Chương trình demo c bơ ản.
Trang 5M C L CỤ Ụ
Trang 6M C L C HÌNHỤ Ụ
M C L C B NGỤ Ụ Ả
Trang 7Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con người với nhau, giao tiếp giữa người với máy, hay giao tiếp giữa máy với máy. Ngôn ngữ để con người có thể giao tiếp với nhau được gọi là ngôn ngữ tự nhiên, chẳng hạn như tiếng Anh, tiếng Nga, tiếng Việt…
là các ngôn ngữ tự nhiên. Các quy tắc cú pháp của ngôn ngữ tự nhiên nói chung rất phức tạp nhưng các yêu cầu nghiêm ngặt về ngữ nghĩa thì lại thiếu chặt chẽ, chẳng hạn cùng một từ hay cùng một câu ta có thể hiểu chúng theo những nghĩa khác nhau tùy theo từng ngữ cảnh cụ thể. Con người muốn giao tiếp với máy tính tất nhiên cũng thông qua ngôn ngữ. Để
có sự giao tiếp giữa người với máy hay giữa máy với nhau, cần phải có một ngôn ngữ với các quy tắc cú pháp chặt chẽ hơn so với các ngôn ngữ tự nhiên, nói cách khác, với một từ hay một câu thì ngữ nghĩa của chúng phải
là duy nhất mà không phụ thuộc vào ngữ cảnh. Những ngôn ngữ như thế được gọi là ngôn ngữ hình thức. Con người muốn máy tính thực hiện công việc, phải viết các yêu cầu đưa cho máy bằng ngôn ngữ máy hiểu được. Việc viết các yêu cầu như thế gọi là lập trình. Ngôn ngữ dùng để lập trình được gọi là ngôn ngữ lập trình. Các ngôn ngữ lập trình đều là các ngôn ngữ hình thức
Cả ngôn ngữ hình thức lẫn ngôn ngữ tự nhiên đều có thể xem như những tập các từ, tức là các xâu hữu hạn các phần tử của một bộ chữ cái cơ
sở nào đó. Về mặt truyền thống, lý thuyết ngôn ngữ hình thức liên quan đến các đặc tả cú pháp của ngôn ngữ nhiều hơn là đến những vấn đề ngữ nghĩa. Một đặc tả về cú pháp của một ngôn ngữ có hữu hạn từ, ít nhất về nguyên tắc, có thể được cho bằng cách liệt kê các từ. Điều đó không thể áp dụng đối với các ngôn ngữ có vô hạn từ. Nhiệm vụ chính của lý thuyết ngôn ngữ hình thức là nghiên cứu các cách đặc tả hữu hạn của các ngôn ngữ
vô hạn
Lý thuy tế ngôn ngữ hình th cứ và ôtômat đóng m tộ vai trò r tấ quan
tr ngọ trong các cơ sở toán h cọ c aủ tin h c.ọ Ngôn ngữ hình th cứ đượ sử d ngc ụ trong vi cệ xây d ngự các ngôn ngữ l pậ trình, lý thuy tế về các chươ trình ng
d ch.ị Các ngôn ngữ hình th cứ t oạ thành m tộ công cụ mô tả đ iố v iớ các mô hình tính toán cả cho d ngạ thông tin vàora l nẫ ki uể thao tác. Lý thuy tế ngôn ngữ hình th c,ứ chính vì th cự ch tấ c aủ nó là m tộ lĩnh v cự khoa h cọ liên ngành; nhu c uầ mô tả hình th cứ văn ph mạ đượ phát sinh trong nhi uc ề ngành khoa h cọ khác nhau t ngônừ ng h cữ ọ đ nế sinh v tậ h c.ọ
Báo cáo này nh mằ trình bày về văn ph mạ hình th cứ và ôtômat đ yẩ
xu ngố , là nh ngữ công cụ sinh ngôn ng ,ữ đ ngồ th iờ đề c pậ đ nế các tính ch tấ
c aủ ngôn ngữ chính quy, ngôn ngữ phi ngữ c nh,ả ngôn ngữ đệ quy và ngôn
Trang 8Chuyên đ g m 8 ph n chính:ề ồ ầ
L i m đ u: ờ ở ầ Gi i thi u v chuyên đớ ệ ề ề
Chương I: Nh p môn v văn ph m và ngôn ng hình th cậ ề ạ ữ ứ
Chương II: Văn ph m phi ng c nhạ ữ ả
Chương III: Automata đ y xu ngẩ ố
Chương IV: T ng quan v trình biên d chổ ề ị
Chương V: Gi i thi u v chớ ệ ề ương trình Demo
K t lu n: ế ậ Đ a ra m t s đánh giá t ng quan v k t qu nghiên c u, nêuư ộ ố ổ ề ế ả ứ
ra hướng phát tri n trong th i gian t i.ể ờ ớ
Tài li u tham kh o: ệ ả Đ a ra các tài li u đã đư ệ ược trích d n, tham kh oẫ ả khi th c hi n chuyên đ ự ệ ề
Trang 9CHƯƠNG 1 NH P MÔN V VĂN PH M VÀ NGÔN NG HÌNHẬ Ề Ạ Ữ
TH CỨ
1.1 Khái ni mệ ngôn ngữ
Các khái ni m c b nệ ơ ả
B ng ả ch ữ cái
Theo tài li u [3], tác gi : Phan Đình Di u, có vi t “ệ ả ệ ế M t dãy ộ h u ữ h n ạ hay
vô h n ạ các ph n t , ầ ử kí hi u ệ đ ượ g i c ọ là m t ộ b ng ả chữ cái trong đó m i ỗ
ph n t a ầ ử đ ượ c g i là m t kí hi u (m t ch cái) ọ ộ ệ ộ ữ ”
T đó ta có Đ nh nghĩa I.1.ừ ị
Đ nh nghĩaị I.1
T pậ khác r ngỗ g mồ h uữ h nạ hay vô h nạ các ký hi uệ đượ g ic ọ là
b ngả chữ cái. M i ỗ ph n ầ tử a được g iọ là m t chộ ữ cái hay m tộ ký hi u.ệ
Xâu không có chữ cái nào được gọi là từ r ngỗ và được ký hiệu là
Rõ ràng từ rỗng là từ thuộc mọi bảng chữ cái. Hai từ = a1a2…an
và = b1b2…bm được gọi là bằng nhau, và được ký hiệu là = , nếu n = m và a =
Trang 10Nếu α là một từ trên bảng chữ cái , và Δ thì α cũng là từ trên bảng
ch ữ cái Δ. Tập mọi từ trên bảng chữ cái được ký hiệu là *, còn tập mọi
từ khác rỗng trên bảng chữ cái được ký hiệu là +. Như vậy + = * \ { } và * = + { }. D ễ thấy rằng các tập * và + là vô hạn
Về cấu trúc đại số thì * là một vị nhóm tự do sinh bởi với đơn vị là
từ rỗng , còn + là một nửa nhóm tự do sinh bởi Có th ể chứng minh được rằng các tập * và + là vô hạn đ m đế ược
Thí dụ 1.2:
Ta có , 0, 01, 101, 1010, 110011 là các t trên ừ b ng ả chữ cái Г = {0,1}. Các xâu , beautiful, happy, holiday là các từ trên b ngả chữ cái = {a, b, c, …, z}
1 là ngôn ngữ hữu hạn trong khi L2 là ngôn ngữ vô hạn. Mỗi từ thuộc ngôn ngữ L
2 có số chữ cái a bằng số chữ cái b với a và b không xen kẽ, a nằm ở phía trái và b ở phía phải của từ
Trang 11Phép nhân ghép
Theo tài li u [5], tác gi : Nguy n Văn Đ nh, có vi t “ệ ả ễ ị ế Tích ghép (hay
nhân ghép) c a ủ hai từ α = a 1 a 2 …a
m và từ = b 1 b 2 …b n trên b ng ả chữ cái , là từ = a 1 a 2 …a m b 1 b 2 …b
trên b ng chả ữ cái
Kí hiệu phép nhân ghép là = α (hay = α )
Thí dụ 1.4:
Trên bảng chữ cái W = {if, then, else, a, b, c, d, e, f, +, , , /, =, }, ta
có các từ = if a+b=c then c d=e và = else c/d=f, còn α là từ: if a+b=c then c d=e else c/d=f
Cho = {a, b, c}, khi đó: Từ = abcbcb chứa 2 vị trí của bcb, đó
là a*bcb*cb và abc*bcb*, φ = bcb là một từ con của Từ chứa một vị trí của ký hiệu a, đó là *a*bcbcb
Từ = 010111001 trên bảng chữ cái {0, 1} có độ dài 9, trong đó 0101 là tiền tố và 11001 là hậu tố của
Phép lấy t ừ ngược
Theo tài li u [5], tác gi : Nguy n Văn Đ nh, có vi t “ệ ả ễ ị ế Giả sử có từ khác
r ng ỗ = a 1 a 2
…a m trên b ng ả chữ cái , khi đó từ a m a m1 … a 2 a 1 đ ượ g i c ọ là
từ ng ượ (hay từ soi g c ươ ng) c a ủ từ , và đ ượ ký hi u c ệ là R , hay ^
Khi = ta quy ướ c R
= ”
T đó ta có ừ Đ nh nghĩa I.ị 5
Đ nh nghĩa I.ị 5
Trang 12= yppah và (oto)R
= oto. Ngoài ra ta có: | (happy)R
| = | yppah| = | happy | = 3
Phép chia phải của từ α cho từ (hay thương bên phải của α và ) cho kết quả là phần còn lại của từ α sau khi ngắt b ỏ phần cuối trong
từ α, và được ký hiệu là α/
Các phép toán trên ngôn ng ữ
Các họ ngôn ngữ cụ thể thường được đặc trưng một cách tiện lợi qua các phép toán xác định trên ngôn ngữ, họ đó gồm các ngôn ngữ nhận được bằng việc tổ hợp từ một số ngôn ngữ cho trước bởi một số phép toán nào
đó. Vì mỗi ngôn ngữ là một tập hợp nên ta có các phép toán đại số tập hợp như là phép giao, phép hợp, phép hiệu, phép lấy bù trên các ngôn ngữ. Chẳng hạn, với L
1 và L2 là hai ngôn ng ữ trên bảng ch ữ cái thì ta cũng có các ngôn
Trang 13Theo tài li u [9], tác gi : ệ ả Nguy n Qu c Th ng – Nguy n Lâm Tùng,ễ ố ắ ễ
1, L2, …, Ln trên bảng ch ữ cái , là tập từ:
và
Trang 14Đ nh nghĩa I.7ị
Giao của hai ngôn ngữ L
1 và L2 trên bảng chữ cái , ký hiệu L1∩ L2, là một ngôn ngữ trên bảng ch ữ cái , đó là tập từ:
1 và L2 }Định nghĩa phép giao có thể mở rộng cho một số hữu hạn các ngôn ngữ, tức là giao của các ngôn ngữ L
1, L2, …, Ln trên bảng ch ữ cái , là tập từ:
Thí dụ 1.6:
Cho ngôn ngữ L
1 = { , 0, 01}, L2 = { , 01, 10} trên bảng ch ữ cái = {0, 1}, khi đó ta có: L
Trang 15phép nhân ghép. Xét các ngôn ng ữ L
1 = {0, 01}, L2 = {01, 10}, L3 = {0} trên bảng chữ cái = {0, 1}
Có thể kiểm tra được rằng phép nhân ghép không có tính phân phối đối với phép giao: Ta có: L
2 L3 = , do đó: L1(L2 L3) = ,Mặt khác, ta có L
1L2 = {001, 010, 0101, 0110} và L1L3 = {00, 010}, do đó: (L
1L2) (L1L3) = {010}. Vậy L1(L2 L3) (L1L2) (L1L3), tức là phép nhân ghép không có tính phân phối đối với phép giao
1 L2)(L1 L3) = {00, 001, 010, 0101, 100, 1001} Vậy L1 (L2L3) (L
1 L2)(L1 L3), tức là phép hợp không có tính phân phối đối với phép nhân ghép. Tương tự, đối với phép giao, ta có: L
2L3 = {010, 100}, do đó: L
Phép lặp
Đ nh nghĩaị I.10
Cho ngôn ngữ L trên b ngả chữ cái , khi đó:
T p t đậ ừ ược g i là ngôn ng l p c t c a ngôn ng L, ký hi u là Lọ ữ ặ ắ ủ ữ ệ *.
V y ngôn ng l p c a L là t p h p lũy th a c a L: ậ ữ ặ ủ ậ ợ ừ ủ
L*=
T p t đậ ừ ược g i là ngôn ng l p c t c a ngôn ng L, ký hi u là Lọ ữ ặ ắ ủ ữ ệ +
Trang 16+ Xét ngôn ng ữ L = {0, 1} trên b ngả ch ữ = {0, 1}. Ta có:
L2 = {00, 01, 10, 11}, t p h pậ ợ các xâu nhị phân đ dài 2;ộ
L3 = {000, 001, 010, 011, 100, 101, 110, 111}, tập hợp các xâu nh ịphân độ dài 3. Tương tự, Ln là tập hợp các xâu nhị phân độ dài n. Vì vậy, L* là tập hợp tất c ả các xâu nh ịphân
2 = {a
5}*{a3}
Phép lấy ngôn ngữ ngược
Đ nh nghĩa I.11ị
Cho ngôn ngữ L trên bảng chữ cái , khi đó ngôn ngữ ngược của L là một ngôn ngữ trên bảng chữ cái , được ký hiệu là LR hay L^, là tập từ:
Trang 17ngữ X cho ngôn ngữ Y là một ngôn ngữ trên , được ký hiệu là X /
Y, là tập từ:
X /
Y = {z * / x X, y Y mà x = zy}
1.2 Văn ph m và ngôn ng sinh b i văn ph mạ ữ ở ạ
Ta có thể hình dung một văn phạm như một “thiết bị tự động” mà nó có khả năng sinh ra một tập hợp các từ trên một bảng chữ cái cho trước. Mỗi
từ được sinh ra sau một số hữu hạn bước thực hiện các quy tắc của văn phạm
Việc xác định một ngôn ngữ trên bảng chữ cái cho trước có thể được thực hiện bằng một trong các cách thức sau:
Cách 1. Đối với mỗi từ thuộc ngôn ngữ đã cho, ta có thể chọn một
quy cách hoạt động của “thiết bị tự động” để sau một số hữu hạn bước làm việc nó dừng và sinh ra chính từ đó
là ta xét văn phạm như là một “thiết bị tự động” sinh ra các từ. Vì l đẽ ó mà người ta còn gọi các “thiết b ịtự động” đó là văn phạm sinh
là m tộ b ngả chữ cái, g iọ là b ngả chữ cái cơ b nả (hay b ngả chữ cái
k tế thúc), m iỗ ph nầ tử c aủ nó được g i ọ là m t ộ ký hi u ệ k t thúcế hay ký hi uệ
cơ b nả ;
là m tộ b ngả chữ cái, = , g iọ là b ngả ký hi uệ phụ (hay
Trang 18 S đượ g ic ọ là ký hi uệ xu tấ phát hay tiên đ ;ề
P là t pậ h pợ các quy t cắ sinh có d ngạ , đượ g ic ọ là vế trái và
đượ g ic ọ là vế ph i ả c aủ quy t cắ này, v iớ , ( )* và trong
1 ở thí dụ 1.10, ta có thể viết hai quy tắc của nó dưới dạng S 0S1 |
Ngôn ng ữ sinh bởi văn phạm
Đ nh nghĩaị I.14
Cho văn phạm G = < , , S, P > và , ( )*. Ta nói được suy
d nẫ tr cự ti p ế từ trong G, ký hiệu ├G hay ngắn gọn là ├ (nếu không sợ nhầm lẫn), nếu tồn tại quy tắc P và , ( )* sao cho = , =
Điều này có nghĩa là nếu nhận vế trái của quy tắc như là từ con thì ta thay bằng để được từ mới
Cho văn phạm G = < , , S, P > và , ( )*. Ta nói được suy d nẫ từ trong G, ký hiệu ╞G hay ngắn gọn là ╞ (nếu không
Trang 19sợ nhầm lẫn), nếu = hoặc tồn tại một dãy D =
0, 1,…,
* sao cho
1n. Do đó L(G
1) = {0
n
1n | n 0}.Xét văn phạm G
2 trong thí dụ 1.10 Sử dụng quy tắc 1, rồi n lần (n 0) quy tắc 2, sau đó quy tắc 3 để kết thúc, ta có: S ├ Ab ╞ anAbnb ├ anbn+1
Ta có thể biểu diễn việc dẫn xuất từ <câu> đến một từ trong L(G
4),
Trang 20tế, việc xem xét các quy tắc theo hướng ngược lại là t ừ phải qua trái. Điều
ti n l i cho vi c nghiên c u và kh o sát các ngôn ng đ ệ ợ ệ ứ ả ữ ượ c sinh ra b i văn ở
ph m, chúng ta tìm cách phân lo i chúng. Mu n phân lo i đ ạ ạ ố ạ ượ c các ngôn
ng , chúng ta ph i d a vào các d ng khác nhau c a các qui t c d n xu t ữ ả ự ạ ủ ắ ẫ ấ Chomsky đã chia các qui t c d n xu t c a văn ph m G thành b n lo i ắ ẫ ấ ủ ạ ố ạ …”
D aự vào đ cặ đi mể c aủ t pậ quy t cắ mà ngườ ta chia các văn ph mi ạ thành các nhóm khác nhau. Noam Chomsky (Institute Professor , Massachusetts Institute
of Technology . Born December 7 , 1928 Philadelphia, Pennsylvania, USA) đã phân lo iạ văn ph m thành ạ b nố nhóm:
Nhóm 0: Văn phạm không hạn chế (hay văn phạm ngữ cấu, văn phạm tổng quát),
Trang 21α’Aα’’, A Δ, α’, α’’, ( )*.Các quy tắc của văn phạm nhóm 0 được gọi là quy tắc không hạn chế. Ngôn ngữ do văn phạm nhóm 0 sinh ra được gọi là ngôn ng ữ tổng quát.
Văn phạm G = < , , S, P > mà các quy tắc của nó đều có dạng: , với = α’Aα’’, A Δ, α’, α’’, ( )*, và | | ≤ | |, đượ c
g iọ là văn ph mạ nhóm 1hay văn ph mạ c mả ng c nh.ữ ả
Các quy tắc trong văn phạm nhóm 1 được gọi là quy tắc c mả ngữ
c nhả Ngôn ngữ do văn phạm cảm ngữ cảnh sinh ra được gọi là ngôn ngữ cảm ngữ cảnh
Các văn phạm mà các quy tắc của chúng có dạng trên, đồng thời chứa thêm quy tắc rỗng S , cũng được xếp vào lớp văn phạm nhóm 1
S ├ 1A ├ 11B ├ 111A ├ … ╞ 1(12n2)A ├ 1(12n2)1 = 12n
Trang 22P’ = P
1 P2, v iớ P1 = { a | a }, P2 = { | P}, và là các xâu và đã đượ thay các ký hi uc ệ thu cộ
i+1, ( 0 ≤ i ≤ k1), ta thay mọi kí hiệu a
Г bởi các ký hiệu tương ứng a
1, khi đó mọi quy tắc đều thuộc P,
Trang 23= , ta có S╞G , tức là L(G). Vậy L(G’) L(G).
Đ nị h lý I.2 (H p thành các suy d n)ợ ẫ
Cho h vi t lai ệ ế W=(V, P) và cho u 1 ,…, u n , v 1 ,…, v n là các xâu trong V*.
Bây gi n u ờ ế u1 * v 1 ,…, u n * v n, thì ta có u1 …u n * v 1 …v n.
Ta th a nh n đ nh lý trên (không c n ch ng minh).ừ ậ ị ầ ứ
Giả sử L
1, L2 là các ngôn ngữ được sinh bởi văn phạm G1= < 1, 1, S
1, P1>, G2 = < 2, 2, S2, P2>, tức là L1 = L(G1), L2 = L(G2). Ta chứng minh tồn tại văn phạm G sao cho L(G) = L
1 L2.Xây dựng văn phạm G sinh ra ngôn ngữ L
a./ Ch ng ứ minh L(G) L
1 L2: Giả sử L(G), khi đó tồn tại một suy dẫn trong văn phạm G: S ╞G , trong đó * = (
1 2)*. Do cách xây dựng tập quy tắc P, nên trong suy dẫn S╞ , có hai kh ả năng:
Trang 241╞
G1 , vậy là kết quả của suy dẫn S
1╞ trong G1,
do đó L(G
1). (a) hoặc S├G S
2╞
G2 , vậy là kết quả của suy dẫn S
1 cũng đều thuộc G), như vậy L(G)
2 cũng đều thuộc G), như vậy L(G)
Vậy ta luôn luôn có L(G), do đó: L
1 L2 L(G). Tức là ta đã chứng minh được rằng L(G) = L
1 L2.Tương tự, để chứng minh tính đóng của lớp ngôn ngữ sinh bởi văn phạm đối với phép nhân ghép ngôn ngữ, ta xây dựng văn phạm G = < , ,
Trang 25Để chứng minh tính đóng của lớp ngôn ngữ sinh bởi văn phạm đối với phép giao, ta xây dựng văn phạm G = < , , S, P> sao cho L(G) = L(G
được thay đ i b i ký hi u đ i ng u tổ ở ệ ố ẫ ương ng c a nó ứ ủ
Trang 26CHƯƠNG 2 VĂN PH M PHI NG C NHẠ Ữ Ả
2.1 Suy d n phi ng c nhẫ ữ ả
Các thí d v văn ph m phi ng c nhụ ề ạ ữ ả
Theo tài li u [4], tác gi : Nguy n Th Trúc Viên, có vi t:ệ ả ễ ị ế
“M t văn ph m ộ ạ G = (V, T, S, P) đ ượ c g i là phi ng c nh (context free) ọ ữ ả nếu m i lu t sinh trong ọ ậ P có d ng ạ
A →x, trong đó A ∈ V còn x ∈ (V ∪T)*.”
T đó ta có Đ nh nghĩa II.1.ừ ị
Đ nh nghĩaị II.1
Văn ph m phi ng c nh là m t văn ph m ạ ữ ả ộ ạ G = (∑, ∆, P, S) mà m i s nọ ả
xu t (hay quy t c) c a nó đ u có d ng:ấ ắ ủ ề ạ
Trang 27Bò u ngố
Mèo n mằ
Trong các quy lu t trên thì các t g ch dậ ừ ạ ướ ơi đ n nh ư ch ngủ ữ, đ ng tộ ừ
là các ph m trù cú pháp bi u di n cho m t c u trúc con c a m t câu. Còn cácạ ể ễ ộ ấ ủ ộ
t g ch dừ ạ ưới kép nh ư tôi, mèo là các từ Vi t ệ (hay ký hi u ệ ) tr c ti p có m tự ế ặ trong các câu. N u ta bi u di n m t cách ng n g n các ph m trù cú pháp ế ể ễ ộ ắ ọ ạ câu,
ch ngủ ữ, v ngị ữ, danh từ, đ i tạ ừ, đ ng tộ ừ l n lầ ượt là U, C, V, D, Đ, G thì ta có
th trình bày l i các quy t c trên m t cách súc tích h n nh sau:ể ạ ắ ộ ơ ư
Và đó chính là các s n xu t trong văn ph m phi ng c nh, trong đó U, C,ả ấ ạ ữ ả
V, D, Đ, G là các ký hi u không k t thúc, còn “mèo”, “bò”, “tôi”, “nó”, “ăn”,ệ ế
“n m”, “u ng” là các ký hi u k t thúc.ằ ố ệ ế
Trang 28Đ nh lý I.ị 2 chở ương I nói r ng ta có th ằ ể h p thành ợ các suy d n c a m tẫ ủ ộ
h vi t l i thành m t suy d n. Ph d n phát bi u ngệ ế ạ ộ ẫ ẫ ể ượ ạc l i là không đúng v iớ
m i h vi t l i nói chung, song l i đúng v i các văn ph m phi ng c nh: ta cóọ ệ ế ạ ạ ớ ạ ữ ả
th ể phân rã m t suy d n phi ng c nh thành các suy d n con đ c l p v iộ ẫ ữ ả ẫ ộ ậ ớ nhau. Tính ch t c b n này c a các suy d n phi ng c nh là r t hay đấ ơ ả ủ ẫ ữ ả ấ ược v nẫ
d ng trong các ch ng minh sau này.ụ ứ
Theo tài li u [1], tác gi : nguy n Văn Ba, có vi t:ệ ả ễ ế
“Cho G=(∑,∆,P,S) là m t văn ph m phi ng c nh và đ c V= ∑ ộ ạ ữ ả ặ ∪∆. Cho
m t suy d n trong G u ộ ẫ 1 u n k v, trong đó u 1 ∈ V* v i m i i=1, ,n và v ớ ọ ∈V*. thế thì v i m i i=1, , ớ ọ n t n t i v ồ ạ i ∈ V* và k i∈ N sao cho:
V i m i i=1, ,n: u ớ ọ i k
i v i , i =k, và v 1 …v n =v.”
T đó ta có Đ nh lý II.1.ừ ị
Đ nh lý II.1ị
Cho G=(∑,∆,P,S) là m t văn ph m phi ng c nh và đ c ộ ạ ữ ả ặ V= ∑∪∆. Cho
m t suy d n trongộ ẫ G u 1 u n k v, trong đó u 1 ∈ V* v i m iớ ọ i=1, ,n và v∈V*. thế
thì v i m i ớ ọ i=1, ,n t n t i ồ ạ vi ∈V* và k i∈N sao cho:
V i m iớ ọ i=1, ,n: ui k
i vi, i=k, và v1…v n =v.
Trường h p ợ n=2. Ta ch ng minh đ nh lý b ng quy n p trên k.ứ ị ằ ạ
N u ế k=0: hi n nhiên.ể
N u ế k=1: u1 u 2 1 v. B i đ nh nghĩa c a suy d n tr c ti p ta cóở ị ủ ẫ ự ế
u 1 u 2=u’Au”, v=u’ u’’ và β A→β∈P.
Hai trường h p có th là:ợ ể
+ Trường h p │ợ u’ u│ │ 1│ta có u’=u 1 t và u 2 =tAu’’
Đ t ặ v1 =u 1 và v2 = t u’’β
Trang 29Theo tài li u [4], tác gi Nguy n Th Trúc Viên, có vi t “ệ ả ễ ị ế Cho G = (V,
T, S, P) là m t VPPNC. M t cây có th t là m t cây d n xu t cho ộ ộ ứ ự ộ ẫ ấ G nếu
Nhãn c a g c là ký ki u đ u ủ ố ệ ầ S.
Nhãn c a m i đ nh trong là m t ký hi u không k t thúc (m t ph n tủ ỗ ỉ ộ ệ ế ộ ầ ử
Trang 30V i m i đ nh trong, n u nó có nhãn là ớ ỗ ỉ ế A và các con c a nó là các đ nhủ ỉ
n 1 ,n 2 ,n k l n lầ ượt có nhãn là X 1 ,X 2 , ,X k , thì A X→ 1 X 2 X k ph i làm t s n xu tả ộ ả ấ
c a ủ G.
N u m t lá có nhãn là , thì lá đó ph i là con duy nh t c a cha nó (đi uế ộ ε ả ấ ủ ề này ch nh m đ h n ch ci c tùy ti n đ a thêm nhi u vô ích vào cây suyỉ ằ ể ạ ế ệ ệ ư ề ε
d n).ẫ
Cho m t suy d n, ta g i cây con là m t cây t o thành b i m t đ nh vàộ ẫ ọ ộ ạ ở ộ ỉ
m i h u du c a nó, cùng v i các nhãn và các cung liên k t chúng. N u g cọ ậ ệ ủ ớ ế ế ố
c a cây con có nhãn là ủ A, thì cây con đó được g i là m t ọ ộ Acây.
Ta g i bi n (hay k t qu ) c a m t cây các suy d n hay c a m tọ ế ế ả ủ ộ ẫ ủ ộ Acây
là xâu t o thành b ng cách ghép ti p các lạ ằ ế á c a cây theo tr t t t trái quaủ ậ ự ừ
M t cây suy d n có biên là xâu ộ ẫ aabbaa được cho trong Hình 2.1, trong đó
ta ch ra cách đi (men theo các cành) t trái qua ph i, cho phép nh t l n lỉ ừ ả ặ ầ ượ tcác lá đ thành l p ra xâu đó.ể ậ
Hình 2. M t cây suy d n ộ ẫ
Hình 2.2 cho m t cây con c a cây suy d n trênộ ủ ẫ
Trang 31Hình 2. M t Acây ộ
Trang 32V i m i ký hi u không k t thúc ớ ọ ệ ế A, A *
G u khi và ch khi t n t i m t ỉ ồ ạ ộ Acây
có biên u
Phép ch ng minh đứ ược th c hi n theo hai chi u (khi,ch khi).ự ệ ề ỉ
Trước h t ta gi thi t u là biên c a m t ế ả ế ủ ộ Acây và ta ch ng minhứ
r ng ằ A *
G u, b ng quy n p trên s m các đ nh trong c a cây.ằ ạ ố ỉ ủ
+ m=1: Cây có d ng nh trong Hình ạ ư 2.3
Hình 2. M t Acây có m t đ nh trong ộ ộ ỉ
Nh th thì ư ế u=X 1 X 2 X k và A u→ ∈P. V y ậ A * u.
+ m>1: Gi thi t r ng k t lu n là đúng v i m i cây có không quá ả ế ằ ế ậ ớ ọ m1
đ nh trong và xét m t ỉ ộ Acây có m đ nh trong. Gi s ỉ ả ử X1 ,X 2 , ,X k là các h u duậ ệ
tr c ti p (con) c a g c ự ế ủ ố A. Chúng đ u là g c c a các ề ố ủ X icây,1≤i≤k, mà s cácố
đ nh trong là ít h n ỉ ơ m. B i gi thi t quy n p, ta có ở ả ế ạ X i * u i, trong đó ui là biên c aủ
X icây (ui =X i n u ế Xi∈∑). T Đ nh lý I.ừ ị 2 (h p thành các suy d n ) ta có:ợ ẫ
A= G X 1 X 2 X k G * u 1 u 2 u k (Hình 2.4). M t khác, n u ặ ế i<j thì Xi và m i h u duọ ậ ệ
c a nó luôn luôn bên trái ủ ở X j cùng v i các h u du c a nó. V y ớ ậ ệ ủ ậ u=u1 u 2 u k là
biên c a ủ Acây, cho nên ta có A *
G u.
Trang 33Hình 2. M t Acây và các cây con c a nó ộ ủ
Bây gi ta gi thi t ờ ả ế A *
G u và ta s ch ng minh, b ng quy n p trên đ dàiẽ ứ ằ ạ ộ
n c a dây d n, r ng t n t i m t ủ ẫ ằ ồ ạ ộ Acây có biên là u.
n=1: B y gi ấ ờ A→u∈P và ta có m t ộ Acây nh trên Hình ư 2.3 v i biên làớ
đ dài c a m i suy d n ộ ủ ỗ ẫ Xi G*u i, 1≤i≤k là nh thua n, cho nên t n t i m t ỏ ồ ạ ộ Xi cây, 1≤i≤k có biên là ui. T đó ta có th thành l p m t ừ ể ậ ộ Acây nh trong Hìnhư 2.4 b ng cách n i g c ằ ố ố A v i g c c a m i m t ớ ố ủ ỗ ộ Xi cây, 1≤i≤k. Acây đó có biên
là xâu u= u1 u 2 u k
Suy d n trái, suy d n ph i và tính nh p nh ngẫ ẫ ả ậ ằ
Nh đã th y trên, m t cây suy d n mà k t q a là u tư ấ ở ộ ẫ ế ủ ương ng v iứ ớ nhi u suy d n ề ẫ S * u. Trong s các suy d n này, ta chú ý đ c bi t t i hai suy d nố ẫ ặ ệ ớ ẫ sau:
Suy d n trái, đó là suy d n mà trong đó, m i bẫ ẫ ở ỗ ước, ký hi u đệ ược thay
th luôn luôn là ký hi u không k t thúc n m bên tráế ệ ế ằ i nh t trong d ng câu.ấ ạ
Suy d n ph i, đó là suy d n mà trong đó, m i bẫ ả ẫ ở ỗ ước, ký hi u đệ ượ cthay th luôn luôn là ký hi u không k t thúc n m bên ph i nh t trong d ngế ệ ế ằ ả ấ ạ câu
D dàng ch ng t r ng có m t song ánh gi a các cây suy d n c a m tễ ứ ỏ ằ ộ ữ ẫ ủ ộ
Trang 34M t văn ph m phi ng c nh ộ ạ ữ ả G = (∑, ∆, P, S) là nh p nh ng n u t n t iậ ằ ế ồ ạ
m t xâu ộ w∈(∑∪∆)* cùng là k t qu c a hai cây suy d n khác nhau.ế ả ủ ẫ
Cùng m t ngôn ng có th độ ữ ế ược sinh ra t vô h n các văn ph m khácừ ạ ạ nhau, trong đó có văn ph m là nh p nh ng, có văn ph m là không nh pạ ậ ằ ạ ậ
nh ng. M t ngôn ng phi ng c nh đằ ộ ữ ữ ả ược nói là nh p nh ng c h u, hay nóiậ ằ ố ữ
g n là nh p nh ng, n u t t c các văn ph m sinh ra nó đ u nh p nh ng.ọ ậ ằ ế ấ ả ạ ề ậ ằ
Người ta ch ng minh r ng t n t i nh ng ngôn ng nh v y.ứ ằ ồ ạ ữ ữ ư ậ
Thí dụ 2.8:
Cho G0 là văn ph m phi ng c nh g m các quy t c sau:ạ ữ ả ồ ắ
E E+E E*E (E) a→ │ │ │Văn ph m này s n sinh các bi u th c s h c trong đó các toán t là + vàạ ả ể ứ ố ọ ử
* và các h ng toán đ u là ạ ề a.
Hình 2. M t cây suy d n trong G ộ ẫ 0
Các câu suy d n cho trên Hình ẫ 2.5 có k t qu là ế ả a+a*a.
Suy trái tương ng v i cây đó là:ứ ớ
Trang 35Hình 2. M t cây suy d n khác c a G ộ ẫ ủ 0
Nh v y văn ph m ư ậ ạ G 0 là nh p nh ng. Đi u đó có nghĩa là trong vănậ ằ ề
ph m ạ G 0 bi u thể ức a+a*a được hi u theo hai cách: c ng trể ộ ước hay nhân
trước
Đ lo i tr nh p nh ng ta đ a thêm m t quy ể ạ ừ ậ ằ ư ộ ước phù tr :ợ
Ho c là ta luôn luôn th c hi n các phép toán (c ng và nhân) theo th tặ ự ệ ộ ứ ự
t trái qua ph i khi các phép toán đó không b ngăn cách b i vòng đ n. Yêuừ ả ị ở ơ
c u này d n t i m t văn ph m ầ ẫ ớ ộ ạ G 1, tương đương v i văn ph m ớ ạ G 0, nh ngư không nh p nh ng, và có các quy t c sau:ậ ằ ắ
Trong G2 các phép toán cùng m c u tiên mà đ ng c nh nhau thì đứ ư ứ ạ ượ c
th c hi n theo th t t trái qua ph i.ự ệ ứ ự ừ ả
Các cây suy d n cho xâu ẫ a+a*a trong các văn ph m ạ G1 +G 2 được cho l nầ
lượt trên các Hình 2.7 và 2.8
Trang 36Hình 2. M t cây suy d n c a G ộ ẫ ủ 1
Hình 2. M t cây suy d n c a G ộ ẫ ủ 1
2.2 Bi n đ i các văn ph m phi ng c nhế ổ ạ ữ ả
Thông thường thì m t văn ph m còn ch a đ ng nhi u y u t vô ích,ộ ạ ứ ự ề ế ố
ch ng h n các ký hi u không tham gia vào suy d n ra các xâu c a ngôn ng ,ẳ ạ ệ ẫ ủ ữ hay là các s n xu t có d ng ả ấ ạ A B→ (A,B∈∆) làm kéo dài cac suy d n m t cáchẫ ộ không th c s là c n thi t. B i v y nhi u khi ta c n bi n đ i các văn ph mự ự ầ ế ở ậ ề ầ ế ổ ạ thành các văn ph m tạ ương đương mà không còn các y u t vô ích n a.ế ố ữ
Lo i b các ký hi u vô íchạ ỏ ệ
Trang 37Cho m t văn ph m phi ng c nh ộ ạ ữ ả G = (∑, ∆, P, S) và đ t ặ V=∑∪∆. M t kýộ
hi u ệ X∈V là có ích n u t n t i m t suy d n ế ồ ạ ộ ẫ S*αXβ*w, trong đó ,α β∈V* và
w∈∑*, n u không nó là vô ích.ế
Nh v y m t ký hi u có ích ư ậ ộ ệ X ph i là:ả
1) m t ký hi u h u sinh, nghĩa là t n xâu ộ ệ ữ ồ x∈∑* mà X * x.
2) m t ký hi u đ n độ ệ ế ược, nghĩa là t n t i hai xâu ,ồ ạ α β∈V* đ cho ể S*αX β
B đ II.1 ổ ề (Lo i b các ký hi u vô sinh)ạ ỏ ệ
T n t i m t thu t toán cho phép, v i m i văn ph m phi ng c nh ồ ạ ọ ậ ớ ọ ạ ữ ả G mà L(G)≠, thành l p m t văn ph m phi ng c nh tậ ộ ạ ữ ả ương đương G’ ch có các kýỉ
Các t p ậ Wi l n d n (ớ ầ Wi Wi+1) nh ng l i luôn ph i n m trong t p h u h nư ạ ả ằ ậ ữ ạ
V. V y dãy các ậ W i s ph i d ng. Vì th ta ch c n tính các ẽ ả ừ ế ỉ ầ W i liên ti p khiế chúng còn th c s tăng trự ự ưởng, và ng ng l i khi chúng ng ng tăng, nghĩa làừ ạ ừ
khi có Wk=Wk+1. B y gi ta cũng s có ấ ờ ẽ W k+1 =W k+2,v.v và nh th thì ư ế W=W k.
Ta s ch ng minh r ng ẽ ứ ằ W ∆ chính là t p h p các ký hi u không k t thúc h u∩ ậ ợ ệ ế ữ sinh
a) Cho A∈∆ là m t ký hi u không k t thúc h u sinh, nghĩa là t n t i m tộ ệ ế ữ ồ ạ ộ suy d n:ẫ
A=α0α1 αk=u trong đó u∈∑ *, k≥1
Ta có u ∈ ∑* = W0 * , và bước ti p bế ước, căn c vào đ nh nghĩa c a các ứ ị ủ W i
ta ch ng t đứ ỏ ượ ằc r ng v i m i ớ ọ i, αki∈W t * , và cu i cùng thìố A ∈ W t *. V y thìậ
b) Cho A ∈ W ∩ ∆. Th thì t n t i m t s nguyênế ồ ạ ộ ố i đ choể A ∈ W i ∩ ∆.Ta
s ch ng minh b ng quy n p trên i r ngẽ ứ ằ ạ ằ A là h u sinh.ữ
+ N u ế i = 1, b i đ nh nghĩa c aở ị ủ W1, ∃u∈W0 * đ choể A→u∈P, v y ta cóậ
A * u và A là h u sinh.ữ
+ Gi s v i m i s nguyên ả ử ớ ọ ố k<i, n u ế A∈Wk∩∆ thì A là h u sinh.ữ
Ta có A∈Wi ∩ ∆ = (Wi1∩∆) ∪ {A∈∆│∃α∈Wi1*:A→α∈P}.
N u ế A∈Wi1 thì nó là h u sinh b i gi thi t quy n p. N u không ta cóữ ở ả ế ạ ế
Trang 38trong , đ u suy d n đα ề ẫ ược m t xâu trên ∑. Cho nên suy ra ộ A cũng v y, nóiậ
Ngượ ạc l i, gi s r ng ả ử ằ x∈L(G) và x L(G’). Nh m i suy d n c aư ọ ẫ ủ x trong
G có s d ng ít nh t m t ký hi u không k t thúc trong ∆∆’ ho c m t s nử ụ ấ ộ ệ ế ặ ộ ả
xu t trong ấ PP’ (và nh v y v n ph i s d ng m t ký hi u không k t thúcư ậ ẫ ả ử ụ ộ ệ ế trong ∆∆’). Nh th thì đã có m t ký hi u không k t thúc trong ∆∆’ là h uư ế ộ ệ ế ữ sinh. Mâu thu n này cho phép ta k t lu n r ng ẫ ế ậ ằ L(G) L(G’). T đó ừ L(G)=L(G’).
v iớ P’={S aA abAS, A bA a, C aA bS a}.→ │ → │ → │ │
H qu Iệ ả I.2
Cho m t văn ph m phi ng c nh ộ ạ ữ ả G. Bài toán L(G)= là gi i đả ược
Qu v y, ả ậ L(G)= khi và ch khi ỉ S W, và ta đã có cách đ tính t p ể ậ W.
B đ II.2 ổ ề (Lo i b các ký hi u không đ n đạ ỏ ệ ế ược)
Trang 39T n t i m t thu t toán cho phép v i m i văn ph m phi ng c nh ồ ạ ộ ậ ớ ọ ạ ữ ả G
thành l p m t văn ph m phi ng c nh tậ ộ ạ ữ ả ương đương G’ ch có các ký hi uỉ ệ
đ n đế ược
Thành l p t p h p các ký hi u đ n đ ậ ậ ợ ệ ế ượ c
Ta đ t:ặ W0 ={S}, U 0 =
V i ớ i>0: W i =W i1∪{A∈∆│∃B∈Wi1 , ∃u 1 u 2∈(∑∪∆)*: B u→ 1 Au 2∈P}
U i =U i1∪{a∈∑│∃BWi1,∃u 1 ,u 2∈(∑∪∆)*: B u→ 1 au 2∈P}
Và cu i cùng đ t: ố ặ W= i , U= i
Ti p theo ta ch ng minh r ng:ế ứ ằ
+ Có th tính các t p W và U m t cách h u hi u ; đi u này để ậ ộ ữ ệ ề ược suy ra
t s ki n n u ừ ự ệ ế Wi+1 =W i thì k>1 : Wi+k =W i+1 =W và U i+k =U i+1 =U.
+ W là t p các ký hi u không k t thúc đ n đậ ệ ế ế ược, và U là t p các ký hi uậ ệ
k t thúc đ n đế ế ược. Đi u này đề ược ch ng minh tứ ương t nh B đ II.1,ự ư ở ổ ề xin chuy n đ n đ c gi nh là m t bài t p.ể ế ộ ả ư ộ ậ
Trang 40Đ nh lý II.3ị
M i ngôn ng phi ng c nh đ u có th đỗ ữ ữ ả ề ể ượ ảc s n sinh t m t văn ph mừ ộ ạ phi ng c nh ch có các ký hi u có ích.ữ ả ỉ ệ
Cho m t ngô ng phi ng ộ ữ ữ c nh L ả =L(G) và L≠. Áp d ng lên ụ G cách thành
l p B đ II.1 ta thu đậ ở ổ ề ược m t văn ph m ộ ạ G’ ch có các ký hi u h u sinh.ỉ ệ ữ
Ti p t c áp d ng lên ế ụ ụ G’ cách thành l p B đ II.2 ta thu đậ ở ổ ề ược m t vănộ
ph m ạ G” ch có các ký hi u đ n đỉ ệ ế ược
Rõ ràng r ngằ L(G’’)=L(G’)=L(G)=L
Ta hãy ch ng minh r ng ứ ằ G” ch có các ký hi u có ích.ỉ ệ
Gi s trong ả ử G” có m t ký hi u vô ích ộ ệ X. T b đ II.2, ừ ổ ề X là đ n đế ượ c,nghĩa là:
∃α β, : S G” * Xα β
Vì G’ bao g m t t c các ký hi u và t t c các s n xu t ồ ấ ả ệ ấ ả ả ấ G”, và G’ ch cóỉ các ký hi u h u sinh, v y ta có:ệ ữ ậ
S G” * Xα βG’ *u, u∈∑*
Suy d n trong ẫ G’ này cho ta th y r ng m i ký hi u dùng trong ph n suyấ ằ ọ ệ ầ
d n ẫ α βX G’ * u đ u là đ n đề ế ược (t S). V y các ký hi u đó không b lo i b b iừ ậ ệ ị ạ ỏ ở
B đ II.2 và chúng còn l u l i trong văn ph m ổ ề ư ạ ạ G”. T đó ta có:ừ