Test GR3: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Gracja (dyskusja | edycje)
Nie podano opisu zmian
Rogoda (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
{theor}{TWIERDZENIE}[section]
{tw}{Twierdzenie}[section]
{rem}{UWAGA}[section]
{fa}[tw]{Fakt}
{corol}{WNIOSEK}[section]
{AZbioruPustego}{Aksjomat Zbioru Pustego}
{fact}{FAKT}[section]
{APary}{Aksjomat Pary}
{ex}{PRZYKŁAD}[section]
{ASumy}{Aksjomat Sumy}
{defin}{DEFINICJA}[section]
{lem}{LEMAT}[section]


{prf}{DOWÓD}
{}{0pt}
{}{0pt}
{}{0in}
{}{-0.5in}
{}{6.3in}
{}{9in}


{algorithm}{Algorytm}
{cwicz}[section]
{obra}[section]
{hint}


{ Automat niedeterministyczny, lemat o pompowaniu}
{thm}{Twierdzenie}[section]
{defn}[thm]{Definicja}


; Wprowadzenie
{Zadanie}[thm]{Zadanie}
:  W tym wykładzie
{Uwaga}[thm]{Uwaga}
zdefiniujemy automat niedeterministyczny,
{Przykład}[thm]{Przykład}
udowodnimy jego równoważność z automatem deterministycznym oraz podamy  algorytm
{Rozwiązanie}[thm]{Rozwiązanie}
konstrukcji równoważnego automatu deterministycznego. Wprowadzimy także automaty
{Hint}[thm]{Hint}
niedeterministyczne z pustymi przejściami. W ostatniej części wykładu
sformułujemy lemat o pompowaniu dla
języków rozpoznawanych przez automaty skończenie stanowe.


; Słowa kluczowe
{equation}{section}
:  automat niedeterministyczny, automat niedeterministyczny z pustymi
przejściami, lemat o pompowaniu.


==Automat niedeterministyczny==
{kuba_preamble1}
{kuba_preamble2}


Wprowadzony wcześniej automat jest modelem obliczeń, czy też mówiąc
0mm
ogólniej, modelem procesu o bardzo prostym opisie. Stan procesu
2ex
zmienia się w sposób jednoznaczny pod wpływem sygnału zewnętrznego
reprezentowanego przez literę alfabetu. Opisem tych zmian jest więc
funkcja. Pewnym uogólnieniem powyższej sytuacji może być
dopuszczenie relacji, która opisuje zmiany stanu. W efekcie opis
zmiany stanów staje się niedeterministyczny w tym sensie, że z
danego stanu automat przechodzi w pewien zbiór stanów. Jak
udowodnimy pó{z}niej, z punktu widzenia rozpoznawania lub
poprawnych obliczeń, takie uogólnienie nie rozszerza klasy języków
rozpoznawanych przez automaty.


'''Automatem niedeterministycznym''' nad alfabetem <math>A </math> nazywamy
{lem}[thm]{ Lemat  }
system <math>\mathcal{A}_{ND} </math></center> <nowiki>=</nowiki> (S,f),<math> w którym </math>S<math> jest dowolnym zbiorem, zwanym zbiorem
{mtw}[tw]{Meta twierdzenie}
stanów, a </math>f: S  A  {P}(S) <math> funkcją przejść.


\enddefin
{Cwiczenie}[thm]{Ćwiczenie}


Funkcję przejść rozszerzamy do funkcji </math>f: S  A^* {P}(S) <math> określonej
''' Logika i teoria mnogości'''
na całym wolnym monoidzie </math>A^*<math> w następujący sposób:


dla każdego </math>s  S f(s,1) <nowiki>=</nowiki>  s, <math>
'''Wykład 5'''


dla każdego </math>s  S, a  A<math> oraz dowolnego </math>w  A^*  f(s,wa)<nowiki>=</nowiki>f(f(s,w),a)
Zawartość wykładu: Para uporządkowana, iloczyn kartezjański, relacje, relacje
.<math>
równoważności, rozkłady zbiorów, domykanie relacji, rozdział dla dociekliwych.
Zwróćmy uwagę, że prawa strona ostatniej równości to obraz przez funkcję </math>f<math> zbioru
</math>f(s,w)<math> i litery </math>a<math>.
Funkcję przejść automatu niedeterministycznego można także traktować jako relację
</math></center>f&nbsp;&nbsp;(S&nbsp;&nbsp;A^*)&nbsp;&nbsp; S.<center><math>


W związku z powyższą definicją automat wprowadzony wcześniej, w wykładzie 3,
==Para uporządkowana==
będziemy nazywać automatem deterministycznym\index{automat deterministyczny}.


\begindefin
Bardzo często będziemy chcieli mieć do czynienia ze zbiorem, który niesie w sobie
informacje o dwóch innych zbiorach, informacje tak udatnie zakodowaną aby można było
odzyskać z niej każdą z jego składowych. Do tego celu wprowadzimy zbiór nazywany
''parą uporządkowaną'' dwóch innych zbiorów.


Język </math>L A^{*} <math> jest rozpoznawalny przez automat
Niech <math>x</math> oraz <math>y</math> będą
nie\-de\-ter\-mi\-nis\-tycz\-ny </math>{A}_{ND} <nowiki>=</nowiki>(S,f)<math>  
zbiorami. Przez parę uporządkowaną <math>(x,y)</math> rozumiemy zbiór
wtedy i tylko wtedy, gdy istnie\-je </math>I  S<math> -- zbiór stanów
początkowych oraz </math>F  S<math> - zbiór stanów końcowych taki, że
</math></center>L <nowiki>=</nowiki>w  A^*  :  f(I,w) F  .<center><math>


\enddefin
<center><math>\left\{ \left\{x\right\}\, \left\{x,y\right\}\\right\}\\]


Niedeterministyczny automat rozpoznający język </math>L<math> będziemy oznaczać jako
\enddefn
system </math>{A}_{ND}  <nowiki>=</nowiki> (S,A,f,I,F)<math> lub </math>{A}_{ND}<nowiki>=</nowiki>(S,f,I,F), <math>
jeśli wiadomo, nad jakim alfabetem określono automat.


Na pierwszy rzut oka mogłoby się wydawać, że wprowadzony automat istotnie rozszerza
Parę uporządkowaną można zdefiniować inaczej na wiele sposobów. Chodzi jednak o to
możliwości automatu deterministycznego, że jego moc obliczeniowa jest istotnie większa.
aby ze zbioru który jest parą można było odzyskać jednoznacznie każdą z jego
Okazuje się jednak,  że z punktu widzenia rozpoznawania
składowych. Tak więc moglibyśmy zaakceptować każdą inną inną definicję pod warunkiem,
języków, czyli właśnie z punktu widzenia mocy obliczeniowej,
że będzie spełnione następujące twierdzenie:
automaty deterministyczne i niedeterministyczne są rów\-no\-waż\-ne.


\begintheor
{{twierdzenie|[Uzupelnij]||


Język </math>L  A^*<math> jest rozpoznawany przez automat deter\-mi\-nis\-tycz\-ny wtedy i tylko wtedy, gdy jest rozpoznawany
Dla dowolnych zbiorów </math>a,b,c,d<math> zachodzi:
przez automat nie\-de\-ter\-mi\-nis\-tycz\-ny.


\endtheor
</math></center>(a,b) <nowiki>=</nowiki> (c,d)  a<nowiki>=</nowiki>c {0.1mm}  b<nowiki>=</nowiki> d<center><math>


\beginprf
}}
 
{{dowod|[Uzupelnij]||
 
Dowód przeprowadzimy tylko ze strony lewej do prawej bo w
odwrotnym kierunku jest to fakt oczywisty.
Niech zatem dwie pary </math>(a,b)<math> i </math>(c,d)<math> będą równe. Ponieważ
</math>a  (a,b)<math> więc    </math>a  (c,d)<math>. Mamy zatem
</math>a<nowiki>=</nowiki> c lub  <math>\left\{a\right\}\ = \left\{c,d\right\}\$. W pierwszym
przypadku </math>a<nowiki>=</nowiki>c<math> ale w drugim również jest tak, mamy bowiem, że
</math>c  a. Pierwszą część twierdzenia mamy za sobą bo już wiemy,
że pierwsze współrzędne równych par są równe.
 
<center><math>(a,b) = (a,d) </math></center>
 
Następnie przeprowadzamy dowód przez przypadki. Jeżeli jest tak,
że <math>a=b</math> to <math>(a,b)=\left\{\left\{a\right\}\\right\}\$. Zatem </math>a<br>right<nowiki>=</nowiki>
aa,d<br>right co daje, że <math>\left\{a,d\right\}\=\left\{a\right\}\$ a zatem
</math>d<nowiki>=</nowiki>a<math>. W przeciwnym przypadku gdy </math>a  b<math> mamy, że </math>a,b
aa,d<br>right. Daje to dwie możliwości albo
<math>\left\{a,b\right\}\ = \left\{a\right\}\$ co nie może mieć miejsca bo mielibyśmy, że </math>a<nowiki>=</nowiki>b<math>,
albo zaś
</math>a,b<nowiki>=</nowiki> a,d. To drugie prowadzi do naszej tezy <math>b=d</math>.
}}
 
Dla każdej pary <math>x=(a,b)</math> udowodnij, że
 
<center><math>\bigcap \bigcap x= a.
</math></center>
 
'''Rozwiązanie: '''Rozważymy dwa przypadki.
 
# Jeśli <math>a=b</math> to <math>x=\{\{a\}\}</math> i wtedy <math>\bigcap \bigcap x= a</math>.
 
# Jeśli <math>a\neq b</math> to <math>x=\{\{a\},\{a,b\}\}</math> a więc
 
<center><math>\bigcap x= \bigcap \{\{a\},\{a,b\}\}=  \{a\} \cap \{a,b\}= \{a\}
</math></center>
 
skąd otrzymujemy
 
<center><math>\bigcap \bigcap x=a
</math></center>
 
Udowodnij, że dla dowolnej pary uporządkowanej <math>x</math> zbiór
 
<center><math>\bigcap \bigcap (\mathcal{P}(x) \setminus \mathcal{P}(\emptyset))
</math></center>
 
jest pusty gdy współrzędne par są różne, a w przeciwnym przypadku jest
zbiorem jednoelementowym zawierającym współrzędną pary <math>x</math>.
 
'''Rozwiązanie: '''Jeśli <math>x</math> jest parą to istnieją zbiory <math>a,b</math> takie, że <math>x=(a,b)</math>.
 
# Przypuśćmy, że <math>a\neq b</math>. Wtedy <math>x= \{\{a\}, \{a,b\}\}</math> i <math>\mathcal{P}(x)=
\{\emptyset, \{\{a\}\}, \{\{a,b\}\},x \}</math>. Ponieważ <math>\mathcal{P}(\emptyset)=\{\emptyset\}</math>
to <math>\mathcal{P}(x) \setminus \mathcal{P}(\emptyset) =\{ \{\{a\}\}, \{\{a,b\}\},x \}</math> a wtedy
 
<center><math>\bigcap (\mathcal{P}(x) \setminus \mathcal{P}(\emptyset)) = \emptyset
</math></center>
 
gdyż przecinany zbiór zawiera elementy rozłączne <math>\{\{a\}\}, \{\{a,b\}\}</math>.  Wobec
tego również
 
<center><math>\bigcap \bigcap (\mathcal{P}(x) \setminus \mathcal{P}(\emptyset)) = \emptyset
</math></center>
 
# W przypadku, gdy <math>a=b</math> otrzymujemy <math>x=\{\{a\}\}</math> a więc <math>\mathcal{P}(x)=\{\emptyset ,\{\{a\}\}\}</math> i wtedy <math>\mathcal{P}(x) \setminus \mathcal{P}(\emptyset) =\{ \{\{a\}\} \}</math> skąd otrzymujemy
 
<center><math>\bigcap \bigcap ( \kPs(x) \setminus \mathcal{P}(\emptyset)) = \{a\}
</math></center>
 
Pokaż, że z każdej pary <math>x</math> można otrzymać jej drugą współrzędną posługując się
jedynie parą <math>x</math>, mnogościowymi operacjami <math>\bigcup, \bigcap, \cup,\cap,\setminus,\kPs</math> oraz stałą <math>\emptyset</math>.
 
'''Wskazówka:  '''
 
# Rozważ najpierw pary różnych elementów.
 
# Wykorzystaj zbiór z Ćwiczenia [[##ex:paraPS|Uzupelnic ex:paraPS|]]
 
'''Rozwiązanie: '''Rozważmy najpierw przypadek gdy para ma różne elementy. Zobaczymy, że dla  każdej takiej pary <math>x=(a,b)</math> mamy
 
<center><math>
\bigcup (\bigcup x \setminus \bigcap x) =b.
</math></center>
 
Ponieważ <math>a\neq b</math> to <math>x=\{\{a\}, \{a,b\}\}</math> i wtedy
 
<center><math>\bigcup (\bigcup x \setminus \bigcap x)= \bigcup (\{a,b\} \setminus \{a\})=
\bigcup \{b\}= b.
</math></center>
 
Zobaczmy teraz jak proponowany wzór działa na parach o równych współrzędnych. Jeśli
<math>x=(a,a)</math> to <math>x =\{\{a\}\}</math> i wtedy
 
<center><math>\bigcup (\bigcup x \setminus \bigcap x)= \bigcup (\{a\} \setminus \{a\})= \bigcup
\emptyset= \emptyset.
</math></center>
 
