Najprostszy przypadek, jaki znam algorytm, który istnieje, choć nie wiadomo, który algorytm dotyczy automatów skończonych.
Iloraz języka L 1 przez język L 2 jest zdefiniowany jako L 1 / L 2 = { x ∣ ∃ y ∈ L 2 tak, że x y ∈ L 1 } .L.1/ L2)L.1L.2)L.1/ L2)= { x ∣ ∃ y∈ L.2) takie, że x y∈ L.1}
Łatwo jest udowodnić, że zbiór regularny jest zamykany pod ilorazem przez dowolny zestaw. Innymi słowy, jeżeli jest regularny i L 2 jest dowolna (niekoniecznie regularny), a L 1 / L 2 jest prawidłowe, za.L.1L.2)L.1/ L2)
Dowód jest dość prosty. Niech będzie FSA akceptującym regularny zbiór R , gdzie Q i F są odpowiednio zbiorem stanów i zbiorem stanów akceptujących, i niech L będzie dowolnym językiem. Niech F ′ = { q ∈ Q ∣ ∃ y ∈ LM.= ( Q , Σ , δ, q0, F.)RQfaL. jest zbiorem stanów, z których końcowy stan może przyjmując ciąg z L .fa′= { q∈ Q ∣ ∃ y∈ L.δ( q, y) ∈ F.}L.
Automat , który różni się od M
tylko w jego zestawie F ' stanów końcowych rozpoznaje dokładnie R / l . (Lub zobacz Hopcroft-Ullman 1979, strona 62, aby uzyskać dowód na ten fakt.)M.′= ( Q , Σ , δ, q0, F.′)M.fa′R/L
Jednak gdy zbiór nie jest rozstrzygalny, może nie być algorytmu decydującego, które stany mają właściwość, która definiuje F ' . Tak więc, chociaż wiemy, że zbiór F ' jest podzbiorem Q , nie mamy algorytmu określającego, który podzbiór. W konsekwencji, choć wiemy, że R jest akceptowane przez jeden z 2 | Q | możliwe FSA, nie wiemy, co to jest. Chociaż muszę wyznać, że w dużej mierze wiemy, jak to wygląda.L.fa′fa′QR2)| Q |
Jest to przykład tego, co czasami nazywa się prawie konstruktywnym
dowodem, który dowodzi, że jedna ze skończonej liczby odpowiedzi jest poprawna.
Przypuszczam, że rozszerzenie tego może być dowodem na to, że jedna z wymienionych odpowiedzi jest właściwa. Ale nie znam żadnego. Nie znam też czysto niekonstruktywnego dowodu, że jakiś problem jest rozstrzygalny, na przykład używając tylko sprzeczności.