Logika i teoria mnogości/Wykład 8: Konstrukcje liczbowe, liczby całkowite, wymierne, konstrukcja Cantora liczb rzeczywistych: działania i porządek: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Matiunreal (dyskusja | edycje)
Matiunreal (dyskusja | edycje)
Linia 679: Linia 679:
<span id="twierdzenie_3_6">{{twierdzenie|3.6.||
<span id="twierdzenie_3_6">{{twierdzenie|3.6.||


Relacja <math>\displaystyle \simeq </math> określona na <math>\displaystyle X</math> jest relacją
Relacja <math>\displaystyle \simeq </math> określona na <math>\displaystyle X</math> jest relacją równoważności.  
równoważności. }}</span>
}}</span>


{{dowod|||
{{dowod|||

Wersja z 19:22, 1 wrz 2006

Liczby całkowite

Na wykładzie poprzednim skonstruowaliśmy przy pomocy aksjomatu nieskończoności liczby naturalne. Określiliśmy dla nich podstawowe operacje takie jak dodawanie i mnożenie. Teraz własności tych operacji będą użyte do dalszych konstrukcji liczbowych. Pokażemy, że mając liczby naturalne zbudowane na bazie liczby 0 czyli zbioru pustego możemy definiować bardziej skomplikowane twory liczbowe takie jak liczby całkowite, wymierne i w końcu liczby rzeczywiste. Wszystkie te obiekty maja ogromne zastosowanie w praktyce matematycznej i informatycznej. Będziemy później w innych wykładach odwoływać się do niebanalnej reprezentacji tych obiektów, które stworzymy w tym rozdziale.

Konstrukcja liczb całkowitych

Definicja 1.1.

Niech będzie relacją określoną na × następująco:

(n,k)(p,q) wtw n+q=k+p

Ćwiczenie 1.2

Relacja jest relacją równoważności o polu ×.

Rozwiązanie

Ćwiczenie 1.3

Wykaż, że dla dowolnej pary (n,k)× istnieje para (p,q)× taka, że (n,k)(p,q) oraz p=0 lub q=0.

Rozwiązanie

Definicja 1.4.

Niech =×/

Ćwiczenie 1.5

Które z liczb całkowitych [(n,k)] są relacjami równoważności na ?

Rozwiązanie

Operacje na

Definicja 1.6.

Element zero 0 to element [(0,0)].

Element przeciwny do danego: jeżeli x=[(n,k)] to przez x=[(k,n)]

Dodawanie: [(n,k)]+[(p,q)]=[(n+p,k+q)].

Mnożenie: [(n,k)][(p,q)]=[(np+kq,nq+kp)]{Dla przejrzystości zapisu będziemy czasami pomijać znak pisząc xy zamiast xy}.

Odejmowanie: xy=x+(y)

Proszę o zwrócenie uwagi na pewną kolizję oznaczeń. Po lewej stronie definicji (dodawania, mnożenia i odejmowania) używamy tych samych znaków działań co po stronie prawej. Jest to ewidentna kolizja oznaczeń, którą wykonujemy z pełną świadomością. W praktyce matematycznej i informatycznej przyjęło się używać te same znaki działań wiedząc, że mają one zgoła inne znaczenie. Również element 0 będziemy oznaczać identycznie jak 0 w liczbach naturalnych pomimo, że jest to zupełnie inny zbiór. Pod koniec tej konstrukcji podamy naturalne włożenie (iniekcje wkładającą liczby naturalne w całkowite) takie, które zachowuje działania na liczbach co upewni nas, że stosowanie tych samych oznaczeń nie grozi konfliktem.

Ćwiczenie 1.7

Pokazać, że działania na liczbach całkowitych są dobrze określone. To znaczy pokazać, że zbiory (klasy równoważności) będące wynikiem działań nie nie zależą od wyboru reprezentantów :

Wskazówka
Rozwiązanie

Ćwiczenie 1.8

Pokaż własności działań dodawania i mnożenia. Dla dowolnych liczb całkowitych x,y,z zachodzą równości:

  1. x+y=y+x (przemienność dodawania)
  2. xy=yx (przemienność mnożenia)
  3. xy=zy oraz y0 to x=z (prawo skracania)
  4. x(y+z)=xy+xz (rozdzielność)
Wskazówka
Rozwiązanie

Porządek liczb całkowitych

Definicja 1.9.

Liczba [(n,k)][(p,q)] zachodzi gdy n+qp+k.

Ćwiczenie 1.10

Pokaż, że definicja porządku nie jest zależna od wyboru reprezentanta.

Wskazówka
Rozwiązanie

Ćwiczenie 1.11

Pokaż, że porządek liczb całkowitych spełnia postulaty porządku liniowego to znaczy jest zwrotny, antysymetryczny, przechodni i spójny.

Wskazówka
Rozwiązanie

Definicja 1.12.

Rozważmy funkcje i: zadaną wzorem

i(n)=[(n,0)]

Funkcja ta jest naturalnym włożeniem zbioru w zbiór . Jako ćwiczenie pokażemy, że funkcja i jest iniektywna i zgodna z działaniami. Dzięki włożeniu i będziemy utożsamiali liczbę naturalną n z odpowiadającą jej liczbą całkowitą i(n). W ten sposób każdą liczbę naturalną możemy traktować jak całkowitą.

Ćwiczenie 1.13

Pokaż, że funkcja i jest iniekcją. Pokaż, że i jest zgodne z działaniami i porządkiem to znaczy:

  1. i(0)=0
  2. i(n+m)=i(n)+i(m)
  3. i(nm)=i(n)i(m)
  4. jeżeli nk to i(n)i(k)
Wskazówka
Rozwiązanie

Liczby wymierne

Niech *={}. Określamy relację na zbiorze ×* następująco.

(a,b)(c,d) wtw ad=cb

Ćwiczenie 2.1

Relacja jest równoważnością.

Wskazówka
Rozwiązanie

Definicja 2.2.

Niech =×*/

OZNACZENIE: Będziemy tradycyjne oznaczać ułamek ab. Oznacza on zbiór [(a,b)].

Ćwiczenie 2.3

Dla jakich liczb wymiernych [(a,b)] mamy [(a,b)]=?

Rozwiązanie

Działania na ułamkach

Definiujemy stałe i standardowe działania na ułamkach.

  • Zero w liczbach wymiernych 0 to [(0,1)].
  • Jedynka w liczbach wymiernych 1 to ułamek [(1,1)].
  • [(a,b)]=[(a,b)]
  • dodawanie [(a,b)]+[(c,d)]=[(ad+bc,bd)]
  • odejmowanie [(a,b)][(c,d)]=[(adbc,bd)]
  • mnożenie [(a,b)][(c,d)]=[(ac,bd)]
  • dzielenie, [(a,b)]:[(c,d)]=[(ad,bc)] gdy [(c,d)][(0,d)]

Tak jak poprzednio w przypadku liczb całkowitych będziemy starali się utożsamiać liczby całkowite z pewnymi ułamkami.

Proszę tak jak poprzednio o zwrócenie uwagi na kolizję oznaczeń. Jest to zamierzona kolizja oznaczeń, którą wprowadzamy z pełną świadomością. Po lewej stronie definicji (dodawania, mnożenia, odejmowania i liczby przeciwnej) używamy tych samych znaków działań co po stronie prawej. Pod koniec tej konstrukcji podamy naturalne włożenie (iniekcje wkładającą liczby całkowite w wymierne) takie, które zachowuje działania na liczbach. Upewni nas to, że stosowanie tych samych oznaczeń de facto nie grozi konfliktem.

Ćwiczenie 2.4

Pokazać, że działania na liczbach wymiernych są dobrze określone. To znaczy pokazać, że zbiory (klasy równoważności) będące wynikiem działań nie nie zależą od wyboru reprezentantów:

Wskazówka
Rozwiązanie

Porządek ułamków.

Definicja 2.5.

abcd gdy (adbc)bd0

Ćwiczenie 2.6

Pokaż, że definicja porządku nie jest zależna od wyboru reprezentanta.

Wskazówka
Rozwiązanie

Ćwiczenie 2.7

Pokaż, że porządek liczb wymiernych spełnia postulaty porządku liniowego to znaczy jest zwrotny, antysymetryczny, przechodni i spójny.

Wskazówka
Rozwiązanie

Do rozważań nad konstrukcją liczb rzeczywistych potrzebna nam będzie definicja wartości bezwzględnej

Definicja 2.8.

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle \left| x \right|\ = \left\{ \begin{array}{rll} x & \text{ gdy }, x\geq 0 \\ -x & \text{ w przeciwnym przypadku}. \end{array} }

Ćwiczenie 2.9

Pokaż, warunek trójkąta czyli:

|x+y||x|+|y|
Wskazówka
Rozwiązanie

Definicja 2.10.

Rozważmy teraz funkcje j: identyfikującą liczby całkowite jako pewne specjalne liczby wymierne zadaną wzorem

j(a)=[(a,1)]

Funkcja ta jest naturalnym włożeniem zbioru w zbiór . Jest iniektywna, zgodna z działaniami i zachowująca stałe. Pokazanie tych własności będzie treścią następnego ćwiczenia.

Ćwiczenie 2.11

Pokaż własności włożenia j.

  1. j(0)=0
  2. j(1)=1
  3. j(a+b)=j(a)+j(b)
  4. j(ab)=j(a)j(b)
  5. j(ab)=j(a)j(b)
  6. jeżeli xy to j(x)j(y)
Wskazówka
Rozwiązanie

Dzięki włożeniu j będziemy utożsamiali liczbę całkowitą a z odpowiadającą jej liczbą wymierną j(a)=[(a,1)].

Konstrukcja Cantora liczb rzeczywistych

Definicja 3.1.

Ciągiem elementów zbioru A nazywamy każdą funkcje a:A. Przez an oznaczamy element ciągu a(n).

Konstrukcja liczb rzeczywistych pochodzi od Georga Cantora. Genialny pomysł Georga Cantora polega na rozważaniu nieskończonych ciągów liczb wymiernych spełniających warunek Augustina Louis Cauchy'ego. Wiemy z analizy (patrz wykład analiza 1), że ciągi takie są zbieżne. Dlatego ciąg ten można uważać za aproksymacje liczby rzeczywistej. Będziemy za liczbę rzeczywistą brać wszystkie takie ciągi aproksymacji, które w sensie poniższych definicji będą dowolnie bliskie siebie.

Definicja 3.2.

Ciągiem Cauchy'ego zbioru liczb wymiernych nazywamy każdy taki ciąg a: który spełnia warunek (Cauchy'ego)

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle \forall_{\varepsilon \in \mathbb{Q} \hspace*{0.1mm} \wedge \varepsilon >0} \;\; \exists_{n_0 \in \mathbb{N}} \;\; \forall_{p,k \in \mathbb{N}} \;\; ( p>n_0 \wedge k >n_0 \hspace*{0.1mm} \Rightarrow \left| a_p - a_k \right| < \varepsilon ) }

Definicja 3.3.

Ciąg a: nazywamy ograniczonym gdy spełnia:

M>0n|an|<M

Fakt 1

Ciągi Cauchy'ego są ograniczone

Dowód

Do ciągu Cauchy'ego a będziemy dobierać ograniczenie M. Weźmy dodatnią liczbę wymierną ε. Dla niej, zgodnie z definicją 3.2 (patrz definicja 3.2.) znajdziemy tak duże n0, że dla wszystkich liczb naturalnych p,k poczynając od n0+1 będzie zachodzić |apak|<ε. Połóżmy za M największą z pośród liczb |a0|,|an0| oraz |an0+1|+ε powiększoną o 1. Łatwo sprawdzić, że tak zdefiniowane M majoryzuje moduły wszystkich liczb ciągu.

Poniżej wprowadzimy relacje równoważności na zborze ciągów Cauchy'ego, taką która skleja ciągi, które leżą dowolnie blisko. Każdy taki ciąg będzie inną aproksymacją tej samej liczby rzeczywistej. Zbiór wszystkich takich aproksymacji będzie dla nas właśnie liczbą rzeczywistą.

Definicja 3.4.

Niech X={a::a jest ciągiem Cauchy'ego }

Definicja 3.5.

Na zbiorze X ciągów Cauchy'ego określamy relację następująco: dwa ciągi a i b są równoważne co zapisujemy jako ab gdy:

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle \forall_{\varepsilon >0} \;\; \exists_{n_0 \in \mathbb{N}} \;\; \forall_{n \in \mathbb{N}} \;\; ( n>n_0 \hspace*{0.1mm} \Rightarrow \left| a_n - b_n \right| < \varepsilon ) }

Twierdzenie 3.6.

Relacja określona na X jest relacją równoważności.

Dowód

Zwrotność i symetria relacji są oczywiste. Zajmijmy się dowodem przechodniości. Niech ab oraz bc. Oznacza to:

Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \aligned \forall_{\varepsilon >0} \;\; \exists_{n_1 \in \mathbb{N}} \;\; \forall_{n \in \mathbb{N}} \;\; ( n>n_1 \hspace*{0.1mm} \Rightarrow \left| a_n - b_n \right| < \varepsilon ) \quad \mbox{(3.1)} \\ \forall_{\varepsilon >0} \;\; \exists_{n_2 \in \mathbb{N}} \;\; \forall_{n \in \mathbb{N}} \;\; ( n>n_0 \hspace*{0.1mm} \Rightarrow \left| b_n - c_n \right| < \varepsilon ) \quad \mbox{(3.2)} \endaligned}

Weźmy ε>0. Będziemy dobierać niezależnie liczby n1 i n2 do ε/2 dla pierwszej i drugiej pary ciągów. Mamy zatem parę nierówności: dla n>n1 zachodzi |anbn|<ε/2 oraz dla n>n2 zachodzi |bncn|<ε/2. Biorąc większą z tych dwóch liczb będziemy oczywiście jednocześnie spełniać obie nierówności. Zatem dla n>max(n1,n2) zachodzą |anbn|<ε/2 oraz |bncn|<ε/2. Używając nierówności trójkąta udowodnionego w ćwiczeniu w rozdziale 2.9 mamy:

|ancn||anbn|+|bncn|<ε/2+ε/2=ε

co kończy dowód.

Definicja 3.7.

Przez liczby rzeczywiste będziemy rozumieli zbiór X/ i oznaczamy przez .

Liczbą rzeczywistą jest zatem zbiór ciągów Cauchy'ego które leżą dowolnie blisko siebie. Na każdy taki ciąg można patrzeć jak na pewną aproksymacje danej liczby rzeczywistej.

Ćwiczenie 3.8

Ile razy należy poprzedzić znakiem zbiór , aby otrzymać ?

Rozwiązanie

Działania na

Definicja 3.9.

Dla ciągów a i b ciąg a+b oraz ab oznaczają ciągi zadane jako (a+b)(i)=a(i)+b(i) dla każdego i. Tak samo definiujemy mnożenie: (ab)(i)=a(i)b(i)

Definicja 3.10.

Dodawanie i mnożenie ciągów liczb wymiernych definiujemy po współrzędnych to znaczy:

  • dodawanie [a]+[b]=[a+b]
  • mnożenie [a][b]=[ab]

Ćwiczenie 3.11

Poniższe ćwiczenie odpowiada dowodowi ciągłości dodawania i mnożenia. W innej wersji będziecie państwo zapoznawać się z tym zagadnieniem na wykładzie 8 analizy matematycznej. Pokazać, że definicja dodawania i mnożenia liczb rzeczywistych jest poprawna i niezależna od wyboru reprezentantów:

Wskazówka
Rozwiązanie

Porządek na

Definicja 3.12.

Relacja [a]<[b] na zbiorze liczb rzeczywistych jest zdefiniowana jako

ε>0n0k>n0ak+ε<bk

Będziemy mówili, że liczba wymierna ε>0 rozdziela dwa ciągi Cauchy'ego poczynając od elementu an0+1.

Definicja 3.13.

Słaby porządek definiujemy tak jak zazwyczaj: dla liczb rzeczywistych xy gdy x<y (patrz definicja 3.12.) lub gdy x=y (patrz definicja 3.5.).

Twierdzenie 3.14.

Porządek na jest liniowy.

Dowód

Pokażemy, że dla dowolnych ciągów Cauchy'ego a i b jeżeli [a][b] to [a]<[b] lub [a]>[b]. Niech zatem [a][b]. Zgodnie z definicją oznacza to:

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle \exists_{\varepsilon>0} \;\; \forall_{n\in\mathbb{N}} \;\; \exists_{p\in\mathbb{N}} \;\; p>n \hspace*{0.1mm} \wedge \left| a_p -b_p \right| \geq \varepsilon }

