Logika dla informatyków/Ograniczenia logiki pierwszego rzędu: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Aneczka (dyskusja | edycje)
Nie podano opisu zmian
m Zastępowanie tekstu – „\</math>” na „\ </math>”
 
(Nie pokazano 34 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
Linek z wykladu 8 do tw. 4.13. Nazwa linku "Cantoro"
Link z wykladu 8 do tw. 4.13. Nazwa linku "Cantoro"


==Ograniczenia logiki pierwszego rzędu==
==Ograniczenia logiki pierwszego rzędu==
\setcounte\prooftree twierdzenie \justifies 0 \using \textrm{\begin{eqnarray*}W\end{eqnarray*}}\endprooftree
 


Ten rozdział poświęcony jest ograniczeniom, którym podlega język  
Ten rozdział poświęcony jest ograniczeniom, którym podlega język  
Linia 16: Linia 16:
dalszym ciągu.  
dalszym ciągu.  


{{definicja|||  
{{definicja|4.1||'''Rangę kwantyfikatorową''' <math>QR\var(\varphi)</math> formuły <math>\var\varphi</math> definiujemy jak następuje:  
 
\textit{Rangę kwantyfikatorową} <math>\QR\begin{eqnarray*}\var\varphi\end{eqnarray*}</math> formuły <math>\var\varphi</math>  
definiujemy jak następuje:  
 
*<math>\QR\begin{eqnarray*}\bot\end{eqnarray*}=\QR\begin{eqnarray*}t_1=t_2\end{eqnarray*}=\QR\begin{eqnarray*}r\begin{eqnarray*}t_1,\dots,t_k\end{eqnarray*}\end{eqnarray*}=0</math> dla dowolnych
termów <math>t_1,\dots, t_k</math> oraz <math>r\in \Sigma^R_k.</math>
*<math>\QR\begin{eqnarray*}\var\varphi\to \psi\end{eqnarray*}=\max\begin{eqnarray*}\QR\begin{eqnarray*}\var\varphi\end{eqnarray*},\QR\begin{eqnarray*}\psi\end{eqnarray*}\end{eqnarray*}</math>.
*<math>\QR\begin{eqnarray*}\forall x\var\varphi\end{eqnarray*}=1+\QR\begin{eqnarray*}\var\varphi\end{eqnarray*}.</math>
 


*<math>QR\bot=QRt_1=t_2=QRr(t_1,\dots,t_k ) )=0</math> dla dowolnych termów <math>t_1,\dots, t_k</math> oraz <math>r\in \Sigma^R_k</math>.
*<math>QR(\var\varphi\to \psi )=\max(QR(\var\varphi ),QR(\psi ) )</math>.
*<math>QR(\forall x\var\varphi )=1+QR(\var\varphi )</math>.
}}  
}}  


