Jedną z istotnych własności zbiorów nieskończonych jest możliwość ich uporządkowania, czyli ponumerowania lub ustawienia w ciąg. Matematycy lubią nazywać zbiory o tej własności zbiorami przeliczalnymi i zaskakiwać młodych adeptów matematyki informacją, że wszystkie zbiory przeliczalne mają dokładnie tyle samo elementów co zbiór liczb naturalnych, ale fakt szokującej równoliczności nie będzie istotny w niniejszym tekście.
Zauważmy, że liczby naturalne można – nomen omen – „naturalnie” ustawić w ciąg:
\[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, \ldots \]
Podobnie możemy ustawić w ciąg liczby parzyste oraz liczby pierwsze:
\[ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, \ldots \]
\[ 2, 3, 5, 7, 11, 13, 17, 19, 23, \ldots \]
Przy odrobinie finezji możemy nawet ustawić w ciąg wszystkie liczby całkowite:
\[ 0, 1, ‑1, 2, ‑2, 3, ‑3, 4, ‑4, 5, \ldots \]
A co ze zbiorem liczb wymiernych? Z pozoru sytuacja się komplikuje – przecież między dowolnymi dwiema liczbami wymiernymi znajduje się nieskończenie wiele innych liczb wymiernych1. Jak zatem możemy rozsądnie ponumerować wszystkie liczby wymierne?
Zauważmy jednak, że wystarczy wskazać sposób uporządkowania liczb wymiernych dodatnich, ponieważ wszystkie liczby wymierne można będzie wówczas ustawić w nieskończony ciąg analogicznie do przedstawionego wcześniej porządku dla liczb całkowitych.
Najpopularniejszą metodą ustawiania dodatnich liczb wymiernych w ciąg jest zastosowanie następującego porządku:
Najpierw ustawiamy liczby o mniejszych sumach licznika i mianownika, a jeżeli sumy są takie same, to w pierwszej kolejności ustawiamy liczby o mniejszym liczniku.
Zatem „początkowe” dodatnie liczby wymierne będą ustawione następująco:
\( \underset{2}{\overset{\frac{1}{1},}{–}}{\:}\ \underset{3}{\overset{\frac{1}{2},\ \frac{2}{1},}{—}}{\:}\ \underset{4}{\overset{\frac{1}{3},\ ( \frac{2}{2} ),\ \frac{3}{1},}{——}}{\:}\ \underset{5}{\overset{\frac{1}{4},\ \frac{2}{3},\ \frac{3}{2},\ \frac{4}{1},}{———}}{\:}\ \underset{6}{\overset{\frac{1}{5},\ ( \frac{2}{4} ),\ ( \frac{3}{3} ),\ ( \frac{4}{2} ),\ \frac{5}{1},}{—————}}{\:}\ \underset{7}{\overset{\frac{1}{6},\ \frac{2}{5},\ \frac{3}{4},\ \frac{4}{3},\ \frac{5}{2},\ \frac{6}{1},}{————–}}{\:}\ \underset{8}{\overset{\frac{1}{7},\ ( \frac{2}{6} ),\ \frac{3}{5},\ ( \frac{4}{4} ),\ \frac{5}{3},\ ( \frac{6}{2} ),\ \frac{7}{1}, }{———————}}{\:}\ \underset{\:}{\overset{\frac{1}{8},{\:}\ldots }{—}}{\:}\ \)
W powyższym ustawieniu prędzej czy później pojawi się każda liczba wymierna: dla dowolnej liczby wymiernej można obliczyć sumę jej licznika i mianownika i dzięki tej sumie można ją zlokalizować w tym ciągu2. Wadą powyższego rozwiązania jest jednak to, że każda liczba wymierna występuje w ciągu wielokrotnie3 – powtórki zostały zapisane między nawiasami. Przykładowo, zauważmy, że liczbę 1 widzimy w powyższym ciągu na czterech pozycjach (których?). Gdybyśmy kontynuowali wypisywanie kolejnych elementów tego ciągu, co jakiś czas natrafilibyśmy na nią ponownie. Aby uniknąć tej niejednoznaczności, wystarczy zastosować prosty trik:
Ustawiamy liczby wymierne zgodnie z powyższą procedurą, ale gdy trafimy na liczbę która już wystąpiła w ciągu, to ją pomijamy.
Tym sposobem otrzymujemy następujący ciąg liczb wymiernych zapisanych w postaci ułamków nieskracalnych:
\( \frac{1}{1},\ \frac{1}{2},\ \frac{2}{1},\ \frac{1}{3},\ \frac{3}{1},\ \frac{1}{4},\ \frac{2}{3},\ \frac{3}{2},\ \frac{4}{1},\ \frac{1}{5},\ \frac{5}{1},\ \frac{1}{6},\ \frac{2}{5},\ \frac{3}{4},\ \frac{4}{3},\ \frac{5}{2},\frac{6}{1},\ \frac{1}{7},\ \frac{3}{5},\ \frac{5}{3},\ \frac{7}{1},\ \frac{1}{8},\ \frac{2}{7},\ \frac{4}{5},\ \frac{5}{4},\ \frac{7}{2},\ \frac{8}{1},\ \frac{1}{9},\ \ldots\ \)
Liczba 1 występuje w nowym ciągu tylko na pierwszej pozycji4.
Powyższa metoda pozwala uporządkować dodatnie liczby wymierne, ale wymaga stworzenia ciągu pomocniczego i wykonania w nim nieskończonej liczby wykreśleń. Czy istnieje procedura, która pozwala od razu skonstruować ciąg ułamków nieskracalnych, bez konieczności usuwania powtórzeń? Okazuje się, że tak – jedna z procedur realizujących to zadanie jest ściśle związana ze sposobem tworzenia tzw. ciągu Sterna-Brocota.
Przyjmijmy, że potomkami liczby wymiernej \( \frac{a}{b} \) są liczby \( \frac{a}{a+b} \) oraz \( \frac{a+b}{b} \) – liczbę \( \frac{a}{b} \) nazywamy rodzicem swoich potomków.
Możemy tę zależność przedstawić graficznie:
W ten sposób, zaczynając od liczby \( \frac{1}{1} {,}\) możemy skonstruować drzewo5 binarne, którego kilka początkowych poziomów można przedstawić następująco:
Przepisując powyższe ułamki wierszami, zgodnie z kolejnymi pokoleniami potomków liczby 1, w kolejności od lewej do prawej, otrzymujemy ciąg:
\( \frac{1}{1},\ \frac{1}{2},\ \frac{2}{1},\ \frac{1}{3},\ \frac{3}{2},\ \frac{2}{3},\ \frac{3}{1},\ \frac{1}{4},\ \frac{4}{3},\ \frac{3}{5},\ \frac{5}{2},\ \frac{2}{5},\ \frac{5}{3},\ \frac{3}{4},\ \frac{4}{1},\ \frac{1}{5},\ \frac{5}{4},\ \frac{4}{7},\ \frac{7}{3},\ \frac{3}{8},\ \frac{8}{5},\ \frac{5}{7},\ \frac{7}{2},\ \frac{2}{7},\ \frac{7}{5},\ \frac{5}{8},\ \frac{8}{3},\ \frac{3}{7},\ \frac{7}{4},\ \frac{4}{5},\ \frac{5}{1},\ \ldots\ \ \)
Powyższą sekwencję nazywamy ciągiem Sterna-Brocota.
Udowodnimy, że zawiera on wszystkie dodatnie liczby wymierne oraz że każda taka liczba występuje w nim dokładnie raz.
Jeżeli dwie liczby naturalne nie mają wspólnego dzielnika większego niż 1, to nazywamy je względnie pierwszymi.
Okazuje się, że:
W każdej liczbie w drzewie Sterna-Brocota licznik i mianownik są względnie pierwsze.
Powyższe zdanie jest oczywiście prawdziwe dla początkowego elementu drzewa – liczby \( \frac{1}{1} \) . Załóżmy nie wprost, że \( \frac{p}{q} \) jest najwyżej położoną liczbą w drzewie, dla której p i q nie są względnie pierwsze. Zauważmy, że \( \frac{p}{q} \) jest potomkiem liczby \( \frac{p}{q‑p} \) lub liczby \( \frac{p‑q}{q}{.} \) Jednak skoro p i q nie są względnie pierwsze, oznacza to, że w każdym z tych dwóch przypadków rodzic również tworzy parę liczb, które nie są względnie pierwsze. Prowadzi to do sprzeczności z założeniem, że \( \frac{p}{q} \) jest znajdującą się najwyżej w drzewie liczbą o tej własności.
W bardzo podobny sposób pokażemy teraz, że
każda dodatnia liczba wymierna znajduje się w drzewie Sterna-Brocota.
Ponownie zauważmy, że liczba 1 należy do drzewa. Załóżmy nie wprost, że zbiór U dodatnich liczb wymiernych niewystępujących w drzewie Sterna-Brocota jest niepusty. Wśród wszystkich elementów zbioru U, które mają najmniejszy mianownik (równy q), niech \( \frac{p}{q} \) będzie tym, który ma najmniejszy licznik. Z faktu, że \( \frac{p}{q} \) należy do zbioru U wynika, że rodzic tego ułamka również musi należeć do U. Rodzicem \( \frac{p}{q} \) jest \( \frac{p}{q‑p} \) lub \( \frac{p‑q}{q}{.}\) W pierwszym przypadku otrzymujemy liczbę o mniejszym mianowniku, a w drugim – o mniejszym liczniku. Obie sytuacje prowadzą do sprzeczności z założeniem, że q jest najmniejszym mianownikiem, a p – najmniejszym licznikiem wśród ułamków o mianowniku q.
Analogiczną technikę dowodową można zastosować po raz trzeci – aby wykazać, że
każda dodatnia liczba wymierna występuje w drzewie Sterna-Brocota dokładnie raz.
Dowód należy rozpocząć od liczby 1, która występuje w drzewie dokładnie jeden raz – gdyby było inaczej, musiałaby być potomkiem pewnej liczby \( \frac{p}{q}{,} \) ale jej potomkami są \( \frac{p}{p+q} \) oraz \( \frac{p+q}{p} \) – żadna z tych liczb nie może być równa 1.
Dokończenie dowodu pozostawimy jako ćwiczenie dla dociekliwego Czytelnika.
Warto na koniec dodać, że oprócz uporządkowania liczb wymiernych drzewo Sterna-Brocota ma również wiele innych ciekawych i zaskakujących własności, lecz stanowią one materiał na zupełnie inną opowieść.
dr inż. Bartłomiej Pawlik
1 Wykazać ten fakt możemy następująco: Między liczbami wymiernymi a i b znajduje się – chociażby – ich średnia arytmetyczna \( a_1 = \frac{a+b}{2}{,} \) która oczywiście też jest liczbą wymierną. Między a1 i b jest ich średnia a2, między a2 i b jest ich średnia a3, itd., więc ostatecznie między a i b znajduje się nieskończenie wiele liczb wymiernych a1, a2, a3, ….
2 Przykładowa liczba \( \frac{8}{5} \) ma sumę 13. Liczy o sumie 13 znajdują się na pozycjach 67–78. Licznik ułamka wskazuje na ósmą spośród tych pozycji, więc ostatecznie liczba \( \frac{8}{5} \) w rozpatrywanym ciągu znajduje się na pozycji 74. Wzór na lokalizowanie liczby wymiernej w tym ciągu można znaleźć w artykule Wacława Sierpińskiego „Pojęcie odpowiedniości w matematyce”.
3 Nietrudno zauważyć, że każda liczba wymierna pojawia się w tym ciągu nieskończenie wiele razy: ułamki \( \frac{8}{5}, \frac{16}{10}, \frac{24}{15}, \ldots \) reprezentują tę samą liczbę!
4 Liczba \( \frac{8}{5} \) jest na pozycji 53.
5 Nazywa się je drzewem Calkina-Wilfa. Nie należy go mylić z (bardzo podobnym) drzewem Sterna-Brocota! W nazewnictwie występuje zamieszanie – w tym tekście mówimy o ciągu Sterna-Brocota ze względu na jego określenie w The On-Line Encyclopedia of Integer Sequences OEIS (A002487).