Dobierzmy do ε/3 liczby na i nb odpowiednio dla ciągów a i b tak aby dla wszystkich k,r>max(na,nb) zachodziło |akar|<ε/3 oraz |bkbr|<ε/3. Zgodnie z formulą powyżej dla max(na,nb) musi istnieć p0>max(na,nb) takie, że |ap0bp0|ε. Ustalmy, że to ap0<bp0 (gdy będzie odwrotnie rozumowania jest identyczne). Weźmy zatem dowolne k>p0. Zachodzą następujące nierówności:

Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \aligned a_{p_0} + \varepsilon &\leq b_{p_0} \quad \mbox{(3.3)}\\ a_k - \varepsilon/3 &< a_{p_0} < a_k + \varepsilon/3 \quad \mbox{(3.4)}\\ b_k - \varepsilon/3 &< b_{p_0} < b_k + \varepsilon/3 \quad \mbox{(3.5)} \endaligned}

Łatwo pokazać stosując powyższe nierówności, że poczynając od p0 liczba wymierna ε/3 będzie rozdzielała obydwa ciągi Cauchy'ego. Mianowicie,

ak+ε/3<ap0+2ε/3bp0ε/3<bp0

Włożenie w

Rozważmy funkcje k: zadaną następująco: dla liczby wymiernej q liczba rzeczywista k(q) jest klasą równoważności ciągu stale równego q czyli k(q)=[b] gdzie b(n)=q. Tak więc liczby wymierne stają się częścią liczb rzeczywistych. Funkcja k jest naturalnym włożeniem zbioru w zbiór . Jest ona iniektywna i zgodna z działaniami i porządkiem.

  1. k(a+b)=k(a)+k(b)
  2. k(ab)=k(a)k(b)
  3. k(ab)=k(a)k(b)
  4. jeżeli a<b to k(a)<k(b)

