Logika dla informatyków/Logika drugiego rzędu: Różnice pomiędzy wersjami
m Zastępowanie tekstu – „.↵</math>” na „</math>” |
|||
(Nie pokazano 44 wersji utworzonych przez 3 użytkowników) | |||
Linia 6: | Linia 6: | ||
Z przyczyn technicznych tym razem wygodnie nam będzie przyjąć, | Z przyczyn technicznych tym razem wygodnie nam będzie przyjąć, | ||
że podstawowymi spójnikami logicznymi | że podstawowymi spójnikami logicznymi | ||
są <math> | są <math>\lnot, \lor</math> i <math>\exists</math>. | ||
{{definicja|12.1|| | {{definicja|12.1|| | ||
Linia 13: | Linia 13: | ||
podobnie jak analogiczna [[Logika dla informatyków/Język logiki pierwszego rzędu#def-form|Definicja 2.5]] dla logiki | podobnie jak analogiczna [[Logika dla informatyków/Język logiki pierwszego rzędu#def-form|Definicja 2.5]] dla logiki | ||
pierwszego rzędu. Jednak tym razem nie ustalamy sygnatury z góry. | pierwszego rzędu. Jednak tym razem nie ustalamy sygnatury z góry. | ||
:*Każda formuła atomowa nad sygnaturą <math> | :*Każda formuła atomowa nad sygnaturą <math>\Sigma</math> jest formułą drugiego rzędu nad sygnaturą <math>\Sigma</math>. | ||
:*Jeśli <math> | :*Jeśli <math>\varphi,\psi</math> są formułami drugiego rzędu nad sygnaturą <math>\Sigma</math>, to <math>\varphi\lor\psi</math> jest też formułą drugiego rzędu nad sygnaturą <math>\Sigma</math>. | ||
:*Jeśli <math> | :*Jeśli <math>\varphi</math> jest formułą drugiego rzędu nad sygnaturą <math>\Sigma</math>, to <math>\lnot\varphi</math> jest też formułą drugiego rzędu nad sygnaturą <math>\Sigma</math>. | ||
:*Jeśli <math> | :*Jeśli <math>\varphi</math> jest formułą drugiego rzędu nad sygnaturą <math>\Sigma</math> a <math>x\in\ZI</math> jest zmienną indywiduową, to <math>\exists x\varphi</math> jest też formułą drugiego rzędu nad sygnaturą <math>\Sigma</math>. | ||
:*Jeśli <math> | :*Jeśli <math>\varphi</math> jest formułą drugiego rzędu nad sygnaturą <math>\Sigma</math>, a <math>R</math> jest symbolem relacji <math>k</math>-argumentowej z <math>\Sigma</math>, to <math>\exists R \varphi</math> jest formułą drugiego rzędu nad sygnaturą <math>\Sigma- | ||
\{R\} | \{R\}</math>. | ||
Definicja semantyki jest też podobna jak dla logiki pierwszego rzędu. | Definicja semantyki jest też podobna jak dla logiki pierwszego rzędu. | ||
:*Znaczenie formuł atomowych jest identyczne jak w logice pierwszego rzędu. | :*Znaczenie formuł atomowych jest identyczne jak w logice pierwszego rzędu. | ||
:*<math> | :*<math>(\mathfrak{A},\varrho)\vDash\varphi\vee\psi}</math>, gdy zachodzi <math>(\mathfrak{A},\varrho)\vDash\varphi</math> lub zachodzi <math>(\mathfrak{A},\varrho)\vDash\psi</math>. | ||
:*<math> | :*<math>(\mathfrak{A},\varrho)\vDash\neg\varphi</math>, gdy nie zachodzi <math>(\mathfrak{A},\varrho)\vDash\varphi</math>. | ||
:*<math> | :*<math>(\mathfrak{A},\varrho)\vDash\exists x\varphi</math> wtedy i tylko wtedy, gdy istnieje takie <math>a\in A</math>, że zachodzi <math>(\mathfrak{A},\varrho^a_x)\vDash\varphi</math>. | ||
:*Jeśli <math> | :*Jeśli <math>\mathfrak{A}=\langle A,R_1,\dots,f_1,\dots\rangle</math> jest strukturą sygnatury <math>\Sigma-\{R\}</math> oraz <math>\varrho</math> jest wartościowaniem w tej strukturze, to <math>(\mathfrak{A},\varrho)\vDash\exists R\varphi</math> wtedy i tylko wtedy gdy istnieje struktura <math>\mathfrak{A}'</math> nad sygnaturą <math>\Sigma</math> o postaci <math>\langle A,R,R_1,\dots,f_1\dots\rangle</math> spełniająca <math>(\mathfrak{A}',\varrho)\vDash\varphi</math>. | ||
}} | }} | ||
Dualny kwantyfikator drugiego rzędu <math> | Dualny kwantyfikator drugiego rzędu <math>\forall</math> wprowadzamy jako skrót | ||
notacyjny: | notacyjny: | ||
<center><math> | <center><math>\forall R\varphi \hspace{4cm}</math> oznacza <math>\neg\exists R | ||
\neg\varphi | \neg\varphi</math></center> | ||
</math></center> | |||
===Nieaksjomatyzowalność logiki drugiego rzędu=== | ===Nieaksjomatyzowalność logiki drugiego rzędu=== | ||
Spójrzmy na następujący przykład zdania <math> | Spójrzmy na następujący przykład zdania <math>Ind</math> nad sygnaturą | ||
arytmetyki: | arytmetyki: | ||
<center><math> | <center><math>\forall R (R(0)\land \forall n (R(n)\to R(s(n)))\to \forall n | ||
R(n)) | R(n))</math>.</center> | ||
Orzeka ono, że każda relacja jednoargumentowa (czy podzbiór | Orzeka ono, że każda relacja jednoargumentowa (czy podzbiór | ||
uniwersum), która zawiera <math> | uniwersum), która zawiera <math>0</math> i jest zamknięta ze względu na operację następnika, zawiera wszystkie elementy uniwersum. Jest to wyrażona w języku drugiego rzędu zasada indukcji | ||
matematycznej. Twierdzenie Dedekinda orzeka, że po dołożeniu tego | matematycznej. Twierdzenie Dedekinda orzeka, że po dołożeniu tego | ||
aksjomatu do zwykłych aksjomatów arytmetyki Peano PA (z których można | aksjomatu do zwykłych aksjomatów arytmetyki Peano PA (z których można | ||
wtedy usunąć dotychczasowy schemat aksjomatu indukcji), otrzymujemy | wtedy usunąć dotychczasowy schemat aksjomatu indukcji), otrzymujemy | ||
aksjomatyzację ''kategoryczną'', czyli taką, która ma z | aksjomatyzację ''kategoryczną'', czyli taką, która ma z | ||
dokładnością do izomorfizmu tylko jeden model <math> | dokładnością do izomorfizmu tylko jeden model <math>\mathfrak{N}</math> - ten | ||
standardowy. Zauważmy przy okazji, że przykład ten wskazuje, iż dla | standardowy. Zauważmy przy okazji, że przykład ten wskazuje, iż dla | ||
logiki drugiego rzędu nie zachodzi górne twierdzenie | logiki drugiego rzędu nie zachodzi górne twierdzenie | ||
Linia 56: | Linia 55: | ||
Wracając do poprzedniego przykładu, widzimy, że zbiór wszystkich zdań | Wracając do poprzedniego przykładu, widzimy, że zbiór wszystkich zdań | ||
<math> | <math>\varphi</math> logiki pierwszego rzędu, dla których | ||
<math> | <math>PA\cup\{Ind\}\models\varphi</math>, jest tożsamy z <math>{\bf Th}(\mathfrak{N})</math>. Możemy | ||
teraz udowodnić, że w odróżnieniu od logiki pierwszego rzędu, | teraz udowodnić, że w odróżnieniu od logiki pierwszego rzędu, | ||
{{twierdzenie||| | {{twierdzenie|12.2|| | ||
Logika drugiego rzędu nie ma żadnego pełnego i poprawnego systemu | Logika drugiego rzędu nie ma żadnego pełnego i poprawnego systemu | ||
dowodowego. | dowodowego. | ||
Linia 67: | Linia 66: | ||
{{dowod||| | {{dowod||| | ||
Zbiór konsekwencji semantycznych | Zbiór konsekwencji semantycznych | ||
<math> | <math>\{\varphi~|~PA\cup\{Ind\}\models\varphi\}={\bf Th}(\mathfrak{N})</math> nie jest nawet | ||
rekurencyjnie przeliczalny, na mocy | rekurencyjnie przeliczalny, na mocy [[Logika dla informatyków/Arytmentyka pierwszego rzędu#przescieradlo|Wniosku 9.3]]. | ||
Tymczasem dla każdego poprawnego systemu dowodzenia <math> | Tymczasem dla każdego poprawnego systemu dowodzenia <math>X</math> dla logiki | ||
drugiego rzędu, zbiór formuł wyprowadzalnych z rekurencyjnego zbioru | drugiego rzędu, zbiór formuł wyprowadzalnych z rekurencyjnego zbioru | ||
<math> | <math>PA\cup\{Ind\}</math> jest rekurencyjnie przeliczalny. | ||
}} | }} | ||
Linia 78: | Linia 77: | ||
dotyczących logiki pierwszego rzędu nie zachodzi dla logiki drugiego | dotyczących logiki pierwszego rzędu nie zachodzi dla logiki drugiego | ||
rzędu. Jedynym, co zostaje, to odpowiednia modyfikacja gier | rzędu. Jedynym, co zostaje, to odpowiednia modyfikacja gier | ||
Ehrenfeuchta i metoda | Ehrenfeuchta i metoda Fraisse. Jednak ich praktyczna | ||
użyteczność jest również znikoma wobec ich złożoności. Np.w grze | użyteczność jest również znikoma wobec ich złożoności. Np.w grze | ||
muszą występować rundy, w których gracze wybierają i zaznaczają całe | muszą występować rundy, w których gracze wybierają i zaznaczają całe | ||
Linia 89: | Linia 88: | ||
W dalszym ciągu tego rozdziału dowiemy się, jaki jest stopień | W dalszym ciągu tego rozdziału dowiemy się, jaki jest stopień | ||
trudności pytań o wyrażalność | trudności pytań o wyrażalność bądź niewyrażalność różnych własności w | ||
logice drugiego rzędu. | logice drugiego rzędu. | ||
Linia 106: | Linia 105: | ||
automatów skończonych. | automatów skończonych. | ||
Niech <math> | Niech <math>\Sigma_n</math> będzie sygnaturą złożoną z symboli | ||
<math> | <math>\leq,X_1,\dots,X_n</math>, w której wszystkie symbole relacyjne <math>X_i</math> są | ||
jednoargumentowe. | jednoargumentowe. | ||
{{definicja||| | {{definicja|12.3|| | ||
Model sygnatury <math> | Model sygnatury <math>\Sigma_n</math> nazwiemy ''modelem-słowem'' gdy jego | ||
nośnikiem jest skończony odcinek początkowy zbioru liczb naturalnych a | nośnikiem jest skończony odcinek początkowy zbioru liczb naturalnych a | ||
interpretacją symbolu <math> | interpretacją symbolu <math>\leq</math> jest naturalny liniowy porządek liczb. | ||
Zbiór modeli-słów nad <math> | Zbiór modeli-słów nad <math>\Sigma_n</math> będziemy oznaczać <math>W_n</math>. | ||
Skorzystamy też tutaj z naturalnej wzajemnie jednoznacznej | Skorzystamy też tutaj z naturalnej wzajemnie jednoznacznej | ||
odpowiedniości pomiędzy modelami-słowami a niepustymi słowami nad | odpowiedniości pomiędzy modelami-słowami a niepustymi słowami nad | ||
alfabetem <math> | alfabetem <math>A_n=\{0,1\}^n</math>: słowu <math>w\in A_n^+</math> odpowiada model | ||
<math>\ | <math>\mathfrak{A}(w)\in W_n</math> o mocy równej długości <math>w</math>, a jego element <math>k</math> | ||
należy do interpretacji relacji <math> | należy do interpretacji relacji <math>X_i</math> wtedy i tylko wtedy, gdy <math>k</math>-ta | ||
litera słowa <math> | litera słowa <math>w</math> jest ciągiem zerojedynkowym, który ma jedynkę na | ||
pozycji <math> | pozycji <math>i</math>. | ||
Odtąd będziemy momentami umyślnie zacierali rozróżnienie pomiędzy | Odtąd będziemy momentami umyślnie zacierali rozróżnienie pomiędzy | ||
słowami a odpowiadającymi im modelami-słowami. Zbiór <math>\ | słowami a odpowiadającymi im modelami-słowami. Zbiór <math>\{\mathfrak{A}\in | ||
W_n~|~\ | W_n~|~\mathfrak{A}\models\varphi\}</math> można więc naturalnie uważać za język słów | ||
nad <math> | nad <math>A_n</math>. | ||
}} | }} | ||
Sformułowane przez nas twierdzenie stosuje się wprost tylko do | Sformułowane przez nas twierdzenie stosuje się wprost tylko do | ||
alfabetów o mocy postaci <math> | alfabetów o mocy postaci <math>2^n</math>. Ponieważ jednak każdy język regularny | ||
można traktować (po odpowiednim zakodowaniu) jako język nad takim | można traktować (po odpowiednim zakodowaniu) jako język nad takim | ||
właśnie alfabetem, z którego nie wszystkie litery są wykorzystywane, | właśnie alfabetem, z którego nie wszystkie litery są wykorzystywane, | ||
ograniczenie to nie narusza ogólności naszych rozważań. | ograniczenie to nie narusza ogólności naszych rozważań. | ||
{{twierdzenie|Buchi, Elgot|| | {{twierdzenie|12.4 (Buchi, Elgot)|| | ||
Dla każdego zdania <math> | Dla każdego zdania <math>\varphi</math> monadycznej logiki drugiego rzędu | ||
zbiór <math> | zbiór <math>\{w\in | ||
A_n^+~|~\ | A_n^+~|~\mathfrak{A}(w)\models\varphi\}</math> jest regularny, oraz dla każdego języka | ||
regularnego <math> | regularnego <math>L</math> nad <math>A_n</math> istnieje takie zdanie <math>\varphi</math> logiki MSO, że | ||
że | |||
<center><math> | <center><math>\{w\in A_n^+~|~\mathfrak{A}(w)\models\varphi\}=L-\{\epsilon\}</math>.</center> | ||
Czasami treść tego twierdzenia wyraża się sloganem <math> | Czasami treść tego twierdzenia wyraża się sloganem <math>{\rm MSO}=Reg</math>. | ||
}} | }} | ||
W myśl tego twierdzenia, MSO można traktować jako jeszcze jeden | W myśl tego twierdzenia, MSO można traktować jako jeszcze jeden | ||
formalizm służący definiowaniu | formalizm służący definiowaniu języków regularnych nie zawierających słowa pustego, | ||
oprócz powszechnie znanych wyrażeń regularnych, automatów skończonych | oprócz powszechnie znanych wyrażeń regularnych, automatów skończonych | ||
i gramatyk regularnych. | i gramatyk regularnych. | ||
{{dowod||| | {{dowod||| | ||
Zaczniemy od prostszej drugiej części twierdzenia. Niech <math> | Zaczniemy od prostszej drugiej części twierdzenia. Niech <math>M=\langle | ||
Q,A_n,q_0,\Delta,F\rangle</math> będzie automatem skończonym rozpoznającym | Q,A_n,q_0,\Delta,F\rangle</math> będzie automatem skończonym rozpoznającym | ||
<math> | <math>L</math>, gdzie <math>Q</math> to zbiór stanów, <math>q_0\in Q</math> to stan początkowy, | ||
<math> | <math>F\subseteq Q</math> to zbiór stanów akceptujących a <math>\Delta\subseteq | ||
Q\times A_n\times Q</math> to relacja przejścia. Niech | Q\times A_n\times Q</math> to relacja przejścia. Niech | ||
<math> | <math>Q=\{q_1,\dots,q_\ell\}</math>. Chcemy wyrazić za pomocą zdania MSO, że | ||
istnieje akceptujące obliczenie <math> | istnieje akceptujące obliczenie <math>M</math> na danym słowie. | ||
Stanom <math> | Stanom <math>M</math> będą odpowiadały dodatkowe symbole relacji | ||
jednoargumentowych <math> | jednoargumentowych <math>X_{n+1},\dots,X_{n+\ell}</math>. Początkowo będziemy | ||
więc mieli do czynienia z modelami-słowami nad większą | więc mieli do czynienia z modelami-słowami nad większą | ||
sygnaturą <math> | sygnaturą <math>\Sigma_{n+\ell}</math>. Modele te mają odpowiadać obliczeniom <math>M</math> na | ||
właściwym słowie wejściowym. | właściwym słowie wejściowym. | ||
Formuła <math> | Formuła <math>\varphi_1</math> postaci <math>\forall x(\bigwedge_{n<i\neq j\leq | ||
n+\ell}\lnot (X_i(x)\land X_j(x))\ | n+\ell}\lnot (X_i(x)\land X_j(x))\wedge\bigvee_{i=n+1}^{n+\ell}X_i(x))</math> | ||
mówi o danym słowie, że w każdym kroku obliczenia automat był w jednym | mówi o danym słowie, że w każdym kroku obliczenia automat był w jednym | ||
i tylko jednym stanie. | i tylko jednym stanie. | ||
Formuła <math> | Formuła <math>\varphi_2</math> postaci <math>\exists x\forall y(x\leq y \land | ||
X_{n+1}(x))</math> mówi, że w momencie rozpoczęcia obliczenia automat był w | X_{n+1}(x))</math> mówi, że w momencie rozpoczęcia obliczenia automat był w | ||
stanie początkowym. | stanie początkowym. | ||
Formuła <math> | Formuła <math>\varphi_3</math> postaci <math>\exists x\forall y(y\leq x \wedge | ||
\ | \bigvee_{q_i\in F}X_{n+i}(x))</math> mówi, że w momencie zakończenia obliczenia | ||
automat był w jednym ze stanów akceptujących. | automat był w jednym ze stanów akceptujących. | ||
Formuła <math> | Formuła <math>\varphi_4</math> jest postaci <math>\forall x\forall y (\lnot\exists z( x<z\land | ||
z< y)\to \ | z< y)\to \bigvee_{\langle q_i,\vec{a},q_k\rangle\in | ||
\Delta}X_{n+i}(x)\land\psi_{\vec{a}}(x)\land X_{n+k}(y))</math>, gdzie | \Delta}X_{n+i}(x)\land\psi_{\vec{a}}(x)\land X_{n+k}(y))</math>, gdzie | ||
<math> | <math>\vec{a}=a_1\dots a_n</math> jest literą z <math>A_n</math>, zaś | ||
<math> | <math>\psi_{\vec{a}}(x)</math> jest formułą <math>\bigwedge_{\{i~|~a_i=1\}}X_i(x)\land | ||
\ | \bigwedge_{\{i~|~a_i=0\}}\lnot X_i(x)</math>. Formuła ta | ||
mówi, że dla | mówi, że dla każdych dwóch bezpośrednio po sobie następujących pozycji w słowie, | ||
każdych dwóch bezpośrednio po sobie następujących pozycji w słowie, | |||
przejście pomiędy nimi odbyło się zgodnie z jedną z możliwości | przejście pomiędy nimi odbyło się zgodnie z jedną z możliwości | ||
dostępnych w relacji przejścia automatu <math> | dostępnych w relacji przejścia automatu <math>M</math>. | ||
Teraz zdanie | Teraz zdanie | ||
<center><math> | <center><math>\exists X_{n+1}\dots | ||
X_{n+\ell}(\varphi_1\land\varphi_2\land\varphi_3\land\varphi_4)</math></center> | X_{n+\ell}(\varphi_1\land\varphi_2\land\varphi_3\land\varphi_4)</math></center> | ||
orzeka, że istnieje akceptujące obliczenie automatu <math> | orzeka, że istnieje akceptujące obliczenie automatu <math>M</math> na danym | ||
słowie. | słowie. | ||
Przechodzimy teraz do dowodu pierwszej części. Tym razem dla danego | Przechodzimy teraz do dowodu pierwszej części. Tym razem dla danego | ||
zdania MSO musimy skonstruować automat skończony, który akceptuje | zdania MSO musimy skonstruować automat skończony, który akceptuje | ||
dokładnie te słowa nad <math> | dokładnie te słowa nad <math>A_n</math>, w których to zdanie jest prawdziwe. | ||
W pierwszym kroku zastąpimy MSO przez trochę inną logikę, którą | W pierwszym kroku zastąpimy MSO przez trochę inną logikę, którą | ||
nazwiemy <math> | nazwiemy <math>{\rm MSO}_0</math>. Pokażemy, że jej formuły definiują wszystkie | ||
języki modeli-słów, które można zdefiniować w MSO. | języki modeli-słów, które można zdefiniować w MSO. | ||
Specyficzną cechą <math> | Specyficzną cechą <math>{\rm MSO}_0</math> jest to, że nie ma w niej zmiennych | ||
indywiduowych (czyli tych, których wartościami są elementy) ani | indywiduowych (czyli tych, których wartościami są elementy) ani | ||
wiążących je kwantyfikatorów, a tylko symbole relacji i kwantyfikatory | wiążących je kwantyfikatorów, a tylko symbole relacji i kwantyfikatory | ||
drugiego rzędu. Natomiast jest znacznie więcej formuł atomowych. | drugiego rzędu. Natomiast jest znacznie więcej formuł atomowych. | ||
Oto definicja składni i jednocześnie semantyki <math> | Oto definicja składni i jednocześnie semantyki <math>{\rm MSO}_0</math> -- | ||
oczywiście indukcyjna. Wobec braku zmiennych pierwszego rzędu w | oczywiście indukcyjna. Wobec braku zmiennych pierwszego rzędu w | ||
definicji semantyki nie występuje wartościowanie. | definicji semantyki nie występuje wartościowanie. | ||
* Formuła atomowa <math> | :* Formuła atomowa <math>X_i\subseteq X_j</math> jest prawdziwa w modelu <math>\mathfrak{A}\in | ||
W_n</math> gdy relacja <math>X_i</math> jest zawarta w relacji <math>X_j</math>. | |||
* Formuła atomowa <math> | |||
:* Formuła atomowa <math>Singl(X_i)</math> jest prawdziwa w modelu <math>\mathfrak{A}\in | |||
W_n</math> gdy relacja <math>X_i</math> jest singletonem (to właśnie kwantyfikowaniem po relacjach, które są singletonami zastąpimy kwantyfikację po elementach obecną w MSO). | |||
* Formuła atomowa <math> | :* Formuła atomowa <math>LessEq(X_i,X_j)</math> jest prawdziwa w modelu <math>\mathfrak{A}\in | ||
W_n</math>, gdy wszystkie elementy w relacji <math>X_i</math> są mniejsze bądź równe od wszystkich elementów w relacji <math>X_j</math>. | |||
* Jeśli <math> | :* Jeśli <math>\varphi,\psi</math> są formułami <math>{\rm MSO}_0</math> a <math>X_i</math> jest symbolem relacyjnym, to formułami są także <math>\varphi\lor\psi,\ \lnot\varphi</math> i <math>\exists X_i\varphi</math>, których semantyka jest standardowa. | ||
Tłumaczenie danego zdania <math> | |||
mu w <math> | Tłumaczenie danego zdania <math>\varphi</math> z MSO nad <math>\Sigma_n</math> na równoważne | ||
następująco. Po pierwsze, zamieniamy nazwy związanych zmiennych | mu w <math>W_n</math> zdanie <math>\widetilde\varphi</math> w <math>{\rm MSO}_0</math> definiuje się następująco. Po pierwsze, zamieniamy nazwy związanych zmiennych pierwszego rzędu tak, że zmienna wiązana przez każdy kwantyfikator jest inna. Bez utraty ogólności możemy założyć, że są to zmienne <math>x_1,\dots,x_\ell</math>. Teraz wszystkim zmiennym występującym w <math>\varphi</math> przypisujemy dodatkowe, nowe symbole relacji, powiedzmy, że zmiennej <math>x_i</math> przypisujemy <math>X_{n+i}</math>. | ||
pierwszego rzędu tak, że zmienna wiązana przez każdy kwantyfikator | |||
jest inna. Bez utraty ogólności możemy założyć, że są to zmienne | |||
<math> | :*<math>\widetilde{X_i(x_j)}</math> to <math>X_{n+j}\subseteq X_i</math>. | ||
przypisujemy dodatkowe, nowe symbole relacji, powiedzmy, że zmiennej | |||
<math> | :*<math>\widetilde{(x_i=x_j)}</math> to <math>X_{n+i}\subseteq X_{n+j}\land X_{n+j}\subseteq X_{n+i}</math>. | ||
* <math> | |||
* <math> | :*<math>\widetilde{(x_i\leq x_j)}</math> to <math>LessEq(X_{n+i},X_{n+j})</math>. | ||
* <math> | :*<math>\widetilde{(\varphi\lor\psi)}</math> ma postać <math>\widetilde\varphi\lor\widetilde\psi</math>. | ||
<math> | |||
* <math> | :*<math>\widetilde{(\lnot\varphi)}</math> ma postać <math>\lnot\widetilde\varphi</math>. | ||
<math> | |||
* <math> | :*Formułę <math>\widetilde{(\exists x_i\varphi)}</math> definiujemy jako <math>\exists | ||
* Formułę | X_{n+i}(Singl(X_{n+i})\land \widetilde\varphi)</math>. | ||
X_{n+i}(Singl(X_{n+i})\land \widetilde\varphi) | |||
* Formułę <math> | :* Formułę <math>\widetilde{(\exists X_i\varphi)}</math> dla <math>i\leq n</math> definiujemy jako <math>\exists X_{i}\widetilde\varphi</math>. | ||
<math> | |||
Przez indukcję | |||
Przez indukcję ze względu na budowę <math>\varphi</math> udowodnimy teraz, że | |||
<math> | |||
* <math> | :''Dla każdego modelu-słowa'' <math>\<A,X_1,\dots,X_n\></math> ''i każdych'' <math>a_1,\dots,a_\ell</math> ''z jego nośnika, następujące warunki są równoważne'': | ||
* <math>\ | |||
::*<math>(\langle A,X_1,\dots,X_n\rangle,x_1:a_1,\dots,x_\ell:a_\ell)\models\varphi</math> | |||
::*<math>\langle A,X_1,\dots,X_n,\{a_1\},\dots,\{a_\ell\}\rangle\models\widetilde\varphi</math> | |||
Wszystkie kroki indukcji sa całkowicie standardowe i pozostawiamy je | Wszystkie kroki indukcji sa całkowicie standardowe i pozostawiamy je | ||
Linia 263: | Linia 258: | ||
Zatem istotnie, każdy zbiór słów-modeli, który można zdefiniować | Zatem istotnie, każdy zbiór słów-modeli, który można zdefiniować | ||
zdaniem MSO można też zdefiniować zdaniem <math> | zdaniem MSO można też zdefiniować zdaniem <math>{\rm MSO}_0</math>. Teraz dla | ||
takiego zdania pozostaje skonstruować automat skończony, który | takiego zdania pozostaje skonstruować automat skończony, który | ||
akceptuje dokładnie te słowa nad <math> | akceptuje dokładnie te słowa nad <math>A</math>, w których to zdanie jest | ||
prawdziwe. | prawdziwe. | ||
Sprawa jest teraz dużo łatwiejsza niż dla oryginalnego MSO, bo każda | Sprawa jest teraz dużo łatwiejsza niż dla oryginalnego MSO, bo każda | ||
formuła <math> | formuła <math>{\rm MSO}_0</math> definiuje jakiś język nad <math>A_{n+k}</math>. | ||
Sprawdzenie, że formuły atomowe definiują języki regularne, | Sprawdzenie, że formuły atomowe definiują języki regularne, | ||
pozostawiamy Czytelnikowi jako ćwiczenie. | pozostawiamy Czytelnikowi jako ćwiczenie. | ||
Język definiowany przez <math> | Język definiowany przez <math>\varphi\lor\psi</math> jest sumą języków | ||
definiowanych przez <math> | definiowanych przez <math>\varphi</math> i <math>\psi</math>, czyli jako suma języków | ||
regularnych sam jest regularny. | regularnych sam jest regularny. | ||
Język definiowany przez <math> | Język definiowany przez <math>\lnot \varphi</math> jest dopełnieniem regularnego | ||
języka definiowanego przez <math> | języka definiowanego przez <math>\varphi</math>, czyli sam też jest regularny. | ||
W wypadku formuły <math> | W wypadku formuły <math>\exists X_i \varphi</math>, o której zakłądamy, że <math>i</math> | ||
jest najwyższym indeksem symbolu relacyjnego występującego w <math> | jest najwyższym indeksem symbolu relacyjnego występującego w <math>\varphi</math>, | ||
bierzemy automat rozpoznający język nad <math> | bierzemy automat rozpoznający język nad <math>A_i</math> definiowany przez <math>\varphi</math>. | ||
Następnie modyfikujemy go tak, by działał nad alfabetem | Następnie modyfikujemy go tak, by działał nad alfabetem | ||
<math> | <math>A_{i-1}</math>, przy każdym przejściu niedeterministycznie zgadując, czy | ||
<math> | <math>i</math>-tą współrzędną litery z alfabetu <math>A_i</math> znajdującej się | ||
w tej komórce taśmy jest 1 czy 0. | w tej komórce taśmy jest 1 czy 0. | ||
}} | }} | ||
Linia 293: | Linia 288: | ||
wielu interesujących problemów. | wielu interesujących problemów. | ||
{{wniosek||| | {{wniosek|12.5|| | ||
Następujące problemy są rozstrzygalne: | Następujące problemy są rozstrzygalne: | ||
* Czy istnieje model-słowo, w którym dane zdanie <math> | :*''Czy istnieje model-słowo, w którym dane zdanie'' <math>\varphi</math> ''z MSO jest prawdziwe?'' | ||
:*''Czy dane zdanie'' <math>\varphi</math> ''z MSO jest prawdziwe w każdym modelu-słowie?'' | |||
* Czy dane zdanie <math> | |||
}} | }} | ||
Linia 304: | Linia 297: | ||
{{dowod||| | {{dowod||| | ||
Procedura rozstrzygająca oba problemy polega na przetworzeniu formuły | Procedura rozstrzygająca oba problemy polega na przetworzeniu formuły | ||
<math> | <math>\varphi</math> w równoważny jej automat skończony (np.w sposób opisany w | ||
dowodzie poprzedniego twierdzenia), a następnie przeprowadzeniu testu | dowodzie poprzedniego twierdzenia), a następnie przeprowadzeniu testu | ||
na automacie. | na automacie. | ||
Linia 313: | Linia 306: | ||
Naturalne jest pytanie, czy można równie elegancko, jak to zrobił | Naturalne jest pytanie, czy można równie elegancko, jak to zrobił | ||
Buchi, scharakteryzować zbiory modeli definiowalnych w pełnej logice | Buchi, scharakteryzować zbiory modeli definiowalnych w pełnej logice | ||
drugiego rzędu. | drugiego rzędu. Odpowiedź na to pytanie pojawiła się w dwóch krokach. | ||
W pierwszej charakteryzacji występuje ''egzystencjalna logika | W pierwszej charakteryzacji występuje ''egzystencjalna logika drugiego rzędu'', czasami oznaczana symbolem <math>\Sigma_1^1</math>, czyli zbiór tych formuł pełnej logiki drugiego rzędu, w których wszystkie kwantyfikatory drugiego rzędu wystepują na początku formuły, a za nimi jest już tylko zwykłe zdanie pierwszego rzędu: | ||
drugiego rzędu'', czasami oznaczana symbolem <math> | |||
tych formuł pełnej logiki drugiego rzędu, w których wszystkie | |||
kwantyfikatory drugiego rzędu wystepują na początku formuły, a za nimi | |||
jest już tylko zwykłe zdanie pierwszego rzędu: | |||
<center><math> | <center><math>\exists X_1~\dots \exists X_n \hspace{-4mm}\underbrace{\varphi(X_1\dots | ||
X_n)}_{\text{zdanie pierwszego rzędu}} | X_n)}_{\text{zdanie pierwszego rzędu}}</math>.</center> | ||
Dla tej logiki sytuacja wygląda następująco: | Dla tej logiki sytuacja wygląda następująco: | ||
{{twierdzenie|Fagin|| | {{twierdzenie|12.6 (Fagin)|| | ||
Dla każdego zdania <math> | Dla każdego zdania <math>\varphi</math> egzystencjalnej logiki drugiego rzędu | ||
zbiór <math> | zbiór <math>\{w\in A_n^+~|~\mathfrak{A}(w)\models\varphi\}</math> należy do { NP}, oraz dla | ||
każdego języka <math> | każdego języka <math>L\in {\rm NP}</math> istnieje zdanie <math>\varphi</math> egzystencjalnej | ||
logiki drugiego rzędu takie, że | logiki drugiego rzędu takie, że | ||
<center><math> | <center><math>\{w\in A_n^+~|~\mathfrak{A}(w)\models\varphi\}=L-\{\epsilon\}</math>.</center> | ||
Podobnie jak twierdzenie Buchi i Elgota, ono też bywa reprezentowane | Podobnie jak twierdzenie Buchi i Elgota, ono też bywa reprezentowane | ||
sloganem <math> | sloganem <math>\Sigma_1^1={\rm NP}</math>. | ||
}} | }} | ||
Oczywiście | Oczywiście NP to słynna klasa złożoności probelmów rozstrzyganych przez niedeterministyczne maszyny Turinga o wielomianowej złożoności czasowej. | ||
przez niedeterministyczne maszyny Turinga o wielomianowej złożoności | |||
czasowej. | |||
Pełna logika drugiego rzędu, oznaczona tu przez SO, też ma analogiczną | Pełna logika drugiego rzędu, oznaczona tu przez SO, też ma analogiczną | ||
charakteryzację, która w postaci sloganu wyraża się przez <math> | charakteryzację, która w postaci sloganu wyraża się przez <math>{\rm | ||
SO}={\rm PH}</math> i została udowodniona przez Stockmeyera. Precyzyjna | SO}={\rm PH}</math> i została udowodniona przez Stockmeyera. Precyzyjna | ||
postać tego twierdzenia jest analogiczna do poprzednich, a PH to | postać tego twierdzenia jest analogiczna do poprzednich, a PH to | ||
Linia 362: | Linia 349: | ||
bezskutecznie. Np.dowód, że każdy zbiór słów, który jest | bezskutecznie. Np.dowód, że każdy zbiór słów, który jest | ||
definiowalny formułą logiki drugiego rzędu, jest też definiowalny | definiowalny formułą logiki drugiego rzędu, jest też definiowalny | ||
formułą <math> | formułą <math>\Sigma_1^1</math>, implikowałby natychmiast, że <math>{\rm NP}={\rm | ||
PH} | PH}</math>, a zatem także <math>{\rm NP}={\rm coNP}</math>. Zauważmy przy tym, że każdy | ||
zbiór słów, który jest definiowalny w MSO, jest też definiowalny za | zbiór słów, który jest definiowalny w MSO, jest też definiowalny za | ||
pomocą formuły która należy jednocześnie do MSO i <math> | pomocą formuły która należy jednocześnie do MSO i <math>\Sigma_1^1</math>. | ||
Wynika to z postaci formuły definiującej zbiory regularne, która | Wynika to z postaci formuły definiującej zbiory regularne, która | ||
pojawia się w dowodzie twierdzenia Buchi. Zatem na poziomie | pojawia się w dowodzie twierdzenia Buchi. Zatem na poziomie | ||
Linia 377: | Linia 364: | ||
Buchi. | Buchi. | ||
Nieskończone pełne drzewo binarne to struktura <math>\ | Nieskończone pełne drzewo binarne to struktura <math>\mathfrak{T}</math> nad sygnaturą | ||
<math> | <math>=,s_0,s_1</math>, w której <math>s_0</math> i <math>s_1</math> to symbole jednoargumentowych | ||
funkcji. Nośnik <math>\ | funkcji. Nośnik <math>\mathfrak{T}</math> to zbiór <math>\{0,1\}^*</math> skończonych słów | ||
zerojedynkowych, a funkcje są określone przez równości <math> | zerojedynkowych, a funkcje są określone przez równości <math>s_0(w)=w0</math> | ||
oraz <math> | oraz <math>s_1(w)=w1</math>. | ||
{{twierdzenie|Rabin|| | {{twierdzenie|12.7 (Rabin)|| | ||
Zbiór zdań logiki MSO, które są prawdziwe w <math>\ | Zbiór zdań logiki MSO, które są prawdziwe w <math>\mathfrak{T}</math> jest | ||
rozstrzygalny. | rozstrzygalny. | ||
}} | }} | ||
Linia 392: | Linia 379: | ||
pomyśle, który poznaliśmy w dowodzie twierdzenia Buchi: formuły | pomyśle, który poznaliśmy w dowodzie twierdzenia Buchi: formuły | ||
logiki MSO są tłumaczone na równoważne im automaty w taki sposób, że | logiki MSO są tłumaczone na równoważne im automaty w taki sposób, że | ||
formuła jest prawdziwa w drzewie <math>\ | formuła jest prawdziwa w drzewie <math>\mathfrak{T}</math> (poetykietowanym dodatkowymi | ||
symbolami w wierzchołkach) wtedy i tylko wtedy, gdy automat akceptuje | symbolami w wierzchołkach) wtedy i tylko wtedy, gdy automat akceptuje | ||
to drzewo. Szczegóły tych dowodów są zawsze bardzo | to drzewo. Szczegóły tych dowodów są zawsze bardzo |
Aktualna wersja na dzień 21:30, 11 wrz 2023
Logika drugiego rzędu
Składnię logiki drugiego uzyskujemy przez rozszerzenie zbioru reguł składniowych dla logiki pierwszego rzędu o kwantyfikatory wiążące symbole relacyjne. Z przyczyn technicznych tym razem wygodnie nam będzie przyjąć, że podstawowymi spójnikami logicznymi są i .
Definicja 12.1
Definicja formuł drugiego rzędu jest indukcyjna, podobnie jak analogiczna Definicja 2.5 dla logiki pierwszego rzędu. Jednak tym razem nie ustalamy sygnatury z góry.
- Każda formuła atomowa nad sygnaturą jest formułą drugiego rzędu nad sygnaturą .
- Jeśli są formułami drugiego rzędu nad sygnaturą , to jest też formułą drugiego rzędu nad sygnaturą .
- Jeśli jest formułą drugiego rzędu nad sygnaturą , to jest też formułą drugiego rzędu nad sygnaturą .
- Jeśli jest formułą drugiego rzędu nad sygnaturą a Parser nie mógł rozpoznać (nieznana funkcja „\ZI”): {\displaystyle x\in\ZI} jest zmienną indywiduową, to jest też formułą drugiego rzędu nad sygnaturą .
- Jeśli jest formułą drugiego rzędu nad sygnaturą , a jest symbolem relacji -argumentowej z , to jest formułą drugiego rzędu nad sygnaturą .
Definicja semantyki jest też podobna jak dla logiki pierwszego rzędu.
- Znaczenie formuł atomowych jest identyczne jak w logice pierwszego rzędu.
- Parser nie mógł rozpoznać (błąd składni): {\displaystyle (\mathfrak{A},\varrho)\vDash\varphi\vee\psi}} , gdy zachodzi lub zachodzi .
- , gdy nie zachodzi .
- wtedy i tylko wtedy, gdy istnieje takie , że zachodzi .
- Jeśli jest strukturą sygnatury oraz jest wartościowaniem w tej strukturze, to wtedy i tylko wtedy gdy istnieje struktura nad sygnaturą o postaci spełniająca .
Dualny kwantyfikator drugiego rzędu wprowadzamy jako skrót notacyjny:
Nieaksjomatyzowalność logiki drugiego rzędu
Spójrzmy na następujący przykład zdania nad sygnaturą arytmetyki:
Orzeka ono, że każda relacja jednoargumentowa (czy podzbiór uniwersum), która zawiera i jest zamknięta ze względu na operację następnika, zawiera wszystkie elementy uniwersum. Jest to wyrażona w języku drugiego rzędu zasada indukcji matematycznej. Twierdzenie Dedekinda orzeka, że po dołożeniu tego aksjomatu do zwykłych aksjomatów arytmetyki Peano PA (z których można wtedy usunąć dotychczasowy schemat aksjomatu indukcji), otrzymujemy aksjomatyzację kategoryczną, czyli taką, która ma z dokładnością do izomorfizmu tylko jeden model - ten standardowy. Zauważmy przy okazji, że przykład ten wskazuje, iż dla logiki drugiego rzędu nie zachodzi górne twierdzenie Skolema-Lowenheima.
Wracając do poprzedniego przykładu, widzimy, że zbiór wszystkich zdań logiki pierwszego rzędu, dla których , jest tożsamy z . Możemy teraz udowodnić, że w odróżnieniu od logiki pierwszego rzędu,
Twierdzenie 12.2
Logika drugiego rzędu nie ma żadnego pełnego i poprawnego systemu dowodowego.
Dowód
Zbiór konsekwencji semantycznych nie jest nawet rekurencyjnie przeliczalny, na mocy Wniosku 9.3. Tymczasem dla każdego poprawnego systemu dowodzenia dla logiki drugiego rzędu, zbiór formuł wyprowadzalnych z rekurencyjnego zbioru jest rekurencyjnie przeliczalny.

