Definisi
Definisi 1 : Biarkan SS menjadi seperangkat kata. Kami mengatakan bahwa SS adalah baik tak terbatas awalan bebas (dibuat nama untuk tujuan jawaban ini) jika ada kata-kata u 0 , ... , u n , ...u0,…,un,… dan v 1 , ... , v n , ...v1,…,vn,… sehingga:
Untuk setiap n ≥ 1n≥1 , u nun dan v nvn tidak kosong dan mulai dengan huruf yang berbeda;
S = { u 0 v 1 , ... , u 0 ... u n v n + 1 , ... }S={u0v1,…,u0…unvn+1,…} .
Intuisi adalah bahwa Anda dapat meletakkan semua kata-kata itu pada pohon berakar yang tak terbatas ( ■
yaitu akar, ▲
daun, dan •
simpul interior yang tersisa) dari bentuk berikut ini sehingga kata-kata dalam SS persis label label jalur dari akar ke daun:
u₀ u₁ u₂
■-----•-----•-----•⋅⋅⋅
| | |
| v₁ | v₂ | v₃
| | |
▲ ▲ ▲
Proposisi 1.1 : Satu set bebas awalan yang tak terbatas dengan baik adalah bebas awalan.
Bukti proposisi 1.1 : Misalkan u 0 ... u n v n + 1u0…unvn+1 adalah awalan ketat u 0 ... u m v m + 1u0…umvm+1 . Ada dua kasus:
Jika n < mn<m maka v n + 1vn+1 adalah awalan dari u n + 1 ... u m v m + 1un+1…umvm+1 . Ini tidak mungkin karena u n + 1un+1 dan v n + 1vn+1 memiliki huruf pertama yang berbeda.
Jika n > mn>m maka u m + 1 ... u n v n + 1um+1…unvn+1 adalah awalan dari v m + 1vm+1 . Ini tidak mungkin karena u m + 1um+1 dan v m + 1vm+1 memiliki huruf pertama yang berbeda.
Proposisi 1.2 : Perangkat awalan bebas tak terbatas yang tak terbatas tak terbatas.
Bukti proposisi 1.2 : Dalam bukti 1.1, kami menunjukkan bahwa jika n ≠ mn≠m maka u 0 ... u n v n + 1u0…unvn+1 dan u 0 ... u m v m + 1u0…umvm+1 tidak sebanding dengan urutan awalan. Karena itu mereka tidak sama.
Bukti utama
Proposisi 2 : Setiap set bebas awalan tak terbatas berisi set bebas awalan tak terbatas yang bagus.
Proposisi 3 : Suatu bahasa berisi kumpulan awalan infinite yang tak terbatas jika dan hanya jika itu berisi kumpulan awalan infinite yang tak terbatas.
Bukti di bawah ini.
Bukti proposisi 3 : ⇒⇒ oleh proposisi 2. ⇐⇐ oleh proposisi 1.1 dan 1.2.
Proposisi 4 : Himpunan himpunan bagian bebas awalan dari bahasa reguler (dikodekan sebagai kata tak terbatas ¯ u 0 ^ v 1 ¯ u 1 ^ v 2 ¯ u 2 ...u0¯¯¯¯¯v1ˆu1¯¯¯¯¯v2ˆu2¯¯¯¯¯… ) adalah ω-ω regular (dan ukuran Büchi otomat mengenali itu polinom dalam ukuran NFA mengenali bahasa biasa).
Bukti di bawah ini.
Teorema 5 : Memutuskan apakah bahasa reguler yang dijelaskan oleh NFA berisi subset bebas awalan tak terbatas dapat dilakukan dalam polinomial waktu dalam ukuran NFA.
Bukti teorema 5 : Dengan proposisi 3, cukup untuk menguji apakah mengandung subset bebas awalan yang tak terbatas, yang dapat dilakukan dalam waktu polinomial dengan membangun otomat Büchi yang diberikan oleh proposisi 4 dan menguji non-kekosongannya. bahasa (yang dapat dilakukan dalam waktu linier dalam ukuran otomat Büchi).
Bukti proposisi 2
Lemma 2.1 : Jika SS adalah perangkat awalan yang bebas, maka w - 1 Sw−1S (untuk kata apa pun ww ).
Bukti 2.1 : Menurut definisi.
Lemma 2.2 : Biarkan SS menjadi kumpulan kata yang tak terbatas. Mari w : = LCP ( S n )w:=lcp(Sn) menjadi awalan umum terpanjang untuk semua kata-kata dalam SS . SS dan w - 1 Sw−1S memiliki kardinal yang sama.
Bukti 2.2 : Tentukan f : w - 1 S → Sf:w−1S→S oleh f ( x ) = w xf(x)=wx . Ini didefinisikan dengan baik oleh definisi w - 1 Sw−1S , injeksi dengan definisi ff dan perkiraan dengan definisi ww .
Bukti proposisi 2 : Kami membangun u nun dan v nvn dengan induksi pada nn , dengan hipotesis induksi H nHn terdiri dari bagian berikut:
( P 1 )(P1) Untuk semua k ∈ { 1 , … , n }k∈{1,…,n} , u 0 ... u k - 1 v k ∈ Su0…uk−1vk∈S ;
( P 2 )(P2) Untuk semua k ∈ { 1 , ... , n }k∈{1,…,n} , u kuk dan v kvk adalah non-kosong dan mulai dengan huruf yang berbeda;
( P 3 ) (P3) S n : = ( u 0 ... u n ) - 1 SSn:=(u0…un)−1S tidak terbatas;
( P 4 )(P4) Tidak ada awalan non-kosong yang umum untuk semua kata dalam S nSn . Dengan kata lain: Tidak ada huruf aa sehingga S n ⊆ a Σ ∗Sn⊆aΣ∗ .
Berkomentar 2.3 : Jika kita memiliki urutan yang memverifikasi H nHn tanpa ( P 4 )(P4) , kita dapat memodifikasi u nun untuk membuat mereka untuk juga memenuhi ( P 4 )(P4) . Memang, sudah cukup untuk mengganti u nun dengan u n lcp ( S n )unlcp(Sn) . ( P 1 )(P1) tidak terpengaruh. ( P 2 )(P2) sepele. ( P 4 )(P4) adalah dengan konstruksi. ( P 3 )(P3) oleh lemma 3.
Kami sekarang membangun urutan dengan induksi pada nn :
Inisialisasi: H 0H0 benar dengan mengambil u 0 : = lcp ( S )u0:=lcp(S) (yaitu dengan mengambil u 0 : = εu0:=ε dan menerapkan komentar 3.1).
Langkah induksi: Misalkan kita memiliki kata-kata u 1 , … , u nu1,…,un dan v 1 , … , v nv1,…,vn sedemikian rupa sehingga H nHn untuk beberapa nn . Kami akan membangun u n + 1un+1 dan v n + 1vn+1 sedemikian rupa sehingga H n + 1Hn+1 .
Karena S nSn tidak terbatas dan bebas awalan (oleh lemma 1), ia tidak mengandung εε sehingga S n = ⨆ a ∈ Σ ( S n ∩ a Σ ∗ )Sn=⨆a∈Σ(Sn∩aΣ∗) . Karena S nSn tidak terbatas, ada huruf aa sehingga S n ∩ a Σ ∗Sn∩aΣ∗ tidak terbatas. Pada ( P 4 )(P4) , ada huruf bb berbeda dari hurufa sedemikian sehingga S n ∩ b Σ∗Sn∩bΣ∗ tidak kosong. Pilih v n + 1 ∈ S n ∩ b Σ ∗vn+1∈Sn∩bΣ∗ . Mengambil u n + 1un+1 menjadi sebuaha akan memuaskan ( P 1 )(P1) , ( P 2 )(P2) dan ( P 3 )(P3) sehingga kita menerapkan pernyataan 3.1 untuk mendapatkan ( P 4 )(P4) : u n + 1 : = a LCP ( a - 1 S n)un+1:=alcp(a−1Sn) .
( P 1 ) (P1) u 1 ... u n v n + 1 ∈ u 1 ... u n ( S n ∩ b Σ * ) ⊆ Su1…unvn+1∈u1…un(Sn∩bΣ∗)⊆S .
( P 2 )(P2) Dengan definisi u n + 1un+1 dan v n + 1vn+1 .
( P 3 ) (P3) a - 1 S na−1Sn tidak terbatas dengan definisi aa , dan S n + 1Sn+1 karena itu tidak terbatas oleh lemma 3.
( P 4 )(P4) Dengan definisi u n + 1un+1 .
Bukti proposisi 4
Bukti proposisi 4 : Misalkan A = ( Q , → , Δ , q 0 , F )A=(Q,→,Δ,q0,F) menjadi NFA.
Idenya adalah sebagai berikut: kita membaca u 0u0 , mengingat di mana kita berada, membaca v 1 , mundur ke tempat kita setelah membaca u 0 , membaca u 1 , mengingat di mana kita berada, ... Kita juga ingat huruf pertama yang baca di setiap v n untuk memastikan bahwa u n dimulai dengan huruf yang lain.
Saya telah diberitahu bahwa ini bisa lebih mudah dengan automata multi-head tapi saya tidak terlalu terbiasa dengan formalisme jadi saya hanya akan menggambarkannya menggunakan otomat Büchi (dengan hanya satu kepala).
Kami mengatur Σ ' : = ¯ Σ ⊔ Σ , di mana simbol-simbol overlined akan digunakan untuk menggambarkan u k s dan simbol dengan topi untuk v k s.
Kami menetapkan Q ′ : = Q × ( { ⊥ } ⊔ ( Q × Σ ) ) , di mana:
( Q , ⊥ ) berarti bahwa Anda membaca beberapa u n ;
( Q , ( p , a ) ) berarti bahwa Anda selesai membaca beberapa u n di negara p , bahwa Anda sekarang membaca v n + 1 yang dimulai dengan sebuah , dan bahwa setelah Anda selesai, Anda akan kembali ke p untuk membaca u n + 1 yang tidak dimulai dengan a .
Kami menetapkan q ′ 0 : = ( q 0 , ⊥ ) karena kami mulai dengan membaca u 0 .
Kami mendefinisikan F ′ sebagai F × Q × Σ .
Set transisi → ′ didefinisikan sebagai berikut:
" u n " Untuk setiap transisi q a → q ′ , tambahkan ( q , ⊥ ) ¯ a → ′ ( q ′ , ⊥ ) ;
" U n ke v n + 1 " Untuk setiap transisi q a → q ' , add ( q , ⊥ ) a → ' ( q ' , ( q , a ) ) ;
" V n " Untuk setiap transisi q a → q ' , add ( q , ( p , a ) ) a → ' ( q ' , ( p , a ) ) ;
" v n to u n " Untuk setiap transisi p a → p ′ di mana p adalah final dan huruf b berbeda dari a , tambahkan ( q , ( p , b ) ) ¯ a → ′ ( p ′ , ⊥ ) ;
Lemma 4.1 : ¯ u 0 ^ v 1 ¯ u 1 ^ v 2 ... ¯ u n ^ v n + 1 diterima oleh A ′ iff untuk masing-masing n ≥ 1 , u n dan v n tidak kosong dan mulai dengan huruf yang berbeda , dan untuk setiap n ≥ 0 , u 0 … u n v n + 1 ∈ L ( A) .
Bukti lemma 4.1 : diserahkan kepada pembaca.