Dzięki włożeniu k będziemy utożsamiali liczbę wymierną q z odpowiadającą jej liczbą rzeczywistą k(q).

Rozwijanie liczb rzeczywistych przy podstawie 2

Twierdzenie 3.15.

Dla każdej liczby rzeczywistej 0x<1 istnieje ciąg ax2 taki, że ciąg jego sum częściowych bx: dany jako bk=i=0kai2i+1 spełnia:

  1. bx jest ciągiem Cauchy'ego
  2. [bx]=x

Taki ciąg ax nazywamy rozwinięciem liczby x przy podstawie 2.

Dowód

Dla liczby rzeczywistej x podamy indukcyjną konstrukcję ciągu a będącego rozwinięciem dwójkowym liczby x i równolegle ciąg b jego sum częściowych. Jeżeli 0x<1/2 to definiujemy a0=0, w przeciwnym wypadku to znaczy kiedy 1/2x<1 definiujemy a0=1. Załóżmy, że mamy zdefiniowany ciąg a do wyrazu k. Wyraz k+1 definiujemy

  1. ak+1=1 jeżeli i=0kai2i+1+12k+2x
  2. ak+1=0 jeżeli i=0kai2i+1+12k+2>x

Ciąg b definiujemy tak jak w tezie twierdzenia to znaczy, bk=i=0kai2i+1.