Widzimy teraz jasno, że logika drugiego rzędu jest niezwykle skomplikowana w badaniu, gdyż właściwie żadne z pożytecznych twierdzeń dotyczących logiki pierwszego rzędu nie zachodzi dla logiki drugiego rzędu. Jedynym, co zostaje, to odpowiednia modyfikacja gier Ehrenfeuchta i metoda Fraisse. Jednak ich praktyczna użyteczność jest również znikoma wobec ich złożoności. Np.w grze muszą występować rundy, w których gracze wybierają i zaznaczają całe relacje na uniwersum obu struktur. Jednak dla bardzo ograniczonych syntaktycznie fragmentów logiki drugiego rzędu możliwym staje się zapanowanie nad strategiami w odpowiadających im uproszczonych wersjach gry. Tymi właśnie metodami udowodniono kilka twierdzeń o niemożności zdefiniowania w różnych fragmentach logiki drugiego rzędu różnych konkretnych własności.
W dalszym ciągu tego rozdziału dowiemy się, jaki jest stopień trudności pytań o wyrażalność bądź niewyrażalność różnych własności w logice drugiego rzędu.
Równoważność logiki MSO i automatów skończonych
W zastosowaniach często spotyka się różne fragmenty logiki drugiego rzędu, która w całości dla wielu zastosowań jest zbyt silna. W tym rozdziale będziemy zajmowali się monadyczną logiką drugiego rzędu, która jest fragmentem logiki drugiego rzędu, powstałym przez ograniczenie kwantyfikacji drugiego rzędu tylko do relacji jednoargumentowych (czyli zbiorów). Na oznaczenie tej logiki powszechnie stosuje się skrót MSO (od Monadic Second Order).
MSO jest logiką bardzo często pojawiającą się w związku z informatyką. Tutaj zaprezentujemy klasyczny wynik, łączący tę logikę z teorią automatów skończonych.
Niech będzie sygnaturą złożoną z symboli , w której wszystkie symbole relacyjne są jednoargumentowe.
Definicja 12.3
Model sygnatury nazwiemy modelem-słowem gdy jego nośnikiem jest skończony odcinek początkowy zbioru liczb naturalnych a interpretacją symbolu jest naturalny liniowy porządek liczb. Zbiór modeli-słów nad będziemy oznaczać .
Skorzystamy też tutaj z naturalnej wzajemnie jednoznacznej odpowiedniości pomiędzy modelami-słowami a niepustymi słowami nad alfabetem : słowu odpowiada model o mocy równej długości , a jego element należy do interpretacji relacji wtedy i tylko wtedy, gdy -ta litera słowa jest ciągiem zerojedynkowym, który ma jedynkę na pozycji .
Odtąd będziemy momentami umyślnie zacierali rozróżnienie pomiędzy słowami a odpowiadającymi im modelami-słowami. Zbiór można więc naturalnie uważać za język słów nad .
Sformułowane przez nas twierdzenie stosuje się wprost tylko do alfabetów o mocy postaci . Ponieważ jednak każdy język regularny można traktować (po odpowiednim zakodowaniu) jako język nad takim właśnie alfabetem, z którego nie wszystkie litery są wykorzystywane, ograniczenie to nie narusza ogólności naszych rozważań.
Twierdzenie 12.4 (Buchi, Elgot)
Dla każdego zdania monadycznej logiki drugiego rzędu zbiór jest regularny, oraz dla każdego języka regularnego nad istnieje takie zdanie logiki MSO, że
Czasami treść tego twierdzenia wyraża się sloganem .
W myśl tego twierdzenia, MSO można traktować jako jeszcze jeden formalizm służący definiowaniu języków regularnych nie zawierających słowa pustego, oprócz powszechnie znanych wyrażeń regularnych, automatów skończonych i gramatyk regularnych.
Dowód
Zaczniemy od prostszej drugiej części twierdzenia. Niech będzie automatem skończonym rozpoznającym , gdzie to zbiór stanów, to stan początkowy, to zbiór stanów akceptujących a to relacja przejścia. Niech . Chcemy wyrazić za pomocą zdania MSO, że istnieje akceptujące obliczenie na danym słowie.
Stanom będą odpowiadały dodatkowe symbole relacji jednoargumentowych . Początkowo będziemy więc mieli do czynienia z modelami-słowami nad większą sygnaturą . Modele te mają odpowiadać obliczeniom na właściwym słowie wejściowym.
Formuła postaci mówi o danym słowie, że w każdym kroku obliczenia automat był w jednym i tylko jednym stanie.
Formuła postaci mówi, że w momencie rozpoczęcia obliczenia automat był w stanie początkowym.
Formuła postaci mówi, że w momencie zakończenia obliczenia automat był w jednym ze stanów akceptujących.
Formuła jest postaci , gdzie jest literą z , zaś jest formułą . Formuła ta mówi, że dla każdych dwóch bezpośrednio po sobie następujących pozycji w słowie, przejście pomiędy nimi odbyło się zgodnie z jedną z możliwości dostępnych w relacji przejścia automatu .
Teraz zdanie
orzeka, że istnieje akceptujące obliczenie automatu na danym słowie.
Przechodzimy teraz do dowodu pierwszej części. Tym razem dla danego zdania MSO musimy skonstruować automat skończony, który akceptuje dokładnie te słowa nad , w których to zdanie jest prawdziwe.
W pierwszym kroku zastąpimy MSO przez trochę inną logikę, którą nazwiemy . Pokażemy, że jej formuły definiują wszystkie języki modeli-słów, które można zdefiniować w MSO.
Specyficzną cechą jest to, że nie ma w niej zmiennych indywiduowych (czyli tych, których wartościami są elementy) ani wiążących je kwantyfikatorów, a tylko symbole relacji i kwantyfikatory drugiego rzędu. Natomiast jest znacznie więcej formuł atomowych.
Oto definicja składni i jednocześnie semantyki -- oczywiście indukcyjna. Wobec braku zmiennych pierwszego rzędu w definicji semantyki nie występuje wartościowanie.
- Formuła atomowa jest prawdziwa w modelu gdy relacja jest zawarta w relacji .
- Formuła atomowa jest prawdziwa w modelu gdy relacja jest singletonem (to właśnie kwantyfikowaniem po relacjach, które są singletonami zastąpimy kwantyfikację po elementach obecną w MSO).
- Formuła atomowa jest prawdziwa w modelu , gdy wszystkie elementy w relacji są mniejsze bądź równe od wszystkich elementów w relacji .
- Jeśli są formułami a jest symbolem relacyjnym, to formułami są także i , których semantyka jest standardowa.
Tłumaczenie danego zdania z MSO nad na równoważne
mu w zdanie w definiuje się następująco. Po pierwsze, zamieniamy nazwy związanych zmiennych pierwszego rzędu tak, że zmienna wiązana przez każdy kwantyfikator jest inna. Bez utraty ogólności możemy założyć, że są to zmienne . Teraz wszystkim zmiennym występującym w przypisujemy dodatkowe, nowe symbole relacji, powiedzmy, że zmiennej przypisujemy .
- to .
- to .
- to .
- ma postać .
- ma postać .
- Formułę definiujemy jako .
- Formułę dla definiujemy jako .
Przez indukcję ze względu na budowę udowodnimy teraz, że
- Dla każdego modelu-słowa Parser nie mógł rozpoznać (błąd składni): {\displaystyle \<A,X_1,\dots,X_n\>} i każdych z jego nośnika, następujące warunki są równoważne:
Wszystkie kroki indukcji sa całkowicie standardowe i pozostawiamy je Czytelnikowi.
Zatem istotnie, każdy zbiór słów-modeli, który można zdefiniować zdaniem MSO można też zdefiniować zdaniem . Teraz dla takiego zdania pozostaje skonstruować automat skończony, który akceptuje dokładnie te słowa nad , w których to zdanie jest prawdziwe.
Sprawa jest teraz dużo łatwiejsza niż dla oryginalnego MSO, bo każda formuła definiuje jakiś język nad .
Sprawdzenie, że formuły atomowe definiują języki regularne, pozostawiamy Czytelnikowi jako ćwiczenie.
Język definiowany przez jest sumą języków definiowanych przez i , czyli jako suma języków regularnych sam jest regularny.
Język definiowany przez jest dopełnieniem regularnego języka definiowanego przez , czyli sam też jest regularny.
W wypadku formuły , o której zakłądamy, że jest najwyższym indeksem symbolu relacyjnego występującego w , bierzemy automat rozpoznający język nad definiowany przez . Następnie modyfikujemy go tak, by działał nad alfabetem , przy każdym przejściu niedeterministycznie zgadując, czy -tą współrzędną litery z alfabetu znajdującej się w tej komórce taśmy jest 1 czy 0.

