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
Aneczka (dyskusja | edycje)
mNie podano opisu zmian
Linia 18: Linia 18:
{{definicja|||'''Rangę kwantyfikatorową''' <math>QR\var(\varphi)</math> formuły <math>\var\varphi</math> definiujemy jak następuje:  
{{definicja|||'''Rangę kwantyfikatorową''' <math>QR\var(\varphi)</math> formuły <math>\var\varphi</math> definiujemy jak następuje:  


*<math>QR(\bot)=QR(t_1=t_2)=QR(r (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\bot=\QRt_1=t_2=\QRr(t_1,\dots,t_k ) )=0</math> dla dowolnych  
*<math>QR (\var\varphi\to \psi) =\max (QR (\var\varphi) ,QR (\psi)) </math>.  
termów <math>t_1,\dots, t_k</math> oraz <math>r\in \Sigma^R_k.</math>  
*<math>QR (\forall x\var\varphi) =1+QR (\var\varphi) .</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>\varphi.</math> Parametr ten ma następujące znaczenie: jeśli struktura <math>\strA</math> ma <math>n\Delta\vdashl</math> elementó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 \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>\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> gdyużyjemy
naturalnego algorytmu do wykonania tego zadania, który dla każdego  
kwantyfikatora w formule przegląda wszystkieelementy 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  
<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ą  
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  
relację </math>F<math>, ta sama formuła przybierze postać </math>\exists y\exists z  
funkcyjnych.  To właśnie jest przyczyna, dla której funkcje wykluczamy z rozważań.  
(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.  \Rightarrow właśnie jest przyczyna, dla której funkcje wykluczamy  
z rozważań.  


===Charakteryzacja Fra\"{\i===
===Charakteryzacja Fra\"{\i===
Linia 37: Linia 51:
{{definicja|||  
{{definicja|||  


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


Linia 50: Linia 64:


strukturami relacyjnymi tej samej sygnatury <math>\Sigma,</math> ponadto niech  
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  
<math>A'sbseteq A</math> i <math>B'sbseteq B</math>.  Jeśli funkcja <math>h:A'\to B'</math> jest  
izomorfizmem podstruktur indukowanych </math>h:\strA_{|A'}\cong  
izomorfizmem podstruktur indukowanych </math>h:\mathfrak A_{|A'}\cong  
\strB_{|B'},</math> to mówimy, że <math>h</math> jest \textit{częściowym izomorfizmem z  
\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 h =A'</math>, a  
<math>\mathfrak A</math> w&nbsp;<math>\strB</math>.} Jego \textit{dziedzina} to <math>dom(h )=A'</math>, a  
\textit{obraz} to <math>rg h =B'.</math>  
\textit{obraz} to <math>rg(h )=B'.</math>  


Na zasadzie konwencji\boldsymbol{s}}\def\blank{\hbox{\sf Bmawiamy się, że <math>\emptyset</math> jest częściowym  
Na zasadzie konwencjiumawiamy 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>\strB</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>\strB</math> piszemy  
<math>g\subseteq h</math> gdy <math>dom g \subseteq dom h </math> oraz <math>g a =h a </math> dla  
<math>gsbseteq h</math> gdy <math>dom(g )sbseteq 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  
wszystkich <math>a\in dom(g ),</math> to jest wtedy, gdy <math>g</math> jest zawarte jako  
zbiór w <math>h.</math>  
zbiór w <math>h.</math>  
}}  
}}  
Linia 69: Linia 83:


naturalną.  Dwie struktury relacyjne tej samej sygnatury są  
naturalną.  Dwie struktury relacyjne tej samej sygnatury są  
\textit{<math>m</math>-izomorficzne}, co oznaczamy <math>\strA\cong_{m}\strB,</math> gdy istnieje  
\textit{<math>m</math>-izomorficzne}, co oznaczamy <math>\mathfrak A\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  
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  
częściowych izomorfizmów z&nbsp;<math>\mathfrak A</math> w&nbsp;<math>\strB,</math> oraz spełniająca  
następujące dwa warunki:  
następujące dwa warunki:  


\begin{description}  
\begin{description}  
\item[Tam] Dla każdego <math>h\in I_{n+1}</math> oraz każdego <math>a\in A</math> istnieje  takie  
\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 g .</math>  
<math>g\in I_n</math>, że <math>hsbseteq g</math> oraz <math>a\in dom(g ).</math>  
\item[Z powrotem] Dla każdego <math>h\in I_{n+1}</math> oraz każdego <math>b\in B</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 g .</math>  
istnieje takie <math>g\in I_n</math>, że <math>hsbseteq g</math> oraz <math>b\in rg(g ).</math>  
\end{description}  
\end{description}  


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


}}  
}}  
Linia 98: Linia 112:


Dwie struktury relacyjne tej samej sygnatury są \textit{skończenie  
Dwie struktury relacyjne tej samej sygnatury są \textit{skończenie  
izomorficzne}, symbolicznie <math>\strA\cong_{fin}\strB,</math> gdy istnieje  
izomorficzne}, symbolicznie <math>\mathfrak A\cong_{fin}\strB,</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&nbsp;|&nbsp;n\in\omega\}<math>, taka, że każda podrodzina </math>\{I_n&nbsp;|&nbsp;n\leq  
m\}</math> jest <math>m</math>-izomorfizmem.  
m\}</math> jest <math>m</math>-izomorfizmem.  
Linia 104: Linia 118:


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


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


}}  
}}  
Linia 126: Linia 140:
{{definicja|||  
{{definicja|||  


<math>\strA</math> i <math>\strB</math> tej samej sygnatury są \textit{elementarnie  
<math>\mathfrak A</math> i <math>\strB</math> tej samej sygnatury są \textit{elementarnie  
równoważne}, co zapisujemy symbolicznie <math>\strA\equiv\strB,</math> gdy dla  
równoważne}, co zapisujemy symbolicznie <math>\mathfrak A\equiv\strB,</math> gdy dla  
każdego zdania <math>\var\varphi</math> logiki pierwszego rzędu nad tą samą sygnaturą,  
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>  
<math>\mathfrak A\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ą  
Dwie struktry <math>\mathfrak A</math> i <math>\strB</math> tej samej sygnatury są  
\textit{<math>m</math>-elementarnie równoważne}, symbolicznie  
\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  
<math>\mathfrak A\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  
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  
przekraczającej <math>m</math>, zachodzi <math>\mathfrak A\models\var\varphi</math> wtedy i tylko  
wtedy, gdy <math>\strB\models\var\varphi.</math>  
wtedy, gdy <math>\strB\models\var\varphi.</math>  
}}  
}}  
Linia 141: Linia 155:
{{fakt|||  
{{fakt|||  


gdy dla każdego naturalnego <math>m</math> zachodzi <math>\strA\cong_m\strB</math>.  
gdy dla każdego naturalnego <math>m</math> zachodzi <math>\mathfrak A\cong_m\strB</math>.  
}}  
}}  
{{dowod||  
{{dowod||  
Linia 158: Linia 172:


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,\strB</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\strB</math>  
wtedy i tylko wtedy gdy <math>\strA\equiv_m\strB</math>.  
wtedy i tylko wtedy gdy <math>\mathfrak A\equiv_m\strB</math>.  
*<math>\strA\cong_{fin}\strB</math> wtedy i tylko wtedy gdy  
*<math>\mathfrak A\cong_{fin}\strB</math> wtedy i tylko wtedy gdy  
<math>\strA\equiv\strB</math>.  
<math>\mathfrak A\equiv\strB</math>.  


}}  
}}  
Linia 170: Linia 184:


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ę  
koleiudowodnimy 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 \rightarrowlikacja  
jest rzadko\boldsymbol{s}}\def\blank{\hbox{\sf Bżywana w praktyce.  Wyraża za to istotną z  
jest rzadkouż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ą  
<math>m</math>- 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 pewnoudowodnić
posługując się metodą Fra\"{\i}ss\'e, choć oczywiście nie ma  
posługując się metodą Fra\"{\i}ss\'e, 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\strB</math> wynika  
<math>\strA\equiv_m\strB</math> sprowadza się do wykazania następującego   
<math>\mathfrak A\equiv_m\strB</math> sprowadza się do wykazania następującego   
faktu za pomocą indukcji ze względu na budowę <math>\var\varphi</math>:  
faktu za pomocą indukcji ze względu na budowę <math>\var\varphi</math>:  


\begin{quote}  
\begin{quote}  
''Niech <math>\{I_n &nbsp;|&nbsp; n\leq m\''</math> będzie rodziną o której mowa w definicji  
''Niech <math>\{I_n &nbsp;|&nbsp; n\leq m\''</math> będzie rodziną o której mowa w definicji  
<math>\strA\cong_m\strB</math>, niech&nbsp;<math>\var\varphi</math> będzie formułą o co najwyżej <math>r</math>  
<math>\mathfrak A\cong_m\strB</math>, niech&nbsp;<math>\var\varphi</math> będzie formułą o co najwyżej <math>r</math>  
zmiennych wolnych bez\boldsymbol{s}}\def\blank{\hbox{\sf Btraty ogólności niech będą to <math>x_1,\dots,x_r</math>
zmiennych wolnych (bezutraty 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>  
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  
Wówczas dla dowolnych <math>a_1,\dots,a_r\in dom(g )</math> następujące dwa  
warunki są równoważne:}  
warunki są równoważne:}  
<!--% -->  
<!--% -->  
\[\strA,x_1:a_1,\dots,x_r:a_r\models\var\varphi\]  
\[\mathfrak A,x_1:a_1,\dots,x_r:a_r\models\var\varphi\]  
\[\strB,x_1:g a_1 ,\dots,x_r:g a_r \models\var\varphi.\]\end{quote}  
\[\strB,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 <math>g</math> jest  
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  
częściowym izomorfizmem (przypomnijmy że w sygnaturze nie ma symboli  
funkcyjnych i co za tym idzie jedynymi termami są zmienne .   
funkcyjnych i co za tym idzie jedynymi termami są zmienne ).   


Gdy <math>\var\varphi</math> ma postać <math>\psi\to\xi,</math> to mamy następujący ciąg  
Gdy <math>\var\varphi</math> ma postać <math>\psi\to\xi,</math> to mamy następujący ciąg  
równoważnych warunków:  
równoważnych warunków:  


*<math>\strA,x_1:a_1,\dots,x_r:a_r\models\psi\to\xi</math>  
*<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\not\models\psi</math> lub  
*<math>\mathfrak A,x_1:a_1,\dots,x_r:a_r\not\models\psi</math> lub  
<math>\strA,x_1:a_1,\dots,x_r:a_r\models\xi</math>   
<math>\mathfrak A,x_1:a_1,\dots,x_r:a_r\models\xi</math>   


*<math>\strA,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 )\not\models\psi</math>  lub   
<math>\strA,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\xi</math>  


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




Linia 216: Linia 230:


Gdy </math>\var\varphi<math> ma postać </math>\forall x \psi,<math> to, jako że </math>x_{r+1}\notin  
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  
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  
  )\leftrightarrow \forall x_{r+1} \psi(x_{r+1}/x )</math> (patrz Fakt  
[[#alfa-konw]] , możemy bez\boldsymbol{s}}\def\blank{\hbox{\sf Btraty ogólności założyć, że <math>\var\varphi</math> ma  
[[#alfa-konw]] ), możemy bezutraty 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>  
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  
wynika, że <math>\QR(\psi )\leq n-1</math>. Mamy teraz następujący ciąg  
równoważnych warunków:  
równoważnych warunków:  


*<math> \strA,x_1:a_1,\dots,x_r:a_r \models\var\varphi</math>  
*<math>(\mathfrak A,x_1:a_1,\dots,x_r:a_r )\models\var\varphi</math>  


*Dla każdego <math>a\in A</math> zachodzi  
*Dla każdego <math>a\in A</math> zachodzi  
<math> \strA,x_1:a_1,\dots,x_r:a_r,x_{r+1}:a \models\psi</math>  
<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>gsbseteq h,</math>  
<math>a\in dom h </math>  
<math>a\in dom(h )</math>  
oraz   
oraz   


<math> \strA,x_1:a_1,\dots,x_r:a_r,x_{r+1}:a \models\psi</math>  
<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>gsbseteq h,</math>  
<math>a\in dom h </math>  
<math>a\in dom(h )</math>  
oraz   
oraz   


<math> \strB,x_1:g a_1 ,\dots,x_r:g a_r ,x_{r+1}:h a \models\psi</math>  
<math>(\strB,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:h(a ) )\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> istnieje takie <math>h\in I_{n-1}</math>, że  
<math>g\subseteq h,</math> <math>b\in rg h </math> oraz  
<math>gsbseteq h,</math> <math>b\in rg(h )</math> oraz  


<math> \strB,x_1:g a_1 ,\dots,x_r:g a_r ,x_{r+1}:b \models\psi</math>  
<math>(\strB,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> zachodzi   
*Dla każdego <math>b\in B</math> zachodzi   
<math> \strB,x_1:g a_1 ,\dots,x_r:g a_r ,x_{r+1}:b \models\psi</math>  
<math>(\strB,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:b )\models\psi</math>  


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




Linia 261: Linia 275:
{{fakt||qq|  
{{fakt||qq|  


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


Linia 270: Linia 284:
porządek jest porządkiem naturalnym. Dowód przeprowadzamy  
porządek jest porządkiem naturalnym. Dowód przeprowadzamy  
wykorzystując Twierdzenie [[#fraisse]], czyli w istocie wykazujemy,  
wykorzystując Twierdzenie [[#fraisse]], czyli w istocie wykazujemy,  
że <math>\strA\cong_m\strB.</math>  
że <math>\mathfrak A\cong_m\strB.</math>  


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


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>\strA<math> w </math>\strB<math> takich, że </math>\{\langle  
izomorfizmów </math>g<math> z </math>\mathfrak A<math> w </math>\strB<math> takich, że </math>\{\langle  
0,0\rangle,\langle N,M\rangle\}\subseteq g</math> oraz  
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>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  
</math>I_k\neq \emptyset<math> bo </math>\{\langle 0,0\rangle,\langle  
N,M\rangle\}\in I_k.</math>  
N,M\rangle\}\in I_k.</math>  
Linia 290: Linia 304:
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&nbsp;|&nbsp;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>  
<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>  
częściowy izomorfizm <math>hspseteq g</math> taki, że <math>a\in dom(h ).</math>  


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


i Jeśli istnieje takie <math>b\in dom g </math>, że <math>d_{k} a,b <\infty</math>, to w  
(i ) 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\Delta\vdashlement <math>a'</math>, który jest tak samo położony  
<math>B</math> jest dokładnie jedenelement <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  
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  
<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>  
wtedy częściowym izomorfizmem zachowującym odległości <math>d_j.</math>  


ii Jeśli natomiast takiego <math>b</math> nie ma, to niech <math>a'<a<a'',</math> gdzie  
(ii ) 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  
<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  
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  
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  
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 \mbox{<math>d_j g a' ,b =d_j b,g a'' =\infty</math>},   
więc <math>g(a' )<b<g(a'' )</math> takie, że \mbox{<math>d_j(g(a' ),b )=d_j(b,g(a'' ) )=\infty</math>},   
i&nbsp;wówczas kładąc <math>h a :=b</math>\boldsymbol{s}}\def\blank{\hbox{\sf Bzyskujemy żądane rozszerzenie.  
i&nbsp;wówczas kładąc <math>h(a ):=b</math>uzyskujemy żądane rozszerzenie.  
}}  
}}  


Linia 339: Linia 353:


Charakteryzacja Fra\"{\i}ss\'e jest dość skomplikowana i odpychająca w  
Charakteryzacja Fra\"{\i}ss\'e jest dość skomplikowana i odpychająca w  
bezpośrednim\boldsymbol{s}}\def\blank{\hbox{\sf Bżyciu. W praktyce jej popularność ogromnie zwiększyło  
bezpośrednimużyciu. W praktyce jej popularność ogromnie zwiększyło  
podanie przez Andrzeja Ehrenfeuchta jej równoważnego opisu w terminach  
podanie przez Andrzeja Ehrenfeuchta jej równoważnego opisu w terminach  
dwuosobowej gry, którą teraz zdefiniujemy. Gra ta doskonale sprawdza  
dwuosobowej gry, którą teraz zdefiniujemy. Gra ta doskonale sprawdza  
się w rozumowaniach intuicyjnych.  Praktyczne doświadczenie wskazuje,  
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ę  
że próby napisania bardzo formalnego dowodu przyużyciu gry kończą się  
zwykle wskazaniem rodziny zbiorów częściowych izomorfizmów w duchu  
zwykle wskazaniem rodziny zbiorów częściowych izomorfizmów w duchu  
Fra\"{\i}ss\'e.  
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,\strB</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  
Dlauproszczenia zakładamy, że <math>A\cap B=\emptyset.</math> \bigbreak  


{{definicja|||  
{{definicja|||  


\textit{Gra Ehrenfeuchta <math>G_m \strA,\strB </math>} jest rozgrywana przez  
\textit{Gra Ehrenfeuchta <math>G_m(\mathfrak A,\strB )</math>} jest rozgrywana przez  
dwóch graczy, oznaczanych I i II.  Trwa ona przez <math>m</math> rund.  
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,  
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\Delta\vdashlementów jej  
wybierając jedną ze struktur oraz jeden zelementów jej  
nośnika. Jest on oznaczany <math>a_i</math> jeśli pochodzi z <math>A</math>, zaś <math>b_i,</math>  
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ć  
jeśli z <math>B.</math> Jako drugi wykonuje ruch gracz II, który musi wybrać  
\Delta\vdashlement w pozostałej strukturze czyli w <math>\strA</math>, jeśli I wybrał\Delta\vdashlement
element w pozostałej strukturze (czyli w <math>\mathfrak A</math>, jeśli I wybrałelement
w <math>\strB,</math> oraz w <math>\strB,</math> jeśli I wybrał\Delta\vdashlement w <math>\strA</math> i oznaczyć go  
w <math>\strB,</math> oraz w <math>\strB,</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ł.  
<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  
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>  
<math>b_1,\dots,b_m\in B.</math>  


Gracz II wygrywa rozgrywkę, jeśli funkcja </math>h=\{\langle  
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  
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.  
izomorfizmem z <math>\mathfrak A</math> w <math>\strB.</math> W przeciwnym wypadku wygrywa gracz I.  




Mówimy, że gracz II ma {\em strategię wygrywającą\/} w grze  
Mówimy, że gracz II ma {\em strategię wygrywającą\/} w grze  
<math>G_m \strA,\strB </math>, jeśli może wygrać każdą rozgrywkę, niezależnie od  
<math>G_m(\mathfrak A,\strB )</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  
wybieranieelementó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 \strA,\strB </math> gdy choć  
to albo niemożliwe byłoby rozegranie gry <math>G_m(\mathfrak A,\strB )</math> gdy choć  
jedna ze struktur ma moc mniejszą niż <math>m,</math> albo trzeba by było  
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  
wprowadzić w definicji specjalny warunek służący do rozstrzygania  
Linia 396: Linia 410:
{{twierdzenie||ehrenfeucht|  
{{twierdzenie||ehrenfeucht|  


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


}}  
}}  
Linia 413: Linia 427:
{{twierdzenie||Cantoro|  
{{twierdzenie||Cantoro|  


Jeśli </math>\strA=\langle A,\leq^\strA\rangle<math> i </math>\strB=\langle  
Jeśli </math>\mathfrak A=\langle A,\leq^\mathfrak A\rangle<math> i </math>\strB=\langle  
B,\leq^\strB\rangle</math> są dwoma porządkami liniowymi, gęstymi, bez  
B,\leq^\strB\rangle</math> są dwoma porządkami liniowymi, gęstymi, bez  
elementu pierwszego i ostatniego,  
elementu pierwszego i ostatniego,  
to <math>\strA\equiv\strB.</math>  
to <math>\mathfrak A\equiv\strB.</math>  
}}  
}}  
{{dowod||  
{{dowod||  


W myśl Twierdzenia [[#ehrenfeucht]] należy pokazać, że dla każdego  
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 \strA,\strB .</math>  
<math>m</math> gracz II ma strategię wygrywającą w grze <math>G_m(\mathfrak A,\strB ).</math>  
Opiszemy teraz tę strategię. Jej postać nie zależy od liczby rund do  
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  
rozegrania. Pokażemy też, że jeśli po zakończeniu poprzedniej rundy  
Linia 433: Linia 447:
oznacza tyle, że zbiory <math>\{a_1,\dots,a_k\}</math> i <math>\{b_1,\dots,b_k\}</math>  
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  
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>  
zgodnie z porządkiem odpowiednio <math>\leq^\mathfrak A</math> oraz <math>\leq^\strB</math>  
prowadzą do identycznych ciągów indeksów swoich oznaczeń. Dokładnie,  
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  
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}<^\strB b_{j_2}<^\strB \dots<^\strB b_{j_k}</math>, to zachodzą  
<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>  
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.  
*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  
Przed tą rundą nie było wybranychelementów, czyli przekształcenie  
opisane w definicji gry było przekształceniem pustym, które na mocy  
opisane w definicji gry było przekształceniem pustym, które na mocy  
konwencji jest częściowym izomorfizmem. Po wykonaniu ruchu zgodnie ze  
konwencji jest częściowym izomorfizmem. Po wykonaniu ruchu zgodnie ze  
Linia 446: Linia 460:


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


Linia 475: Linia 489:
\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.&nbsp;takiego, w którym wszystkie niepuste ograniczone  
ciągłego (tzn.&nbsp;takiego, w którym wszystkie niepuste ograniczone  
podzbiory mają kres górny i kres dolny , bo musiałoby ono być prawdziwe  
podzbiory mają kres górny i kres dolny ), bo musiałoby ono być prawdziwe  
w pierwszej ze struktur, a fałszywe w drugiej.  
w pierwszej ze struktur, a fałszywe w drugiej.  


Linia 486: Linia 500:
zbiór postaci <math>\{\var\varphi\ |\ \Gamma\models\var\varphi\}</math>, zwany {\it teorią  
zbiór postaci <math>\{\var\varphi\ |\ \Gamma\models\var\varphi\}</math>, zwany {\it teorią  
aksjomatyczną\/} wyznaczoną przez&nbsp;<math>\Gamma</math>, czy też postaci   
aksjomatyczną\/} wyznaczoną przez&nbsp;<math>\Gamma</math>, czy też postaci   
</math>'''Th} \K =\{\var\varphi\ |\ \strA\models\var\varphi,\ \mbox{dla każdego'''\   
</math>'''Th}(\K )=\{\var\varphi\ |\ \mathfrak A\models\var\varphi,\ \mbox{dla każdego'''\   
\strA\in\K\}</math>   
\mathfrak A\in\K\}</math>   
teoria klasy struktur&nbsp;<math>\K</math> albo   
(teoria klasy struktur&nbsp;<math>\K</math> ) albo   
<math>'''Th} \strA = \{\var\varphi\ |\ \strA\models\var\varphi\'''</math>   
<math>'''Th}(\mathfrak A )= \{\var\varphi\ |\ \mathfrak A\models\var\varphi\'''</math>   
teoria modelu&nbsp;<math>\strA</math> . Teorię   
(teoria modelu&nbsp;<math>\mathfrak A</math> ). Teorię   
<math>\Delta</math> nazywamy \textit{zupełną}, gdy dla każdego zdania  
<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>\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   
<math>\Delta.</math> Zbiór zdań prawdziwych wustalonym modelu jest oczywiście zawsze   
teorią zupełną.  
teorią zupełną.  
}}  
}}  
Linia 501: Linia 515:


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.  
bezelementu pierwszego i ostatniego jest zupełna.  
}}  
}}  
{{dowod||  
{{dowod||  


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




\subsection*{Ćwiczenia}\begin{small}  
sbsection*{Ćwiczenia}\begin{small}  
#<span id="c" \>   
#<span id="c" \>   
Wykazać, że dla dostatecznie dużych <math>q</math> istnieje zdanie o randze  
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>  
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  
Adaptując dowód Faktu&nbsp;[[#qq]]udowodnić, że struktury  
<math>\<\{1-1/n&nbsp;|&nbsp;n=1,2,\dots\},\leq\></math> oraz  
<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  
<math>\<\bigcup_{n=1}^\infty\{1-1/n,1+1/n,3-1/n\},\leq\></math>, gdzie <math>\leq</math> jest  
Linia 531: Linia 545:


Wywnioskować stąd, że pojęcie dobrego porządku nie jest wyrażalne w&nbsp;logice   
Wywnioskować stąd, że pojęcie dobrego porządku nie jest wyrażalne w&nbsp;logice   
pierwszego rzędu.   Zupełnie inny dowód tego faktu poznamy   
pierwszego rzędu. (Zupełnie inny dowód tego faktu poznamy   
w&nbsp;Rozdziale&nbsp;[[#zwarciig\leftrightarrowwi]].
w&nbsp;Rozdziale&nbsp;[[#zwarciig\leftrightarrowwi]]. )


#Niech <math>R</math> będzie jednoargumentowym symbolem relacyjnym.  
#Niech <math>R</math> będzie jednoargumentowym symbolem relacyjnym.  
Udowodnić, że klasa wszystkich takich struktur </math>\strA=\langle  
Udowodnić, że klasa wszystkich takich struktur </math>\mathfrak A=\langle  
A,R\rangle</math>, że <math>|R|=|A- R|</math>, nie jest aksjomatyzowalna żadnym zbiorem  
A,R\rangle</math>, że <math>|R|=|A- R|</math>, nie jest aksjomatyzowalna żadnym zbiorem  
zdań pierwszego rzędu.  
zdań pierwszego rzędu.  


#Udowodnić, że klasa wszystkich skończonych lub nieskończonych grafów   
#Udowodnić, że klasa wszystkich (skończonych lub nieskończonych ) grafów   
<math>\strA=\langle A,E\rangle,</math> w których istnieją dwa  
<math>\mathfrak A=\langle A,E\rangle,</math> w których istnieją dwa  
wierzchołki o równych sobie, skończonych stopniach, nie jest  
wierzchołki o równych sobie, skończonych stopniach, nie jest  
aksjomatyzowalna żadnym zdaniem pierwszego rzędu.  
aksjomatyzowalna żadnym zdaniem pierwszego rzędu.  


#Udowodnić, że klasa wszystkich skończonych lub nieskończonych grafów  
#Udowodnić, że klasa wszystkich (skończonych lub nieskończonych ) grafów  
<math>\strA=\langle A,E\rangle,</math> których każdy skończony podgraf jest planarny,  
<math>\mathfrak A=\langle A,E\rangle,</math> których każdy skończony podgraf jest planarny,  
nie jest aksjomatyzowalna żadnym zdaniem pierwszego rzędu.  
nie jest aksjomatyzowalna żadnym zdaniem pierwszego rzędu.  


Linia 554: Linia 568:


#
#
Dane są dwie struktury relacyjne </math>\strA=\langle  
Dane są dwie struktury relacyjne </math>\mathfrak A=\langle  
U,R^\strA\rangle</math> i <math>\strB=\langle U,R^\strB\rangle</math>  
U,R^\mathfrak A\rangle</math> i <math>\strB=\langle U,R^\strB\rangle</math>  
nad sygnaturą złożoną z&nbsp;jednego dwuargumentowego symbolu  
nad sygnaturą złożoną z&nbsp;jednego dwuargumentowego symbolu  
relacyjnego. Ich nośnikiem jest  
relacyjnego. Ich nośnikiem jest  
<math>U=\{1,2,\dots,15\}</math>, relacja <math>R^\strA x,y </math> zachodzi \wtw, gdy  
<math>U=\{1,2,\dots,15\}</math>, relacja <math>R^\mathfrak A(x,y )</math> zachodzi \wtw, gdy  
<math>x|y</math>, a relacja <math>R^\strB x,y </math> \wtw, gdy <math>x\equiv y\pmod 2.</math>  
<math>x|y</math>, a relacja <math>R^\strB(x,y )</math> \wtw, gdy <math>x\equiv y\pmod 2.</math>  


Ustalić, jaką minimalną rangę kwantyfikatorową ma zdanie  
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>  
<math>\var\varphi</math> takie, że <math>\mathfrak A\models\var\varphi</math> i&nbsp;<math>\strB\not\models\var\varphi.</math>  


#Dane są dwie sześcioelementowe  
#Dane są dwie sześcioelementowe  
struktury relacyjne <math>\strA</math> i <math>\strB</math>  
struktury relacyjne <math>\mathfrak A</math> i <math>\strB</math>  
nad sygnaturą złożoną z jednego dwuargumentowego symbolu relacyjnego.  
nad sygnaturą złożoną z jednego dwuargumentowego symbolu relacyjnego.  
Struktury są narysowane poniżej jako grafy skierowane:  
Struktury są narysowane poniżej jako grafy skierowane:  


<span id=""/> <math> \begi\prooftree array \justifies c|c \using \textrm{ W }\endprooftree  
<span id=""/> <math> \begi\prooftree array \justifies c|c \using \textrm{(W )}\endprooftree  


\xymatrix  
\xymatrix  
Linia 619: Linia 633:


Ustalić, jaką minimalną rangę kwantyfikatorową ma zdanie <math>\var\varphi</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>  
takie, że <math>\mathfrak A\models\var\varphi</math> i&nbsp;<math>\strB\not\models\var\varphi.</math>  




\end{small}
\end{small}

Wersja z 10:52, 25 wrz 2006

Linek 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

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:
  • Parser nie mógł rozpoznać (nieznana funkcja „\QRt”): {\displaystyle QR\bot=\QRt_1=t_2=\QRr(t_1,\dots,t_k ) )=0} dla dowolnych

termów t1,,tk oraz rΣkR.

  • Parser nie mógł rozpoznać (nieznana funkcja „\QR”): {\displaystyle \QR(\var\varphi\to \psi )=\max(\QR(\var\varphi ),\QR(\psi ) )} .
  • Parser nie mógł rozpoznać (nieznana funkcja „\QR”): {\displaystyle \QR(\forall x\var\varphi )=1+\QR(\var\varphi ).}


Intuicyjnie Parser nie mógł rozpoznać (nieznana funkcja „\QR”): {\displaystyle \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 „\QR”): {\displaystyle n^{\QR(\var\varphi )},} gdyużyjemy naturalnego algorytmu do wykonania tego zadania, który dla każdego kwantyfikatora w formule przegląda wszystkieelementy 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ę </math>FParser nie mógł rozpoznać (błąd składni): {\displaystyle , ta sama formuła przybierze postać } \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 QR 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

Definicja

relacyjną oraz BsbseteqA, to struktura 𝔄|B tej samej sygnatury Σ co 𝔄, nazywana \textit{podstrukturą indukowaną przez B w 𝔄,} ma nośnik B, zaś dla każdego rΣnR

\[r^{\mathfrak A_{

=r^\mathfrak A\cap B^n.\]

}}


Definicja

strukturami relacyjnymi tej samej sygnatury Σ, ponadto niech AsbseteqA i BsbseteqB. Jeśli funkcja h:AB jest

izomorfizmem podstruktur indukowanych </math>h:\mathfrak A_{


Definicja

naturalną. Dwie struktury relacyjne tej samej sygnatury są \textit{m-izomorficzne}, co oznaczamy Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{m}\strB,} gdy istnieje rodzina Parser nie mógł rozpoznać (błąd składni): {\displaystyle \{I_n&nbsp;|&nbsp;n\leq m\}} w której każdy In jest niepustym zbiorem częściowych izomorfizmów z 𝔄Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB,} oraz spełniająca następujące dwa warunki:

\begin{description} \item[Tam] Dla każdego hIn+1 oraz każdego aA istnieje takie gIn, że hsbseteqg oraz adom(g). \item[Z powrotem] Dla każdego hIn+1 oraz każdego bB istnieje takie gIn, że hsbseteqg oraz brg(g). \end{description}

Samą rodzinę Parser nie mógł rozpoznać (błąd składni): {\displaystyle \{I_n&nbsp;|&nbsp;n\leq m\}} nazywamy wówczas \textit{m-izomorfizmem} struktur 𝔄 i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} , co oznaczamy Parser nie mógł rozpoznać (błąd składni): {\displaystyle \{I_n&nbsp;|&nbsp;n\leq m\}:\mathfrak A\cong_m\strB.}

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

\rm

Dwie struktury relacyjne tej samej sygnatury są \textit{skończenie izomorficzne}, symbolicznie Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{fin}\strB,} gdy istnieje

rodzina </math>\{I_n 


Fakt

  • Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong\strB,} to Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{fin}\strB.}
  • Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{fin}\strB} oraz nośnik 𝔄 jest

zbiorem skończonym, to Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong\strB.}

Dowód

{{{3}}}



Definicja

𝔄 i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} tej samej sygnatury są \textit{elementarnie równoważne}, co zapisujemy symbolicznie Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\equiv\strB,} gdy dla każdego zdania Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} 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 „\strB”): {\displaystyle \strB\models\var\varphi.}

Dwie struktry 𝔄 i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} tej samej sygnatury są \textit{m-elementarnie równoważne}, symbolicznie Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\equiv_m\strB,} 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 „\strB”): {\displaystyle \strB\models\var\varphi.}

Fakt

gdy dla każdego naturalnego m zachodzi Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_m\strB} .

Dowód

{{{3}}}


Twierdzenie

Niech Σ będzie dowolną sygnaturą relacyjną zawierającą skończenie wiele symboli, oraz niech Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A,\strB} będą dowolnymi strukturami nad Σ.

  • Dla każdego m zachodzi równoważność: Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_m\strB}

wtedy i tylko wtedy gdy Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\equiv_m\strB} .

  • Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{fin}\strB} wtedy i tylko wtedy gdy

Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\equiv\strB} .

<span id="

Jest oczywiste, że druga równoważnośc wynika z pierwszej. Pierwszą z koleiudowodnimy tylko z lewej do prawej strony. Dowód w stronę przeciwną jest bardziej zawiły technicznie, a w dodatku ta \rightarrowlikacja jest rzadkouż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 pewnoudowodnić posługując się metodą Fra\"{\i}ss\'e, choć oczywiście nie ma gwarancji, że będzie to metoda najprostsza.

Ustalmy m. Dowód tego, że z Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_m\strB} wynika Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\equiv_m\strB} 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 &nbsp;|&nbsp; n\leq m\''} będzie rodziną o której mowa w definicji Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_m\strB} , niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} będzie formułą o co najwyżej r zmiennych wolnych (bezutraty ogólności niech będą to x1,,xr ) i spełniającą Parser nie mógł rozpoznać (nieznana funkcja „\QR”): {\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:} \[\mathfrak A,x_1:a_1,\dots,x_r:a_r\models\var\varphi\] \[\strB,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 </math>\var\varphiParser nie mógł rozpoznać (błąd składni): {\displaystyle ma postać } \forall x \psi,Parser nie mógł rozpoznać (błąd składni): {\displaystyle to, jako że } x_{r+1}\notin FV(\var\varphi )icozatymidzie\models (\forall x\psi

)\leftrightarrow \forall x_{r+1} \psi(x_{r+1}/x )</math> (patrz Fakt 

#alfa-konw ), możemy bezutraty 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 „\QR”): {\displaystyle \QR(\var\varphi )\leq n} wynika, że Parser nie mógł rozpoznać (nieznana funkcja „\QR”): {\displaystyle \QR(\psi )\leq n-1} . 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 gsbseteqh,

adom(h) oraz

(𝔄,x1:a1,,xr:ar,xr+1:a)ψ

  • Dla każdego aA istnieje takie hIn1, że gsbseteqh,

adom(h) oraz

Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle (\strB,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:h(a ) )\models\psi}

  • Dla każdego bB istnieje takie hIn1, że

gsbseteqh, brg(h) oraz

Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle (\strB,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:b )\models\psi}

  • Dla każdego bB zachodzi

Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle (\strB,x_1:g(a_1 ),\dots,x_r:g(a_r ),x_{r+1}:b )\models\psi}

  • Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle (\strB,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. " style="font-variant:small-caps">Dowód

{{{3}}}

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

Fakt

Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A,\strB} są dwoma skończonymi liniowymi porządkami o mocach większych niż 2m, to Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\equiv_m\strB.}

Dowód

&\text{jeśli |ba|<2k}\\

\infty&\text{wpp.} \end{cases} \]

Niech Ik dla km będzie zbiorem wszystkich częściowych izomorfizmów </math>gz\mathfrak Aw\strBParser nie mógł rozpoznać (błąd składni): {\displaystyle takich, że } \{\langle 0,0\rangle,\langle N,M\rangle\}sbseteq g</math> oraz dk(a,b)=dk(g(a),g(b)) dla wszystkich a,bdom(g). Oczywiście </math>I_k\neq \emptysetbo\{\langle 0,0\rangle,\langle N,M\rangle\}\in I_k.</math>

Pokazujemy własność Tam} dla rodziny Parser nie mógł rozpoznać (błąd składni): {\displaystyle \{I_k&nbsp;|&nbsp;k\leq m\'''} . Niech gIk+1. Niech a{0,,N}. Mamy wskazać w Ik częściowy izomorfizm hspseteqg taki, że adom(h).

Rozróżniamy dwa przypadki:

(i ) Jeśli istnieje takie bdom(g), że dk(a,b)<, to w B jest dokładnie jedenelement 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.

(ii ) 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 \mbox{dj(g(a),b)=dj(b,g(a))=}, 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\"{\i}ss\'e jest dość skomplikowana i odpychająca w bezpośrednimuż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 przyużyciu gry kończą się zwykle wskazaniem rodziny zbiorów częściowych izomorfizmów w duchu Fra\"{\i}ss\'e.

Niech Σ będzie sygnaturą relacyjną i niech Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A,\strB} będą strukturami sygnatury Σ.

Dlauproszczenia zakładamy, że AB=. \bigbreak

Definicja

{{{3}}}

Definicja powyższa dopuszcza powtarzanie ruchów przez obu graczy, czyli wybieranieelementó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 Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle G_m(\mathfrak A,\strB )} 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

  • Gracz II ma strategię wygrywającą w grze Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle G_m(\mathfrak A,\strB )} wtedy i tylko

wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{m}\strB.}

  • Gracz II ma dla każdego m strategię wygrywającą w grze

Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle G_m(\mathfrak A,\strB )} wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \mathfrak A\cong_{fin}\strB.}

Dowód

{{{3}}}

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

Twierdzenie

{{{3}}}

<span id="

W myśl Twierdzenia #ehrenfeucht należy pokazać, że dla każdego m gracz II ma strategię wygrywającą w grze Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle G_m(\mathfrak A,\strB ).} 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 Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \leq^\strB} prowadzą do identycznych ciągów indeksów swoich oznaczeń. Dokładnie, jeśli ai1<𝔄ai2<𝔄<𝔄aik i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle b_{j_1}<^\strB b_{j_2}<^\strB \dots<^\strB b_{j_k}} , 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 wybranychelementó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 </math>a_{i_1}<^\mathfrak A a_{i_2}<^\mathfrak A \dots<^\mathfrak A a_{i_k}</math> i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle b_{i_1}<^\strB b_{i_2}<^\strB \dots<^\strB b_{i_k}} 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

wybieraelement mniejszy od bi1 w Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} , który istnieje na mocy założenia, że w Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} nie maelementu najmniejszego. Widać, że nowe ciągi indeksów pozostaną równe.

    • Element większy od aik. Wówczas gracz II wybieraelement

większy od bik w Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} , który istnieje na mocy założenia, że w Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} nie maelementu ostatniego. Widać, że także teraz nowe ciągi indeksów pozostaną równe.

    • Element </math>aParser nie mógł rozpoznać (błąd składni): {\displaystyle spełniający } a_{i_{\ell" style="font-variant:small-caps">Dowód
{{{3}}}

<^\mathfrak A a<^\mathfrak A

a_{i_{\ell+1}}</math> dla pewnego . W Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} istniejeelement b spełniający Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle b_{i_{\ell}}<^\strB b<^\strB b_{i_{\ell+1}}} , gdyż Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} jest porządkiem gęstym. Gracz II wybiera takielement 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 </math>\langle \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 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

\ \mathfrak A\models\var\varphi,\ \mbox{dla każdego\

\mathfrak A\in\K\}</math> (teoria klasy struktur Parser nie mógł rozpoznać (nieznana funkcja „\K”): {\displaystyle \K} ) albo Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle '''Th}(\mathfrak A )= \{\var\varphi\ |\ \mathfrak A\models\var\varphi\'''} (teoria modelu 𝔄 ). Teorię Δ nazywamy \textit{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 wustalonym modelu jest oczywiście zawsze teorią zupełną.


Wniosek

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

Dowód

{{{3}}}





sbsection*{Ćwiczenia}\begin{small}

Wykazać, że dla dostatecznie dużych q istnieje zdanie o randze kwantyfikatorowej q definiujące porządek liniowy o mocy 2q.

Adaptując dowód Faktu #qqudowodnić, że struktury Parser nie mógł rozpoznać (błąd składni): {\displaystyle \<\{1-1/n&nbsp;|&nbsp;n=1,2,\dots\},\leq\>} oraz Parser nie mógł rozpoznać (błąd składni): {\displaystyle \<\bigcup_{n=1}^\infty\{1-1/n,1+1/n,3-1/n\},\leq\>} , gdzie 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 logice pierwszego rzędu. (Zupełnie inny dowód tego faktu poznamy w Rozdziale #zwarciig\leftrightarrowwi. )

  1. Niech R będzie jednoargumentowym symbolem relacyjnym.

Udowodnić, że klasa wszystkich takich struktur </math>\mathfrak A=\langle A,R\rangle</math>, że |R|=|AR|, nie jest aksjomatyzowalna żadnym zbiorem zdań pierwszego rzędu.

  1. Udowodnić, że klasa wszystkich (skończonych lub nieskończonych ) grafów

𝔄=A,E, w których istnieją dwa wierzchołki o równych sobie, skończonych stopniach, nie jest aksjomatyzowalna żadnym zdaniem pierwszego rzędu.

  1. Udowodnić, że klasa wszystkich (skończonych lub nieskończonych ) grafów

𝔄=A,E, których każdy skończony podgraf jest planarny, nie jest aksjomatyzowalna żadnym zdaniem pierwszego rzędu.


  1. 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>\mathfrak A=\langle U,R^\mathfrak A\rangle</math> i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB=\langle U,R^\strB\rangle} nad sygnaturą złożoną z jednego dwuargumentowego symbolu relacyjnego. Ich nośnikiem jest U={1,2,,15}, relacja R𝔄(x,y) zachodzi \wtw, gdy x|y, a relacja Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle R^\strB(x,y )} \wtw, gdy xy(mod2).

Ustalić, jaką minimalną rangę kwantyfikatorową ma zdanie Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} takie, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak A\models\var\varphi}Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB\not\models\var\varphi.}

  1. Dane są dwie sześcioelementowe

struktury relacyjne 𝔄 i Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB} nad sygnaturą złożoną z jednego dwuargumentowego symbolu relacyjnego. Struktury są narysowane poniżej jako grafy skierowane:

Parser nie mógł rozpoznać (nieznana funkcja „\begi”): {\displaystyle \begi\prooftree array \justifies c|c \using \textrm{(W )}\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} }

Ustalić, jaką minimalną rangę kwantyfikatorową ma zdanie Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} takie, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \mathfrak A\models\var\varphi}Parser nie mógł rozpoznać (nieznana funkcja „\strB”): {\displaystyle \strB\not\models\var\varphi.}


\end{small}