Pokażemy indukcyjnie, że dla każdego k zachodzi

i=0kai2i+1xi=0kai2i+1+12k+1.(3.6)

Dowód tego faktu pozostawimy jako ćwiczenie 3.16. Z powyższej nierówności mamy pierwszy fakt, a mianowicie ciąg sum częściowych b jest ciągiem Cauchy'ego.

Ćwiczenie 3.16

Uzupełnij dowód indukcyjny nierówności 3.6 pierwszej części tezy twierdzenia 3.15 (patrz twierdzenie 3.15.). Wykonaj dowód drugiej części tezy twierdzenia 3.15 (patrz twierdzenie 3.15.). poprzedzającego to ćwiczenie.

Rozwiązanie

Konstrukcja przedstawiona powyżej rozwija liczbę rzeczywistą z przedziału [0,1) przy podstawie 2. Na każdym etapie konstrukcji sprawdzamy czy w przedziale w którym pracujemy aktualnie liczba znajduje się w lewej czy tez prawej połówce przedziału. Stosownie do tego wybieramy cyfrę 0 lub 1 rozwinięcia. Jak łatwo można przypuścić podobną konstrukcję jak w twierdzeniu 3.15 (patrz twierdzenie 3.15.) można wykonać przy dowolnej innej podstawie k2. W takim wypadku aktualny analizowany przedział dzielilibyśmy na k podprzedziałów i stosownie do położenia liczby wybieralibyśmy jedną z k cyfr ze zbioru {0,k1}. Przykładowo gdy za k wybierzemy k=10 dostaniemy przy pomocy takiej konstrukcji rozwinięcie dziesiętne danej liczby rzeczywistej.

