Мені найпростіший випадок з алгоритму, який існує, хоча невідомо, який алгоритм стосується автоматів кінцевого стану.
Коефіцієнт мови L 1 мовою L 2 визначається як L 1 / L 2 = { x ∣ ∃ y ∈ L 2 таким, що x y ∈ L 1 } .L1/ Л2L1L2L1/ Л2= { x ∣ ∃ y∈ L2 такий, що х у∈L1}
Неважко довести, що регулярний набір закритий під часткою довільним набором. Іншими словами, якщо регулярний і L 2 довільний (не обов'язково регулярний), то L 1 / L 2 також є регулярним.L1L2L1/L2
Доказ досить простий. Нехай - FSA, що приймає регулярний набір R , де Q і F відповідно множина станів і безліч станів, що приймають, а L - довільна мова. Нехай F ′ = { q ∈ Q ∣ ∃ y ∈ LM=(Q,Σ,δ,q0,F)RQFL безліч станівз яких кінцевий стан може бути досягнуто шляхом прийому рядки з L .F′={q∈Q∣∃y∈Lδ(q,y)∈F}L
Автомат , яка відрізняється від М
тільки в своєму безлічі F ' кінцевих станів визнає саме Р / л . (Або див. Hopcroft-Ullman 1979, стор. 62 для підтвердження цього факту.)M′=(Q,Σ,δ,q0,F′)MF′R/L
Однак, коли множина не вирішується, не може бути алгоритму для визначення того, які стани мають властивість, що визначає F ′ . Отже, хоча ми знаємо, що множина F ' є підмножиною Q , у нас немає алгоритму, щоб визначити, яке підмножина. Отже, поки ми знаємо, що R приймається одним із 2 | Q | можливо FSA, ми не знаємо, що це таке. Хоча, маю визнати, ми знаємо великою мірою, як це виглядає.LF′F′QR2| Q |
Це приклад того, що іноді називають майже конструктивним
доказом, тобто доказом того, що одна з кінцевої кількості відповідей є правильною.
Я вважаю, що розширення цього може бути доказом того, що одна із безлічі відповідей є правильною. Але я не знаю жодної. Я також не знаю чисто неконструктивного доказу того, що певна проблема вирішується, наприклад, використовуючи лише суперечність.