Twierdzenie Buchi ma daleko idące konsekwencje dla rozstrzygalności wielu interesujących problemów.
Wniosek 12.5
Następujące problemy są rozstrzygalne:
- Czy istnieje model-słowo, w którym dane zdanie z MSO jest prawdziwe?
- Czy dane zdanie z MSO jest prawdziwe w każdym modelu-słowie?
Dowód
Procedura rozstrzygająca oba problemy polega na przetworzeniu formuły w równoważny jej automat skończony (np.w sposób opisany w dowodzie poprzedniego twierdzenia), a następnie przeprowadzeniu testu na automacie.

Informacja o tw. Fagina i Stockmeyera
Naturalne jest pytanie, czy można równie elegancko, jak to zrobił Buchi, scharakteryzować zbiory modeli definiowalnych w pełnej logice drugiego rzędu. Odpowiedź na to pytanie pojawiła się w dwóch krokach.
W pierwszej charakteryzacji występuje egzystencjalna logika drugiego rzędu, czasami oznaczana symbolem , czyli zbiór tych formuł pełnej logiki drugiego rzędu, w których wszystkie kwantyfikatory drugiego rzędu wystepują na początku formuły, a za nimi jest już tylko zwykłe zdanie pierwszego rzędu:
Dla tej logiki sytuacja wygląda następująco:
Twierdzenie 12.6 (Fagin)
Dla każdego zdania egzystencjalnej logiki drugiego rzędu zbiór należy do { NP}, oraz dla każdego języka istnieje zdanie egzystencjalnej logiki drugiego rzędu takie, że
Podobnie jak twierdzenie Buchi i Elgota, ono też bywa reprezentowane sloganem .
Oczywiście NP to słynna klasa złożoności probelmów rozstrzyganych przez niedeterministyczne maszyny Turinga o wielomianowej złożoności czasowej.
Pełna logika drugiego rzędu, oznaczona tu przez SO, też ma analogiczną charakteryzację, która w postaci sloganu wyraża się przez i została udowodniona przez Stockmeyera. Precyzyjna postać tego twierdzenia jest analogiczna do poprzednich, a PH to hierarchia wielomianowa, również doskonale znana z teorii złożoności.
Przed przejściem do następnego tematu wypada zauważyć, że twierdzenia Fagina i Stockmeyera w istocie obowiązują w zakresie szerszym niż tylko dla modeli-słów. Dotyczą one także dowolnych struktur skończonych, o ile założy się odpowiednio rozsądny sposób opisywania ich we wzajemnie jednoznaczny sposób za pomocą słów.
Po poznaniu twierdzeń Fagina i Stockmeyera lepiej rozumiemy trudności badania logiki drugiego rzędu. Jest to zadanie co najmniej równie niełatwe, jak najtrudniejsze pytania teorii złożoności, z którymi uczeni borykają się od kilkudziesięciu lat, jak dotychczas bezskutecznie. Np.dowód, że każdy zbiór słów, który jest definiowalny formułą logiki drugiego rzędu, jest też definiowalny formułą , implikowałby natychmiast, że , a zatem także . Zauważmy przy tym, że każdy zbiór słów, który jest definiowalny w MSO, jest też definiowalny za pomocą formuły która należy jednocześnie do MSO i . Wynika to z postaci formuły definiującej zbiory regularne, która pojawia się w dowodzie twierdzenia Buchi. Zatem na poziomie kwantyfikacji wyłącznie po relacjach jednoargumentowych, pożądana równość zachodzi. Jednak przejście do relacji o dowolnej liczbie argumentów wydaje się niezmiernie trudne.
Informacja o tw. Rabina
Twierdzenie Rabina to inne, daleko idące uogólnienie twierdzenia Buchi.
Nieskończone pełne drzewo binarne to struktura nad sygnaturą , w której i to symbole jednoargumentowych funkcji. Nośnik to zbiór skończonych słów zerojedynkowych, a funkcje są określone przez równości oraz .
Twierdzenie 12.7 (Rabin)
Zbiór zdań logiki MSO, które są prawdziwe w jest rozstrzygalny.
Wszystkie znane dowody twierdzenia Rabina opierają się na tym samym pomyśle, który poznaliśmy w dowodzie twierdzenia Buchi: formuły logiki MSO są tłumaczone na równoważne im automaty w taki sposób, że formuła jest prawdziwa w drzewie (poetykietowanym dodatkowymi symbolami w wierzchołkach) wtedy i tylko wtedy, gdy automat akceptuje to drzewo. Szczegóły tych dowodów są zawsze bardzo skomplikowane. Nagrodą jest za to wynik, który jest jednym z najsilniejszych znanych twierdzeń o rozstrzygalności, nie tylko zresztą w logice. Rozstrzygalność wielu innych problemów decyzyjnych wykazano po raz pierwszy przez ich odpowiednie przetłumaczenie (czyli zredukowanie) na pytanie o prawdziwość zdań MSO w nieskończonym drzewie binarnym.