Twierdzenie poniżej upewni nas o pewnej ciekawej własności rozwinięć. Otóż rozwinięcie przy podstawie k=2 otrzymane przy pomocy twierdzenia 3.15 (patrz twierdzenie 3.15.) zawsze jest takie, że zera w tym rozwinięciu występują dowolnie daleko. Innymi słowy, nie jest możliwe aby w rozwinięciu od pewnego miejsca występowały same jedynki. W przykładzie dotyczącym rozwinięcia dziesiętnego liczby odpowiada to sytuacji w której nie występują ciągi które stale od pewnego miejsca mają cyfrę 9.

Twierdzenie 3.17.

Rozwinięcia a uzyskane przy pomocy konstrukcji twierdzenia 3.15 (patrz twierdzenie 3.15.) dla liczby 0x<1 jest zawsze takie że:

kn>kan=0

Dowód

Przypuśćmy, że jest przeciwnie niż mówi teza czyli kn>kan=0. Weźmy najmniejsze takie k i nazwijmy go k0. Mamy zatem ak0=0 oraz wszystkie późniejsze wyrazy ai=1 dla i>k0. Rozwijana liczba x spełniać będzie dla każdego p1 nierówność 3.6 czyli zachodzić będzie:

bk01+12k0+2++12k0+p+1xbk01+12k0+2++12k0+p+1+12k0p+1