Intuicyjnie <math>\QR</math> to głębokość zagnieżdżenia kwantyfikatorów w  
Intuicyjnie <math>QR</math> to głębokość zagnieżdżenia kwantyfikatorów w formule. Jest to jedna z wielu możliwych miar stopnia komplikacji formuły <math>\var\varphi</math>. Parametr ten ma następujące znaczenie: jeśli struktura <math>\mathfrak A</math> ma <math>n</math>elementów, to pesymistyczny czas sprawdzenia, czy dla zdania <math>\var\varphi</math> zachodzi <math>\mathfrak A\models \var\varphi</math> jest asymptotycznie proporcjonalny do <math>n^{QR(\var\varphi )}</math>, gdy użyjemy naturalnego algorytmu do wykonania tego zadania, który dla każdego kwantyfikatora w formule przegląda wszystkie elementy struktury.  
formule. Jest to jedna z wielu możliwych miar stopnia komplikacji  
formuły <math>\var\varphi.</math> Parametr ten ma następujące znaczenie: jeśli  
struktura <math>\strA</math> ma <math>n</math>\Delta\vdashlementów, to pesymistyczny czas sprawdzenia,  
czy dla zdania <math>\var\varphi</math> zachodzi <math>\strA\models \var\varphi</math> jest  
asymptotycznie proporcjonalny do <math>n^{\QR\begin{eqnarray*}\var\varphi\end{eqnarray*}},</math> gdy\boldsymbol{s}}\def\blank{\hbox{\sf Bżyjemy
naturalnego algorytmu do wykonania tego zadania, który dla każdego  
kwantyfikatora w formule przegląda wszystkie\Delta\vdashlementy struktury.  


Teraz możemy wyjaśnić, dlaczego nie dopuszczamy symboli funkcyjnych w  
Teraz możemy wyjaśnić, dlaczego nie dopuszczamy symboli funkcyjnych w  
sygnaturze. Otóż ich obecność zakłóca potrzebne nam własności funkcji  
sygnaturze. Otóż ich obecność zakłóca potrzebne nam własności funkcji <math>QR</math>. Tytułem przykładu, formuła <math>R(x,f(f(x ) ) )</math> jest atomowa i jej ranga kwantyfikatorowa powinna wynosić <math>0</math>. Tymczasem gdy <math>f</math> będziemy reprezentować w strukturze jako dwuargumentową relację <math>F</math>, ta sama formuła przybierze postać <math>\exists y\exists z F(x,y )\land F(y,z )\land R(x,z ) )</math>, której ranga kwantyfikatorowa wynosi 2. Twierdzenia, których dalej dowodzimy, odwołują się do wartości <math>QR</math> zdefiniowanych powyżej dla logiki bez symboli funkcyjnych. To właśnie jest przyczyna, dla której funkcje wykluczamy z rozważań.  
<math>QR.</math> Tytułem przykładu, formuła <math>R\begin{eqnarray*}x,f\begin{eqnarray*}f\begin{eqnarray*}x\end{eqnarray*}\end{eqnarray*}\end{eqnarray*}</math> jest atomowa i  
jej ranga kwantyfikatorowa powinna wynosić <math>0</math>. Tymczasem  
gdy <math>f</math> będziemy reprezentować w strukturze jako dwuargumentową  
relację </math>F<math>, ta sama formuła przybierze postać </math>\exists y\exists z  
\begin{eqnarray*}F\begin{eqnarray*}x,y\end{eqnarray*}\land F\begin{eqnarray*}y,z\end{eqnarray*}\land R\begin{eqnarray*}x,z\end{eqnarray*}\end{eqnarray*},</math> której ranga kwantyfikatorowa  
wynosi 2. Twierdzenia, których dalej dowodzimy, odwołują się do  
wartości <math>QR</math> zdefiniowanych powyżej dla logiki bez symboli  
funkcyjnych. \Rightarrow właśnie jest przyczyna, dla której funkcje wykluczamy  
z rozważań.  


===Charakteryzacja Fra\"{\i===
===Charakteryzacja Fra&iuml;ss&eacute;===


{{definicja|||  
{{definicja|4.2||  
Jeśli <math>\mathfrak A</math> jest strukturą relacyjną oraz <math>\emptyset\neq B\subseteq A</math>, to struktura <math>\mathfrak A_{|B}</math> tej samej sygnatury <math>\Sigma</math> co <math>\mathfrak A</math>, nazywana ''podstrukturą indukowaną przez <math>B</math>, w <math>\mathfrak A</math>,'' ma nośnik <math>B</math>, zaś dla każdego <math>r\in\Sigma^R_n</math>


relacyjną oraz <math>\emptyset\neq B\subseteq A,</math> to struktura <math>\strA_{|B}</math>
<math>r^{\mathfrak A_{|B}}=r^\mathfrak A\cap B^n</math>.
tej samej sygnatury <math>\Sigma</math> co <math>\strA</math>, nazywana \textit{podstrukturą
indukowaną przez <math>B</math> w <math>\strA,</math>} ma nośnik <math>B,</math> zaś dla każdego
<math>r\in\Sigma^R_n</math>
<!--% -->
\[r^{\strA_{|B}}=r^\strA\cap B^n.\]
}}  
}}  






{{definicja|||  
{{definicja|4.3||  
 
Niech <math>\mathfrak A, B</math> będą strukturami relacyjnymi tej samej sygnatury <math>\Sigma</math>, ponadto niech <math>A'\subseteq A</math> i <math>B'\subseteq B</math>.  Jeśli funkcja <math>h:A'\to B'</math> jest
strukturami relacyjnymi tej samej sygnatury <math>\Sigma,</math> ponadto niech  
izomorfizmem podstruktur indukowanych <math>h:\mathfrak A_{|A'}\cong \mathfrak B_{|B'}</math>, to mówimy, że <math>h</math> jest ''częściowym izomorfizmem z <math>\mathfrak A</math> w&nbsp;<math>\mathfrak B</math>''. Jego ''dziedzina'' to <math>dom(h)=A'</math>, a ''obraz'' to <math>rg(h)=B'</math>.
<math>A'\subseteq A</math> i <math>B'\subseteq B</math>.  Jeśli funkcja <math>h:A'\to B'</math> jest  
izomorfizmem podstruktur indukowanych </math>h:\strA_{|A'}\cong  
\strB_{|B'},</math> to mówimy, że <math>h</math> jest \textit{częściowym izomorfizmem z  
<math>\strA</math> w&nbsp;<math>\strB</math>.} Jego \textit{dziedzina} to <math>dom\begin{eqnarray*}h\end{eqnarray*}=A'</math>, a  
\textit{obraz} to <math>rg\begin{eqnarray*}h\end{eqnarray*}=B'.</math>  


Na zasadzie konwencji\boldsymbol{s}}\def\blank{\hbox{\sf Bmawiamy się, że <math>\emptyset</math> jest częściowym  
Na zasadzie konwencji umawiamy się, że <math>\emptyset</math> jest częściowym
izomorfizmem z <math>\strA</math> w <math>\strB</math> o pustej dziedzinie i pustym obrazie.  
izomorfizmem z <math>\mathfrak A</math> w <math>\mathfrak B</math> o pustej dziedzinie i pustym obrazie.  


Dla dwóch częściowych izomorfizmów <math>g,h</math> z <math>\strA</math> w <math>\strB</math> piszemy  
Dla dwóch częściowych izomorfizmów <math>g,h</math> z <math>\mathfrak A</math> w <math>\mathfrak B</math> piszemy <math>g \subseteq h</math> gdy <math>dom(g )\subseteq dom(h )</math> oraz <math>g(a)=h(a)</math> dla wszystkich <math>a\in dom(g )</math>, to jest wtedy, gdy <math>g</math> jest zawarte jako zbiór w <math>h</math>.
<math>g\subseteq h</math> gdy <math>dom\begin{eqnarray*}g\end{eqnarray*}\subseteq dom\begin{eqnarray*}h\end{eqnarray*}</math> oraz <math>g\begin{eqnarray*}a\end{eqnarray*}=h\begin{eqnarray*}a\end{eqnarray*}</math> dla  
wszystkich <math>a\in dom\begin{eqnarray*}g\end{eqnarray*},</math> to jest wtedy, gdy <math>g</math> jest zawarte jako  
zbiór w <math>h.</math>  
}}  
}}  




{{definicja|||  
{{definicja|4.4||  
 
Niech <math>m</math> będzie dodatnią liczbą naturalną.  Dwie struktury relacyjne tej samej sygnatury są ''<math>m</math>-izomorficzne'', co oznaczamy <math>\mathfrak A\cong_{m}\mathfrak B</math>, gdy istnieje rodzina <math>\{I_n |     n\leq m\}</math>, w której każdy <math>I_n</math> jest niepustym zbiorem częściowych izomorfizmów z <math>\mathfrak A</math> w <math>\mathfrak B</math>, oraz spełniająca następujące dwa warunki:  
naturalną.  Dwie struktury relacyjne tej samej sygnatury są  
\textit{<math>m</math>-izomorficzne}, co oznaczamy <math>\strA\cong_{m}\strB,</math> gdy istnieje  
rodzina <math>\{I_n&nbsp;|&nbsp;n\leq m\}</math> w&nbsp;której każdy <math>I_n</math> jest niepustym zbiorem  
częściowych izomorfizmów z&nbsp;<math>\strA</math> w&nbsp;<math>\strB,</math> oraz spełniająca  
następujące dwa warunki:  
 
\begin{description}
\item[Tam] Dla każdego <math>h\in I_{n+1}</math> oraz każdego <math>a\in A</math> istnieje  takie
<math>g\in I_n</math>, że <math>h\subseteq g</math> oraz <math>a\in dom\begin{eqnarray*}g\end{eqnarray*}.</math>
\item[Z powrotem] Dla każdego <math>h\in I_{n+1}</math> oraz każdego <math>b\in B</math>
istnieje takie <math>g\in I_n</math>, że <math>h\subseteq g</math> oraz <math>b\in rg\begin{eqnarray*}g\end{eqnarray*}.</math>
\end{description}


Samą rodzinę <math>\{I_n&nbsp;|&nbsp;n\leq m\}</math> nazywamy wówczas
*'''Tam''' Dla każdego <math>h\in I_{n+1}</math> oraz każdego <math>a\in</math> istnieje takie <math>g\in I_n</math>, że <math>h \subseteq g</math> oraz <math>a\in dom(g )</math>.
\textit{<math>m</math>-izomorfizmem} struktur <math>\strA</math> i <math>\strB</math>, co oznaczamy
*'''Z powrotem''' Dla każdego <math>h\in I_{n+1}</math> oraz każdego <math>b\in B</math> istnieje takie <math>g\in I_n</math>, że <math>h\subseteq g</math> oraz <math>b\in rg(g )</math>.
<math>\{I_n&nbsp;|&nbsp;n\leq m\}:\strA\cong_m\strB.</math>  


Samą rodzinę <math>\{I_n | n\leq m\}</math> nazywamy wówczas ''<math>m</math>-izomorfizmem'' struktur <math>\mathfrak A</math> i <math>\mathfrak B</math>, co oznaczamy <math>\{I_n | n\leq m\}:\mathfrak A\cong_m\mathfrak B</math>.
}}  
}}  


Linia 107: Linia 61:
izomorfizmów, które mogą być rozszerzone <math>n</math>-krotnie o dowolne  
izomorfizmów, które mogą być rozszerzone <math>n</math>-krotnie o dowolne  
elementy w dziedzinie i obrazie, a kolejne rozszerzenia leżą w  
elementy w dziedzinie i obrazie, a kolejne rozszerzenia leżą w  
<math>I_{n-1},\dots,I_0.</math>  
<math>I_{n-1},\dots,I_0</math>.
 
 
{{definicja|||


\rm


Dwie struktury relacyjne tej samej sygnatury są \textit{skończenie  
{{definicja|4.5||
izomorficzne}, symbolicznie <math>\strA\cong_{fin}\strB,</math> gdy istnieje  
Dwie struktury relacyjne tej samej sygnatury są ''skończenie izomorficzne'', symbolicznie <math>\mathfrak A\cong_{fin}\mathfrak B</math>, gdy istnieje
rodzina </math>\{I_n&nbsp;|&nbsp;n\in\omega\}<math>, taka, że każda podrodzina </math>\{I_n&nbsp;|&nbsp;n\leq  
rodzina <math>\{I_n | n\in\omega\}</math>, taka że każda podrodzina <math>\{I_n | n\leq m\}</math> jest <math>m</math>-izomorfizmem.  
m\}</math> jest <math>m</math>-izomorfizmem.  




Jeśli <math>\{I_n&nbsp;|&nbsp;n\leq m\}</math> ma powyższe własności, to piszemy  
Jeśli <math>\{I_n | n\leq m\}</math> ma powyższe własności, to piszemy <math>\{I_n | n\leq m\}:\mathfrak A\cong_{fin}\mathfrak B</math>, a samą rodzinę nazywamy ''skończonym izomorfizmem''.  
<math>\{I_n&nbsp;|&nbsp;n\leq m\}:\strA\cong_{fin}\strB</math>, a samą rodzinę nazywamy  
\textit{skończonym izomorfizmem}.  
}}  
}}  


{{fakt|4.6||


{{fakt|||
*Jeśli <math>\mathfrak A\cong\mathfrak B</math>, to <math>\mathfrak A\cong_{fin}\mathfrak B</math>.
 
*Jeśli <math>\mathfrak A\cong_{fin}\mathfrak B</math> oraz nośnik math>\mathfrak A</math> jest zbiorem skończonym, to <math>\mathfrak A\cong\mathfrak B</math>.
*Jeśli <math>\strA\cong\strB,</math> to <math>\strA\cong_{fin}\strB.</math>  
*Jeśli <math>\strA\cong_{fin}\strB</math> oraz nośnik <math>\strA</math> jest  
zbiorem skończonym, to <math>\strA\cong\strB.</math>  
 
}}  
}}  
{{dowod||


Ćwiczenie.  
{{dowod|| Ćwiczenie.|
}}  
}}  


{{definicja|4.7||
Dwie struktury <math>\mathfrak A</math> i <math>\mathfrak B</math> tej samej sygnatury są ''elementarnie równoważne'', co zapisujemy symbolicznie <math>\mathfrak A\equiv\mathfrak B</math>, gdy dla każdego zdania <math>\varphi</math> logiki pierwszego rzędu nad tą samą sygnaturą,
<math>\mathfrak A\models\var\varphi</math> wtedy i tylko wtedy, gdy <math>\mathfrak B\models\var\varphi</math>.


 
Dwie struktry <math>\mathfrak A</math> i <math>\mathfrak B</math> tej samej sygnatury są ''<math>m</math>-elementarnie równoważne'', symbolicznie  
 
<math>\mathfrak A\equiv_m\mathfrak B</math>, gdy dla każdego zdania <math>\var\varphi</math> logiki pierwszego rzędu nad tą samą sygnaturą, o randze kwantyfikatorowej nie przekraczającej <math>m</math>, zachodzi <math>\mathfrak A\models\var\varphi</math> wtedy i tylko wtedy, gdy <math>\mathfrak B\models\var\varphi</math>.
{{definicja|||
 
<math>\strA</math> i <math>\strB</math> tej samej sygnatury są \textit{elementarnie
równoważne}, co zapisujemy symbolicznie <math>\strA\equiv\strB,</math> gdy dla
każdego zdania <math>\var\varphi</math> logiki pierwszego rzędu nad tą samą sygnaturą,
<math>\strA\models\var\varphi</math> wtedy i tylko wtedy, gdy <math>\strB\models\var\varphi.</math>
 
Dwie struktry <math>\strA</math> i <math>\strB</math> tej samej sygnatury są  
\textit{<math>m</math>-elementarnie równoważne}, symbolicznie  
<math>\strA\equiv_m\strB,</math> gdy dla każdego zdania <math>\var\varphi</math> logiki  
pierwszego rzędu nad tą samą sygnaturą, o randze kwantyfikatorowej nie  
przekraczającej <math>m</math>, zachodzi <math>\strA\models\var\varphi</math> wtedy i tylko  
wtedy, gdy <math>\strB\models\var\varphi.</math>  
}}  
}}  


{{fakt|||  
{{fakt|4.8||  
 
<math>\mathfrak A\cong_fin\mathfrak B</math> wtedy i tylko wtedy, gdy dla każdego naturalnego <math>m</math> zachodzi <math>\mathfrak A\cong_m\mathfrak B</math>.  
gdy dla każdego naturalnego <math>m</math> zachodzi <math>\strA\cong_m\strB</math>.  
}}
}}  
{{dowod||  
{{dowod|||
 
Wynikanie z lewej do prawej jest oczywiste. Załóżmy teraz, że dla każdego <math>m</math> istnieje rodzina  <math>\{I^m_n | n\leq m\}</math> spełniająca warunki z definicji relacji <math>\cong_m</math>. Rozważmy rodzinę <math>\{J_n | n\in\omega\}</math> gdzie <math>J_n=\bigcup_{m\in\omega}I_n^m</math>. Bezpośrednie sprawdzenie  
Wynikanie z lewej do prawej jest oczywiste. Załóżmy teraz, że dla  
każdego <math>m</math> istnieje rodzina  <math>\{I^m_n&nbsp;|&nbsp;n\leq m\}</math> spełniająca warunki  
z definicji relacji <math>\cong_m.</math> Rozważmy rodzinę <math>\{J_n&nbsp;|&nbsp;n\in\omega\},</math>  
gdzie <math>J_n=\bigcup_{m\in\omega}I_n^m.</math> Bezpośrednie sprawdzenie  
pokazuje natychmiast, że spełnia ona warunki definicji relacji  
pokazuje natychmiast, że spełnia ona warunki definicji relacji  
<math>\cong_{fin}.</math>   
<math>\cong_{fin}</math>.  
}}  
}}  




 
{{twierdzenie|4.9|fraisse|  
{{twierdzenie||fraisse|  
 
Niech <math>\Sigma</math> będzie dowolną sygnaturą relacyjną zawierającą  
Niech <math>\Sigma</math> będzie dowolną sygnaturą relacyjną zawierającą  
skończenie wiele symboli, oraz niech <math>\strA,\strB</math> będą dowolnymi  
skończenie wiele symboli, oraz niech <math>\mathfrak A,\mathfrak B</math> będą dowolnymi strukturami nad <math>\Sigma</math>.
strukturami nad <math>\Sigma.</math>  


*Dla każdego <math>m\in\N</math> zachodzi równoważność: <math>\strA\cong_m\strB</math>  
*Dla każdego <math>m\in\N</math> zachodzi równoważność: <math>\mathfrak A\cong_m\mathfrak B</math> wtedy i tylko wtedy, gdy <math>\mathfrak A\equiv_m\mathfrak B</math>.  
wtedy i tylko wtedy gdy <math>\strA\equiv_m\strB</math>.  
*<math>\mathfrak A\cong_{fin}\mathfrak B</math> wtedy i tylko wtedy, gdy <math>\mathfrak A\equiv\mathfrak B</math>.  
*<math>\strA\cong_{fin}\strB</math> wtedy i tylko wtedy gdy  
<math>\strA\equiv\strB</math>.  


}}  
}}  
{{dowod||  
{{dowod|||
 
Jest oczywiste, że druga równoważnośc wynika z pierwszej.  Pierwszą z  
Jest oczywiste, że druga równoważnośc wynika z pierwszej.  Pierwszą z  
kolei\boldsymbol{s}}\def\blank{\hbox{\sf Bdowodnimy tylko z lewej do prawej strony. Dowód w stronę  
kolei udowodnimy tylko z lewej do prawej strony. Dowód w stronę  
przeciwną jest bardziej zawiły technicznie, a w dodatku ta \rightarrowlikacja
przeciwną jest bardziej zawiły technicznie, a w dodatku ta implikacja
jest rzadko\boldsymbol{s}}\def\blank{\hbox{\sf Bżywana w praktyce.  Wyraża za to istotną z  
jest rzadko używana w praktyce.  Wyraża za to istotną z  
metodologicznego punktu widzenia informację: jeśli dwie struktury są  
metodologicznego punktu widzenia informację: jeśli dwie struktury są  
\begin{eqnarray*}<math>m</math>-\end{eqnarray*}elementarnie równoważne, to fakt ten można na pewno\boldsymbol{s}}\def\blank{\hbox{\sf Bdowodnić
(<math>m</math>- )elementarnie równoważne, to fakt ten można na pewno udowodnić
posługując się metodą Fra\"{\i}ss\'e, choć oczywiście nie ma  
posługując się metodą Fra&iuml;ss&eacute;, choć oczywiście nie ma  
gwarancji, że będzie to metoda najprostsza.  
gwarancji, że będzie to metoda najprostsza.  


Ustalmy <math>m\in \N</math>. Dowód tego, że z <math>\strA\cong_m\strB</math> wynika  
Ustalmy <math>m\in \N</math>. Dowód tego, że z <math>\mathfrak A\cong_m\mathfrak B</math> wynika <math>\mathfrak A\equiv_m\mathfrak B</math> sprowadza się do wykazania następującego faktu za pomocą indukcji ze względu na budowę <math>\var\varphi</math>:  
<math>\strA\equiv_m\strB</math> sprowadza się do wykazania następującego
faktu za pomocą indukcji ze względu na budowę <math>\var\varphi</math>:  


\begin{quote}  
\begin{quote}''Niech <math>\{I_n | n\leq m\''</math> będzie rodziną o której mowa w definicji <math>\mathfrak A\cong_m\mathfrak B</math>, niech <math>\var\varphi</math> będzie formułą o co najwyżej <math>r</math>  
''Niech <math>\{I_n &nbsp;|&nbsp; n\leq m\''</math> będzie rodziną o której mowa w definicji  
zmiennych wolnych (bez utraty ogólności niech będą to <math>x_1,\dots,x_r</math> ) i spełniającą <math>QR(\var\varphi )\leq n\leq m</math> oraz niech <math>g\in I_n</math>. Wówczas dla dowolnych <math>a_1,\dots,a_r\in dom(g )</math> następujące dwa warunki są równoważne:''
<math>\strA\cong_m\strB</math>, niech&nbsp;<math>\var\varphi</math> będzie formułą o co najwyżej <math>r</math>  
zmiennych wolnych \begin{eqnarray*}bez\boldsymbol{s}}\def\blank{\hbox{\sf Btraty ogólności niech będą to <math>x_1,\dots,x_r</math>\end{eqnarray*}
i spełniającą <math>\QR\begin{eqnarray*}\var\varphi\end{eqnarray*}\leq n\leq m</math> oraz niech <math>g\in I_n.</math>  
Wówczas dla dowolnych <math>a_1,\dots,a_r\in dom\begin{eqnarray*}g\end{eqnarray*}</math> następujące dwa  
warunki są równoważne:}
<!--% -->
\[\strA,x_1:a_1,\dots,x_r:a_r\models\var\varphi\]
\[\strB,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*}\models\var\varphi.\]\end{quote}


Dla formuł atomowych, powyższa teza wynika wprost z faktu, że <math>g</math> jest
<math>\mathfrak A,x_1:a_1,\dots,x_r:a_r\models\var\varphi</math><br>
częściowym izomorfizmem \begin{eqnarray*}przypomnijmy że w sygnaturze nie ma symboli
<math>\mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r )\models\var\varphi</math>.\end{quote}  
funkcyjnych i co za tym idzie jedynymi termami są zmienne\end{eqnarray*}


Gdy <math>\var\varphi</math> ma postać <math>\psi\to\xi,</math> to mamy następujący ciąg
Dla formuł atomowych powyższa teza wynika wprost z faktu, że <math>g</math> jest częściowym izomorfizmem (przypomnijmy że w sygnaturze nie ma symboli
równoważnych warunków:
funkcyjnych i co za tym idzie jedynymi termami są zmienne). 


*<math>\strA,x_1:a_1,\dots,x_r:a_r\models\psi\to\xi</math>  
Gdy <math>\var\varphi</math> ma postać <math>\psi\to\xi</math>, to mamy następujący ciąg równoważnych warunków:


*<math>\strA,x_1:a_1,\dots,x_r:a_r\not\models\psi</math> lub
*<math>\mathfrak A,x_1:a_1,\dots,x_r:a_r\models\psi\to\xi</math>  
<math>\strA,x_1:a_1,\dots,x_r:a_r\models\xi</math>


*<math>\strA,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*}\not\models\psi</math> lub
*<math>\mathfrak A,x_1:a_1,\dots,x_r:a_r\not\models\psi</math> lub <math>\mathfrak A,x_1:a_1,\dots,x_r:a_r\models\xi</math>
<math>\strA,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*}\models\xi</math>  


*<math>\strA,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*}\models\psi\to\xi,</math>  
*<math>\mathfrak A,x_1:g(a_1 ),\dots,x_r:g(a_r )\not\models\psi</math>  lub <math>\mathfrak A,x_1:g(a_1 ),\dots,x_r:g(a_r )\models\xi</math>


*<math>\mathfrak A,x_1:g(a_1 ),\dots,x_r:g(a_r )\models\psi\to\xi</math>,




przy czym druga równoważność wynika z założenia indukcyjnego, a  
przy czym druga równoważność wynika z założenia indukcyjnego, a  
pierwsza i trzecia z&nbsp;definicji semantyki.  
pierwsza i trzecia z definicji semantyki.  
 
Gdy </math>\var\varphi<math> ma postać </math>\forall x \psi,<math> to, jako że </math>x_{r+1}\notin
FV\begin{eqnarray*}\var\varphi\end{eqnarray*}<math> i co za tym idzie </math>\models \begin{eqnarray*}\forall x\psi
\end{eqnarray*}\leftrightarrow \forall x_{r+1} \psi\begin{eqnarray*}x_{r+1}/x\end{eqnarray*}</math> \begin{eqnarray*}patrz Fakt
[[#alfa-konw]]\end{eqnarray*}, możemy bez\boldsymbol{s}}\def\blank{\hbox{\sf Btraty ogólności założyć, że <math>\var\varphi</math> ma
postać <math>\forall x_{r+1} \psi.</math> Z założenia <math>\QR\begin{eqnarray*}\var\varphi\end{eqnarray*}\leq n</math>
wynika, że <math>\QR\begin{eqnarray*}\psi\end{eqnarray*}\leq n-1</math>. Mamy teraz następujący ciąg
równoważnych warunków:


*<math>\begin{eqnarray*}\strA,x_1:a_1,\dots,x_r:a_r\end{eqnarray*}\models\var\varphi</math>  
Gdy <math>\var\varphi</math> ma postać <math>\forall x \psi</math>, to, jako że <math>x_{r+1}\notin FV(\var\varphi )</math> i co za tym idzie <math>\models (\forall x\psi  )\leftrightarrow \forall x_{r+1} \psi(x_{r+1}/x )</math> (patrz Fakt [[#alfa-konw]] ), możemy bez utraty ogólności założyć, że <math>\var\varphi</math> ma postać <math>\forall x_{r+1} \psi</math>. Z założenia <math>QR(\var\varphi )\leq n</math> wynika, że <math>QR(\psi )\leq n-1</math>. Mamy teraz następujący ciąg równoważnych warunków:


*Dla każdego <math>a\in A</math> zachodzi
*<math>(\mathfrak A,x_1:a_1,\dots,x_r:a_r )\models\var\varphi</math>
<math>\begin{eqnarray*}\strA,x_1:a_1,\dots,x_r:a_r,x_{r+1}:a\end{eqnarray*}\models\psi</math>  


*Dla każdego <math>a\in A</math> istnieje  takie <math>h\in I_{n-1}</math>, że <math>g\subseteq h,</math>
*Dla każdego <math>a\in A</math> zachodzi<math>(\mathfrak A,x_1:a_1,\dots,x_r:a_r,x_{r+1}:a )\models\psi</math>
<math>a\in dom\begin{eqnarray*}h\end{eqnarray*}</math>  
oraz 


<math>\begin{eqnarray*}\strA,x_1:a_1,\dots,x_r:a_r,x_{r+1}:a\end{eqnarray*}\models\psi</math>  
*Dla każdego <math>a\in A</math> istnieje takie <math>h\in I_{n-1}</math>, że <math>g\subseteq h</math>, <math>a\in dom(h )</math> oraz <math>(\mathfrak A,x_1:a_1,\dots,x_r:a_r,x_{r+1}:a )\models\psi</math>


*Dla każdego <math>a\in A</math> istnieje takie <math>h\in I_{n-1}</math>, że  <math>g\subseteq h,</math>  
*Dla każdego <math>a\in A</math> istnieje takie <math>h\in I_{n-1}</math>, że  <math>g\subseteq h</math>, <math>a\in dom(h )</math> oraz <math>(\mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:h(a ) )\models\psi</math>  
<math>a\in dom\begin{eqnarray*}h\end{eqnarray*}</math>  
oraz 


<math>\begin{eqnarray*}\strB,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*},x_{r+1}:h\begin{eqnarray*}a\end{eqnarray*}\end{eqnarray*}\models\psi</math>  
*Dla każdego <math>b\in B</math> istnieje takie <math>h\in I_{n-1}</math>, że <math>g\subseteq h</math>, <math>b\in rg(h )</math> oraz <math>(\mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:b )\models\psi</math>  


*Dla każdego <math>b\in B</math> istnieje takie <math>h\in I_{n-1}</math>, że
*Dla każdego <math>b\in B</math> zachodzi <math>(\mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:b )\models\psi</math>  
<math>g\subseteq h,</math> <math>b\in rg\begin{eqnarray*}h\end{eqnarray*}</math> oraz
 
<math>\begin{eqnarray*}\strB,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*},x_{r+1}:b\end{eqnarray*}\models\psi</math>
 
*Dla każdego <math>b\in B</math> zachodzi 
<math>\begin{eqnarray*}\strB,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*},x_{r+1}:b\end{eqnarray*}\models\psi</math>
 
*<math>\begin{eqnarray*}\strB,x_1:g\begin{eqnarray*}a_1\end{eqnarray*},\dots,x_r:g\begin{eqnarray*}a_r\end{eqnarray*}\end{eqnarray*}\models\var\varphi.</math>  


*<math>(\mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r ) )\models\var\varphi</math>.


Równoważności druga i czwarta zachodzą na mocy warunków '''Tam''' i  
Równoważności druga i czwarta zachodzą na mocy warunków '''Tam''' i  
Linia 276: Linia 167:
pierwszego rzędu.   
pierwszego rzędu.   


{{fakt||qq|  
{{fakt|4.10|qq|  


Jeśli <math>\strA,\strB</math> są dwoma skończonymi liniowymi porządkami o mocach  
Jeśli <math>\mathfrak A,\mathfrak B</math> są dwoma skończonymi liniowymi porządkami o mocach większych niż <math>2^m</math>, to <math>\mathfrak A\equiv_m\mathfrak B</math>.
większych niż&nbsp;<math>2^m,</math> to <math>\strA\equiv_m\strB.</math>  
}}  
}}  


{{dowod||  
{{dowod|||
Bez utraty ogólności możemy założyć, że <math>A=\{0,\dots,N\}</math>, <math>B=\{0,\dots,M\}</math>, przy czym <math>2^m<N\leq M</math>, a
porządek jest porządkiem naturalnym. Dowód przeprowadzamy wykorzystując Twierdzenie [[#fraisse]], czyli w istocie wykazujemy, że <math>\mathfrak A\cong_m\mathfrak B</math>.
 
Dla danego <math>k\leq m</math> określmy "odległość" <math>d_k</math> pomiędzy elementami naszych struktur jak następuje:


<math>A=\{0,\dots,N\},</math> <math>B=\{0,\dots,M\},</math> przy czym <math>2^m<N\leq M</math>, a
<center><math>d_k(a,b) = \begin{cases}|b-a| & \text{\ jeśli } |b-a|< 2^k \\\infty & \text{\ jeśli }  wpp.\end{cases}</math></center>
porządek jest porządkiem naturalnym. Dowód przeprowadzamy
wykorzystując Twierdzenie [[#fraisse]], czyli w istocie wykazujemy,
że <math>\strA\cong_m\strB.</math>  


Dla danego <math>k\leq m</math> określmy ,,odległość'' <math>d_k</math> pomiędzy\Delta\vdashlementami
naszych struktur jak następuje:
<!--% -->
\[d_k\begin{eqnarray*}a,b\end{eqnarray*}=\begin{cases}
|b-a|&\text{jeśli  <math>|b-a|< 2^k</math>}\\
\infty&\text{wpp.}
\end{cases}
\] 


Niech <math>I_k</math> dla <math>k\leq m </math> będzie zbiorem wszystkich częściowych  
Niech <math>I_k</math> dla <math>k\leq m</math> będzie zbiorem wszystkich częściowych izomorfizmów <math>g</math> z <math>\mathfrak A</math> w <math>\mathfrak B</math> takich, że <math>\{\langle 0,0\rangle,\langle N,M\rangle\}sbseteq g</math> oraz <math>d_k(a,b )=d_k(g(a ),g(b ) )</math> dla wszystkich <math>a,b\in dom(g )</math>. Oczywiście <math>I_k\neq \emptyset</math> bo <math>\{\langle 0,0\rangle,\langle N,M\rangle\}\in I_k</math>.
izomorfizmów </math>g<math> z </math>\strA<math> w </math>\strB<math> takich, że </math>\{\langle  
0,0\rangle,\langle N,M\rangle\}\subseteq g</math> oraz  
<math>d_k\begin{eqnarray*}a,b\end{eqnarray*}=d_k\begin{eqnarray*}g\begin{eqnarray*}a\end{eqnarray*},g\begin{eqnarray*}b\end{eqnarray*}\end{eqnarray*}</math> dla wszystkich <math>a,b\in dom\begin{eqnarray*}g\end{eqnarray*}.</math> Oczywiście  
</math>I_k\neq \emptyset<math> bo </math>\{\langle 0,0\rangle,\langle  
N,M\rangle\}\in I_k.</math>  


Pokazujemy własność '''Tam} dla rodziny <math>\{I_k&nbsp;|&nbsp;k\leq m\'''</math>. Niech  
Pokazujemy własność '''Tam''' dla rodziny <math>\{I_k | k\leq m\ </math>. Niech <math>g\in I_{k+1}</math>. Niech <math>a\in\{0,\dots,N\}</math>. Mamy wskazać w <math>I_k</math> częściowy izomorfizm <math>h\supseteq g</math> taki, że <math>a\in dom(h )</math>.
<math>g\in I_{k+1}.</math> Niech <math>a\in\{0,\dots,N\}.</math> Mamy wskazać w <math>I_k</math>  
częściowy izomorfizm <math>h\supseteq g</math> taki, że <math>a\in dom\begin{eqnarray*}h\end{eqnarray*}.</math>  


Rozróżniamy dwa przypadki:   
Rozróżniamy dwa przypadki:   


\begin{eqnarray*}i\end{eqnarray*} Jeśli istnieje takie <math>b\in dom\begin{eqnarray*}g\end{eqnarray*}</math>, że <math>d_{k}\begin{eqnarray*}a,b\end{eqnarray*}<\infty</math>, to w  
#Jeśli istnieje takie <math>b\in dom(g )</math>, że <math>d_{k}(a,b)<\infty</math>, to w <math>B</math> jest dokładnie jeden element <math>a'</math>, który jest tak samo położony względem <math>g(b)</math> jak <math>a</math> względem <math>b</math>, oraz spełnia <math>d_j(a',g(b))=d_{j}(a,b )</math>. Kładziemy wówczas <math>h(a):=a'</math> i <math>h</math> jest wtedy częściowym izomorfizmem zachowującym odległości <math>d_j</math>.
<math>B</math> jest dokładnie jeden\Delta\vdashlement <math>a'</math>, który jest tak samo położony  
#Jeśli natomiast takiego <math>b</math> nie ma, to niech <math>a'<a<a''</math>, gdzie <math>a',a''</math> są najbliższymi <math>b</math>elementami po lewej i po prawej, które należą do <math>dom(g )</math>. Wówczas <math>d_j(a',a)=d_j(a,a'')=\infty</math>, co w myśl definicji <math>d_j</math> oznacza, że <math>d_{j+1}(a',a'' )=\infty</math>. Zatem na mocy założenia indukcyjnego także <math>d_{j+1}(g(a' ),g(a'' ) )=\infty</math>. Istnieje więc <math>g(a' )<b<g(a'' )</math> takie, że <math>{d_j(g(a' ),b )=d_j(b,g(a'' ) )=\infty</math>,  i wówczas kładąc <math>h(a ):=b</math>uzyskujemy żądane rozszerzenie.  
względem <math>g\begin{eqnarray*}b\end{eqnarray*}</math> jak <math>a</math> względem <math>b,</math> oraz spełnia  
<math>d_j\begin{eqnarray*}a',g\begin{eqnarray*}b\end{eqnarray*}\end{eqnarray*}=d_{j}\begin{eqnarray*}a,b\end{eqnarray*}.</math> Kładziemy wówczas <math>h\begin{eqnarray*}a\end{eqnarray*}:=a'</math> i <math>h</math> jest  
wtedy częściowym izomorfizmem zachowującym odległości <math>d_j.</math>  
 
\begin{eqnarray*}ii\end{eqnarray*} Jeśli natomiast takiego <math>b</math> nie ma, to niech <math>a'<a<a'',</math> gdzie  
<math>a',a''</math> są najbliższymi <math>b</math>\Delta\vdashlementami po lewej i po prawej, które  
należą do <math> dom\begin{eqnarray*}g\end{eqnarray*}.</math> Wówczas <math>d_j\begin{eqnarray*}a',a\end{eqnarray*}=d_j\begin{eqnarray*}a,a''\end{eqnarray*}=\infty,</math> co w myśl  
definicji <math>d_j</math> oznacza, że <math>d_{j+1}\begin{eqnarray*}a',a''\end{eqnarray*}=\infty.</math> Zatem na mocy  
założenia indukcyjnego także <math>d_{j+1}\begin{eqnarray*}g\begin{eqnarray*}a'\end{eqnarray*},g\begin{eqnarray*}a''\end{eqnarray*}\end{eqnarray*}=\infty.</math> Istnieje  
więc <math>g\begin{eqnarray*}a'\end{eqnarray*}<b<g\begin{eqnarray*}a''\end{eqnarray*}</math> takie, że \mbox{<math>d_j\begin{eqnarray*}g\begin{eqnarray*}a'\end{eqnarray*},b\end{eqnarray*}=d_j\begin{eqnarray*}b,g\begin{eqnarray*}a''\end{eqnarray*}\end{eqnarray*}=\infty</math>},   
i&nbsp;wówczas kładąc <math>h\begin{eqnarray*}a\end{eqnarray*}:=b</math>\boldsymbol{s}}\def\blank{\hbox{\sf Bzyskujemy żądane rozszerzenie.  
}}  
}}  




Przykład powyższy wskazuje na kilka istotnych ograniczeń logiki pierwszego rzędu. Po pierwsze, nie da się żadnym zdaniem zdefiniować nawet tak prostego pojęcia jak "porządek liniowy o parzystej liczbie elementów", i to bez względu na to, jak byśmy je rozumieli dla modeli nieskończonych. Istotnie, zdanie które miałoby definiować taką własność musiałoby mieć jakąś rangę kwantyfikatorową, powiedzmy <math>q</math>. Jednak w myśl poprzedniego twierdzenia, porządki o mocach <math>2^q+1</math> i <math>2^q+2</math> są <math>q</math>-elementarnie równoważne i nasze hipotetyczne zdanie jest albo prawdziwe w obu, albo fałszywe w obu, podczas gdy powinno być w jednym fałszywe, a w drugim prawdziwe.


Przykład powyższy wskazuje na kilka istotnych ograniczeń logiki
Drugim ograniczeniem jest fakt, że każda specyfikacja porządku liniowego o mocy <math>n</math> w logice pierwszego rzędu musi z konieczności mieć rangę kwantyfikatorową co najmniej <math>\log_2 n</math>, a więc sugeruje algorytm sprawdzenia, czy dany obiekt mocy <math>m</math> istotnie spełnia tę specyfikację, którego czas działania ma rząd wielkości <math>m^{\log_2 n}</math>, co jest wynikiem fatalnym.\footnote{Na szczęście znamy lepsze  
pierwszego rzędu. Po pierwsze, nie da się żadnym zdaniem zdefiniować
algorytmy wykonujące to zadanie.} Bierze się to stąd, że prawdziwość zdania o randze kwantyfikatorowej <math>q</math> sprawdza się w danej skończonej strukturze za pomocą <math>q</math> zagnieżdżonych pętli, z których każda przegląda cały nośnik struktury i odpowiada jednemu kwantyfikatorowi.
nawet tak prostego pojęcia jak ,,porządek liniowy o parzystej liczbie
elementów'', i to bez względu na to, jak byśmy je rozumieli dla modeli
nieskończonych. Istotnie, zdanie które miałoby definiować taką
własność musiałoby mieć jakąś rangę kwantyfikatorową, powiedzmy
<math>q</math>. Jednak w myśl poprzedniego twierdzenia, porządki o mocach <math>2^q+1</math> i
<math>2^q+2</math> są <math>q</math>-elementarnie równoważne i nasze hipotetyczne zdanie
jest albo prawdziwe w obu, albo fałszywe w obu, podczas gdy powinno
być w jednym fałszywe, a&nbsp;w&nbsp;drugim prawdziwe.
 
 
Drugim ograniczeniem jest fakt, że każda specyfikacja porządku  
liniowego o mocy <math>n</math> w logice pierwszego rzędu musi z konieczności  
mieć rangę kwantyfikatorową co najmniej <math>\log_2 n,</math> a więc sugeruje  
algorytm sprawdzenia, czy dany obiekt mocy <math>m</math> istotnie spełnia tę  
specyfikację, którego czas działania ma rząd wielkości <math>m^{\log_2 n},</math>  
co jest wynikiem fatalnym.\footnote{Na szczęście znamy lepsze  
algorytmy wykonujące to zadanie.} Bierze się to stąd, że prawdziwość  
zdania o randze kwantyfikatorowej <math>q</math> sprawdza się w danej skończonej  
strukturze za pomocą <math>q</math> zagnieżdżonych pętli, z których każda  
przegląda cały nośnik struktury i odpowiada jednemu  
kwantyfikatorowi.  
 


===Gra Ehrenfeuchta===
===Gra Ehrenfeuchta===


Charakteryzacja Fra\"{\i}ss\'e jest dość skomplikowana i odpychająca w  
Charakteryzacja Fra&iuml;ss&eacute; jest dość skomplikowana i odpychająca w bezpośrednim użyciu. W praktyce jej popularność ogromnie zwiększyło podanie przez Andrzeja Ehrenfeuchta jej równoważnego opisu w terminach dwuosobowej gry, którą teraz zdefiniujemy. Gra ta doskonale sprawdza się w rozumowaniach intuicyjnych. Praktyczne doświadczenie wskazuje, że próby napisania bardzo formalnego dowodu przy użyciu gry kończą się zwykle wskazaniem rodziny zbiorów częściowych izomorfizmów w duchu Fra&iuml;ss&eacute;.  
bezpośrednim\boldsymbol{s}}\def\blank{\hbox{\sf Bżyciu. W praktyce jej popularność ogromnie zwiększyło  
podanie przez Andrzeja Ehrenfeuchta jej równoważnego opisu w terminach  
dwuosobowej gry, którą teraz zdefiniujemy. Gra ta doskonale sprawdza  
się w rozumowaniach intuicyjnych. Praktyczne doświadczenie wskazuje,  
że próby napisania bardzo formalnego dowodu przy\boldsymbol{s}}\def\blank{\hbox{\sf Bżyciu gry kończą się  
zwykle wskazaniem rodziny zbiorów częściowych izomorfizmów w duchu  
Fra\"{\i}ss\'e.  


Niech <math>\Sigma</math> będzie sygnaturą relacyjną i niech <math>\strA,\strB</math> będą  
Niech <math>\Sigma</math> będzie sygnaturą relacyjną i niech <math>\mathfrak A,\mathfrak B</math> będą strukturami sygnatury <math>\Sigma</math>.    
strukturami sygnatury <math>\Sigma.</math>   


Dla\boldsymbol{s}}\def\blank{\hbox{\sf Bproszczenia zakładamy, że <math>A\cap B=\emptyset.</math> \bigbreak
Dla uproszczenia zakładamy, że <math>A\cap B=\emptyset</math>. h


{{definicja|||  
{{definicja|4.11|||
''Gra Ehrenfeuchta <math>G_m(\mathfrak A,\mathfrak B )</math>'' jest rozgrywana przez dwóch graczy, oznaczanych I i II.  Trwa ona przez <math>m</math> rund.


\textit{Gra Ehrenfeuchta <math>G_m\begin{eqnarray*}\strA,\strB\end{eqnarray*}</math>} jest rozgrywana przez
dwóch graczy, oznaczanych I i II.  Trwa ona przez <math>m</math> rund.


W <math>i</math>-tej rundzie (<math>i=1,\dots,m</math>) najpierw wykonuje ruch gracz I, wybierając jedną ze struktur oraz jeden z elementów jej nośnika. Jest on oznaczany <math>a_i</math> jeśli pochodzi z <math>A</math>, zaś math>b_i</math>,
jeśli z <math>B</math>. Jako drugi wykonuje ruch gracz II, który musi wybrać element w pozostałej strukturze (czyli w <math>\mathfrak A</math>, jeśli I wybrał element w <math>\mathfrak B</math>, oraz w <math>\mathfrak B</math>, jeśli I wybrał element w <math>\mathfrak A</math> ) i oznaczyć go <math>a_i</math> lub <math>b_i</math>, zależnie od tego, skąd wybierał.


W <math>i</math>-tej rundzie \begin{eqnarray*}<math>i=1,\dots,m</math>\end{eqnarray*} najpierw wykonuje ruch gracz I,
W ciągu <math>m</math> rund wybrane zostają elementy <math>a_1,\dots,a_m\in A</math> oraz <math>b_1,\dots,b_m\in B</math>.  
wybierając jedną ze struktur oraz jeden z\Delta\vdashlementów jej
nośnika. Jest on oznaczany <math>a_i</math> jeśli pochodzi z <math>A</math>, zaś <math>b_i,</math>
jeśli z <math>B.</math> Jako drugi wykonuje ruch gracz II, który musi wybrać
\Delta\vdashlement w pozostałej strukturze \begin{eqnarray*}czyli w <math>\strA</math>, jeśli I wybrał\Delta\vdashlement
w <math>\strB,</math> oraz w <math>\strB,</math> jeśli I wybrał\Delta\vdashlement w <math>\strA</math>\end{eqnarray*} i oznaczyć go
<math>a_i</math> lub <math>b_i,</math> zależnie od tego, skąd wybierał.  


W ciągu <math>m</math> rund wybrane zostają\Delta\vdashlementy <math>a_1,\dots,a_m\in A</math> oraz
Gracz II wygrywa rozgrywkę, jeśli funkcja</math>h=\{\langle
<math>b_1,\dots,b_m\in B.</math>  
a_i,b_i\rangle | i=1,\dots,m\}</math> jest częściowym izomorfizmem z <math>\mathfrak A</math> w <math>\mathfrak B</math>. W przeciwnym wypadku wygrywa gracz I.


Gracz II wygrywa rozgrywkę, jeśli funkcja </math>h=\{\langle
a_i,b_i\rangle&nbsp;|&nbsp;i=1,\dots,m\}</math> jest częściowym
izomorfizmem z <math>\strA</math> w <math>\strB.</math> W przeciwnym wypadku wygrywa gracz I.


 
Mówimy, że gracz II ma ''strategię wygrywającą'' w grze <math>G_m(\mathfrak A,\mathfrak B )</math>, jeśli może wygrać każdą rozgrywkę, niezależnie od  
Mówimy, że gracz II ma {\em strategię wygrywającą\/} w grze  
<math>G_m\begin{eqnarray*}\strA,\strB\end{eqnarray*}</math>, jeśli może wygrać każdą rozgrywkę, niezależnie od  
posunięć gracza I.  
posunięć gracza I.  
}}  
}}  


Definicja powyższa dopuszcza powtarzanie ruchów przez obu graczy, czyli  
Definicja powyższa dopuszcza powtarzanie ruchów przez obu graczy, czyli  
wybieranie\Delta\vdashlementów, które poprzednio były już wybrane.  Jest to  
wybieranie elementów, które poprzednio były już wybrane.  Jest to  
dogodne, gdyż\boldsymbol{s}}\def\blank{\hbox{\sf Bpraszcza definicję.  Gdybyśmy bowiem zakazali tego,  
dogodne, gdyż upraszcza definicję.  Gdybyśmy bowiem zakazali tego,  
to albo niemożliwe byłoby rozegranie gry <math>G_m\begin{eqnarray*}\strA,\strB\end{eqnarray*}</math> gdy choć  
to albo niemożliwe byłoby rozegranie gry <math>G_m(\mathfrak A,\mathfrak B )</math>, gdy choć jedna ze struktur ma moc mniejszą niż <math>m</math>, albo trzeba by było wprowadzić w definicji specjalny warunek służący do rozstrzygania  
jedna ze struktur ma moc mniejszą niż <math>m,</math> albo trzeba by było  
wprowadzić w definicji specjalny warunek służący do rozstrzygania  
zwycięstwa w sytuacjach, gdy brak możliwości dalszych ruchów.   
zwycięstwa w sytuacjach, gdy brak możliwości dalszych ruchów.   


Linia 411: Linia 235:




{{twierdzenie||ehrenfeucht|  
{{twierdzenie|4.12|ehrenfeucht|


*Gracz II ma strategię wygrywającą w grze <math>G_m\begin{eqnarray*}\strA,\strB\end{eqnarray*}</math> wtedy i tylko  
*Gracz II ma strategię wygrywającą w grze <math>G_m(\mathfrak A,\mathfrak B )</math> wtedy i tylko wtedy, gdy <math>\mathfrak A\cong_{m}\mathfrak B</math>.
wtedy, gdy <math>\strA\cong_{m}\strB.</math>  
*Gracz II ma dla każdego <math>m</math> strategię wygrywającą w grze <math>G_m(\mathfrak A,\mathfrak B )</math> wtedy i tylko wtedy, gdy <math>\mathfrak A\cong_{fin}\mathfrak B</math>.
*Gracz II ma dla każdego <math>m</math> strategię wygrywającą w grze  
}}
<math>G_m\begin{eqnarray*}\strA,\strB\end{eqnarray*}</math> wtedy i tylko wtedy, gdy <math>\strA\cong_{fin}\strB.</math>  


}}
{{dowod|||  
{{dowod||  


Ćwiczenie.  
Ćwiczenie.  
}}  
}}  


Poniższe twierdzenie ilustruje, w jaki sposób gra może zostać  
Poniższe twierdzenie ilustruje, w jaki sposób gra może zostać wykorzystana dla wskazania ograniczeń możliwości logiki pierwszego rzędu.   
wykorzystana dla wskazania ograniczeń możliwości logiki pierwszego  
rzędu.   
 
{{twierdzenie||Cantoro|


Jeśli </math>\strA=\langle A,\leq^\strA\rangle<math> i </math>\strB=\langle  
{{twierdzenie|4.13|Cantoro|
B,\leq^\strB\rangle</math> są dwoma porządkami liniowymi, gęstymi, bez  
Jeśli <math>\mathfrak A=\langle A,\leq^\mathfrak A\rangle</math> i <math>\mathfrak B=\langle B,\leq^\mathfrak B\rangle</math> są dwoma porządkami liniowymi, gęstymi, bez elementu pierwszego i ostatniego, to <math>\mathfrak A\equiv\mathfrak B</math>.
elementu pierwszego i ostatniego,  
to <math>\strA\equiv\strB.</math>  
}}  
}}  
{{dowod||
W myśl Twierdzenia [[#ehrenfeucht]] należy pokazać, że dla każdego
<math>m</math> gracz II ma strategię wygrywającą w grze <math>G_m\begin{eqnarray*}\strA,\strB\end{eqnarray*}.</math>
Opiszemy teraz tę strategię. Jej postać nie zależy od liczby rund do
rozegrania. Pokażemy też, że jeśli po zakończeniu poprzedniej rundy
warunek wygrywający dla gracza II był spełniony, to po wykonaniu ruchu
zgodnie ze wskazaną strategią pozostanie on nadal spełniony. Wówczas
na mocy zasady indukcji po rozegraniu dowolnej ilości rund, w których
gracz II będzie się stosował do tej strategii, pozostanie on
zwycięzcą.
Zauważmy, że warunek o częściowym izomorfizmie w naszej sytuacji
oznacza tyle, że zbiory <math>\{a_1,\dots,a_k\}</math> i <math>\{b_1,\dots,b_k\}</math>
elementów wybranych w każdej ze struktur, po posortowaniu rosnąco
zgodnie z porządkiem odpowiednio <math>\leq^\strA</math> oraz <math>\leq^\strB</math>
prowadzą do identycznych ciągów indeksów swoich oznaczeń. Dokładnie,
jeśli <math>a_{i_1}<^\strA a_{i_2}<^\strA \dots<^\strA a_{i_k}</math> i
<math>b_{j_1}<^\strB b_{j_2}<^\strB \dots<^\strB b_{j_k}</math>, to zachodzą
równości <math>i_\ell=j_\ell</math> dla <math>\ell=1,\dots,k.</math>
*Na pierwszy ruch gracza I gracz II odpowiada w dowolny sposób.


Przed tą rundą nie było wybranych\Delta\vdashlementów, czyli przekształcenie
{{dowod|||
opisane w definicji gry było przekształceniem pustym, które na mocy
W myśl Twierdzenia [[#ehrenfeucht]] należy pokazać, że dla każdego <math>m</math> gracz II ma strategię wygrywającą w grze <math>G_m(\mathfrak A,\mathfrak B )</math>. Opiszemy teraz tę strategię. Jej postać nie zależy od liczby rund do rozegrania. Pokażemy też, że jeśli po zakończeniu poprzedniej rundy warunek wygrywający dla gracza II był spełniony, to po wykonaniu ruchu  
konwencji jest częściowym izomorfizmem. Po wykonaniu ruchu zgodnie ze  
zgodnie ze wskazaną strategią pozostanie on nadal spełniony. Wówczas na mocy zasady indukcji po rozegraniu dowolnej ilości rund, w których gracz II będzie się stosował do tej strategii, pozostanie on zwycięzcą.  
strategią ciągi indeksów w obu strukturach są oczywiście identyczne.  


*We wszystkich kolejnych rundach gracz II określa swój ruch
Zauważmy, że warunek o częściowym izomorfizmie w naszej sytuacji oznacza tyle, że zbiory <math>\{a_1,\dots,a_k\}</math> i <math>\{b_1,\dots,b_k\}</math> elementów wybranych w każdej ze struktur, po posortowaniu rosnąco zgodnie z porządkiem odpowiednio <math>\leq^\mathfrak A</math> oraz <math>\leq^\mathfrak B</math> prowadzą do identycznych ciągów indeksów swoich oznaczeń. Dokładnie, jeśli <math>a_{i_1}<^\mathfrak A a_{i_2}<^\mathfrak A \dots<^\mathfrak A a_{i_k}</math> i <math>b_{j_1}<^\mathfrak B b_{j_2}<^\mathfrak B \dots<^\mathfrak B b_{j_k}</math>, to zachodzą równości <math>i_\ell=j_\ell</math> dla <math>\ell=1,\dots,k</math>.  
następująco. Niech </math>a_{i_1}<^\strA a_{i_2}<^\strA \dots<^\strA
*Na pierwszy ruch gracza I gracz II odpowiada w dowolny sposób. Przed tą rundą nie było wybranych elementów, czyli przekształcenie opisane w definicji gry było przekształceniem pustym, które na mocy konwencji jest częściowym izomorfizmem. Po wykonaniu ruchu zgodnie ze strategią ciągi indeksów w obu strukturach są oczywiście identyczne.  
a_{i_k}</math> i <math>b_{i_1}<^\strB b_{i_2}<^\strB \dots<^\strB b_{i_k}</math> będą
\begin{eqnarray*}identycznymi na mocy założenia indukcyjnego\end{eqnarray*} ciągami indeksów przed
wykonaniem tego ruchu. Ze względu na symetrię sytuacji, możemy bez
\boldsymbol{s}}\def\blank{\hbox{\sf Btraty ogólności założyć, że gracz I wybiera strukturę <math>\strA</math>. Może
symbolem <math>a_{k+1}</math> oznaczyć:
**Element mniejszy od <math>a_{i_1}.</math> Wówczas gracz II
wybiera\Delta\vdashlement mniejszy od <math>b_{i_1}</math> w <math>\strB</math>, który istnieje na mocy
założenia, że w <math>\strB</math> nie ma\Delta\vdashlementu najmniejszego.  Widać, że nowe
ciągi indeksów pozostaną równe.
**Element większy od <math>a_{i_k}.</math> Wówczas gracz II wybiera\Delta\vdashlement
większy od <math>b_{i_k}</math> w <math>\strB</math>, który istnieje na mocy założenia, że w
<math>\strB</math> nie ma\Delta\vdashlementu ostatniego.  Widać, że także teraz nowe ciągi
indeksów pozostaną równe.
**Element </math>a<math> spełniający </math>a_{i_{\ell}}<^\strA a<^\strA
a_{i_{\ell+1}}</math> dla pewnego <math>\ell.</math> W <math>\strB</math> istnieje\Delta\vdashlement <math>b</math>
spełniający <math>b_{i_{\ell}}<^\strB b<^\strB b_{i_{\ell+1}}</math>, gdyż
<math>\strB</math> jest porządkiem gęstym. Gracz II wybiera taki\Delta\vdashlement i
również w tym wypadku widać, że nowe ciągi indeksów pozostaną równe.  


*We wszystkich kolejnych rundach gracz II określa swój ruch następująco. Niech <math>a_{i_1}<^\mathfrak A a_{i_2}<^\mathfrak A \dots<^\mathfrak A
a_{i_k}</math> i <math>b_{i_1}<^\mathfrak B b_{i_2}<^\mathfrak B \dots<^\mathfrak B b_{i_k}</math> będą (identycznymi na mocy założenia indukcyjnego) ciągami indeksów przed wykonaniem tego ruchu. Ze względu na symetrię sytuacji, możemy bez utraty ogólności założyć, że gracz I wybiera strukturę <math>\mathfrak A</math>. Może symbolem <math>a_{k+1}</math> oznaczyć:
**Element mniejszy od <math>a_{i_1}</math>. Wówczas gracz II wybiera element mniejszy od <math>b_{i_1}</math> w <math>\mathfrak B</math>, który istnieje na mocy założenia, że w <math>\mathfrak B</math> nie ma elementu najmniejszego.  Widać, że nowe ciągi indeksów pozostaną równe.
**Element większy od <math>a_{i_k}</math>. Wówczas gracz II wybiera element większy od <math>b_{i_k}</math> w <math>\mathfrak B</math>, który istnieje na mocy założenia, że w <math>\mathfrak B</math> nie ma elementu ostatniego.  Widać, że także teraz nowe ciągi indeksów pozostaną równe.
**Element <math>a</math> spełniający <math>a_{i_{\ell}}<^\mathfrak A a<^\mathfrak A a_{i_{\ell+1}}</math> dla pewnego <math>\ell</math>. W <math>\mathfrak B</math> istnieje element <math>b</math> spełniający <math>b_{i_{\ell}}<^\mathfrak B b<^\mathfrak B b_{i_{\ell+1}}</math>, gdyż <math>\mathfrak B</math> jest porządkiem gęstym. Gracz II wybiera taki element i również w tym wypadku widać, że nowe ciągi indeksów pozostaną równe.




Linia 489: Linia 270:
}}  
}}  


Z powyższego wynika między innymi, że </math>\langle  
Z powyższego wynika między innymi, że <math>\langle  
\mathbb{R},\leq\rangle\equiv\langle \mathbb{Q},\leq\rangle.</math> Zatem nie  
\mathbb{R},\leq\rangle\equiv\langle \mathbb{Q},\leq\rangle</math>. Zatem nie  
ma zdania logiki pierwszego rzędu, które definiuje pojęcie porządku  
ma zdania logiki pierwszego rzędu, które definiuje pojęcie porządku ciągłego (tzn. takiego, w którym wszystkie niepuste ograniczone podzbiory mają kres górny i kres dolny), bo musiałoby ono być prawdziwe w pierwszej ze struktur, a fałszywe w drugiej.  
ciągłego \begin{eqnarray*}tzn.&nbsp;takiego, w którym wszystkie niepuste ograniczone  
podzbiory mają kres górny i kres dolny\end{eqnarray*}, bo musiałoby ono być prawdziwe  
w pierwszej ze struktur, a fałszywe w drugiej.  
 
{{definicja||slmFOjof|


''Teorią\/'' nazywamy dowolny zbiór zdań, zamknięty \zwn&nbsp;konsekwencje  
{{definicja|4.14|slmFOjof|
semantyczne, tj.&nbsp;taki zbiór zdań&nbsp;<math>\Delta</math>, że <math>\Delta\models\var\varphi</math>  
''Teorią'' nazywamy dowolny zbiór zdań, zamknięty ze wszględu na konsekwencje  
zachodzi tylko dla <math>\var\varphi\in\Delta</math>. Przykładem teorii jest każdy  
semantyczne, tj. taki zbiór zdań <math>\Delta</math>, że <math>\Delta\models\var\varphi</math> zachodzi tylko dla <math>\var\varphi\in\Delta</math>. Przykładem teorii jest każdy zbiór postaci <math>\{\var\varphi\ |\ \Gamma\models\var\varphi\}</math>, zwany ''teorią aksjomatyczną'' wyznaczoną przez <math>\Gamma</math>, czy też postaci <math>Th( \mathcal K )=\{\var\varphi\ | \mathfrak A\models\var\varphi</math>, dla każdego <math>\mathfrak A\in \mathcal K\}</math> (teoria klasy struktur <math>\mathcal K</math>) albo <math>Th(\mathfrak A )= \{\var\varphi\ | \mathfrak A\models\var\varphi\}</math> (teoria modelu <math>\mathfrak A</math> ). Teorię  <math>\Delta</math> nazywamy ''zupełną'', gdy dla każdego zdania  
zbiór postaci <math>\{\var\varphi\ |\ \Gamma\models\var\varphi\}</math>, zwany {\it teorią  
<math>\var\varphi</math>, dokładnie jedno ze zdań <math>\var\varphi</math> i <math>\lnot\var\varphi</math> należy do <math>\Delta</math>. Zbiór zdań prawdziwych w ustalonym modelu jest oczywiście zawsze teorią zupełną.  
aksjomatyczną\/} wyznaczoną przez&nbsp;<math>\Gamma</math>, czy też postaci
</math>'''Th}\begin{eqnarray*}\K\end{eqnarray*}=\{\var\varphi\ |\ \strA\models\var\varphi,\ \mbox{dla każdego'''\ 
\strA\in\K\}</math>
\begin{eqnarray*}teoria klasy struktur&nbsp;<math>\K</math>\end{eqnarray*} albo
<math>'''Th}\begin{eqnarray*}\strA\end{eqnarray*}= \{\var\varphi\ |\ \strA\models\var\varphi\'''</math>
\begin{eqnarray*}teoria modelu&nbsp;<math>\strA</math>\end{eqnarray*}. Teorię   
<math>\Delta</math> nazywamy \textit{zupełną}, gdy dla każdego zdania  
<math>\var\varphi,</math> dokładnie jedno ze zdań <math>\var\varphi</math> i <math>\lnot\var\varphi</math> należy do  
<math>\Delta.</math> Zbiór zdań prawdziwych w\boldsymbol{s}}\def\blank{\hbox{\sf Bstalonym modelu jest oczywiście zawsze
teorią zupełną.  
}}  
}}  




{{wniosek||zupa|  
{{wniosek|4.15|zupa|  


Teoria klasy <math>\mathcal{A}</math> wszystkich porządków liniowych, gęstych,  
Teoria klasy <math>\mathcal{A}</math> wszystkich porządków liniowych, gęstych,  
bez\Delta\vdashlementu pierwszego i ostatniego jest zupełna.  
bez elementu pierwszego i ostatniego jest zupełna.  
}}  
}}  
{{dowod||
Teoria o której mówimy nie ma modeli skończonych. W myśl Twierdzenia
[[#Cantoro]] wszystkie jej modele nieskończone są\Delta\vdashlementarnie
równoważne. Zatem </math>'''Th}\begin{eqnarray*}\mathcal{A'''\end{eqnarray*}='''Th'''\begin{eqnarray*}\langle
\mathbb{Q},\leq\rangle\end{eqnarray*},</math> a teoria pojedynczego modelu jest zawsze
zupełna.
}}
\subsection*{Ćwiczenia}\begin{small}
#<span id="c" \> 
Wykazać, że dla dostatecznie dużych <math>q</math> istnieje zdanie o randze
kwantyfikatorowej <math>q</math> definiujące porządek liniowy o mocy <math>2^q.</math>
#
Adaptując dowód Faktu&nbsp;[[#qq]]\boldsymbol{s}}\def\blank{\hbox{\sf Bdowodnić, że struktury
<math>\<\{1-1/n&nbsp;|&nbsp;n=1,2,\dots\},\leq\></math> oraz
<math>\<\bigcup_{n=1}^\infty\{1-1/n,1+1/n,3-1/n\},\leq\></math>, gdzie <math>\leq</math> jest
w obu wypadkach standardowym porządkiem liczb wymiernych, są
elementarnie równoważne. 
Wywnioskować stąd, że pojęcie dobrego porządku nie jest wyrażalne w&nbsp;logice 
pierwszego rzędu.  \begin{eqnarray*}Zupełnie inny dowód tego faktu poznamy 
w&nbsp;Rozdziale&nbsp;[[#zwarciig\leftrightarrowwi]].\end{eqnarray*}
#Niech <math>R</math> będzie jednoargumentowym symbolem relacyjnym.
Udowodnić, że klasa wszystkich takich struktur </math>\strA=\langle
A,R\rangle</math>, że <math>|R|=|A- R|</math>, nie jest aksjomatyzowalna żadnym zbiorem
zdań pierwszego rzędu.
#Udowodnić, że klasa wszystkich \begin{eqnarray*}skończonych lub nieskończonych\end{eqnarray*} grafów 
<math>\strA=\langle A,E\rangle,</math> w których istnieją dwa
wierzchołki o równych sobie, skończonych stopniach, nie jest
aksjomatyzowalna żadnym zdaniem pierwszego rzędu.
#Udowodnić, że klasa wszystkich \begin{eqnarray*}skończonych lub nieskończonych\end{eqnarray*} grafów
<math>\strA=\langle A,E\rangle,</math> których każdy skończony podgraf jest planarny,
nie jest aksjomatyzowalna żadnym zdaniem pierwszego rzędu.
#Pokazać, że klasa wszystkich relacji równoważności, których
wszystkie skończone klasy abstrakcji mają parzystą moc, nie jest
aksjomatyzowalna żadnym zdaniem pierwszego rzędu.
#
Dane są dwie struktury relacyjne </math>\strA=\langle
U,R^\strA\rangle</math> i <math>\strB=\langle U,R^\strB\rangle</math>
nad sygnaturą złożoną z&nbsp;jednego dwuargumentowego symbolu
relacyjnego. Ich nośnikiem jest
<math>U=\{1,2,\dots,15\}</math>, relacja <math>R^\strA\begin{eqnarray*}x,y\end{eqnarray*}</math> zachodzi \wtw, gdy
<math>x|y</math>, a relacja <math>R^\strB\begin{eqnarray*}x,y\end{eqnarray*}</math> \wtw, gdy <math>x\equiv y\pmod 2.</math>
Ustalić, jaką minimalną rangę kwantyfikatorową ma zdanie
<math>\var\varphi</math> takie, że <math>\strA\models\var\varphi</math> i&nbsp;<math>\strB\not\models\var\varphi.</math>
#Dane są dwie sześcioelementowe
struktury relacyjne <math>\strA</math> i <math>\strB</math>
nad sygnaturą złożoną z jednego dwuargumentowego symbolu relacyjnego.
Struktury są narysowane poniżej jako grafy skierowane:
<span id=""/> <math> \begi\prooftree array \justifies c|c \using \textrm{\begin{eqnarray*}W\end{eqnarray*}}\endprooftree
\xymatrix
{
*{\ast}
\ar@{<->}[r]
\ar@{<->}[d]
\ar@{<->}[dr]
&
*{\ast}
\ar@{<->}[d]
\ar@{<->}[l]
\ar@{<->}[dl]
&
*{\ast}
&
\\
*{\ast}
\ar@{<->}[r]
&
*{\ast}
&
*{\ast}
&
*{\relax}
}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
\xymatrix
{
*{\ast}
\ar@{<->}[d]
\ar@{<->}[dr]
&
*{\ast}
&
*{\ast}
&
\\
*{\ast}
\ar@{<->}[r]
&
*{\ast}
&
*{\ast}
&
*{\relax}
}
\end{array}
</math>
Ustalić, jaką minimalną rangę kwantyfikatorową ma zdanie <math>\var\varphi</math>
takie, że <math>\strA\models\var\varphi</math> i&nbsp;<math>\strB\not\models\var\varphi.</math>


\end{small}
{{dowod|||
Teoria, o której mówimy, nie ma modeli skończonych. W myśl Twierdzenia [[#Cantoro]] wszystkie jej modele nieskończone są elementarnie równoważne. Zatem <math>Th(\mathcal A)=Th(\langle \mathbb{Q},\leq\rangle )</math>, a teoria pojedynczego modelu jest zawsze zupełna.
}}

Aktualna wersja na dzień 12:04, 5 wrz 2023

Link z wykladu 8 do tw. 4.13. Nazwa linku "Cantoro"

Ograniczenia logiki pierwszego rzędu

Ten rozdział poświęcony jest ograniczeniom, którym podlega język logiki pierwszego rzędu. Okazuje się, że nie każde pojęcie da się w nim wyrazić, a także, że są pojęcia, które dają się wyrazić, ale odpowiednie zdanie lub formuła z konieczności musi być skomplikowane. Rozważania w tym rozdziale będziemy prowadzić przy założeniu, że w sygnaturze występują wyłącznie symbole relacyjne. Wyniki dają się zastosować do sygnatur z symbolami funkcyjnymi, ale wymaga to zakodowania wszystkich funkcji jako relacji.

Zaczniemy od miary skomplikowania formuł, która będzie przydatna w dalszym ciągu.

Definicja 4.1

Rangę kwantyfikatorową Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle QR\var(\varphi)} formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} definiujemy jak następuje:
  • QR=QRt1=t2=QRr(t1,,tk))=0 dla dowolnych termów t1,,tk oraz rΣkR.
  • Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle QR(\var\varphi\to \psi )=\max(QR(\var\varphi ),QR(\psi ) )} .
  • Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle QR(\forall x\var\varphi )=1+QR(\var\varphi )} .

Intuicyjnie QR to głębokość zagnieżdżenia kwantyfikatorów w formule. Jest to jedna z wielu możliwych miar stopnia komplikacji formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} . Parametr ten ma następujące znaczenie: jeśli struktura 𝔄 ma nelementów, to pesymistyczny czas sprawdzenia, czy dla zdania Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} zachodzi Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak A\models \var\varphi} jest asymptotycznie proporcjonalny do Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle n^{QR(\var\varphi )}} , gdy użyjemy naturalnego algorytmu do wykonania tego zadania, który dla każdego kwantyfikatora w formule przegląda wszystkie elementy struktury.

Teraz możemy wyjaśnić, dlaczego nie dopuszczamy symboli funkcyjnych w sygnaturze. Otóż ich obecność zakłóca potrzebne nam własności funkcji QR. Tytułem przykładu, formuła R(x,f(f(x))) jest atomowa i jej ranga kwantyfikatorowa powinna wynosić 0. Tymczasem gdy f będziemy reprezentować w strukturze jako dwuargumentową relację F, ta sama formuła przybierze postać yzF(x,y)F(y,z)R(x,z)), której ranga kwantyfikatorowa wynosi 2. Twierdzenia, których dalej dowodzimy, odwołują się do wartości QR zdefiniowanych powyżej dla logiki bez symboli funkcyjnych. To właśnie jest przyczyna, dla której funkcje wykluczamy z rozważań.

Charakteryzacja Fraïssé

Definicja 4.2

Jeśli 𝔄 jest strukturą relacyjną oraz BA, to struktura 𝔄|B tej samej sygnatury Σ co 𝔄, nazywana podstrukturą indukowaną przez B, w 𝔄, ma nośnik B, zaś dla każdego rΣnR

r𝔄|B=r𝔄Bn.


Definicja 4.3

Niech 𝔄,B będą strukturami relacyjnymi tej samej sygnatury Σ, ponadto niech AA i BB. Jeśli funkcja h:AB jest izomorfizmem podstruktur indukowanych h:𝔄|A𝔅|B, to mówimy, że h jest częściowym izomorfizmem z 𝔄𝔅. Jego dziedzina to dom(h)=A, a obraz to rg(h)=B.

Na zasadzie konwencji umawiamy się, że jest częściowym izomorfizmem z 𝔄 w 𝔅 o pustej dziedzinie i pustym obrazie.

Dla dwóch częściowych izomorfizmów g,h z 𝔄 w 𝔅 piszemy gh gdy dom(g)dom(h) oraz g(a)=h(a) dla wszystkich adom(g), to jest wtedy, gdy g jest zawarte jako zbiór w h.


Definicja 4.4

Niech m będzie dodatnią liczbą naturalną. Dwie struktury relacyjne tej samej sygnatury są m-izomorficzne, co oznaczamy 𝔄m𝔅, gdy istnieje rodzina {In|nm}, w której każdy In jest niepustym zbiorem częściowych izomorfizmów z 𝔄 w 𝔅, oraz spełniająca następujące dwa warunki:

  • Tam Dla każdego hIn+1 oraz każdego a istnieje takie gIn, że hg oraz adom(g).
  • Z powrotem Dla każdego hIn+1 oraz każdego bB istnieje takie gIn, że hg oraz brg(g).

Samą rodzinę {In|nm} nazywamy wówczas m-izomorfizmem struktur 𝔄 i 𝔅, co oznaczamy {In|nm}:𝔄m𝔅.

Nieformalne wyjaśnienie jest takie: In to zbiór częściowych izomorfizmów, które mogą być rozszerzone n-krotnie o dowolne elementy w dziedzinie i obrazie, a kolejne rozszerzenia leżą w In1,,I0.


Definicja 4.5

Dwie struktury relacyjne tej samej sygnatury są skończenie izomorficzne, symbolicznie 𝔄fin𝔅, gdy istnieje rodzina {In|nω}, taka że każda podrodzina {In|nm} jest m-izomorfizmem.


Jeśli {In|nm} ma powyższe własności, to piszemy {In|nm}:𝔄fin𝔅, a samą rodzinę nazywamy skończonym izomorfizmem.

Fakt 4.6

  • Jeśli 𝔄𝔅, to 𝔄fin𝔅.
  • Jeśli 𝔄fin𝔅 oraz nośnik math>\mathfrak A</math> jest zbiorem skończonym, to 𝔄𝔅.

Dowód

Definicja 4.7

Dwie struktury 𝔄 i 𝔅 tej samej sygnatury są elementarnie równoważne, co zapisujemy symbolicznie 𝔄𝔅, gdy dla każdego zdania φ logiki pierwszego rzędu nad tą samą sygnaturą, Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak A\models\var\varphi} wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak B\models\var\varphi} .

Dwie struktry 𝔄 i 𝔅 tej samej sygnatury są m-elementarnie równoważne, symbolicznie 𝔄m𝔅, gdy dla każdego zdania Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} logiki pierwszego rzędu nad tą samą sygnaturą, o randze kwantyfikatorowej nie przekraczającej m, zachodzi Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak A\models\var\varphi} wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak B\models\var\varphi} .

Fakt 4.8

𝔄fin𝔅 wtedy i tylko wtedy, gdy dla każdego naturalnego m zachodzi 𝔄m𝔅.

Dowód

Wynikanie z lewej do prawej jest oczywiste. Załóżmy teraz, że dla każdego m istnieje rodzina {Inm|nm} spełniająca warunki z definicji relacji m. Rozważmy rodzinę {Jn|nω} gdzie Jn=mωInm. Bezpośrednie sprawdzenie pokazuje natychmiast, że spełnia ona warunki definicji relacji fin.


Twierdzenie 4.9

Niech Σ będzie dowolną sygnaturą relacyjną zawierającą skończenie wiele symboli, oraz niech 𝔄,𝔅 będą dowolnymi strukturami nad Σ.

  • Dla każdego m zachodzi równoważność: 𝔄m𝔅 wtedy i tylko wtedy, gdy 𝔄m𝔅.
  • 𝔄fin𝔅 wtedy i tylko wtedy, gdy 𝔄𝔅.

Dowód

Jest oczywiste, że druga równoważnośc wynika z pierwszej. Pierwszą z kolei udowodnimy tylko z lewej do prawej strony. Dowód w stronę przeciwną jest bardziej zawiły technicznie, a w dodatku ta implikacja jest rzadko używana w praktyce. Wyraża za to istotną z metodologicznego punktu widzenia informację: jeśli dwie struktury są (m- )elementarnie równoważne, to fakt ten można na pewno udowodnić posługując się metodą Fraïssé, choć oczywiście nie ma gwarancji, że będzie to metoda najprostsza.

Ustalmy m. Dowód tego, że z 𝔄m𝔅 wynika 𝔄m𝔅 sprowadza się do wykazania następującego faktu za pomocą indukcji ze względu na budowę Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} :

\begin{quote}Niech Parser nie mógł rozpoznać (błąd składni): {\displaystyle \{I_n | n\leq m\''} będzie rodziną o której mowa w definicji 𝔄m𝔅, niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} będzie formułą o co najwyżej r zmiennych wolnych (bez utraty ogólności niech będą to x1,,xr ) i spełniającą Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle QR(\var\varphi )\leq n\leq m} oraz niech gIn. Wówczas dla dowolnych a1,,ardom(g) następujące dwa warunki są równoważne:

Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak A,x_1:a_1,\dots,x_r:a_r\models\var\varphi}
Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r )\models\var\varphi} .\end{quote}

Dla formuł atomowych powyższa teza wynika wprost z faktu, że g jest częściowym izomorfizmem (przypomnijmy że w sygnaturze nie ma symboli funkcyjnych i co za tym idzie jedynymi termami są zmienne).

Gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} ma postać ψξ, to mamy następujący ciąg równoważnych warunków:

  • 𝔄,x1:a1,,xr:arψξ
  • 𝔄,x1:a1,,xr:ar⊭ψ lub 𝔄,x1:a1,,xr:arξ
  • 𝔄,x1:g(a1),,xr:g(ar)⊭ψ lub 𝔄,x1:g(a1),,xr:g(ar)ξ
  • 𝔄,x1:g(a1),,xr:g(ar)ψξ,


przy czym druga równoważność wynika z założenia indukcyjnego, a pierwsza i trzecia z definicji semantyki.

Gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} ma postać xψ, to, jako że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle x_{r+1}\notin FV(\var\varphi )} i co za tym idzie (xψ)xr+1ψ(xr+1/x) (patrz Fakt #alfa-konw ), możemy bez utraty ogólności założyć, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} ma postać xr+1ψ. Z założenia Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle QR(\var\varphi )\leq n} wynika, że QR(ψ)n1. Mamy teraz następujący ciąg równoważnych warunków:

  • Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle (\mathfrak A,x_1:a_1,\dots,x_r:a_r )\models\var\varphi}
  • Dla każdego aA zachodzi(𝔄,x1:a1,,xr:ar,xr+1:a)ψ
  • Dla każdego aA istnieje takie hIn1, że gh, adom(h) oraz (𝔄,x1:a1,,xr:ar,xr+1:a)ψ
  • Dla każdego aA istnieje takie hIn1, że gh, adom(h) oraz (𝔅,x1:g(a1),,xr:g(ar),xr+1:h(a))ψ
  • Dla każdego bB istnieje takie hIn1, że gh, brg(h) oraz (𝔅,x1:g(a1),,xr:g(ar),xr+1:b)ψ
  • Dla każdego bB zachodzi (𝔅,x1:g(a1),,xr:g(ar),xr+1:b)ψ
  • Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle (\mathfrak B,x_1:g(a_1 ),\dots,x_r:g(a_r ) )\models\var\varphi} .

Równoważności druga i czwarta zachodzą na mocy warunków Tam i Z powrotem, trzecia na mocy założenia indukcyjnego, a pozostałe na mocy definicji spełniania.

Pokażemy teraz pierwszy przykład inherentnego ograniczenia logiki pierwszego rzędu.

Fakt 4.10

Jeśli 𝔄,𝔅 są dwoma skończonymi liniowymi porządkami o mocach większych niż 2m, to 𝔄m𝔅.

Dowód

Bez utraty ogólności możemy założyć, że A={0,,N}, B={0,,M}, przy czym 2m<NM, a porządek jest porządkiem naturalnym. Dowód przeprowadzamy wykorzystując Twierdzenie #fraisse, czyli w istocie wykazujemy, że 𝔄m𝔅.

Dla danego km określmy "odległość" dk pomiędzy elementami naszych struktur jak następuje:

Parser nie mógł rozpoznać (nieznana funkcja „\begin{cases}”): {\displaystyle d_k(a,b) = \begin{cases}|b-a| & \text{\ jeśli } |b-a|< 2^k \\\infty & \text{\ jeśli } wpp.\end{cases}}


Niech Ik dla km będzie zbiorem wszystkich częściowych izomorfizmów g z 𝔄 w 𝔅 takich, że {0,0,N,M}sbseteqg oraz dk(a,b)=dk(g(a),g(b)) dla wszystkich a,bdom(g). Oczywiście Ik bo {0,0,N,M}Ik.

Pokazujemy własność Tam dla rodziny {Ik|km . Niech gIk+1. Niech a{0,,N}. Mamy wskazać w Ik częściowy izomorfizm hg taki, że adom(h).

Rozróżniamy dwa przypadki:

  1. Jeśli istnieje takie bdom(g), że dk(a,b)<, to w B jest dokładnie jeden element a, który jest tak samo położony względem g(b) jak a względem b, oraz spełnia dj(a,g(b))=dj(a,b). Kładziemy wówczas h(a):=a i h jest wtedy częściowym izomorfizmem zachowującym odległości dj.
  2. Jeśli natomiast takiego b nie ma, to niech a<a<a, gdzie a,a są najbliższymi belementami po lewej i po prawej, które należą do dom(g). Wówczas dj(a,a)=dj(a,a)=, co w myśl definicji dj oznacza, że dj+1(a,a)=. Zatem na mocy założenia indukcyjnego także dj+1(g(a),g(a))=. Istnieje więc g(a)<b<g(a) takie, że Parser nie mógł rozpoznać (błąd składni): {\displaystyle {d_j(g(a' ),b )=d_j(b,g(a'' ) )=\infty} , i wówczas kładąc h(a):=buzyskujemy żądane rozszerzenie.


Przykład powyższy wskazuje na kilka istotnych ograniczeń logiki pierwszego rzędu. Po pierwsze, nie da się żadnym zdaniem zdefiniować nawet tak prostego pojęcia jak "porządek liniowy o parzystej liczbie elementów", i to bez względu na to, jak byśmy je rozumieli dla modeli nieskończonych. Istotnie, zdanie które miałoby definiować taką własność musiałoby mieć jakąś rangę kwantyfikatorową, powiedzmy q. Jednak w myśl poprzedniego twierdzenia, porządki o mocach 2q+1 i 2q+2q-elementarnie równoważne i nasze hipotetyczne zdanie jest albo prawdziwe w obu, albo fałszywe w obu, podczas gdy powinno być w jednym fałszywe, a w drugim prawdziwe.

Drugim ograniczeniem jest fakt, że każda specyfikacja porządku liniowego o mocy n w logice pierwszego rzędu musi z konieczności mieć rangę kwantyfikatorową co najmniej log2n, a więc sugeruje algorytm sprawdzenia, czy dany obiekt mocy m istotnie spełnia tę specyfikację, którego czas działania ma rząd wielkości mlog2n, co jest wynikiem fatalnym.\footnote{Na szczęście znamy lepsze algorytmy wykonujące to zadanie.} Bierze się to stąd, że prawdziwość zdania o randze kwantyfikatorowej q sprawdza się w danej skończonej strukturze za pomocą q zagnieżdżonych pętli, z których każda przegląda cały nośnik struktury i odpowiada jednemu kwantyfikatorowi.

Gra Ehrenfeuchta

Charakteryzacja Fraïssé jest dość skomplikowana i odpychająca w bezpośrednim użyciu. W praktyce jej popularność ogromnie zwiększyło podanie przez Andrzeja Ehrenfeuchta jej równoważnego opisu w terminach dwuosobowej gry, którą teraz zdefiniujemy. Gra ta doskonale sprawdza się w rozumowaniach intuicyjnych. Praktyczne doświadczenie wskazuje, że próby napisania bardzo formalnego dowodu przy użyciu gry kończą się zwykle wskazaniem rodziny zbiorów częściowych izomorfizmów w duchu Fraïssé.

Niech Σ będzie sygnaturą relacyjną i niech 𝔄,𝔅 będą strukturami sygnatury Σ.

Dla uproszczenia zakładamy, że AB=. h

Definicja 4.11

Definicja powyższa dopuszcza powtarzanie ruchów przez obu graczy, czyli wybieranie elementów, które poprzednio były już wybrane. Jest to dogodne, gdyż upraszcza definicję. Gdybyśmy bowiem zakazali tego, to albo niemożliwe byłoby rozegranie gry Gm(𝔄,𝔅), gdy choć jedna ze struktur ma moc mniejszą niż m, albo trzeba by było wprowadzić w definicji specjalny warunek służący do rozstrzygania zwycięstwa w sytuacjach, gdy brak możliwości dalszych ruchów.

W praktyce jednak w dowodach prawie nigdy nie rozpatruje się takich ruchów, gdyż jest oczywiste, że wykonanie takiego posunięcia przez gracza I nie przybliża go do zwycięstwa, zaś gdy wykona je gracz II mimo że nie zrobił tego gracz I, powoduje to jego natychmiastową przegraną.


Twierdzenie 4.12

  • Gracz II ma strategię wygrywającą w grze Gm(𝔄,𝔅) wtedy i tylko wtedy, gdy 𝔄m𝔅.
  • Gracz II ma dla każdego m strategię wygrywającą w grze Gm(𝔄,𝔅) wtedy i tylko wtedy, gdy 𝔄fin𝔅.

Dowód

Ćwiczenie.

Poniższe twierdzenie ilustruje, w jaki sposób gra może zostać wykorzystana dla wskazania ograniczeń możliwości logiki pierwszego rzędu.

Twierdzenie 4.13

Jeśli 𝔄=A,𝔄 i 𝔅=B,𝔅 są dwoma porządkami liniowymi, gęstymi, bez elementu pierwszego i ostatniego, to 𝔄𝔅.

Dowód

W myśl Twierdzenia #ehrenfeucht należy pokazać, że dla każdego m gracz II ma strategię wygrywającą w grze Gm(𝔄,𝔅). Opiszemy teraz tę strategię. Jej postać nie zależy od liczby rund do rozegrania. Pokażemy też, że jeśli po zakończeniu poprzedniej rundy warunek wygrywający dla gracza II był spełniony, to po wykonaniu ruchu zgodnie ze wskazaną strategią pozostanie on nadal spełniony. Wówczas na mocy zasady indukcji po rozegraniu dowolnej ilości rund, w których gracz II będzie się stosował do tej strategii, pozostanie on zwycięzcą.

Zauważmy, że warunek o częściowym izomorfizmie w naszej sytuacji oznacza tyle, że zbiory {a1,,ak} i {b1,,bk} elementów wybranych w każdej ze struktur, po posortowaniu rosnąco zgodnie z porządkiem odpowiednio 𝔄 oraz 𝔅 prowadzą do identycznych ciągów indeksów swoich oznaczeń. Dokładnie, jeśli ai1<𝔄ai2<𝔄<𝔄aik i bj1<𝔅bj2<𝔅<𝔅bjk, to zachodzą równości i=j dla =1,,k.

  • Na pierwszy ruch gracza I gracz II odpowiada w dowolny sposób. Przed tą rundą nie było wybranych elementów, czyli przekształcenie opisane w definicji gry było przekształceniem pustym, które na mocy konwencji jest częściowym izomorfizmem. Po wykonaniu ruchu zgodnie ze strategią ciągi indeksów w obu strukturach są oczywiście identyczne.
  • We wszystkich kolejnych rundach gracz II określa swój ruch następująco. Niech ai1<𝔄ai2<𝔄<𝔄aik i bi1<𝔅bi2<𝔅<𝔅bik będą (identycznymi na mocy założenia indukcyjnego) ciągami indeksów przed wykonaniem tego ruchu. Ze względu na symetrię sytuacji, możemy bez utraty ogólności założyć, że gracz I wybiera strukturę 𝔄. Może symbolem ak+1 oznaczyć:
    • Element mniejszy od ai1. Wówczas gracz II wybiera element mniejszy od bi1 w 𝔅, który istnieje na mocy założenia, że w 𝔅 nie ma elementu najmniejszego. Widać, że nowe ciągi indeksów pozostaną równe.
    • Element większy od aik. Wówczas gracz II wybiera element większy od bik w 𝔅, który istnieje na mocy założenia, że w 𝔅 nie ma elementu ostatniego. Widać, że także teraz nowe ciągi indeksów pozostaną równe.
    • Element a spełniający ai<𝔄a<𝔄ai+1 dla pewnego . W 𝔅 istnieje element b spełniający bi<𝔅b<𝔅bi+1, gdyż 𝔅 jest porządkiem gęstym. Gracz II wybiera taki element i również w tym wypadku widać, że nowe ciągi indeksów pozostaną równe.


Na tym dowód istnienia strategii wygrywającej dla gracza II jest zakończony.

Z powyższego wynika między innymi, że ,,. Zatem nie ma zdania logiki pierwszego rzędu, które definiuje pojęcie porządku ciągłego (tzn. takiego, w którym wszystkie niepuste ograniczone podzbiory mają kres górny i kres dolny), bo musiałoby ono być prawdziwe w pierwszej ze struktur, a fałszywe w drugiej.

Definicja 4.14

Teorią nazywamy dowolny zbiór zdań, zamknięty ze wszględu na konsekwencje semantyczne, tj. taki zbiór zdań Δ, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta\models\var\varphi} zachodzi tylko dla Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi\in\Delta} . Przykładem teorii jest każdy zbiór postaci Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \{\var\varphi\ |\ \Gamma\models\var\varphi\}} , zwany teorią aksjomatyczną wyznaczoną przez Γ, czy też postaci Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle Th( \mathcal K )=\{\var\varphi\ | \mathfrak A\models\var\varphi} , dla każdego 𝔄𝒦} (teoria klasy struktur 𝒦) albo Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle Th(\mathfrak A )= \{\var\varphi\ | \mathfrak A\models\var\varphi\}} (teoria modelu 𝔄 ). Teorię Δ nazywamy zupełną, gdy dla każdego zdania Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , dokładnie jedno ze zdań Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \lnot\var\varphi} należy do Δ. Zbiór zdań prawdziwych w ustalonym modelu jest oczywiście zawsze teorią zupełną.


Wniosek 4.15

Teoria klasy 𝒜 wszystkich porządków liniowych, gęstych, bez elementu pierwszego i ostatniego jest zupełna.

Dowód

Teoria, o której mówimy, nie ma modeli skończonych. W myśl Twierdzenia #Cantoro wszystkie jej modele nieskończone są elementarnie równoważne. Zatem Th(𝒜)=Th(,), a teoria pojedynczego modelu jest zawsze zupełna.