Musimy więc jeszcze trochę popracować. Wykorzystajmy  ćwiczenie [[##ex:paraPS|Uzupelnic ex:paraPS|]],
niech nowy wzór będzie postaci
 
<center><math>\bigcup (\bigcup x \setminus \bigcap x) \cup \bigcap \bigcap \bigcap (\mathcal{P}(x)
\setminus \mathcal{P}(\emptyset)).
</math></center>
 
Dla par o różnych elementach dodana część wzoru jest zbiorem pustym, więc ta sytuacja
jest analogiczna do [[##eq:cwiczeniePara2wsp1|Uzupelnic eq:cwiczeniePara2wsp1|]], skąd otrzymujemy że  tak
zdefiniowany zbiór jest równy <math>b</math>.


Rozpocznijmy dowód od oczywistej obserwacji. Zauważmy, iż każdy
Dla par o równych elementach, pierwsza część zbioru jest zbiorem pustym. W ćwiczeniu
automat deterministyczny można przekształcić w  
[[##ex:paraPS|Uzupelnic ex:paraPS|]] pokazaliśmy że w takim przypadku mamy <math>\bigcap \bigcap (\mathcal{P}(x)
nie\-de\-ter\-mi\-nis\-tycz\-ny, modyfikując funkcję przejść w ten
\setminus \mathcal{P}(\emptyset))=\{b\}</math> jeśli <math>b</math> jest współrzędną pary <math>x</math>. Wobec tego
sposób, że jej wartościami są zbiory jednoelemen\-to\-we. 
Modyfikacja ta prowadzi w konsekwencji do równoważnego automatu
niedeterministycznego.


Dla dowodu implikacji w stronę przeciwną załóżmy, że język </math>L<nowiki>=</nowiki>L({A}_{ND}) <math>, gdzie </math>{A}_{ND} <nowiki>=</nowiki>
<center><math>\bigcup (\bigcup x \setminus \bigcap x) \cup \bigcap \bigcap \bigcap (\mathcal{P}(x)
(S,f,I,F)<math>, jest automatem niedeterministycznym. Określamy teraz
\setminus \mathcal{P}(\emptyset))= \emptyset \cup \bigcap\{b\}=b.
równoważny, jak się okaże, automat deterministyczny. Jako zbiór
</math></center>
stanów przyjmujemy </math>{P}(S) <math>, czyli ogół podzbiorów
zbioru </math>S<math>. Funkcję przejść </math>{f}:{P}(S)  
A^{*} {P}(S) <math> określamy kładąc dla
dowolnego stanu </math>S_1 {P}(S) <math> oraz dowolnej litery </math>
a  A</center>{f} (S_1 ,a) <nowiki>=</nowiki> _{s S_1} f(s,a),<center><math> a
następnie rozszerzamy ją do </math>A^{*} <math>. Łatwo sprawdzić, że funkcja
</math>{f}<math> spełnia warunki funkcji przejść. Przyjmując następnie
zbiór </math>I  {P}(S) <math> jako stan początkowy oraz zbiór
</math>T<nowiki>=</nowiki> {S}_{1} {P}(S) : S_{1} F
<math>, jako zbiór stanów końcowych stwierdzamy, dla
określo\-ne\-go automatu </math>{A}_{D}<nowiki>=</nowiki>(
{P}(S),{f},I,T)  <math>, równość


</math></center>L({A}_{D})<nowiki>=</nowiki>w A^{*}: {f}(I,w)
==Iloczyn kartezjański==
T<nowiki>=</nowiki>L<nowiki>=</nowiki>L({A}_{ND}).<center><math>


Skonstruowany automat jest zatem
Zanim wprowadzimy definicję zbioru wszystkich par uporządkowanych
deterministyczny i równoważny wyjściowemu,
elementów dwóch zbiorów (zwanego dalej iloczynem kartezjańskim)
co kończy dowód twierdzenia.
należy nam się krótka dyskusja. Otóż niech <math>x\in X</math> oraz <math>y \in Y</math>.
Łatwo zauważyć, że zarówno
<math>\left\{x,y\right\}\$ jak i </math>x są podzbiorami <math>X \cup Y</math>.
Zatem
<math>\left\{x,y\right\}\ \in \mathcal{P} (X \cup Y)</math> oraz <math>\left\{x\right\}\ \in \mathcal{P} (X \cup Y)</math>.
Więc <math>\left\{\left\{x\right\}\,\left\{x,y\right\}\\right\}\ \subseteq  \mathcal{P} (X \cup Y)</math> co daje,
że <math>(x,y) \in \mathcal{P} (\mathcal{P} (X \cup Y))</math>.


\begincenter  \endcenter \endprf
Istnienie i konstrukcja iloczynu
kartezjańskiego zostało dokładnie omówione w dodatkowym
rozdziale [[##konstukcja_marcina|Uzupelnic konstukcja_marcina|]] znajdującym się na końcu.
Proponuje przestudiowanie dodatkowego
rozdziału dopiero po zapoznaniu się z rozdziałami wcześniejszymi
pomimo braku precyzji w następnej definicji.


{{uwaga|[Uzupelnij]||
Niech <math>x,y</math> będą zbiorami. Iloczynem kartezjańskim (produktem)
<math>x \times y</math> nazywamy zbiór


Dla określonego w dowodzie automatu </math>{A}_{D} <math> na ogół
<center><math>\left\{z\in \mathcal{P}( \mathcal{P}( x \cup y)): \exists_{a \in x} \exists_{b \in y}
nie wszystkie stany są osiągalne ze stanu </math>I<math>. Aby uniknąć takich
\;\; (a,b) =z\right\}\
stanów, które są bezużyteczne, funkcję przejść należy zacząć
</math></center>
definiować od stanu </math>I<math> i kolejno  określać wartości
dla już osiągniętych stanów.


Będziemy używać specjalnej notacji <math>x^2</math> na zbiór <math>x \times x</math>.
Pokaż następujące elementarne własności iloczynu kartezjańskiego:
<center><math>\alignedx \times \emptyset    & = & \emptyset \\
x \times (y \cup z)    & = &  (x \times y) \cup  (x \times z) \\
x \times (y \cap z)    & = &  (x \times y) \cap  (x \times z) \\
x \times (y \setminus z)    & = &  (x \times y) \setminus  (x \times z)
\endaligned</math></center>
'''Rozwiązanie: '''Z definicji iloczynu kartezjańskiego, oraz twierdzenia [[##para-up_tw|Uzupelnic para-up_tw|]] łatwo wynika
następujący fakt, który wykorzystamy w dowodach. Dla dowolnych zbiorów <math>a,b,x,y</math>
zachodzi
<center><math>(a,b)\in x \times y \Leftrightarrow (a\in x \wedge b\in y).
</math></center>
x    <nowiki>=</nowiki><br>
z {P}({P}(x  z)): _{a x} _{b } (a,b)<nowiki>=</nowiki>z<nowiki>=</nowiki><br>
z {P}({P}(x  z)): _{a x} _{b}[ (b  )  (a,b)<nowiki>=</nowiki>z]
Ponieważ <math>b\in \emptyset</math> jest zawsze fałszem to powyższy zbiór jest pusty.
# Ponieważ obydwa zbiory są zbiorami par więc wykażemy że dowolna para należy do jednego
wtedy i tylko wtedy gdy należy do drugiego. Weźmy dowolną parę <math>(a,b)</math> wtedy
(a,b) x  (y  z) <br>
a  x  b (y z) <br>
a x  (b y  b z) <br>
(a x  b y)  (a x  b z) <br>
(a,b)  x  y  (a,b) x  z <br>
(a,b)  x  y  x  z.
# Analogicznie do poprzedniego punktu, weźmy dowolną parę <math>(a,b)</math>, wtedy
(a,b) x  (y  z) <br>
a  x  b (y z) <br>
a x  (b y  b z) <br>
(a x  b y)  (a x  b z) <br>
(a,b)  x  y  (a,b) x  z <br>
(a,b)  x  y  x  z.
# Analogicznie do poprzednich punktów, weźmy dowolną parę <math>(a,b)</math>, wtedy
(a,b)  (x  y)  (x  z)  <br>
a x  b y  (a x  b z) <br>
b y  (a x  (a x  b z)) <br>
b y  [(a x  a x)  (a x  b z)] <br>
b y  (a x  b z) <br>
a x  (b y  z) <br>
(a,b)  x  (y  z)
Produkt kartezjański <math>\times</math> jest monotoniczny ze względu na każdą współrzędną
osobno to znaczy:
<center><math>\alignedx \subset y  & \hspace*{0.1mm} \Rightarrow  &  (x \times z) \subset  (y \times z) \\
x \subset y  & \hspace*{0.1mm} \Rightarrow  &  (z \times x) \subset  (z \times y)
\endaligned</math></center>
'''Rozwiązanie: '''Ćwiczenie jest elementarne.
# Niech <math>x,y</math> będą dowolnymi zbiorami takimi, że <math>x\subset y</math>. Wtedy dla dowolnej pary <math>(a,b)</math> mamy
(a,b) x z <br>
a x  b  z <br>
a y  b  z <br>
(a,b) y z.
Stąd <math>(x \times z) \subset  (y \times z)</math>.
# Dla dowolnych zbiorów <math>x\subset y</math> mamy <math>x \cup y =y</math>. Z poprzedniego
ćwiczenia otrzymujemy
<center><math>z \times y =z \times (x\cup y) =  (z \times x)\cup(z \times y) \supset (z \times x).
</math></center>
(Metoda z poprzedniego punktu podziała równie dobrze.)
Sprawdź, czy dla dowolnych zbiorów <math>A,B,C</math>, prawdziwa jest następująca implikacja
<center><math>A\times B = A\times C \Rightarrow B=C
</math></center>
'''Rozwiązanie: '''Nie. Na przykład gdy <math>A=\emptyset</math> to dla dowolnych zbiorów <math>B,C</math> mamy
<center><math>\emptyset \times B =\emptyset = \emptyset \times C.
</math></center>
Biorąc różne zbiory <math>B,C</math> otrzymamy kontrprzykład dla badanej implikacji.
==Relacje==
Relacją nazywamy każdy podzbiór iloczynu <math>x
\times y</math> 
===Operacje na relacjach:===
Niech <math>R \subset A \times B</math> oraz <math>S \subset B \times C</math>.
<math>S \circ R  :=  \left\{(x,z)\in A \times C : \exists_{y\in B}
(x,y)\in R \hspace*{0.1mm} \wedge  (y,z)\in S \right\}\$
\bigskip
</math>R^{-1} :<nowiki>=</nowiki> (y,x) B  A :  (x,y) R
<math>R_L := \left\{x\in A : \exists_{y\in B} \;\; (x,y) \in R\right\}\$
</math>R_P :<nowiki>=</nowiki> y B : _{x A}  (x,y)  R
Niech relacja  <math> R \subset A \times B,  S \subset B \times C</math> oraz
<math>T \subset C \times  D</math>. Pokazać elementarne własności operacji na relacjach:
<center><math>\alignedT \circ ( S \circ R ) & = & (T \circ S)\circ R \\
(S \circ R )^{-1}    & = &  R^{-1} \circ S^{-1} \\
R                    & \subset & R_L \times R_P \\
(S \circ R)_L        & \subset & R_L \\
(S \circ R)_P        & \subset & S_P \\
(R^{-1} )_L          & = & R_P
\endaligned</math></center>
'''Rozwiązanie: '''Ćwiczenie jest elementarne.
(x,z) T  ( S  R ) <br>
_{u} [(x,u) ( S  R )  (u,z) T]<br>
_{u} [_{v}( (x,v)  R (v,u)  S)  (u,z) T]<br>
_{u} _{v}[ (x,v)  R (v,u)  S  (u,z) T]<br>
_{v} _{u}[ (x,v)  R ((v,u)  S  (u,z) T)]<br>
_{v} [ (x,v)  R _{u}((v,u)  S  (u,z) T)]<br>
_{v} [ (x,v)  R (v,z)  T  S]<br>
(x,z)  (T  S)  R <br>
(x,z) (S  R )^{-1}  <br>
(z,x)  S R  <br>
_{y} [(z,y)  R  (y,x) S]  <br>
_{y} [(y,z)  R^{-1}  (x,y) S^{-1}]  <br>
(x,z)  R^{-1}  S^{-1} <br>
(x,z) R  <br>
_{y} (x,u)  R  _{v} (v,y) R <br>
x R_L  y R_P  <br>
(x,y)  R_L  R_P
x  (S  R)_L    <br>
_{z} (x,z) S R <br>
_{z} _{y} [(x,y) R  (y,z) S ]  <br>
_{z} _{y} (x,y) R  <br>
_{y} (x,y) R  <br>
x  R_L
# Dowód <math>(S \circ R)_P \subset  S_P </math> jest analogiczny do poprzedniego.
x (R^{-1} )_L  <br>
_{y} (x,y) R^{-1} <br>
_{y} (y,x) R <br>
x  R_P
Niech relacja  <math> R \subset B \times C,  S \subset B \times C</math> oraz
<math>T \subset A \times  B</math>. Pokaż własności:
<center><math>\aligned(R \cup  S )^{-1} & = & R^{-1} \cup S^{-1} \\
(R \cap  S )^{-1} & = & R^{-1} \cap S^{-1} \\
(R^{-1})^{-1}    & = &  R \\
(R \cup  S ) \circ T & = &  (R \circ T) \cup (S  \circ T)\\
(R \cap  S ) \circ T & \subset &  (R \circ T) \cap (S  \circ T)
\endaligned</math></center>
'''Rozwiązanie: '''Ćwiczenie jest elementarne.
W poniższych punktach (1-4) pokażemy, że dowolna para należy do zbioru po lewej
stronie odpowiedniej równości wtedy i tylko wtedy gdy należy do prawej. W punkcie 5,
pokazujemy jedynie implikację w prawą stronę, gdyż mamy udowodnić inkluzję.
(x,y) (R S)^{-1}  <br>
(y,x) (R S)  <br>
(y,x) R  (y,x)  S  <br>
(x,y) R^{-1}  (x,y)  S^{-1}  <br>
(x,y) R^{-1}  S^{-1}
# Dowód drugiej równości jest analogiczny do dowodu pierwszej, wystarczy użyć <math>\cap</math> w miejsce <math>\cup</math> oraz <math>\wedge</math> w miejsce <math>\vee</math>.
(x,y) (R^{-1})^{-1}  <br>
(y,x) R^{-1}  <br>
(x,y) R
(x,z) (R  S )  T  <br>
_y [(x,y)  T  (y,z) (R  S )] <br>
_y [(x,y)  T  ((y,z) R  (y,z) S ))] <br>
_y [((x,y)  T  (y,z) R)  ((x,y)  T  (y,z) S ))] <br>
[_y ((x,y)  T  (y,z) R)]  [_y ((x,y)  T  (y,z) S )] <br>
(x,z) (R  T)  (x,z) (S  T)  <br>
(x,z)  (R  T)  (S  T)
(x,z) (R  S )  T  <br>
_y [(x,y)  T  (y,z) (R  S )] <br>
_y [(x,y)  T  ((y,z) R  (y,z) S ))] <br>
_y [((x,y)  T  (y,z) R)  ((x,y)  T  (y,z) S ))] <br>
[_y ((x,y)  T  (y,z) R)]  [_y ((x,y)  T  (y,z) S )] <br>
(x,z) (R  T)  (x,z) (S  T)  <br>
(x,z)  (R  T)  (S  T)
Podaj przykład relacji dla których poniższa równość nie jest prawdziwa.
<center><math>(R \cap  S ) \circ T =  (R \circ T) \cap (S  \circ T)
</math></center>
'''Rozwiązanie: '''Niech <math>R=\{(1,3)\}, S= \{(2,3)\}, T=\{(0,1),(0,2)\}</math> wtedy
# <math>R\cap S=\emptyset</math> więc      <math>(R\cap S)\circ T=\emptyset</math>.
# <math>T\circ R =\{(0,3)\}</math> i <math>T \circ S=\{0,3\}</math> a więc
<math>(R \circ T) \cap (S  \circ T) =\{0,3\}</math>
Udowodnij, że zbiór <math>A</math> jest relacją wtedy i tylko wtedy gdy
<center><math>A \subset (\bigcup \bigcup A) \times  (\bigcup \bigcup A)
</math></center>
'''Rozwiązanie: '''Pokażemy najpierw, że dla każdej relacji <math>R</math> mamy
<center><math>
\bigcup \bigcup R = R_L \cup R_P.
</math></center>
Zaczniemy od inkluzji <math>\subset</math>.Weźmy dowolny element <math>x \in \bigcup \bigcup R</math> wtedy
musi istnieć element <math>y\in \bigcup R</math> taki że <math>x\in y</math>. Skoro <math>y\in \bigcup R</math> to
musi istnieć para <math>(a,b) \in R</math> taka, że <math>y\in (a,b)</math>. Wobec tego z definicji pary
uporządkowanej <math>y=\{a\}</math> lub <math>y=\{a,b\}</math>. Ponieważ <math>x\in y</math> to <math>x=a</math> i wtedy <math>x\in
R_L</math> lub <math>x=b</math> i wtedy <math>x\in R_P</math>. Wobec tego <math>x\in R_L \cup R_P</math>.
Pokażemy teraz prawdziwość inkluzji <math>\supset</math> w równaniu [[##eq:cwiczenieBCBC|Uzupelnic eq:cwiczenieBCBC|]].
Weźmy dowolny element <math>a\in R_L</math> wtedy istnieje element <math>b\in R_P</math> taki, że <math>(a,b)\in
R</math>, a więc <math>\{(a,b)\} \subset R</math>. Stąd otrzymujemy
<center><math>\bigcup \bigcup \{(a,b)\} \subset \bigcup \bigcup R.
</math></center>
Ponieważ  <math>\bigcup \bigcup \{(a,b)\}= \bigcup \{\{a\},\{a,b\}\} = \{a,b\}</math> to
otrzymujemy <math>\{a,b\} \subset R</math>, a więc <math>a\in R</math>. Analogiczne rozumowanie można
przeprowadzić dla elementu <math>b\in R_P</math>. Zakończyliśmy więc dowód równości
[[##eq:cwiczenieBCBC|Uzupelnic eq:cwiczenieBCBC|]].
W temacie ćwiczenia implikacja w lewą stronę jest oczywista. Jeśli <math>A</math> jest zbiorem
to <math>\bigcup \bigcup A</math> jest zbiorem i <math>A</math> jest podzbiorem iloczynu kartezjańskiego
dwóch zbiorów więc musi być relacją. Dla implikacji w prawą stronę załóżmy, że <math>A</math>
jest relacją wtedy
<center><math>A \subset A_L \times A_P \subset (A_L \cup A_P) \times (A_L \cup A_P) =    (\bigcup \bigcup A) \times (    \bigcup \bigcup A)
</math></center>
== Relacje równoważności ==
W tym podrozdziale poznamy ważną klasę (zbiór) relacji zwaną klasą
relacji równoważności(w innych podręcznikach mogą się państwo spotkać z nazwą relacja
abstrakcji). Relacje takie będą służyły do definiowania pojęć abstrakcyjnych o czym
przekonamy się w wielu miejscach tego i innych wykładów. Bardzo dobrym ćwiczeniem
pokazującym abstrakcyjne metody definiowania pojęć będzie wykład <math>8</math> w którym
zaprzęgniemy relacje abstrakcji do definiowania liczb.
Rozpoczynamy rozdział od koniecznej definicji.
Dla zbioru <math>X</math> definiujemy relację <math>1_X \subset X \times X</math>
jako <math>\left\{ z \in X \times X : \exists_{x\in X} \;\; (x,x)=z  \right\}\$.
\enddefn
\begindefn
Relację </math>R  X  X<math> nazywamy relacją równoważnością o
polu </math>X<math> jeżeli:
* zawiera relacje </math>1_X <math> (zwrotność </math>R<math>)
* </math>R^{-1}  R<math> (symetria </math>R<math>)
* </math>R  R  R<math> (przechodniość </math>R<math>)
\enddefn
\beginCwiczenie
Pokazać, że definicje zwrotności, symetryczności i przechodniości relacji o polu </math>X<math>
są odpowiednio równoważne następującym własnościom:
* </math>_{ x X} (x,x)  R<math>
* </math>_{ x,y  X} (x,y)  R  (y,x)  R<math>
* </math>_{ x,y,z X} (x,y) R  (y,z)  R  (x,z) R<math>
\textbf{Rozwiązanie: }Ćwiczenie jest elementarne.
\endCwiczenie
\begindefn  Niech </math>R<math> będzie relacją równoważności o
polu </math>X<math>. Klasą równoważności elementu </math>x X<math> jest zbiór
</math></center>[x]_R :<nowiki>=</nowiki> y  X : (x,y)  R<center><math>
\enddefn 
\begindefn  Zbiór klas równoważności relacji </math>R<math> będący elementem zbioru </math>{P}
( {P} (X  X))<math> oznaczamy przez </math>X/R<math>. \enddefn 
{{twierdzenie|[Uzupelnij]||
Niech </math>R<math> będzie relacją równoważności o polu </math>X<math>. Następujące warunki są równoważne
# </math>[x]_R  [y]_R  <math>
# </math>[x]_R <nowiki>=</nowiki> [y]_R<math>
# </math>(x,y)  R<math>
}}
{{dowod|[Uzupelnij]||
Pokażemy, że </math>(1) (2)<math>. Niech wspólny element dwóch klas </math>[x]_R<math> oraz
</math>[y]_R<math> nazywa się </math>z<math>. Ze względu na pełną symetrię tezy wystarczy pokazać, że
</math>[x]_R  [y]_R<math>. Niech zatem </math>p [x]_R<math>. Mamy więc </math>(x,p)  R<math>. Z
założenia jest również
</math>(y,z)  R<math> oraz </math>(x,z)  R<math>. Z symetrii otrzymujemy </math>(z,x)
R<math>.
Zatem </math>(y,z)  R<math> i </math>(z,x)  R<math> i </math>(x,p)  R<math>.
Natychmiast z przechodniości otrzymujemy, że </math>(y,p)  R<math>.\\
Pokażemy, że </math>(2) (3)<math>. Ze zwrotności mamy, że
</math>y [y]_R<math> co z założenia </math>(2)<math> daje  </math>y [x]_R<math> a to tłumaczy
się na </math>(x,y)  R<math>.
Pokażemy, że </math>(3) (1)<math>.
Wystarczy pokazać, że wspólnym elementem klas </math>[x]_R<math> oraz </math>[y]_R<math>
jest </math>y<math>. Dla pierwszej z nich wynika to z założenia </math>(3)<math> a dla
drugiej ze zwrotności </math>R<math>.
}}
}}


{{cwiczenie|[Uzupelnij]||
W następnym twierdzeniu zobaczymy jak rodzina relacji
równoważności jest odporna na przecinanie. Pokażemy mianowicie, że przecięcie
dowolnej liczby relacji równoważności jest nadal relacją równoważności.
 
{{twierdzenie|[Uzupelnij]||
Niech  będzie pewną rodziną
(zbiorem) relacji równoważności o tym samym polu </math>X<math>. Mamy że:
 
#  jest relacją równoważności o polu </math>X<math>.
 
# </math>[x]_{  } <nowiki>=</nowiki>  [x]_R : R
 
}}
 
{{dowod|[Uzupelnij]||
 
<math>(1)</math> Zwrotność <math>\bigcap \kappa </math> jest oczywista ponieważ <math>1_X </math> zawiera
się w każdej relacji rodziny <math>\kappa </math>. Symetria. Weźmy <math>(x,y)\in
\bigcap \kappa </math>. Dla każdej relacji <math>R\in\kappa</math> jest <math>(x,y)\in R
</math>. Z symetrii każdej <math>R</math> jest więc <math>(y,x)\in R </math> co daje <math>(y,x)\in
\bigcap \kappa </math>. Przechodniość. Niech <math>(x,y)\in \bigcap \kappa </math>
oraz <math>(y,z)\in \bigcap \kappa </math>. Dla każdej relacji <math>R\in\kappa</math>
jest więc <math>(x,y)\in R</math> i <math>(y,z)\in R</math>. Z przechodniości każdej
relacji <math>R</math> mamy, że <math>(x,z) \in R</math> co daje <math>(x,z)\in \bigcap \kappa
</math>.<br>
<math>(2)</math> Niech <math>y \in [x]_{ \bigcap \kappa }</math>. Mamy zatem, że
<math>(x,y) \in \bigcap \kappa</math> co daje <math>(x,y)\in R</math> dla każdej
relacji <math>R\in\kappa</math>. To zaś daje, że <math>y \in [x]_R</math> dla każdej <math>R \in \kappa</math> co
jest równoważne z <math>y\in\bigcap \left\{[x]_R : R\in \kappa\right\}\$.
}}
 
W szczególności przecięcie wszystkich relacji
równoważności o polu </math>X<math> daje </math>1_X<math>.  Jest ona najsilniejszą
relacją równoważności. Najsłabszą jest </math>X^2<math>.
 
===Rozkłady zbiorów===
 
\begindefn
Niech </math>X  <math>. Rodzinę
</math>r  {P} ( {P} (X))<math> nazywamy rozkładem zbioru </math>X<math> gdy
 
# </math>_{C  r}  C  <math>
 
# </math> r <nowiki>=</nowiki>X<math>
 
# </math>(C  r {0.1mm}  D  r {0.1mm}  C  D ){0.1mm}  C D <nowiki>=</nowiki><math>


Automat </math>{A}_{ND} <nowiki>=</nowiki> (Q,A,f,I,F)<math> nad alfabetem </math>A<nowiki>=</nowiki>a,b <math>
\enddefn  
określony przez zbiory </math>Q<nowiki>=</nowiki>q_{0},q_{1},q_{2},q_4 , I<nowiki>=</nowiki>q_0, F<nowiki>=</nowiki>q_{3} <math> i
zadany poniższym grafem jest przykładem automatu niedeterministycznego.\\


RYSUNEK ja-lekcja6-w-rys1
{{lemat|[Uzupelnij]||
Dla relacji równoważności </math>R<math> o polu </math>X<math> zbiór </math>X/R<math> jest rozkładem
</math>X<math>. }}


Automat ten, jak łatwo teraz zauważyć, rozpoznaje język </math>L({A})<nowiki>=</nowiki>A^*abb <math>.
{{dowod|[Uzupelnij]||
 
</math>(1)<math> Każda klasa jest niepusta bo zawiera element, który ją
wyznacza.
</math>(2) X/R  X<math> bo każda klasa jest podzbiorem
</math>X<math>. Odwrotnie każdy </math>x  [x]_R  X/R<math>.
</math>(3)<math> Dwie klasy gdy są rożne muszą być rozłączne co udowodniliśmy
w twierdzeniu [[##thm:rownowaznosc|Uzupelnic thm:rownowaznosc|]].


}}
}}


Przedstawimy teraz algorytm, który mając na wejściu automat niedeterministyczny konstruuje
\begindefn  Niech </math>r<math> będzie rozkładem zbioru </math>X<math>. Definiujemy relacje </math>R_r
równoważny automat deterministyczny.
X  X<math> następująco:


\newpage
</math></center>(x,y)  R_r  wtw  _{C r}  x  C  {0.1mm}    y C
<center><math>


\beginalgorithm \caption{\textsc{Determinizacja} -- buduje deterministyczny automat
\enddefn  
równoważny automatowi niedeterministycznemu}
\beginalgorithmic [1]
\STATE Wejście: </math>{A}<nowiki>=</nowiki>(S, A, f, s_0, T)<math> -- automat
niedeterministyczny.


\STATE Wyjście: </math>{A}'<nowiki>=</nowiki>(S', A, f', s_0', T')<math> -- automat
{{lemat|[Uzupelnij]||
deterministyczny taki, że </math>L({A}')<nowiki>=</nowiki>L({A})<math>.
Dla rozkładu </math>r  {P} ( {P}
(X))<math> relacja </math>R_r<math> jest:


\STATE </math>S'  s_0<math>;
# równoważnością


\STATE </math>s_0'  s_0<math>;
# </math>X/{R_r} <nowiki>=</nowiki> r<math>


\STATE </math>{L} s_0<math>;  \hfill
}}
</math>{L}<math> jest kolejką


\WHILE{</math>{L}  <nowiki>=</nowiki> <math>}
{{dowod|[Uzupelnij]||


\STATE </math>M
</math>(1)<math> Relacja </math>R_r<math> jest zwrotna każdy bowiem </math>x X<math> musi leżeć w pewnym zbiorze
'''zdejmij'''({L})<math>;
</math>C<math> rozkładu </math>r<math>. Symetria </math>R_r<math> nie wymaga dowodu. Przechodniość </math>R_r<math>. Niech </math>(x,y)
R_r<math> i </math>(y,z)  R_r<math>. Istnieją zatem dwa zbiory </math>C<math> i </math>D<math> rozkładu </math>r<math> takie,
że </math>x,y  C<math> oraz </math>y,z  D<math>. Przecięcie </math>C<math> i </math>D<math> jest więc niepuste zatem
</math>C<nowiki>=</nowiki>D<math> co daje tezę </math>(x,z)  R_r<math>.\\
</math>(2)<math> Inkluzja w prawo . Niech </math>C  X/{R_r}<math>. Klasa
</math>C<math> jest zatem wyznaczona przez pewien element </math>x<math> taki, że </math>C<nowiki>=</nowiki> [x]_{R_r}<math>.
Niech </math>D r<math> będzie zbiorem rozkładu </math>r<math> do którego należy </math>x<math>.
Łatwo wykazać, że </math>C<nowiki>=</nowiki>D<math>. Inkluzja w lewo .
Niech </math>C  r<math>. </math>C<math> jest niepusty wiec istnieje </math>x  C<math>. Klasa
</math>[x]_{R_r} <nowiki>=</nowiki>C<math>.
}}


\STATE \textbf{if } </math>T  M  <nowiki>=</nowiki> <math> \textbf{ then } </math>T'
\beginCwiczenie
T' M<math>;
Niech </math>X<math> będzie niepustym zbiorem, oraz niech </math>Y  X<math>. Zdefiniujemy relację </math>R  {P}(X)  {P}(X)<math> następująco:
dla dowolnych zbiorów </math>A,B X<math> mamy


\FOR{\textbf{each} </math>a A<math>}
</math></center>(A,B) R A{.}{} B  Y.
<center><math>


\STATE </math>N  _{m  M} f(m,a)<math>;
(</math>{.}{}<math> oznacza różnicę symetryczną zbiorów, czyli </math>A{.}{} B <nowiki>=</nowiki> (A B)
(B  A)<math>) Udowodnij, że relacja </math>R<math> jest relacją równoważności.


\IF{</math>N  S'<math>}
\textbf{Wskazówka:  }
Najtrudniej jest pokazać przechodniość. Udowodnij, że </math>A {.}{} C    (B{.}{} C)  (A{.}{} B)<math>. Dobrym punktem wyjścia
jest naszkicowanie wszystkich przecięć zbiorów </math>A,B,C<math>.


{
\textbf{Rozwiązanie: }Pokażemy po kolei zwrotność, przechodniość i symetryczność.
\STATE </math>S'  S'  N<math>;
\STATE \textbf{włóż}</math>({L},N)<math>;
}


\ENDIF
# Dla każdego </math>A X<math> mamy </math>A{.}{} A<nowiki>=</nowiki>  Y<math>, a więc relacja </math>R<math> jest zwrotna.


\STATE </math>f'(M, a) N<math>;
# Ponieważ dla dowolnych zbiorów </math>A{.}{} B<nowiki>=</nowiki> B{.}{} A<math> to </math>(A,B) R<math> wtedy i tylko wtedy gdy </math>(B,A) R<math>. Wobec tego relacja </math>R<math> jest symetryczna.


\ENDFOR
# Weźmy zbiory </math>A,B,C  X<math>, takie że </math>(A,B), (B,C)  R<math>. Wtedy
\beginalign*
A \frac{.}{} C= (A\setminus C)  \cup (C\setminus A) =\\
(((A\cap B) \cup (A\setminus B))\setminus C)  \cup    (((C\cap B) \cup (C\setminus B))\setminus A) =\\
((A\cap B)\setminus C) \cup ((A\setminus B)\setminus C) \cup
((C\cap B)\setminus A) \cup ((C\setminus B)\setminus A) \subset\\
(B\setminus C) \cup (A\setminus B) \cup (B\setminus A) \cup (C\setminus B)=\\
(B\frac{.}{} C) \cup (A\frac{.}{} B).
\endalign*
Ponieważ z definicji relacji </math>R<math> mamy  </math>(B{.}{} C)  Y<math> oraz</math> (A{.}{} B) Y<math> to ich suma też jest podzbiorem </math>Y<math>
i konsekwencji również </math>A{.}{} C  Y<math>. Oznacza to, że </math>(A,C) R<math>, a więc relacja </math>R<math> jest przechodnia.


\ENDWHILE
\endCwiczenie


\RETURN </math>{A}'<math>;
\beginCwiczenie
Udowodnij, że dla relacji równoważności </math>R,S<math> na zbiorze </math>X<math>, relacja </math>R S<math> jest relacją równoważności
wtedy i tylko wtedy gdy


\endalgorithmic
</math></center>
\endalgorithm
_{x X}( [x]_R  [x]_S  [x]_R  [x]_S).
<center><math>


Funkcja \textbf{zdejmij}, występująca w linii [[##a1_l6|Uzupelnic a1_l6|]]., zdejmuje
Podaj przykłady relacji równoważności </math>R,S<math> takich, że </math>R S<math> jest relacją
z kolejki element znajdujący się na jej początku i zwraca go jako
równoważności oraz </math>R S<math> i </math>S R<math>.  
swoją wartość. Procedura \textbf{włóż}</math>({L},N)<math> z linii
[[##a1_l12|Uzupelnic a1_l12|]]. wstawia na koniec kolejki </math>{L}<math> element </math>N<math>.


Należy zauważyć, że algorytm determinizujący automat jest algorytmem
\textbf{Wskazówka:  }
eksponencjalnym. Stany wyjściowego automatu deterministycznego
Przyjrzyj się dokładnie rodzinie zbiorów </math>A<nowiki>=</nowiki>[x]_R  [x]_S : x X<math>.
etykietowane są podzbiorami zbioru stanów </math>Q<math>. Jeśli pewien stan </math>q'
Q'<math> etykietowany jest zbiorem zawierającym stan końcowy z </math>F<math>,
to </math>q'<math> staje się stanem końcowym w automacie </math>{A}'<math>.


Z analizy algorytmu [[##alg_1|Uzupelnic alg_1|]] wynika, że w ogólności zbiór stanów
\textbf{Rozwiązanie: }Zaczniemy od pokazania, że formuła </math>[[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]]<math> implikuje, że relacja
wyjściowego automatu deterministycznego może osiągać wartość rzędu
</math>R S<math> jest relacją równoważności. Pokażemy, że rodzina </math>A<nowiki>=</nowiki>[x]_R  [x]_S :
</math>O(2^n)<math>, gdzie </math>n<math> jest ilością stanów automatu
x X<math> tworzy rozkład zbioru </math>X<math>. Oczywiście, dla każdego elementu </math>x X<math> mamy
niedeterministycznego.
</math>[x]_R  [x]_S  <math> oraz </math>x [x]_R  [x]_S<math>. Wystarczy więc
pokazać, że zbiory w rodzinie </math>A<math> są rozłączne. Weźmy dowolne dwa elementy rodziny
</math>A<math> i przypuśćmy, że ich przecięcie jest niepuste. Niech to będą zbiory odpowiadające
elementom </math>x,y X<math> a więc </math>[x]_R  [x]_S<math> oraz </math>[y]_R  [y]_S<math>. Skoro te
zbiory mają niepuste przecięcie to istnieje </math>z ([x]_R  [x]_S) ([y]_R
[y]_S)<math>. Ponieważ </math>z [x]_R  [x]_S<math> to </math>z [x]_R  z  [x]_S<math> co jest
równoważne </math>x [z]_R  x  [z]_S<math>. Podobne rozumowanie dla </math>z<math> daje </math>y
[z]_R  y  [z]_S<math>. Wobec czego dostajemy </math>x,y  [z]_R  [z]_S<math> ponieważ
jednak zgodnie z formułą [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] jedna z tych klas jest nadzbiorem
drugiej, to </math>x,y  [z]_R<math> lub  </math>x,y  [z]_S<math>. W przypadku, gdy </math>[z]_R
[z]_S<math> dostajemy również z [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] </math>[z]_R<nowiki>=</nowiki>[x]_R [x]_S<math> oraz
</math>[z]_R<nowiki>=</nowiki>[y]_R [y]_S<math> wobec czego otrzymujemy </math>[x]_R  [x]_S <nowiki>=</nowiki>[z]_R<nowiki>=</nowiki>[y]_R
[y]_S<math>. Drugi przypadek jest analogiczny. Wobec czego rodzina </math>A<math> jest rozkładem
zbioru </math>X<math>. Wystarczy teraz przekonać się że </math>(a,b) R S<math> wtedy i tylko wtedy,
gdy </math>a  [b]_R  [b]_S<math>, aby udowodnić, że jest to rzeczywiście rozkład
generowany przez relację </math>R S<math>. Weźmy dowolne </math>a,b  X<math> wtedy
\beginalign*
(a,b)\in R\cup S \Leftrightarrow (a,b)\in R \vee (a,b)\in S \Leftrightarrow a\in[b]_R \vee a\in [b]_S \Leftrightarrow a \in [b]_R \cup [b]_S.
\endalign*


Zastosujemy powyższy algorytm do uzyskania automatu deterministycznego równoważnego
Pokażemy teraz, że jeśli </math>R S<math> jest relacją równoważności to musi być spełniona
automatowi z przykładu 1.1. Kolejne etapy działania
formuła [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]]. Dla dowodu nie wprost przypuśćmy, że nie jest
ilustruje zamieszczona tu animacja.
spełniona. Oznacza to, że istnieje element </math>x X<math> dla którego </math>[x]_R
[x]_S<math> oraz </math>[x]_R  [x]_S<math>. Wobec tego istnieje </math>y [x]_R
[x]_S<math> oraz </math>z  [x]_S  [x]_R<math>. Oznacza to, że </math>(y,x) R S<math>
oraz </math>(x,z) S R<math>. Skoro </math>R S<math> jest relacją równoważności to </math>(z,y)
R S<math>. Przypuśćmy, że </math>(z,y) R<math>. Wtedy </math>(z,y),(y,x) R<math> wobec czego
</math>(z,x) R<math> co jest sprzeczne z tym że </math>(x,z) S R<math> ponieważ relacja </math>R<math>
jest symetryczna. Analogiczną sprzeczność otrzymujemy dla </math>(z,x) S<math>. Obie
możliwości prowadzą do sprzeczności, a więc formuła [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] musi być
spełniona.


ANIMACJA ja-lekcja6-w-anim1
Na koniec podajemy przykład relacji równoważności, równoważności </math>R,S<math> takich, że
</math>R S<math> jest relacją równoważności oraz </math>R S<math> i </math>S R<math>. Polem
relacji będzie zbiór </math>X<nowiki>=</nowiki>0,1,2,3<math>. Relacje </math>R,S<math> określimy poprzez wyznaczane
przez nie rozkłady odpowiednio </math>r,s<math>:
\beginalign*
r=\{\{0\},\{1\}, \{2,3\}\}\\
s=\{\{0,1\}, \{2\},\{3\}\}.
\endalign*
Łatwo sprawdzić, że </math>R S<math> i </math>S R<math>, gdyż </math>(2,3) R S<math>
oraz </math>(0,1) S R<math>. Z rozkładów </math>r,s<math> łatwo wynika, że formuła
[[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] jest prawdziwa dla tych relacji, wobec czego </math>R S<math> jest
relacją równoważności. Wyznaczany przez nią rozkład to </math>0,1,2,3<math>.
\endCwiczenie
===Domykanie relacji===


==Automaty niedeterministyczne z przejściami pustymi==
W praktyce matematycznej często potrzebne jest rozważanie domknięć
relacji ze względu na wiele przeróżnych  własności. W podrozdziale tym dokonamy
charakteryzacji domknięć. Pokażemy między innymi kiedy takie domykanie jest możliwe.


Rozszerzenie definicji automatu skończenie stanowego do automatu niedeterministycznego
\begindefn
nie spowodowało, jak wiemy, zwiększenia mocy obliczeniowej takich modeli. Nasuwać się
może pytanie, czy dołączenie do tego ostatniego modelu możliwości wewnętrznej zmiany
stanu, zmiany stanu bez ingerencji sygnału zewnetrznego, czyli bez czytania litery nie zwiększy
rodziny jezyków rozpoznawanych.


Model taki, zwany automatem z pustymi przejściami (w skrócie:
Niech  będzie rodziną relacji o polu
automat z p-przejściami), zdefiniujemy poniżej.
</math>X<math>, czyli niech </math>  {P} ( {P} (X^2))<math>.
Rodzina  jest zamknięta na przecięcia gdy


\begindefin
# </math>X^2  <math>


\textbf{Automatem niedeterministycznym z pustymi przejściami} nad alfabetem </math>A <math> nazy\-wa\-my
# jeżeli </math>   '  <math> to  </math>
system </math>{A}{^p}_{ND} <center><math> = (S,f),</math> w którym <math>S</math> jest dowolnym zbiorem, zwanym zbiorem
<math>
stanów, a <math>f: S \times (A \cup \{1\}) \rightarrow \mathcal{P}(S) </math> funkcją przejść.


{{uwaga|[Uzupelnij]||
\enddefn 


Słowo puste <math>1</math> występuje w powyższej definicji w dwóch rolach.
Poniżej podamy definicję domknięcia relacji w pewnej klasie (zbiorze) relacji.
Pierwsza, to znana nam rola elementu neutralnego katenacji słów.
Definiujemy intuicyjnie najmniejszą relacje zawierającą daną należącą do klasy.
Druga, to rola jakby "dodatkowej" litery, która może powodować
zmianę aktualnego stanu automatu na inny. Ponieważ słowo puste może
wystąpić przed i po każdej literze dowolnego słowa <math>w \in A^*</math> (i
to wielokrotnie), dlatego też czytając słowo <math>w</math>, automat zmienia
stany zgodnie nie tylko z sekwencją liter tego słowa, ale także z
uwzględnieniem tej drugiej roli słowa pustego.


\begindefn
Relacja </math>S  X^2<math> jest domknięciem relacji </math>R  X^2<math> w klasie (zbiorze)
relacji  gdy:
# </math>R  S<math>
# </math>S  <math>
# dla każdej relacji </math>T<math> jeżeli </math>R  T<math> oraz </math>T  <math> to </math>S  T<math>
\enddefn 
{{lemat|[Uzupelnij]||
Domknięcie relacji (w dowolnej klasie) jeżeli istnieje to jest jedyne. }}
{{dowod|[Uzupelnij]||
Gdyby istniały dwa domknięcia pewnej relacji to ze względu na warunek </math>(3)<math> wzajemnie
by się zawierały.
}}
}}


Rozszerzając  powyższą definicję poprzez dodanie zbioru stanów
{{twierdzenie|[Uzupelnij]||
początkowych i zbioru stanów końcowych, uzyskamy niedeterministyczny
Następujące warunki są równoważne:
automat z pustymi przejściami <math>\mathcal{A}{^p}_{ND} </math></center> <nowiki>=</nowiki>
(S,A,f,I,F),<math> dla którego będziemy mogli zdefiniować język
rozpoznawany. W tym celu określimy najpierw działanie takiego
automatu pod wpływem dowolnego słowa </math>w  A^*<math>.  Jeśli </math>s  S<math>
oraz </math>w<nowiki>=</nowiki>a  A<math>, to


</math></center>f(s,a)<nowiki>=</nowiki>f(1^na1^m )<nowiki>=</nowiki>f(1) ... f(1) f(a) f(1) ... f(1) : n,m {N}_0 .<center><math>
# Klasa relacji jest domknięta na przecięcia.


Zwróćmy uwagę, iż zbiór określający wartość rozszerzonej funkcji jest skończony i efektywnie
# Każda relacja ma domknięcie w klasie relacji .
obliczalny, bo zbiór stanów automatu jest skończony. Jeśli teraz </math>s  S<math> oraz </math>w<nowiki>=</nowiki>ua  A<math>, to
</math></center> f(s,w)<nowiki>=</nowiki>f(s,ua)<nowiki>=</nowiki>f(f(s,u),a).<center><math>
Stany ze zbioru </math>f(s,w)<math> będziemy nazywać stanami osiągalnymi z </math>s<math>
pod wpływem słowa </math>w<math>. Prawdziwe jest następujące twierdzenie, które
orzeka, iż z punktu widzenia rozpoznawania automaty
niedeterministyczne z pustymi przejściami  rozpoznają dokładnie te
same języki, co automaty niedeterministyczne.


\begintheor
}}
Język </math>L  A^*<math> jest rozpoznawany przez automat niedeter\-mi\-nis\-tycz\-ny
z pustymi przejściami wtedy i tylko wtedy, gdy jest rozpoznawany
przez automat nie\-de\-ter\-mi\-nis\-tycz\-ny.


\endtheor
{{dowod|[Uzupelnij]||


\beginprf (szkic)
</math>(1)  (2)<math>. Niech </math>R<math> będzie relacją. Utwórzmy zbiór relacji </math> '<math>
Fakt, że język </math>L<math> rozpoznawany przez automat nie\-de\-ter\-mi\-nis\-tycz\-ny jest
jako </math> S{P} (X^2) : R S {0.1mm}  S . Takie <math>\alpha '</math> nie jest
rozpoznawany przez automat niedeter\-mi\-nis\-tycz\-ny
puste bowiem relacja totalna <math>X^2</math> należy do <math>\alpha '</math>. Pokażmy, że <math>\bigcap \alpha
z pustymi przejściami jest oczywisty.
'</math> jest domknięciem <math>R</math> w <math>\alpha</math>. Istotnie <math>R\subset \bigcap \alpha '</math>. Z założenia
mamy też <math>\bigcap \alpha ' \in \alpha</math>. Minimalność <math>\bigcap \alpha '</math> stwierdzamy
przez: niech <math>R \subset S'</math> takie że <math>S' \in \alpha</math>. Takie <math>S'</math> musi leżeć w
zbiorze <math>\alpha '</math> jest
więc <math>\bigcap \alpha ' \subset S' </math>.<br>
<math>(2) \rightarrow (1)</math>. Po pierwsze <math>X^2</math> leży w zbiorze <math>\alpha</math> bo wystarczy domknąć
<math>X^2</math>. Niech <math>\alpha '</math> będzie niepustym podzbiorem <math>\alpha</math>. Niech <math>S_0</math> będzie
domknięciem <math>\bigcap \alpha '</math> w <math>\alpha</math>. Wiemy, że dla dowolnej relacji <math>S'</math> o ile
<math>\bigcap \alpha ' \subset S'</math> i <math>S'\in \alpha</math> to <math>S_0 \subset S'</math>. Połóżmy za <math>S'</math>
dowolny element z <math>\alpha '</math>. Założenia implikacji pozostają automatycznie spełnione,
jest więc tak, że <math>S_0 \subset S'</math> dla dowolnej <math>S'</math> wyjętej z <math>\alpha '</math>. W takim
razie <math>S_0 \subset \bigcap \alpha '</math>. Ponieważ mamy też <math>  \bigcap \alpha '\subset
S_0</math> bo <math>S_0</math> było domknięciem jest więc <math>\bigcap \alpha '= S_0</math> a to oznacza, że
<math>S_0 \in \alpha</math>.
}}


Dowód implikacji w drugą stronę polega na takiej modyfikacji
Pokazać jak wyglądają domknięcia w klasie relacji,
automatu niedeter\-mi\-nis\-tycz\-nego z pustymi przejściami
zwrotnych, symetrycznych i przechodnich.
rozpoznającego jezyk </math>L<math>, by uzyskać automat bez pustych przejść i
nie ograniczyć ani nie zwiększyć jego możliwości rozpoznawania.
Zarysujemy ideę tej konstrukcji. Niech  </math>{A}{^p}_{ND} <center><math>
= (S,A,f,I,F),</math> będzie  automatem niedeterministycznym z
pustymi przejściami akceptującym język <math>L</math>. W konstruowanym
automacie pozostawiamy zbiór stanów i stan początkowy bez zmian.
Jeśli ze stanu początkowego <math>I</math> jest możliwość osiągnięcia jakiegoś
stanu końcowego z <math>F</math>, to dodajemy stan początkowy do zbioru stanów
końcowych, czyli zbiór stanów końcowych w konstruowanym automacie ma
postać <math>F \cup \{I\}</math>. Jeśli nie ma takiej możliwości, to zbiór
stanów końcowych pozostaje niezmieniony. Określamy wartość funkcji
przejść dla dowolnego stanu <math>s \in S</math> i litery <math>a \in A</math> jako zbiór
wszystkich stanów osiągalnych  ze stanu <math>s</math> pod wpływem <math>a</math>. Tak
skonstruowany automat niedeterministyczny nie ma pustych przejść i
jak można wykazać, indukcyjnie ze względu na długość słowa,
rozpoznaje dokładnie język <math>L</math>.


<math>\diamondsuit</math>  
Pokazać stosując twierdzenie [[##thm:domkniecie|Uzupelnic thm:domkniecie|]], że nie istnieje domknięcie spójne
ani antysymetryczne. (Relacja <math>R</math> jest spójna gdy <math>\forall x,y (x,y) \in R \hspace*{0.1mm} \vee
(y,x)\in R</math>. Relacja <math>R</math> jest antysymetryczna gdy z faktu, że <math>(x,y) \in R</math> oraz
<math>(y,x) \in R</math> da się pokazać, że <math>x=y</math>)


Algorytm usuwania przejść pustych i prowadzący do równoważnego automatu
'''Rozwiązanie: '''Ćwiczenie jest elementarne.
niedeterministycznego  przedstawiony jest w ćwiczeniach do tego wykładu.


==Lemat o pompowaniu==
# Pokażemy, że dla każdej relacji <math>R\in X^2</math> jej domknięcie w klasie relacji zwrotnych na <math>X</math> to <math>R\cup 1_X</math>.
Pokażemy po kolei, że spełnia warunki domknięcia.


Jedną z wielu własności języków rozpoznawanych przez automaty
## <math>R \subset R \cup 1_X</math>
skończone, i chyba jedną z najważniejszych, przedstawia prezentowane
poniżej twierdzenie, zwane tradycyjnie w literaturze lematem o
pompowaniu. Istota własności "pompowania"
polega na tym, iż automat, mając skończoną ilość stanów, czytając i
rozpoznając słowa dostatecznie długie, wykorzystuje w swoim
działaniu pętlę, czyli powraca do stanu, w którym znajdował się
wcześniej. Przez taką pętlę  automat może przechodzić wielokrotnie,
a co za tym idzie, "pompować" rozpoznawane słowo, wprowadzając do
niego wielokrotnie powtarzane podsłowo odpowiadające tej pętli.


Niech <math>L \subset A^*</math> będzie językiem rozpoznawalnym. Istnieje liczba
## <math>1_X \subset R \cup 1_X</math>, a więc jest zwrotna
naturalna <math>N \geq 1</math> taka, że
dowolne słowo <math>{ w} \in L</math>  o długości <math>\mid { w} \mid \geq N </math> można rozłożyć na
katenację <math>{ w} = { v}_1 { u v}_2,</math> gdzie <math>{ v}_1 , { v}_2 \in A^*, { u}\in A^+</math>,
<math>\mid {v_{1}u} \mid \leq N</math> oraz


<center><math>{ v}_1 u^* { v}_2 \subset L.</math></center>
## weźmy dowolną zwrotną relację <math>T\supset R</math>. Ponieważ <math>T</math> jest zwrotna to <math>T\supset 1_X</math>, a więc <math>T\supset R \cup 1_X</math>.


Niech <math>L=L(\mathcal{A}) </math>, gdzie <math>\mathcal{A} =(S,A,
# Pokażemy, że dla każdej relacji <math>R\in X^2</math> jej domknięcie w klasie relacji symetrycznych na <math>X</math> to <math>R\cup R^{-1}</math>.
f,s_0,T)</math> jest deterministycznym automatem skończenie stanowym.
Pokażemy po kolei, że spełnia warunki domknięcia.
Niech  <math>N = \#S </math> i rozważmy dowolne słowo <math>{ w } = a_1....a_k \in
L</math> takie, że <math>\mid { w} \mid \geq N</math>. Oznaczmy:
<center><math>s_1 = f(s_0,a_1), \;\; s_2 = f(s_1,a_2), ..., s_{i+1} = f(s_i,a_{i+1}),..., s_k = f(s_{k-1},a_k). </math></center> Słowo <math>w</math> jest
akceptowane przez automat <math>\mathcal{A} </math>, więc <math>s_k \in T.</math> Ponieważ <math>\#S = N</math> oraz  <math>k = \mid { w} \mid \geq N</math>,
to istnieją <math>i,j\in \{1,...,N\} </math>,
<math>i< j</math> takie, że <math>s_i =s_j</math>.


{ Przyjmując teraz <math>{ v}_1 = a_1...a_i ,\;\;\; {
## <math>R \subset R \cup R^{-1}</math>
v}_2 = a_{j+1}...a_k , \;\;\; { u} =a_{i+1}...a_j,</math> dochodzimy do
nastepującej konkluzji: }


{ <center><math>f(s_0, { v}_1) = s_i , \;\;\; f(s_j, { v}_2) = s_k \in T, \;\;\;f(s_i,{ u}) = s_i =s_j.</math></center> }
## <math>(R \cup R^{-1})^{-1} = R^{-1} \cup (R^{-1})^{-1}= R^{-1} \cup R= R \cup R^{-1} </math>, a więc jest symetryczna


{ A to oznacza, że słowo <math>v_{1}u^{k}v_{2} </math> jest rozpoznawane przez
## weźmy dowolną symetryczną relację <math>T\supset R</math>. Ponieważ <math>T</math> jest symetryczna to
automat <math>\mathcal{A} </math> dla dowolnej liczby <math>k\geq 0 </math>, co
<math>T \supset T^{-1}</math>. Skoro <math>T \supset R</math> to <math>T^{-1} \supset R^{-1}</math>. Ponieważ <math>T \supset T^{-1}</math> to <math>T\supset R\cup R^{-1}</math>.
kończy dowód. Nierówność <math>\mid {v_{1}u} \mid \leq N</math> wynika w oczywisty sposób
z przyjętego na początku dowodu założenia, że <math>N = \#S</math>. }


<math>\diamondsuit</math>  
# Posługując się intuicyjnym pojęciem liczb naturalnych przedstawimy szkic konstrukcji przechodniego domknięcia,
pomimo że konstrukcja ta wyprzedza prezentowany materiał. Dla dowolnej liczby <math>n\in N \setminus\{0\}</math> przez <math>R^n</math>
będziemy oznaczać <math>n</math>-krotne złożenie relacji <math>R</math> z sobą (czyli <math>R^1=R</math> oraz <math>R^{n+1}= R^n \circ R</math> dla <math>n>1</math>).
Zdefiniujmy rodzinę <math>\mathcal{R}</math> jako zbiór wszystkich skończonych wielokrotnych złożeń
relacji <math>R</math> z sobą, czyli <math>\mathcal{R}=\{r\subset X^2 : \exists_{n\in N}  (n\neq 0
\wedge R^n=r)\}</math>. Do formalnego zdefiniowania rodziny <math>\mathcal{R}</math> potrzebne są pojęcia
liczb naturalnych, funkcji oraz definiowania przez indukcje, które zostaną
przedstawione w następnych rozdziałach. Pokażemy teraz, że domknięcie relacji <math>R</math> w
klasie relacji przechodnich na <math>X</math> to relacja <math>\bigcup \mathcal{R}</math>.
Pokażemy po kolei, że spełnia warunki domknięcia.


Istotę dowodu przedstawia następująca animacja.
## <math>R=R^1 \subset \bigcup \mathcal{R}</math>


ANIMACJA ja-lekcja6-w-anim2
## Aby pokazać, że relacja <math>\bigcup \mathcal{R}</math> jest przechodnia weźmy dowolne dwie pary <math>(a,b),(b,c) \in \mathcal{R}</math>.
Wtedy muszą istnieć liczby <math>n,m \in N</math> takie, że <math>(a,b)\in R^n</math> oraz <math>(b,c)\in R^m</math>. Wobec tego <math>(a,c)\in R^m \circ R^n</math>.
Z łączności składania relacji wynika, że <math>R^m \circ R^n= R^{m+n}</math>. Wobec tego <math>(a,c)\in R^{m+n} \subset \bigcup \mathcal{R}</math>.


Jeśli rozpoznawalny język <math>L \subset A^*</math> jest nieskończony, to
## Weźmy dowolną przechodnią relację <math>T</math> taką, że <math>R\subset T</math> pokażemy indukcyjnie, że dla każdego
istnieją słowa <math>{ v}_1 , { u}, { v}_2 \in A^*</math> takie, że
<math>n\in N\setminus \{0\}</math> mamy <math>R^n\subset T</math>.
<center><math>{ v}_1 u^* { v}_2 \subset L \;\; i \;\; { u} \neq 1.</math></center>


Jeśli rozpoznawalny język <math>L \subset A^*</math> nie jest zbiorem pustym, to
### Baza indukcji. Dla <math>n=1</math> mamy <math>R^1=R</math> a więc z założenia <math>R^1\subset T</math>.
istnieje słowo <math>w\in L </math>
takie, że <math>\mid w\mid <N </math>, gdzie <math>N </math> jest stałą występującą
w lemacie o pompowaniu. <br>
Jeśli słowo <math>w\in L </math> i <math>\mid w\mid \geq N </math>, to zgodnie z lematem
o pompowaniu możemy przedstawić słowo <math>w </math> jako <math>w=v_{1}uv_{2}
</math>, gdzie <math>u\neq 1 </math> oraz <math>v_{1}u^{i}v_{2}\in L </math> dla <math>i=0,1,2\ldots  </math>. Przyjmując <math>i=0 </math>, mamy <math>v_{1}v_{2}\in L </math>
i <math>\mid v_{1}v_{2}\mid <\mid w\mid  </math>. Powtarzając powyższy
rozkład skończoną ilość razy, otrzymamy słowo należące do języka <math>L </math>, o długości mniejszej od <math>N </math>.


Lemat o pompowaniu wykorzystuje się najczęściej do uzasadnienia faktu, iż pewne
### Krok indukcyjny. Weźmy dowolne <math>n\in N\setminus \{0,1\}</math> i przypuśćmy, że dla każdego <math>0<m<n</math>
języki nie są rozpoznawane przez automaty skończone. Przyjrzyjmy się bliżej technice
zachodzi <math>R^m\subset T</math>. Weźmy dowolną parę <math>(a,c)\in R^n</math>. Ponieważ <math>n>1</math> to <math>R^n= R^{n-1} \circ R</math>.
takiego uzasadnienia.
Oznacza to, że istnieje element <math>b\in X</math> taki, że <math>(a,b)\in R</math> oraz <math>(b,c)\in R^{n-1}</math>. Z założenia
indukcyjnego wynika, że <math>(a,b)\in T</math> oraz <math>(b,c)\in T</math>. Ponieważ <math>T</math> jest przechodnia to <math>(a,c)\in T</math>.
Wobec dowolności wyboru pary <math>(a,c)</math> otrzymujemy <math>R^n \subset T</math>.


{{cwiczenie|[Uzupelnij]||
Skoro dla każdego <math>n\in N\setminus \{0\}</math> mamy <math>R^n \subset T</math> to również <math>\bigcup \mathcal{R} \subset T</math>.


Rozważmy język <math>L = \{ a^n b^n : n \geq 0 \}</math> nad alfabetem <math>A = \{
Pokażemy teraz że istnieje zbiór <math>X</math> taki, że klasa relacji spójnych na zbiorze <math>X</math> i
a,b\}</math>. W oparciu o lemat o pompowaniu wykażemy, że język <math>L</math> nie  
klasa relacji symetrycznych na zbiorze <math>X</math> nie są domknięte na przecięcia. W obliczu
jest rozpoznawany. Dla dowodu nie wprost, przypuszczamy, że <math>L</math> jest
twierdzenia [[##thm:domkniecie|Uzupelnic thm:domkniecie|]] będzie to oznaczało, że nie wszystkie relacje mają
rozpoznawany. Na podstawie udowodnionego lematu istnieją zatem słowa
domknięcia  w tych klasach. Niech <math>X=\{0,1\}</math>.
<math>{ v}_1 , { u}, { v}_2 \in A^*</math> takie, że <math>{ v}_1 u^* { v}_2 \subset
L</math> oraz <math>{ u} \neq 1.</math> Biorąc pod uwagę formę słów języka <math>L </math>,
wnioskujemy, że


* słowo <math>{ u} </math> nie może składać się tylko z liter <math>a</math>, gdyż słowo <math>{ v}_1 { u}^2 { v}_2</math> zawierałoby więcej liter <math>a</math> niż <math>b</math>,
# Relacje <math>\{(0,1),(0,0),(1,1)\}, \{(1,0),(0,0),(1,1)\}</math> są spójne na <math>X</math>, a ich
przecięcie czyli zbiór <math>\{(0,0),(1,1)\}</math> nie jest.


* słowo <math>{ u} </math> nie może składać się tylko z liter <math>b</math>, gdyż słowo <math>{ v}_1 { u}^2 { v}_2</math> zawierałoby więcej liter <math>b</math> niż <math>a</math>,
# Relacja <math>X^2</math> nie jest antysymetryczna, a więc klasa relacji antysymetrycznych na <math>X</math>
nie jest domknięta na przecięcia.


* słowo <math>{ u} </math> nie może składać się z liter <math>a \; i \; b</math>, gdyż w słowie <math>{ v}_1 { u}^2 { v}_2</math> litera <math>b</math> poprzedzałaby literę <math>a</math>.
Dla relacji <math>R</math> niech <math>R^\alpha</math>, <math>R^\beta</math>, <math>R^\gamma</math> oznaczają odpowiednio
zwrotne, symetryczne, przechodnie domknięcie relacji <math>R</math>. Czy
prawdą jest że:


Ponieważ słowo  <math>{ v}_1 { u}^2 { v}_2,</math>
# dla dowolnej relacji <math>R</math> relacja
należy do języka <math>L </math>, więc każdy z wyprowadzonych powyżej
<math>((R^\alpha)^\beta)^\gamma</math> jest relacją równoważności
wniosków prowadzi do sprzeczności.


# dla dowolnej relacji <math>R</math> zachodzi
<center><math>((R^\alpha)^\beta)^\gamma =((R^\gamma)^\beta)^\alpha
</math></center>
W każdym z powyższych przypadków proszę podać dowód lub
kontrprzykład.
'''Rozwiązanie: '''
# Zaczniemy od pokazania, że dowolne domknięcie relacji zwrotnej jest zwrotne. Rozważamy relacje na zbiorze <math>X</math>. Z definicji zwrotności mamy
<math>R</math> jest zwrotna wtedy i tylko wtedy gdy <math>R\supset 1_X</math>. W definicji domknięcia [[##defn:domkniecie|Uzupelnic defn:domkniecie|]] punkt pierwszy mówi, że jeśli <math>S</math> jest
domknięciem to <math>S\supset R</math>. Wobec tego konieczne jest aby <math>S\supset 1_X</math>. Zwróćmy uwagę, że powyższy argument działa dla dowolnych klas rodzin relacji
domkniętych na przecięcia. Stąd otrzymujemy, że symetryczne domknięcie relacji zwrotnej jest zwrotne,
i przechodnie domknięcie relacji zwrotnej jest zwrotne. Ponieważ relacja <math>R^\alpha</math> jest zwrotna, to również zwrotna musi być <math>((R^\alpha)^\beta)^\gamma</math>.
Pokażemy teraz, że przechodnie domknięcie relacji symetrycznej jest symetryczne. Wykorzystamy charakteryzację domknięcia przechodniego z ćwiczenia
[[##ex:charakteryzacjeDomkniec|Uzupelnic ex:charakteryzacjeDomkniec|]]. Można łatwo pokazać indukcyjnie, że dla dowolnego <math>n\inN\setminus\{0\}</math> mamy <math>(R^n)^{-1}=(R^{-1})^n</math>.
Dla relacji symetrycznych dostajemy więc <math>(R^n)^{-1}=R^n</math>. Wobec tego mamy
<center><math>(\bigcup\{R^n:n\in N \setminus \{0\}\})^{-1} = \bigcup\{(R^n)^{-1}:n\in N \setminus \{0\}\}=
\bigcup\{R^n:n\in N \setminus \{0\}\}
</math></center>
a więc przechodnie domknięcie relacji symetrycznej jest symetryczne. Oznacza to, że
relacja <math>((R^\alpha)^\beta)^\gamma</math> jest symetryczna. Wcześniej pokazaliśmy, że jest
zwrotna. Ponieważ jest przechodnim domknięciem to jest też przechodnia. Wobec tego
jest relacją równoważności.
# Pokażemy relację <math>R</math> dla której relacja <math>((R^\gamma)^\beta)^\alpha</math> nie jest przechodnia. Ponieważ relacja <math>((R^\alpha)^\beta)^\gamma</math>
jest przechodnia, będzie to oznaczało że te relacje są różne. Niech <math>X=\{0,1,2\}</math> oraz <math>R=\{(0,2),(1,2)\}</math>. Relacja <math>R</math> jest przechodnia
więc <math>R^\gamma=R</math> jej symetryczne domknięcie to <math>(R^\gamma)^\beta=\{(0,2),(2,0),(1,2),(2,1)\}</math>. I po zwrotnym domknięciu otrzymujemy
<math>((R^\gamma)^\beta)^\alpha=\{(0,2),(2,0),(1,2),(2,1),(0,0),(1,1),(2,2)\}</math>. Łatwo zauważyć, że otrzymana relacja nie jest przechodnia,
gdyż <math>(0,2),(2,1)\in ((R^\gamma)^\beta)^\alpha</math> podczas gdy <math>(0,1)\notin ((R^\gamma)^\beta)^\alpha</math>.
==Iloczyn kartezjański i podobne konstrukcje (''rozdział dla
dociekliwych)''==
W definicji [[##iloczyn_kartezjanski|Uzupelnic iloczyn_kartezjanski|]] zaprezentowanej w rozdziale
[[##section_iloczyn_kartezjanski|Uzupelnic section_iloczyn_kartezjanski|]] jest pewna nieścisłość. Konstrukcja iloczynu
kartezjańskiego odwołuje się do aksjomatu wyróżniania w wersji nieuprawomocnionej.
Konstrukcja którą zobaczą państwo w tym rozdziale usuwa tą poprzednią niedogodność.
{{twierdzenie|[Uzupelnij]||
Dla dowolnych dwóch zbiorów <math>x</math> i <math>y</math> istnieje zbiór <math>x\times y</math> zawierający
wszystkie pary postaci <math>(w,z)</math> gdzie <math>w\in x</math> i <math>z\in y</math>.
}}
}}


==Rozstrzygalność==
{{dowod|[Uzupelnij]||


Udowodniony w poprzedniej części wykładu lemat o pompowaniu wykorzystywany bywa
Ustalmy dwa dowolne zbiory <math>x</math> i <math>y</math>. Jeśli <math>x=\emptyset</math> lub <math>y=\emptyset</math> to
również w dowodach rozstrzygalności pewnych problemów w klasie języków rozpoznawalnych.
<math>x\times y = \emptyset</math> istnieje na podstawie aksjomatu zbioru pustego. W przeciwnym
przypadku <math>x\cup y</math> jest zbiorem jednoelementowym <math>\{z\}</math> to <math>x\times
y=\{\{\{z\}\}\}</math> istnieje na podstawie aksjomatu pary. W dalszej częsci dowodu
zakładamy że zbiory <math>x</math> i <math>y</math> są niepuste i że <math>x\cup y</math> ma więcej niż jeden element.
Na podstawie aksjomatu zbioru potęgowego, aksjomatu unii i aksjomatu wycinania
następujące zbiory istnieją:


W klasie języków regularnych <math>\mathcal{REG}(A^{*}) </math> następujące
A &<nowiki>=</nowiki>z{P}(x)|  w z <nowiki>=</nowiki>w, <br>
problemy są rozstrzygalne:
B &<nowiki>=</nowiki>z{P}(x y)|  w  v (w  v  z<nowiki>=</nowiki>v,w),<br>
C &<nowiki>=</nowiki>z{P}({P}(y))|  v z<nowiki>=</nowiki>v<nowiki>=</nowiki>(v,v).


#  problem niepustości języka <math>L\neq \emptyset, </math>
Nasze założenia gwarantują, że żaden z powyższych zbiorów nie jest pusty. Kontynuując
możemy stworzyć


#  problem nieskończoności języka <math>card\, L=\aleph _{0}, </math>
D_0 &<nowiki>=</nowiki>z{P}(A B)|  w  v w v
z<nowiki>=</nowiki>w,w,v<nowiki>=</nowiki>(w,v),


#  problem równości języków <math>L_{1}=L_{2}, </math>
w którym to zbiorze mamy pewność, że <math>w</math> jest elementem <math>x</math>. Kontynuujemy definiując


# problem należenia słowa do języka <math>w\in L. </math>
D_0' &<nowiki>=</nowiki>z{P}(D_0 C)|  w v w v
z<nowiki>=</nowiki>(w,v),(v,v),


[[##niepusty|Uzupelnic niepusty|]].
gdzie mamy pewność, że <math>w</math> jest elementem <math>x</math>, a <math>v</math> elementem <math>y</math>, oraz
Wystarczy sprawdzić niepustość skończonego podzbioru języka
<math>L. </math> Prawdziwa jest bowiem równoważność


<center><math>L\neq \oslash \: \Leftrightarrow \: \exists w\in L\, :\, \mid w\mid <N,</math></center>
D_0" &<nowiki>=</nowiki>z{P}(D_0 C)|  w v w v
z<nowiki>=</nowiki>(w,v),(w,w ),


gdzie <math>N </math> jest stałą występującą w lemacie o pompowaniu.
gdzie mamy pewność, że <math>w\in A\cap B</math>. Kończąc
Prawdziwość implikacji <math>\Leftarrow  </math> jest oczywista. Fakt, że
do niepustego języka należy słowo o długości ograniczonej
przez <math>N </math>, wynika z lematu o pompowaniu. Jeśli <math>w\in L </math> i <math>\mid w\mid \geq N </math>,
rozkładamy słowo <math>w </math>  następująco:


<center><math>w=v_{1}uv_{2},\; \; u\neq 1,\; \; \forall i=0,1,2\ldots \: v_{1}u^{i}v_{2}\in L. </math></center>
x y &<nowiki>=</nowiki>z D_0' |  w  v w v
z<nowiki>=</nowiki>(w,v) z D_0" |  w z<nowiki>=</nowiki>(w,w).


Przyjmując <math>i=0 </math> mamy:
}}


<center><math>v_{1}v_{2}\in L,\; \mid v_{1}v_{2}\mid <\mid w\mid </math></center>
{{twierdzenie|[Uzupelnij]||


Powtarzając powyższy rozkład skończoną ilość razy
Jeśli <math>x,y</math> i <math>z</math> są zbiorami i <math>z\subseteq x\times y</math> to zbiorem jest również ogół
otrzymamy słowo należące do języka, o długości ograniczonej
<math>v</math> takich, że istnieje <math>w</math> spełniające <math>(v,w)\in z</math>. Zbiór takich <math>v</math> oznaczamy
przez <math>N </math>.
przez <math>\pi_1(z)</math> i nazywamy projekcją na pierwszą współrzędną.
}}


[[##nieskonczony|Uzupelnic nieskonczony|]].
{{dowod|[Uzupelnij]||
Należy udowodnić równoważność : <center><math>L \mbox{ nieskończony } \;\; \Longleftrightarrow \;\;\exists w \in L \;\; : \;\; N \leq \mid w \mid < 2N</math></center>


<math>\Longrightarrow  </math> <br>
Zbiór <math>\pi_1(z)</math> istnieje na podstawie aksjomatów ZF i jest równy:
Jeśli <math>L </math> jest nieskończonym zbiorem, to istnieje słowo <math>w </math>
dowolnie długie. Niech <math>\mid w\mid \geq N </math>''.'' Jeśli słowo
<math>w </math> nie spełnia ograniczenia <math>\mid w\mid <2N </math>, to podobnie jak
poprzednio korzystamy z lematu o pompowaniu i po skończonej ilości
kroków otrzymamy słowo krótsze od <math>2N </math>. Należy jeszcze zauważyć,
że wykorzystując lemat o pompowaniu możemy założyć,
że usuwane słowo <math>u </math> ma długość ograniczoną
przez <math>N </math>. (Zawsze znajdziemy słowo <math>u </math> spełniające ten
warunek.) Oznacza to, że ze słowa dłuższego od <math>2N </math> nie
dostaniemy słowa krótszego od <math>N </math>. <br>
<math>\Longleftarrow  </math><br>
Jeśli do języka <math>L </math> należy słowo <math>w </math> o długości
większej lub równej  <math>N </math>, to z lematu o&nbsp;pompowaniu wynika, że


<center><math>w=v_{1}uv_{2},\: u\neq 1\;\;\; i\;\;\; v_{1}u^{*}v_{2}\subset L</math></center>
<center><math>\pi_1(z) = \bigcup\{w\in\bigcup z\,|\, \exists u\; w=\{u\}\}.
</math></center>
 
}}


Istnieje więc nieskończony podzbiór zawierający się w <math>L </math>, a zatem język <math>L </math> jest  nieskończony.
W tej chwili jesteśmy gotowi dowieść własność zapowiedzianą w Wykład. AKS Dla
[[##rownosc|Uzupelnic rownosc|]].
dowolnej formuły <math>\varphi'</math> nie posiadającej zmiennych wolnych innych niż <math>z'</math> i
Niech <math>L=(L_{1}\cap \overline{L_{2}})\cup (\overline{L_{1}}\cap L_{2}) </math>.
<math>x_1'</math> następująca formuła jest prawdą
Z domkniętości klasy <math>\mathcal{L}_{3} </math> na operaje boolowskie
wynika, że język <math>L </math> jest regularny. Prawdziwa jest równoważność


<center><math>L\neq \emptyset \Longleftrightarrow L_{1}\neq L_{2}. </math></center>
<center><math>\forall x_1' \forall x' \exists y' \forall z'\; z'\in y' \iff (z'\in x' \land
\varphi').
</math></center>


Poblem równoważności języków został sprowadzony do problemu
Aby dowieść tą własność ustalmy dowolną formułę <math>\varphi'</math> i dowolny zbiór <math>x_1'</math>.
niepustości.
Stosujemy aksjomat wyróżniania do <math>x=x\times \{x_1'\}</math>&nbsp;(który istnieje na mocy
Twierdzenia&nbsp;[[##tw:produktistnieje|Uzupelnic tw:produktistnieje|]]) i do formuły


[[##nalezenie|Uzupelnic nalezenie|]].
<center><math>\exists z' \exists x_1'\; z=(z',x_1')\land\varphi'
Konstruujemy automat <math>\mathcal{A} </math></center><nowiki>=</nowiki>(S,f,s_0,T)<math> rozpoznający język
</math></center>
</math>L <math> i sprawdzamy, czy </math>f(s_{0},w) T. <math>


\begincenter  \endcenter  \endprf
otrzymując zbiór <math>y</math>. Wymagany zbiór <math>y'</math> istnieje na mocy
Twierdzenia&nbsp;[[##tw:pierwszaproj|Uzupelnic tw:pierwszaproj|]] i jest równy <math>\pi_1(y)</math>.


Ilustracją dla powyższego wprowadzenia może być problem skończoności w~klasie
Przykładem zastosowania powyższego twierdzenia może być otrzymanie drugiej projekcji
jezyków regularnych. Problem jest rozstrzygalny, bowiem w oparciu o lemat
z iloczynu kartezjańskiego. Aby otrzymać <math>\pi_2(z)</math> stosujemy powyższe twierdzenie do
o~pom\-po\-wa\-niu można skonstruować algorytm, który dla dowolnego języka regularnego
<math>x_1'=z</math>, <math>x=\bigcup\bigcup{z}</math> i wyrażenia <math>\varphi'</math> mówiącego <math>\exists w\;
rozstrzygnie ten problem, czyli odpowie twierdząco lub przecząco na pytanie
(w,z')\in x_1'</math>.
o jego skończoność.</math>

Wersja z 18:13, 18 sie 2006

{tw}{Twierdzenie}[section] {fa}[tw]{Fakt} {AZbioruPustego}{Aksjomat Zbioru Pustego} {APary}{Aksjomat Pary} {ASumy}{Aksjomat Sumy}

{}{0pt} {}{0pt} {}{0in} {}{-0.5in} {}{6.3in} {}{9in}

{cwicz}[section] {obra}[section] {hint}

{thm}{Twierdzenie}[section] {defn}[thm]{Definicja}

{Zadanie}[thm]{Zadanie} {Uwaga}[thm]{Uwaga} {Przykład}[thm]{Przykład} {Rozwiązanie}[thm]{Rozwiązanie} {Hint}[thm]{Hint}

{equation}{section}

{kuba_preamble1} {kuba_preamble2}

0mm 2ex

{lem}[thm]{ Lemat } {mtw}[tw]{Meta twierdzenie}

{Cwiczenie}[thm]{Ćwiczenie}

Logika i teoria mnogości

Wykład 5

Zawartość wykładu: Para uporządkowana, iloczyn kartezjański, relacje, relacje równoważności, rozkłady zbiorów, domykanie relacji, rozdział dla dociekliwych.

Para uporządkowana

Bardzo często będziemy chcieli mieć do czynienia ze zbiorem, który niesie w sobie informacje o dwóch innych zbiorach, informacje tak udatnie zakodowaną aby można było odzyskać z niej każdą z jego składowych. Do tego celu wprowadzimy zbiór nazywany parą uporządkowaną dwóch innych zbiorów.

Niech x oraz y będą zbiorami. Przez parę uporządkowaną (x,y) rozumiemy zbiór

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{ \left\{x\right\}\, \left\{x,y\right\}\\right\}\\] \enddefn Parę uporządkowaną można zdefiniować inaczej na wiele sposobów. Chodzi jednak o to aby ze zbioru który jest parą można było odzyskać jednoznacznie każdą z jego składowych. Tak więc moglibyśmy zaakceptować każdą inną inną definicję pod warunkiem, że będzie spełnione następujące twierdzenie: {{twierdzenie|[Uzupelnij]|| Dla dowolnych zbiorów } a,b,c,dzachodzi:

(a,b) = (c,d) a=c {0.1mm} b= d

Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod|[Uzupelnij]|| Dowód przeprowadzimy tylko ze strony lewej do prawej bo w odwrotnym kierunku jest to fakt oczywisty. Niech zatem dwie pary } (a,b)i(c,d)Parser nie mógł rozpoznać (błąd składni): {\displaystyle będą równe. Ponieważ } a (a,b)Parser nie mógł rozpoznać (błąd składni): {\displaystyle więc } a (c,d).Mamyzatema= c lub {a} ={c,d}$.Wpierwszymprzypadkua=cParser nie mógł rozpoznać (błąd składni): {\displaystyle ale w drugim również jest tak, mamy bowiem, że } c a. Pierwszą część twierdzenia mamy za sobą bo już wiemy,

że pierwsze współrzędne równych par są równe.

(a,b)=(a,d)

Następnie przeprowadzamy dowód przez przypadki. Jeżeli jest tak, że a=b to Parser nie mógł rozpoznać (błąd składni): {\displaystyle (a,b)=\left\{\left\{a\right\}\\right\}\$. Zatem } a
right= aa,d
right co daje, że Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{a,d\right\}\=\left\{a\right\}\$ a zatem } d=a.Wprzeciwnymprzypadkugdya bParser nie mógł rozpoznać (błąd składni): {\displaystyle mamy, że } a,b aa,d
right. Daje to dwie możliwości albo Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{a,b\right\}\ = \left\{a\right\}\$ co nie może mieć miejsca bo mielibyśmy, że } a=bParser nie mógł rozpoznać (błąd składni): {\displaystyle , albo zaś } a,b= a,d. To drugie prowadzi do naszej tezy b=d. }}

Dla każdej pary x=(a,b) udowodnij, że

x=a.

Rozwiązanie: Rozważymy dwa przypadki.

  1. Jeśli a=b to x={{a}} i wtedy x=a.
  1. Jeśli ab to x={{a},{a,b}} a więc
x={{a},{a,b}}={a}{a,b}={a}

skąd otrzymujemy

x=a

Udowodnij, że dla dowolnej pary uporządkowanej x zbiór

(𝒫(x)𝒫())

jest pusty gdy współrzędne par są różne, a w przeciwnym przypadku jest zbiorem jednoelementowym zawierającym współrzędną pary x.

Rozwiązanie: Jeśli x jest parą to istnieją zbiory a,b takie, że x=(a,b).

  1. Przypuśćmy, że ab. Wtedy x={{a},{a,b}} i 𝒫(x)={,{{a}},{{a,b}},x}. Ponieważ 𝒫()={}

to 𝒫(x)𝒫()={{{a}},{{a,b}},x} a wtedy

(𝒫(x)𝒫())=

gdyż przecinany zbiór zawiera elementy rozłączne {{a}},{{a,b}}. Wobec tego również

(𝒫(x)𝒫())=
  1. W przypadku, gdy a=b otrzymujemy x={{a}} a więc 𝒫(x)={,{{a}}} i wtedy 𝒫(x)𝒫()={{{a}}} skąd otrzymujemy
Parser nie mógł rozpoznać (nieznana funkcja „\kPs”): {\displaystyle \bigcap \bigcap ( \kPs(x) \setminus \mathcal{P}(\emptyset)) = \{a\} }

Pokaż, że z każdej pary x można otrzymać jej drugą współrzędną posługując się jedynie parą x, mnogościowymi operacjami Parser nie mógł rozpoznać (nieznana funkcja „\kPs”): {\displaystyle \bigcup, \bigcap, \cup,\cap,\setminus,\kPs} oraz stałą .

Wskazówka:

  1. Rozważ najpierw pary różnych elementów.
  1. Wykorzystaj zbiór z Ćwiczenia Uzupelnic ex:paraPS|

Rozwiązanie: Rozważmy najpierw przypadek gdy para ma różne elementy. Zobaczymy, że dla każdej takiej pary x=(a,b) mamy

(xx)=b.

Ponieważ ab to x={{a},{a,b}} i wtedy

(xx)=({a,b}{a})={b}=b.

Zobaczmy teraz jak proponowany wzór działa na parach o równych współrzędnych. Jeśli x=(a,a) to x={{a}} i wtedy

(xx)=({a}{a})==.

Musimy więc jeszcze trochę popracować. Wykorzystajmy ćwiczenie Uzupelnic ex:paraPS|, niech nowy wzór będzie postaci

(xx)(𝒫(x)𝒫()).

Dla par o różnych elementach dodana część wzoru jest zbiorem pustym, więc ta sytuacja jest analogiczna do Uzupelnic eq:cwiczeniePara2wsp1|, skąd otrzymujemy że tak zdefiniowany zbiór jest równy b.

Dla par o równych elementach, pierwsza część zbioru jest zbiorem pustym. W ćwiczeniu Uzupelnic ex:paraPS| pokazaliśmy że w takim przypadku mamy (𝒫(x)𝒫())={b} jeśli b jest współrzędną pary x. Wobec tego

(xx)(𝒫(x)𝒫())={b}=b.

Iloczyn kartezjański

Zanim wprowadzimy definicję zbioru wszystkich par uporządkowanych elementów dwóch zbiorów (zwanego dalej iloczynem kartezjańskim) należy nam się krótka dyskusja. Otóż niech xX oraz yY. Łatwo zauważyć, że zarówno {x,y}$jakix są podzbiorami XY. Zatem {x,y} 𝒫(XY) oraz {x} 𝒫(XY). Więc Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{\left\{x\right\}\,\left\{x,y\right\}\\right\}\ \subseteq \mathcal{P} (X \cup Y)} co daje, że (x,y)𝒫(𝒫(XY)).

Istnienie i konstrukcja iloczynu kartezjańskiego zostało dokładnie omówione w dodatkowym rozdziale Uzupelnic konstukcja_marcina| znajdującym się na końcu. Proponuje przestudiowanie dodatkowego rozdziału dopiero po zapoznaniu się z rozdziałami wcześniejszymi pomimo braku precyzji w następnej definicji.

Niech x,y będą zbiorami. Iloczynem kartezjańskim (produktem) x×y nazywamy zbiór

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{z\in \mathcal{P}( \mathcal{P}( x \cup y)): \exists_{a \in x} \exists_{b \in y} \;\; (a,b) =z\right\}\ }

Będziemy używać specjalnej notacji x2 na zbiór x×x.

Pokaż następujące elementarne własności iloczynu kartezjańskiego:

Parser nie mógł rozpoznać (nieznana funkcja „\alignedx”): {\displaystyle \alignedx \times \emptyset & = & \emptyset \\ x \times (y \cup z) & = & (x \times y) \cup (x \times z) \\ x \times (y \cap z) & = & (x \times y) \cap (x \times z) \\ x \times (y \setminus z) & = & (x \times y) \setminus (x \times z) \endaligned}

Rozwiązanie: Z definicji iloczynu kartezjańskiego, oraz twierdzenia Uzupelnic para-up_tw| łatwo wynika następujący fakt, który wykorzystamy w dowodach. Dla dowolnych zbiorów a,b,x,y zachodzi

(a,b)x×y(axby).

x =
z {P}({P}(x z)): _{a x} _{b } (a,b)=z=
z {P}({P}(x z)): _{a x} _{b}[ (b ) (a,b)=z]

Ponieważ b jest zawsze fałszem to powyższy zbiór jest pusty.

  1. Ponieważ obydwa zbiory są zbiorami par więc wykażemy że dowolna para należy do jednego

wtedy i tylko wtedy gdy należy do drugiego. Weźmy dowolną parę (a,b) wtedy

(a,b) x (y z)
a x b (y z)
a x (b y b z)
(a x b y) (a x b z)
(a,b) x y (a,b) x z
(a,b) x y x z.

  1. Analogicznie do poprzedniego punktu, weźmy dowolną parę (a,b), wtedy

(a,b) x (y z)
a x b (y z)
a x (b y b z)
(a x b y) (a x b z)
(a,b) x y (a,b) x z
(a,b) x y x z.

  1. Analogicznie do poprzednich punktów, weźmy dowolną parę (a,b), wtedy

(a,b) (x y) (x z)
a x b y (a x b z)
b y (a x (a x b z))
b y [(a x a x) (a x b z)]
b y (a x b z)
a x (b y z)
(a,b) x (y z)

Produkt kartezjański × jest monotoniczny ze względu na każdą współrzędną osobno to znaczy:

Parser nie mógł rozpoznać (nieznana funkcja „\alignedx”): {\displaystyle \alignedx \subset y & \hspace*{0.1mm} \Rightarrow & (x \times z) \subset (y \times z) \\ x \subset y & \hspace*{0.1mm} \Rightarrow & (z \times x) \subset (z \times y) \endaligned}

Rozwiązanie: Ćwiczenie jest elementarne.

  1. Niech x,y będą dowolnymi zbiorami takimi, że xy. Wtedy dla dowolnej pary (a,b) mamy

(a,b) x z
a x b z
a y b z
(a,b) y z.

Stąd (x×z)(y×z).

  1. Dla dowolnych zbiorów xy mamy xy=y. Z poprzedniego

ćwiczenia otrzymujemy

z×y=z×(xy)=(z×x)(z×y)(z×x).

(Metoda z poprzedniego punktu podziała równie dobrze.)

Sprawdź, czy dla dowolnych zbiorów A,B,C, prawdziwa jest następująca implikacja

A×B=A×CB=C

Rozwiązanie: Nie. Na przykład gdy A= to dla dowolnych zbiorów B,C mamy

×B==×C.

Biorąc różne zbiory B,C otrzymamy kontrprzykład dla badanej implikacji.

Relacje

Relacją nazywamy każdy podzbiór iloczynu x×y

Operacje na relacjach:

Niech RA×B oraz SB×C.

Parser nie mógł rozpoznać (błąd składni): {\displaystyle S \circ R  := \left\{(x,z)\in A \times C : \exists_{y\in B} (x,y)\in R \hspace*{0.1mm} \wedge (y,z)\in S \right\}\$ \bigskip } R^{-1} := (y,x) B A : (x,y) R

RL:={xA:yB(x,y)R}$R_P := y B : _{x A} (x,y) R

Niech relacja RA×B,SB×C oraz TC×D. Pokazać elementarne własności operacji na relacjach:

Parser nie mógł rozpoznać (nieznana funkcja „\alignedT”): {\displaystyle \alignedT \circ ( S \circ R ) & = & (T \circ S)\circ R \\ (S \circ R )^{-1} & = & R^{-1} \circ S^{-1} \\ R & \subset & R_L \times R_P \\ (S \circ R)_L & \subset & R_L \\ (S \circ R)_P & \subset & S_P \\ (R^{-1} )_L & = & R_P \endaligned}

Rozwiązanie: Ćwiczenie jest elementarne.

(x,z) T ( S R )
_{u} [(x,u) ( S R ) (u,z) T]
_{u} [_{v}( (x,v) R (v,u) S) (u,z) T]
_{u} _{v}[ (x,v) R (v,u) S (u,z) T]
_{v} _{u}[ (x,v) R ((v,u) S (u,z) T)]
_{v} [ (x,v) R _{u}((v,u) S (u,z) T)]
_{v} [ (x,v) R (v,z) T S]
(x,z) (T S) R

(x,z) (S R )^{-1}
(z,x) S R
_{y} [(z,y) R (y,x) S]
_{y} [(y,z) R^{-1} (x,y) S^{-1}]
(x,z) R^{-1} S^{-1}

(x,z) R
_{y} (x,u) R _{v} (v,y) R
x R_L y R_P
(x,y) R_L R_P

x (S R)_L
_{z} (x,z) S R
_{z} _{y} [(x,y) R (y,z) S ]
_{z} _{y} (x,y) R
_{y} (x,y) R
x R_L

  1. Dowód (SR)PSP jest analogiczny do poprzedniego.

x (R^{-1} )_L
_{y} (x,y) R^{-1}
_{y} (y,x) R
x R_P

Niech relacja RB×C,SB×C oraz TA×B. Pokaż własności:

Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned(R \cup S )^{-1} & = & R^{-1} \cup S^{-1} \\ (R \cap S )^{-1} & = & R^{-1} \cap S^{-1} \\ (R^{-1})^{-1} & = & R \\ (R \cup S ) \circ T & = & (R \circ T) \cup (S \circ T)\\ (R \cap S ) \circ T & \subset & (R \circ T) \cap (S \circ T) \endaligned}

Rozwiązanie: Ćwiczenie jest elementarne. W poniższych punktach (1-4) pokażemy, że dowolna para należy do zbioru po lewej stronie odpowiedniej równości wtedy i tylko wtedy gdy należy do prawej. W punkcie 5, pokazujemy jedynie implikację w prawą stronę, gdyż mamy udowodnić inkluzję.

(x,y) (R S)^{-1}
(y,x) (R S)
(y,x) R (y,x) S
(x,y) R^{-1} (x,y) S^{-1}
(x,y) R^{-1} S^{-1}

  1. Dowód drugiej równości jest analogiczny do dowodu pierwszej, wystarczy użyć w miejsce oraz w miejsce .

(x,y) (R^{-1})^{-1}
(y,x) R^{-1}
(x,y) R

(x,z) (R S ) T
_y [(x,y) T (y,z) (R S )]
_y [(x,y) T ((y,z) R (y,z) S ))]
_y [((x,y) T (y,z) R) ((x,y) T (y,z) S ))]
[_y ((x,y) T (y,z) R)] [_y ((x,y) T (y,z) S )]
(x,z) (R T) (x,z) (S T)
(x,z) (R T) (S T)

(x,z) (R S ) T
_y [(x,y) T (y,z) (R S )]
_y [(x,y) T ((y,z) R (y,z) S ))]
_y [((x,y) T (y,z) R) ((x,y) T (y,z) S ))]
[_y ((x,y) T (y,z) R)] [_y ((x,y) T (y,z) S )]
(x,z) (R T) (x,z) (S T)
(x,z) (R T) (S T)

Podaj przykład relacji dla których poniższa równość nie jest prawdziwa.

(RS)T=(RT)(ST)

Rozwiązanie: Niech R={(1,3)},S={(2,3)},T={(0,1),(0,2)} wtedy

  1. RS= więc (RS)T=.
  1. TR={(0,3)} i TS={0,3} a więc

(RT)(ST)={0,3}

Udowodnij, że zbiór A jest relacją wtedy i tylko wtedy gdy

A(A)×(A)

Rozwiązanie: Pokażemy najpierw, że dla każdej relacji R mamy

R=RLRP.

Zaczniemy od inkluzji .Weźmy dowolny element xR wtedy musi istnieć element yR taki że xy. Skoro yR to musi istnieć para (a,b)R taka, że y(a,b). Wobec tego z definicji pary uporządkowanej y={a} lub y={a,b}. Ponieważ xy to x=a i wtedy xRL lub x=b i wtedy xRP. Wobec tego xRLRP.

Pokażemy teraz prawdziwość inkluzji w równaniu Uzupelnic eq:cwiczenieBCBC|. Weźmy dowolny element aRL wtedy istnieje element bRP taki, że (a,b)R, a więc {(a,b)}R. Stąd otrzymujemy

{(a,b)}R.

Ponieważ {(a,b)}={{a},{a,b}}={a,b} to otrzymujemy {a,b}R, a więc aR. Analogiczne rozumowanie można przeprowadzić dla elementu bRP. Zakończyliśmy więc dowód równości Uzupelnic eq:cwiczenieBCBC|.

W temacie ćwiczenia implikacja w lewą stronę jest oczywista. Jeśli A jest zbiorem to A jest zbiorem i A jest podzbiorem iloczynu kartezjańskiego dwóch zbiorów więc musi być relacją. Dla implikacji w prawą stronę załóżmy, że A jest relacją wtedy

AAL×AP(ALAP)×(ALAP)=(A)×(A)

Relacje równoważności

W tym podrozdziale poznamy ważną klasę (zbiór) relacji zwaną klasą relacji równoważności(w innych podręcznikach mogą się państwo spotkać z nazwą relacja abstrakcji). Relacje takie będą służyły do definiowania pojęć abstrakcyjnych o czym przekonamy się w wielu miejscach tego i innych wykładów. Bardzo dobrym ćwiczeniem pokazującym abstrakcyjne metody definiowania pojęć będzie wykład 8 w którym zaprzęgniemy relacje abstrakcji do definiowania liczb.

Rozpoczynamy rozdział od koniecznej definicji.

Dla zbioru X definiujemy relację 1XX×X

jako Parser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle \left\{ z \in X \times X : \exists_{x\in X} \;\; (x,x)=z \right\}\$. \enddefn \begindefn Relację } R X XParser nie mógł rozpoznać (błąd składni): {\displaystyle nazywamy relacją równoważnością o polu } XParser nie mógł rozpoznać (błąd składni): {\displaystyle jeżeli: * zawiera relacje } 1_X Parser nie mógł rozpoznać (błąd składni): {\displaystyle (zwrotność } R)*R^{-1} R(symetriaR)*R R RParser nie mógł rozpoznać (błąd składni): {\displaystyle (przechodniość } RParser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle ) \enddefn \beginCwiczenie Pokazać, że definicje zwrotności, symetryczności i przechodniości relacji o polu } XParser nie mógł rozpoznać (błąd składni): {\displaystyle są odpowiednio równoważne następującym własnościom: * } _{ x X} (x,x) R*_{ x,y X} (x,y) R (y,x) R*_{ x,y,z X} (x,y) R (y,z) R (x,z) RParser nie mógł rozpoznać (błąd składni): {\displaystyle \textbf{Rozwiązanie: }Ćwiczenie jest elementarne. \endCwiczenie \begindefn Niech } RParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie relacją równoważności o polu } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Klasą równoważności elementu } x XParser nie mógł rozpoznać (błąd składni): {\displaystyle jest zbiór }

[x]_R := y X : (x,y) R

Parser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle \enddefn \begindefn Zbiór klas równoważności relacji } RParser nie mógł rozpoznać (błąd składni): {\displaystyle będący elementem zbioru } {P}

( {P} (X X))oznaczamyprzezX/RParser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle . \enddefn {{twierdzenie|[Uzupelnij]|| Niech } RParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie relacją równoważności o polu } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Następujące warunki są równoważne # } [x]_R [y]_R Parser nie mógł rozpoznać (błąd składni): {\displaystyle # } [x]_R = [y]_RParser nie mógł rozpoznać (błąd składni): {\displaystyle # } (x,y) RParser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod|[Uzupelnij]|| Pokażemy, że } (1) (2)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Niech wspólny element dwóch klas } [x]_Roraz[y]_RParser nie mógł rozpoznać (błąd składni): {\displaystyle nazywa się } zParser nie mógł rozpoznać (błąd składni): {\displaystyle . Ze względu na pełną symetrię tezy wystarczy pokazać, że } [x]_R [y]_R.Niechzatemp [x]_RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Mamy więc } (x,p) RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Z założenia jest również } (y,z) Roraz(x,z) R.Zsymetriiotrzymujemy(z,x) R.Zatem(y,z) Ri(z,x) Ri(x,p) RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Natychmiast z przechodniości otrzymujemy, że } (y,p) RParser nie mógł rozpoznać (błąd składni): {\displaystyle .\\ Pokażemy, że } (2) (3)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Ze zwrotności mamy, że } y [y]_RParser nie mógł rozpoznać (błąd składni): {\displaystyle co z założenia } (2)dajey [x]_RParser nie mógł rozpoznać (błąd składni): {\displaystyle a to tłumaczy się na } (x,y) RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Pokażemy, że } (3) (1)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Wystarczy pokazać, że wspólnym elementem klas } [x]_Roraz[y]_RjestyParser nie mógł rozpoznać (błąd składni): {\displaystyle . Dla pierwszej z nich wynika to z założenia } (3)Parser nie mógł rozpoznać (błąd składni): {\displaystyle a dla drugiej ze zwrotności } RParser nie mógł rozpoznać (błąd składni): {\displaystyle . }} W następnym twierdzeniu zobaczymy jak rodzina relacji równoważności jest odporna na przecinanie. Pokażemy mianowicie, że przecięcie dowolnej liczby relacji równoważności jest nadal relacją równoważności. {{twierdzenie|[Uzupelnij]|| Niech będzie pewną rodziną (zbiorem) relacji równoważności o tym samym polu } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Mamy że: # jest relacją równoważności o polu } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . # } [x]_{ } = [x]_R : R

}}

Dowód [Uzupelnij]

(1) Zwrotność κ jest oczywista ponieważ 1X zawiera się w każdej relacji rodziny κ. Symetria. Weźmy (x,y)κ. Dla każdej relacji Rκ jest (x,y)R. Z symetrii każdej R jest więc (y,x)R co daje (y,x)κ. Przechodniość. Niech (x,y)κ oraz (y,z)κ. Dla każdej relacji Rκ jest więc (x,y)R i (y,z)R. Z przechodniości każdej relacji R mamy, że (x,z)R co daje (x,z)κ.
(2) Niech y[x]κ. Mamy zatem, że (x,y)κ co daje (x,y)R dla każdej relacji Rκ. To zaś daje, że y[x]R dla każdej Rκ co jest równoważne z Parser nie mógł rozpoznać (błąd składni): {\displaystyle y\in\bigcap \left\{[x]_R : R\in \kappa\right\}\$. }} W szczególności przecięcie wszystkich relacji równoważności o polu } Xdaje1_XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Jest ona najsilniejszą relacją równoważności. Najsłabszą jest } X^2Parser nie mógł rozpoznać (błąd składni): {\displaystyle . ===Rozkłady zbiorów=== \begindefn Niech } X Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Rodzinę } r {P} ( {P} (X))Parser nie mógł rozpoznać (błąd składni): {\displaystyle nazywamy rozkładem zbioru } XParser nie mógł rozpoznać (błąd składni): {\displaystyle gdy # } _{C r} C Parser nie mógł rozpoznać (błąd składni): {\displaystyle # } r =XParser nie mógł rozpoznać (błąd składni): {\displaystyle # } (C r {0.1mm} D r {0.1mm} C D ){0.1mm} C D =Parser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle \enddefn {{lemat|[Uzupelnij]|| Dla relacji równoważności } RopoluXParser nie mógł rozpoznać (błąd składni): {\displaystyle zbiór } X/RParser nie mógł rozpoznać (błąd składni): {\displaystyle jest rozkładem } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . }} {{dowod|[Uzupelnij]|| } (1)Parser nie mógł rozpoznać (błąd składni): {\displaystyle Każda klasa jest niepusta bo zawiera element, który ją wyznacza. } (2) X/R XParser nie mógł rozpoznać (błąd składni): {\displaystyle bo każda klasa jest podzbiorem } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Odwrotnie każdy } x [x]_R X/R.(3)Parser nie mógł rozpoznać (błąd składni): {\displaystyle Dwie klasy gdy są rożne muszą być rozłączne co udowodniliśmy w twierdzeniu [[##thm:rownowaznosc|Uzupelnic thm:rownowaznosc|]]. }} \begindefn Niech } rParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie rozkładem zbioru } X.DefiniujemyrelacjeR_r

X XParser nie mógł rozpoznać (błąd składni): {\displaystyle następująco: }

(x,y) R_r wtw _{C r} x C {0.1mm} y C

Parser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle \enddefn {{lemat|[Uzupelnij]|| Dla rozkładu } r {P} ( {P}

(X))relacjaR_rParser nie mógł rozpoznać (błąd składni): {\displaystyle jest: # równoważnością # } X/{R_r} = rParser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod|[Uzupelnij]|| } (1)RelacjaR_rParser nie mógł rozpoznać (błąd składni): {\displaystyle jest zwrotna każdy bowiem } x XParser nie mógł rozpoznać (błąd składni): {\displaystyle musi leżeć w pewnym zbiorze } CParser nie mógł rozpoznać (błąd składni): {\displaystyle rozkładu } r.SymetriaR_rParser nie mógł rozpoznać (błąd składni): {\displaystyle nie wymaga dowodu. Przechodniość } R_r.Niech(x,y)

R_ri(y,z) R_rParser nie mógł rozpoznać (błąd składni): {\displaystyle . Istnieją zatem dwa zbiory } CiDParser nie mógł rozpoznać (błąd składni): {\displaystyle rozkładu } rParser nie mógł rozpoznać (błąd składni): {\displaystyle takie, że } x,y Corazy,z DParser nie mógł rozpoznać (błąd składni): {\displaystyle . Przecięcie } CiDParser nie mógł rozpoznać (błąd składni): {\displaystyle jest więc niepuste zatem } C=DParser nie mógł rozpoznać (błąd składni): {\displaystyle co daje tezę } (x,z) R_rParser nie mógł rozpoznać (błąd składni): {\displaystyle .\\ } (2)Inkluzjawprawo.NiechC X/{R_r}.KlasaCjestzatemwyznaczonaprzezpewienelementxParser nie mógł rozpoznać (błąd składni): {\displaystyle taki, że } C= [x]_{R_r}.NiechD rParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie zbiorem rozkładu } rParser nie mógł rozpoznać (błąd składni): {\displaystyle do którego należy } xParser nie mógł rozpoznać (błąd składni): {\displaystyle . Łatwo wykazać, że } C=D.Inkluzjawlewo.NiechC r.Cjestniepustywiecistniejex C.Klasa[x]_{R_r} =CParser nie mógł rozpoznać (błąd składni): {\displaystyle . }} \beginCwiczenie Niech } XParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie niepustym zbiorem, oraz niech } Y XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Zdefiniujemy relację } R {P}(X) {P}(X)Parser nie mógł rozpoznać (błąd składni): {\displaystyle następująco: dla dowolnych zbiorów } A,B Xmamy

(A,B) R A{.}{} B Y.

({.}{}Parser nie mógł rozpoznać (błąd składni): {\displaystyle oznacza różnicę symetryczną zbiorów, czyli } A{.}{} B = (A B) (B A)Parser nie mógł rozpoznać (błąd składni): {\displaystyle ) Udowodnij, że relacja } RParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności. \textbf{Wskazówka: } Najtrudniej jest pokazać przechodniość. Udowodnij, że } A {.}{} C (B{.}{} C) (A{.}{} B)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Dobrym punktem wyjścia jest naszkicowanie wszystkich przecięć zbiorów } A,B,CParser nie mógł rozpoznać (błąd składni): {\displaystyle . \textbf{Rozwiązanie: }Pokażemy po kolei zwrotność, przechodniość i symetryczność. # Dla każdego } A XmamyA{.}{} A= YParser nie mógł rozpoznać (błąd składni): {\displaystyle , a więc relacja } RParser nie mógł rozpoznać (błąd składni): {\displaystyle jest zwrotna. # Ponieważ dla dowolnych zbiorów } A{.}{} B= B{.}{} Ato(A,B) Rwtedyitylkowtedygdy(B,A) R.WobectegorelacjaRParser nie mógł rozpoznać (błąd składni): {\displaystyle jest symetryczna. # Weźmy zbiory } A,B,C XParser nie mógł rozpoznać (błąd składni): {\displaystyle , takie że } (A,B), (B,C) RParser nie mógł rozpoznać (nieznana funkcja „\beginalign”): {\displaystyle . Wtedy \beginalign* A \frac{.}{} C= (A\setminus C) \cup (C\setminus A) =\\ (((A\cap B) \cup (A\setminus B))\setminus C) \cup (((C\cap B) \cup (C\setminus B))\setminus A) =\\ ((A\cap B)\setminus C) \cup ((A\setminus B)\setminus C) \cup ((C\cap B)\setminus A) \cup ((C\setminus B)\setminus A) \subset\\ (B\setminus C) \cup (A\setminus B) \cup (B\setminus A) \cup (C\setminus B)=\\ (B\frac{.}{} C) \cup (A\frac{.}{} B). \endalign* Ponieważ z definicji relacji } Rmamy(B{.}{} C) Yoraz (A{.}{} B) YParser nie mógł rozpoznać (błąd składni): {\displaystyle to ich suma też jest podzbiorem } YParser nie mógł rozpoznać (błąd składni): {\displaystyle i konsekwencji również } A{.}{} C YParser nie mógł rozpoznać (błąd składni): {\displaystyle . Oznacza to, że } (A,C) RParser nie mógł rozpoznać (błąd składni): {\displaystyle , a więc relacja } RParser nie mógł rozpoznać (nieznana funkcja „\endCwiczenie”): {\displaystyle jest przechodnia. \endCwiczenie \beginCwiczenie Udowodnij, że dla relacji równoważności } R,SnazbiorzeX,relacjaR SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności wtedy i tylko wtedy gdy }

_{x X}( [x]_R [x]_S [x]_R [x]_S).

Parser nie mógł rozpoznać (błąd składni): {\displaystyle Podaj przykłady relacji równoważności } R,SParser nie mógł rozpoznać (błąd składni): {\displaystyle takich, że } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności oraz } R SiS RParser nie mógł rozpoznać (błąd składni): {\displaystyle . \textbf{Wskazówka: } Przyjrzyj się dokładnie rodzinie zbiorów } A=[x]_R [x]_S : x XParser nie mógł rozpoznać (błąd składni): {\displaystyle . \textbf{Rozwiązanie: }Zaczniemy od pokazania, że formuła } Uzupelnic eq:klasyInkluzje|Parser nie mógł rozpoznać (błąd składni): {\displaystyle implikuje, że relacja } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności. Pokażemy, że rodzina } A=[x]_R [x]_S :

x XParser nie mógł rozpoznać (błąd składni): {\displaystyle tworzy rozkład zbioru } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Oczywiście, dla każdego elementu } x Xmamy[x]_R [x]_S orazx [x]_R [x]_SParser nie mógł rozpoznać (błąd składni): {\displaystyle . Wystarczy więc pokazać, że zbiory w rodzinie } AParser nie mógł rozpoznać (błąd składni): {\displaystyle są rozłączne. Weźmy dowolne dwa elementy rodziny } AParser nie mógł rozpoznać (błąd składni): {\displaystyle i przypuśćmy, że ich przecięcie jest niepuste. Niech to będą zbiory odpowiadające elementom } x,y XParser nie mógł rozpoznać (błąd składni): {\displaystyle a więc } [x]_R [x]_Soraz[y]_R [y]_SParser nie mógł rozpoznać (błąd składni): {\displaystyle . Skoro te zbiory mają niepuste przecięcie to istnieje } z ([x]_R [x]_S) ([y]_R [y]_S)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Ponieważ } z [x]_R [x]_Stoz [x]_R z [x]_SParser nie mógł rozpoznać (błąd składni): {\displaystyle co jest równoważne } x [z]_R x [z]_S.Podobnerozumowaniedlazdajey [z]_R y [z]_S.Wobecczegodostajemyx,y [z]_R [z]_SParser nie mógł rozpoznać (błąd składni): {\displaystyle ponieważ jednak zgodnie z formułą [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] jedna z tych klas jest nadzbiorem drugiej, to } x,y [z]_Rlubx,y [z]_S.Wprzypadku,gdy[z]_R [z]_SParser nie mógł rozpoznać (błąd składni): {\displaystyle dostajemy również z [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] } [z]_R=[x]_R [x]_Soraz[z]_R=[y]_R [y]_Swobecczegootrzymujemy[x]_R [x]_S =[z]_R=[y]_R [y]_S.Drugiprzypadekjestanalogiczny.WobecczegorodzinaAParser nie mógł rozpoznać (błąd składni): {\displaystyle jest rozkładem zbioru } XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Wystarczy teraz przekonać się że } (a,b) R Swtedyitylkowtedy,gdya [b]_R [b]_SParser nie mógł rozpoznać (błąd składni): {\displaystyle , aby udowodnić, że jest to rzeczywiście rozkład generowany przez relację } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle . Weźmy dowolne } a,b XParser nie mógł rozpoznać (nieznana funkcja „\beginalign”): {\displaystyle wtedy \beginalign* (a,b)\in R\cup S \Leftrightarrow (a,b)\in R \vee (a,b)\in S \Leftrightarrow a\in[b]_R \vee a\in [b]_S \Leftrightarrow a \in [b]_R \cup [b]_S. \endalign* Pokażemy teraz, że jeśli } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności to musi być spełniona formuła [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]]. Dla dowodu nie wprost przypuśćmy, że nie jest spełniona. Oznacza to, że istnieje element } x XParser nie mógł rozpoznać (błąd składni): {\displaystyle dla którego } [x]_R [x]_Soraz[x]_R [x]_S.Wobectegoistniejey [x]_R [x]_Sorazz [x]_S [x]_RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Oznacza to, że } (y,x) R Soraz(x,z) S R.SkoroR SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności to } (z,y) R SParser nie mógł rozpoznać (błąd składni): {\displaystyle . Przypuśćmy, że } (z,y) R.Wtedy(z,y),(y,x) Rwobecczego(z,x) RParser nie mógł rozpoznać (błąd składni): {\displaystyle co jest sprzeczne z tym że } (x,z) S RParser nie mógł rozpoznać (błąd składni): {\displaystyle ponieważ relacja } RParser nie mógł rozpoznać (błąd składni): {\displaystyle jest symetryczna. Analogiczną sprzeczność otrzymujemy dla } (z,x) SParser nie mógł rozpoznać (błąd składni): {\displaystyle . Obie możliwości prowadzą do sprzeczności, a więc formuła [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] musi być spełniona. Na koniec podajemy przykład relacji równoważności, równoważności } R,SParser nie mógł rozpoznać (błąd składni): {\displaystyle takich, że } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności oraz } R SiS RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Polem relacji będzie zbiór } X=0,1,2,3.RelacjeR,SParser nie mógł rozpoznać (błąd składni): {\displaystyle określimy poprzez wyznaczane przez nie rozkłady odpowiednio } r,sParser nie mógł rozpoznać (nieznana funkcja „\beginalign”): {\displaystyle : \beginalign* r=\{\{0\},\{1\}, \{2,3\}\}\\ s=\{\{0,1\}, \{2\},\{3\}\}. \endalign* Łatwo sprawdzić, że } R SiS RParser nie mógł rozpoznać (błąd składni): {\displaystyle , gdyż } (2,3) R Soraz(0,1) S RParser nie mógł rozpoznać (błąd składni): {\displaystyle . Z rozkładów } r,sParser nie mógł rozpoznać (błąd składni): {\displaystyle łatwo wynika, że formuła [[##eq:klasyInkluzje|Uzupelnic eq:klasyInkluzje|]] jest prawdziwa dla tych relacji, wobec czego } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle jest relacją równoważności. Wyznaczany przez nią rozkład to } 0,1,2,3Parser nie mógł rozpoznać (nieznana funkcja „\endCwiczenie”): {\displaystyle . \endCwiczenie ===Domykanie relacji=== W praktyce matematycznej często potrzebne jest rozważanie domknięć relacji ze względu na wiele przeróżnych własności. W podrozdziale tym dokonamy charakteryzacji domknięć. Pokażemy między innymi kiedy takie domykanie jest możliwe. \begindefn Niech będzie rodziną relacji o polu } X,czyliniech {P} ( {P} (X^2))Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Rodzina jest zamknięta na przecięcia gdy # } X^2 Parser nie mógł rozpoznać (błąd składni): {\displaystyle # jeżeli } ' to ' Parser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle \enddefn Poniżej podamy definicję domknięcia relacji w pewnej klasie (zbiorze) relacji. Definiujemy intuicyjnie najmniejszą relacje zawierającą daną należącą do klasy. \begindefn Relacja } S X^2Parser nie mógł rozpoznać (błąd składni): {\displaystyle jest domknięciem relacji } R X^2Parser nie mógł rozpoznać (błąd składni): {\displaystyle w klasie (zbiorze) relacji gdy: # } R SParser nie mógł rozpoznać (błąd składni): {\displaystyle # } S Parser nie mógł rozpoznać (błąd składni): {\displaystyle # dla każdej relacji } TParser nie mógł rozpoznać (błąd składni): {\displaystyle jeżeli } R TorazT toS TParser nie mógł rozpoznać (nieznana funkcja „\enddefn”): {\displaystyle \enddefn {{lemat|[Uzupelnij]|| Domknięcie relacji (w dowolnej klasie) jeżeli istnieje to jest jedyne. }} {{dowod|[Uzupelnij]|| Gdyby istniały dwa domknięcia pewnej relacji to ze względu na warunek } (3)Parser nie mógł rozpoznać (błąd składni): {\displaystyle wzajemnie by się zawierały. }} {{twierdzenie|[Uzupelnij]|| Następujące warunki są równoważne: # Klasa relacji jest domknięta na przecięcia. # Każda relacja ma domknięcie w klasie relacji . }} {{dowod|[Uzupelnij]|| } (1) (2).NiechRParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie relacją. Utwórzmy zbiór relacji } 'jako S{P} (X^2) : R S {0.1mm} S . Takie α nie jest puste bowiem relacja totalna X2 należy do α. Pokażmy, że α jest domknięciem R w α. Istotnie Rα. Z założenia mamy też αα. Minimalność α stwierdzamy przez: niech RS takie że Sα. Takie S musi leżeć w zbiorze α jest więc αS.
(2)(1). Po pierwsze X2 leży w zbiorze α bo wystarczy domknąć X2. Niech α będzie niepustym podzbiorem α. Niech S0 będzie domknięciem α w α. Wiemy, że dla dowolnej relacji S o ile αS i Sα to S0S. Połóżmy za S dowolny element z α. Założenia implikacji pozostają automatycznie spełnione, jest więc tak, że S0S dla dowolnej S wyjętej z α. W takim razie S0α. Ponieważ mamy też αS0 bo S0 było domknięciem jest więc α=S0 a to oznacza, że S0α.

Pokazać jak wyglądają domknięcia w klasie relacji, zwrotnych, symetrycznych i przechodnich.

Pokazać stosując twierdzenie Uzupelnic thm:domkniecie|, że nie istnieje domknięcie spójne ani antysymetryczne. (Relacja R jest spójna gdy Parser nie mógł rozpoznać (błąd składni): {\displaystyle \forall x,y (x,y) \in R \hspace*{0.1mm} \vee (y,x)\in R} . Relacja R jest antysymetryczna gdy z faktu, że (x,y)R oraz (y,x)R da się pokazać, że x=y)

Rozwiązanie: Ćwiczenie jest elementarne.

  1. Pokażemy, że dla każdej relacji RX2 jej domknięcie w klasie relacji zwrotnych na X to R1X.

Pokażemy po kolei, że spełnia warunki domknięcia.

    1. RR1X
    1. 1XR1X, a więc jest zwrotna
    1. weźmy dowolną zwrotną relację TR. Ponieważ T jest zwrotna to T1X, a więc TR1X.
  1. Pokażemy, że dla każdej relacji RX2 jej domknięcie w klasie relacji symetrycznych na X to RR1.

Pokażemy po kolei, że spełnia warunki domknięcia.

    1. RRR1
    1. (RR1)1=R1(R1)1=R1R=RR1, a więc jest symetryczna
    1. weźmy dowolną symetryczną relację TR. Ponieważ T jest symetryczna to

TT1. Skoro TR to T1R1. Ponieważ TT1 to TRR1.

  1. Posługując się intuicyjnym pojęciem liczb naturalnych przedstawimy szkic konstrukcji przechodniego domknięcia,

pomimo że konstrukcja ta wyprzedza prezentowany materiał. Dla dowolnej liczby nN{0} przez Rn będziemy oznaczać n-krotne złożenie relacji R z sobą (czyli R1=R oraz Rn+1=RnR dla n>1). Zdefiniujmy rodzinę jako zbiór wszystkich skończonych wielokrotnych złożeń relacji R z sobą, czyli ={rX2:nN(n0Rn=r)}. Do formalnego zdefiniowania rodziny potrzebne są pojęcia liczb naturalnych, funkcji oraz definiowania przez indukcje, które zostaną przedstawione w następnych rozdziałach. Pokażemy teraz, że domknięcie relacji R w klasie relacji przechodnich na X to relacja . Pokażemy po kolei, że spełnia warunki domknięcia.

    1. R=R1
    1. Aby pokazać, że relacja jest przechodnia weźmy dowolne dwie pary (a,b),(b,c).

Wtedy muszą istnieć liczby n,mN takie, że (a,b)Rn oraz (b,c)Rm. Wobec tego (a,c)RmRn. Z łączności składania relacji wynika, że RmRn=Rm+n. Wobec tego (a,c)Rm+n.

    1. Weźmy dowolną przechodnią relację T taką, że RT pokażemy indukcyjnie, że dla każdego

nN{0} mamy RnT.

      1. Baza indukcji. Dla n=1 mamy R1=R a więc z założenia R1T.
      1. Krok indukcyjny. Weźmy dowolne nN{0,1} i przypuśćmy, że dla każdego 0<m<n

zachodzi RmT. Weźmy dowolną parę (a,c)Rn. Ponieważ n>1 to Rn=Rn1R. Oznacza to, że istnieje element bX taki, że (a,b)R oraz (b,c)Rn1. Z założenia indukcyjnego wynika, że (a,b)T oraz (b,c)T. Ponieważ T jest przechodnia to (a,c)T. Wobec dowolności wyboru pary (a,c) otrzymujemy RnT.

Skoro dla każdego nN{0} mamy RnT to również T.

Pokażemy teraz że istnieje zbiór X taki, że klasa relacji spójnych na zbiorze X i klasa relacji symetrycznych na zbiorze X nie są domknięte na przecięcia. W obliczu twierdzenia Uzupelnic thm:domkniecie| będzie to oznaczało, że nie wszystkie relacje mają domknięcia w tych klasach. Niech X={0,1}.

  1. Relacje {(0,1),(0,0),(1,1)},{(1,0),(0,0),(1,1)} są spójne na X, a ich

przecięcie czyli zbiór {(0,0),(1,1)} nie jest.

  1. Relacja X2 nie jest antysymetryczna, a więc klasa relacji antysymetrycznych na X

nie jest domknięta na przecięcia.

Dla relacji R niech Rα, Rβ, Rγ oznaczają odpowiednio zwrotne, symetryczne, przechodnie domknięcie relacji R. Czy prawdą jest że:

  1. dla dowolnej relacji R relacja

((Rα)β)γ jest relacją równoważności

  1. dla dowolnej relacji R zachodzi
((Rα)β)γ=((Rγ)β)α

W każdym z powyższych przypadków proszę podać dowód lub kontrprzykład.

Rozwiązanie:

  1. Zaczniemy od pokazania, że dowolne domknięcie relacji zwrotnej jest zwrotne. Rozważamy relacje na zbiorze X. Z definicji zwrotności mamy

R jest zwrotna wtedy i tylko wtedy gdy R1X. W definicji domknięcia Uzupelnic defn:domkniecie| punkt pierwszy mówi, że jeśli S jest domknięciem to SR. Wobec tego konieczne jest aby S1X. Zwróćmy uwagę, że powyższy argument działa dla dowolnych klas rodzin relacji domkniętych na przecięcia. Stąd otrzymujemy, że symetryczne domknięcie relacji zwrotnej jest zwrotne, i przechodnie domknięcie relacji zwrotnej jest zwrotne. Ponieważ relacja Rα jest zwrotna, to również zwrotna musi być ((Rα)β)γ. Pokażemy teraz, że przechodnie domknięcie relacji symetrycznej jest symetryczne. Wykorzystamy charakteryzację domknięcia przechodniego z ćwiczenia Uzupelnic ex:charakteryzacjeDomkniec|. Można łatwo pokazać indukcyjnie, że dla dowolnego Parser nie mógł rozpoznać (nieznana funkcja „\inN”): {\displaystyle n\inN\setminus\{0\}} mamy (Rn)1=(R1)n. Dla relacji symetrycznych dostajemy więc (Rn)1=Rn. Wobec tego mamy

({Rn:nN{0}})1={(Rn)1:nN{0}}={Rn:nN{0}}

a więc przechodnie domknięcie relacji symetrycznej jest symetryczne. Oznacza to, że relacja ((Rα)β)γ jest symetryczna. Wcześniej pokazaliśmy, że jest zwrotna. Ponieważ jest przechodnim domknięciem to jest też przechodnia. Wobec tego jest relacją równoważności.

  1. Pokażemy relację R dla której relacja ((Rγ)β)α nie jest przechodnia. Ponieważ relacja ((Rα)β)γ

jest przechodnia, będzie to oznaczało że te relacje są różne. Niech X={0,1,2} oraz R={(0,2),(1,2)}. Relacja R jest przechodnia więc Rγ=R jej symetryczne domknięcie to (Rγ)β={(0,2),(2,0),(1,2),(2,1)}. I po zwrotnym domknięciu otrzymujemy ((Rγ)β)α={(0,2),(2,0),(1,2),(2,1),(0,0),(1,1),(2,2)}. Łatwo zauważyć, że otrzymana relacja nie jest przechodnia, gdyż (0,2),(2,1)((Rγ)β)α podczas gdy (0,1)((Rγ)β)α.

==Iloczyn kartezjański i podobne konstrukcje (rozdział dla dociekliwych)==

W definicji Uzupelnic iloczyn_kartezjanski| zaprezentowanej w rozdziale Uzupelnic section_iloczyn_kartezjanski| jest pewna nieścisłość. Konstrukcja iloczynu kartezjańskiego odwołuje się do aksjomatu wyróżniania w wersji nieuprawomocnionej. Konstrukcja którą zobaczą państwo w tym rozdziale usuwa tą poprzednią niedogodność.

Twierdzenie [Uzupelnij]

Dla dowolnych dwóch zbiorów x i y istnieje zbiór x×y zawierający wszystkie pary postaci (w,z) gdzie wx i zy.

Dowód [Uzupelnij]

Ustalmy dwa dowolne zbiory x i y. Jeśli x= lub y= to x×y= istnieje na podstawie aksjomatu zbioru pustego. W przeciwnym przypadku xy jest zbiorem jednoelementowym {z} to x×y={{{z}}} istnieje na podstawie aksjomatu pary. W dalszej częsci dowodu zakładamy że zbiory x i y są niepuste i że xy ma więcej niż jeden element. Na podstawie aksjomatu zbioru potęgowego, aksjomatu unii i aksjomatu wycinania następujące zbiory istnieją:

A &=z{P}(x)

Twierdzenie [Uzupelnij]

Jeśli x,y i z są zbiorami i zx×y to zbiorem jest również ogół v takich, że istnieje w spełniające (v,w)z. Zbiór takich v oznaczamy przez π1(z) i nazywamy projekcją na pierwszą współrzędną.

Dowód [Uzupelnij]

Zbiór π1(z) istnieje na podstawie aksjomatów ZF i jest równy:

π1(z)={wz|uw={u}}.

W tej chwili jesteśmy gotowi dowieść własność zapowiedzianą w Wykład. AKS Dla dowolnej formuły φ nie posiadającej zmiennych wolnych innych niż z i x1 następująca formuła jest prawdą

x1xyzzy(zxφ).

Aby dowieść tą własność ustalmy dowolną formułę φ i dowolny zbiór x1. Stosujemy aksjomat wyróżniania do x=x×{x1} (który istnieje na mocy Twierdzenia Uzupelnic tw:produktistnieje|) i do formuły

zx1z=(z,x1)φ

otrzymując zbiór y. Wymagany zbiór y istnieje na mocy Twierdzenia Uzupelnic tw:pierwszaproj| i jest równy π1(y).

Przykładem zastosowania powyższego twierdzenia może być otrzymanie drugiej projekcji z iloczynu kartezjańskiego. Aby otrzymać π2(z) stosujemy powyższe twierdzenie do x1=z, x=z i wyrażenia φ mówiącego w(w,z)x1.