Liczbą, która spełnia wszystkie te nierówności jest bk01+12k0+1. Mamy zatem zamiast rozwinięcia, które nieformalnie zapiszemy jako a0ak010111 rozwinięcie a0ak011000. To właśnie to drugie rozwinięcie zostanie znalezione przez procedurę rekurencyjną przedstawioną w twierdzeniu 3.15 (patrz twierdzenie 3.15.).

Twierdzenie 3.18.

Istnieje bijekcja pomiędzy odcinkiem [0;1) a zbiorem {a2:kn>kan=0}

Dowód

Bijekcja jest zdefiniowana przy pomocy techniki wprowadzonej w twierdzeniu 3.15 (patrz twierdzenie 3.15.). Istnienie funkcji przypisującej liczbie rzeczywistej x jej rozwinięcie dwójkowe zostało tam opisane. Własność tego rozwinięcia kn>kan=0 została pokazana w twierdzeniu 3.17 (patrz twierdzenie 3.17.). Pozostaje uzasadnić iniektywność takiego przypisania. Niech xy. Załóżmy, że x<y. Rozważmy zatem ciągi a oraz a rozwinięć dwójkowych x i y. Nazwijmy ciągi ich sum częściowych odpowiednio przez b i b. Ciągi sum wyznaczają te liczby czyli [b]=x,[b]=y. Ciągi b i b muszą być różne bo inaczej wyznaczałyby te same liczby. W takim razie ciągi rozwinięć a i a muszą być różne.

Powyższe twierdzenie będzie miało fundamentalne znaczenie w teorii mocy o którym mowa będzie w Wykładzie 9. Pokazuje bowiem że liczby rzeczywiste są równoliczne ze zbiorem 2.