Numeracja Gödla dla sekwencji

W matematyce numeracja Gödla dla sekwencji zapewnia skuteczny sposób przedstawienia każdej skończonej sekwencji liczb naturalnych jako pojedynczej liczby naturalnej. Podczas gdy osadzanie teoretyczne zestawu jest z pewnością możliwe, nacisk kładzie się na skuteczność funkcji manipulujących takimi reprezentacjami sekwencji: operacje na sekwencjach (dostęp do poszczególnych elementów, konkatenacja) można „zaimplementować” za pomocą totalnie rekurencyjnych funkcji , a w rzeczywistości przez prymitywne funkcje rekurencyjne .

Zwykle jest używany do budowania sekwencyjnych „ typów danych ” w arytmetycznych formalizacjach niektórych podstawowych pojęć matematyki. Jest to szczególny przypadek bardziej ogólnej idei numeracji Gödla . Na przykład teorię funkcji rekurencyjnych można uznać za sformalizowanie pojęcia algorytmu i można ją traktować jako język programowania do naśladowania list poprzez kodowanie sekwencji liczb naturalnych w pojedynczej liczbie naturalnej.

Numeracja Gödla

Oprócz używania numeracji Gödla do kodowania unikalnych sekwencji symboli w unikalne liczby naturalne (tj. umieszczania liczb w wzajemnie wykluczających się lub jeden do jednego odpowiednikach z sekwencjami), możemy jej używać do kodowania całych „architektur” wyrafinowanych „maszyn”. Na przykład, możemy zakodować algorytmy Markowa lub maszyny Turinga na liczby naturalne iw ten sposób udowodnić, że ekspresyjna siła teorii funkcji rekurencyjnych jest nie mniejsza niż w przypadku poprzednich maszynowych formalizacji algorytmów.

Dostęp do członków

Każda taka reprezentacja sekwencji powinna zawierać wszystkie informacje, takie jak w oryginalnej sekwencji — co najważniejsze, każdy pojedynczy element musi być możliwy do odzyskania. Jednak długość nie musi pasować bezpośrednio; nawet jeśli chcemy obsługiwać sekwencje o różnej długości, możemy przechowywać dane długości jako element dodatkowy lub jako drugi element uporządkowanej pary za pomocą funkcji parowania .

Oczekujemy, że istnieje skuteczny sposób na ten proces wyszukiwania informacji w postaci odpowiedniej funkcji totalnie rekurencyjnej. Chcemy znaleźć całkowicie rekurencyjną funkcję f z właściwością, że dla wszystkich n i dla dowolnego ciągu liczb naturalnych o długości n , istnieje odpowiednia liczba naturalna a , zwana liczbą Gödla ciągu, taka, że ​​dla wszystkich i gdzie , .

Istnieją skuteczne funkcje, które mogą odzyskać każdego członka oryginalnej sekwencji z liczby Gödla sekwencji. Co więcej, niektóre z nich możemy zdefiniować w konstruktywny sposób, dzięki czemu możemy wyjść daleko poza zwykłe dowody istnienia .

Lemat Gödla o funkcji β

Dzięki pomysłowemu wykorzystaniu chińskiego twierdzenia o resztach konstruktywnie zdefiniować taką funkcję rekurencyjną używając prostych funkcji teorii liczb, z których wszystkie można zdefiniować w sposób całkowicie rekurencyjny), spełniając specyfikacje podane powyżej . Gödel zdefiniował Jest to prymitywna funkcja rekurencyjna .

Zatem dla wszystkich n i dla dowolnego ciągu liczb naturalnych o długości n liczba naturalna a , zwana liczbą Gödla ciągu taka, że .

Korzystanie z funkcji parowania

Nasze konkretne rozwiązanie będzie zależeć od funkcji parowania — istnieje kilka sposobów implementacji funkcji parowania, więc należy wybrać jedną metodę. Teraz możemy abstrahować od szczegółów implementacji funkcji parowania. Musimy tylko znać jego „ interfejs ”: niech K i L oznaczają odpowiednio funkcję parowania i jej dwie funkcje projekcji , spełniające specyfikację

Nie będziemy tutaj omawiać i formalizować aksjomatu wykluczania obiektów obcych, ponieważ zrozumienie metody nie jest wymagane.

Reszta dla liczb naturalnych

Użyjemy innej funkcji pomocniczej, która obliczy resztę dla liczb naturalnych . Przykłady:

Można udowodnić, że ta funkcja może być zaimplementowana jako funkcja rekurencyjna.

Korzystanie z chińskiego twierdzenia o resztach

Implementacja funkcji β

Korzystając z chińskiego twierdzenia o resztach , możemy udowodnić, że implementacja jako

będzie działać, zgodnie ze specyfikacją, . Możemy użyć bardziej zwięzłej formy przez nadużycie notacji (stanowiącej rodzaj dopasowywania wzorców ):

Osiągnijmy jeszcze większą czytelność dzięki większej i ponownemu użyciu ( używane w informatyce): możemy napisać

.

W dowodzie tej

Ręcznie dostrojone założenia

Aby udowodnić poprawność powyższej definicji funkcji kilku lematów. Mają one swoje własne założenia. Teraz staramy się odkryć te założenia, ostrożnie kalibrując i dostrajając ich siłę: nie należy ich wypowiadać w zbyt ostrej lub niezadowalająco słabej formie.

Niech będzie ciągiem liczb naturalnych. Niech m zostanie wybrane do zaspokojenia

Pierwsze założenie jest rozumiane jako

Jest to konieczne, aby spełnić założenie chińskiego twierdzenia o resztach (być parami względnie pierwszymi ). W literaturze bywa, że ​​wymaganie to zastępowane jest silniejszym, np. konstrukcyjnie zbudowanym z funkcji silni , ale do tego dowodu nie jest wymagana silniejsza przesłanka.

Drugie założenie w żaden sposób nie dotyczy chińskiego twierdzenia o resztach. Będzie to miało znaczenie w udowodnieniu, że ostatecznie spełniona jest specyfikacja dla Zapewnia to, że kongruencji

dla każdego ja gdzie

również zadowala

.

Silniejsze m wymagające drugie jak wyżej).

Dowód, że założenie (współpierwotności) dla chińskiego twierdzenia o resztach jest spełnione

W sekcji Ręcznie dostrojone założenia wymagaliśmy tego

. Chcemy udowodnić, że możemy stworzyć ciąg par względnie pierwszych w sposób, który okaże się zgodny z Implementacją funkcji β .

Szczegółowo:

pamiętając, że { .

Dowód jest sprzeczny; zakładamy zaprzeczenie pierwotnego stwierdzenia:

Pierwsze kroki

Wiemy, co oznacza relacja „względnie pierwsza” (na szczęście jej zaprzeczenie można sformułować w zwięzłej formie); zatem podstawmy w odpowiedni sposób:

Używając formy normalnej prenex „więcej” (ale zwróć uwagę na notację podobną do ograniczeń w kwantyfikatorach):

Ze względu na twierdzenie o podzielności , {

.

Zastępując definicje -notacji , otrzymujemy , stąd (ponieważ aksjomaty równości postulują, że tożsamość jest relacją kongruencji ) otrzymujemy

.

Ponieważ p jest elementem pierwszym (należy zauważyć, że używana jest właściwość elementu nieredukowalnego ), otrzymujemy

.

Odwołując się do pierwszego ręcznie dostrojonego założenia

Teraz musimy uciec się do naszego założenia

.

Założenie zostało starannie wybrane, aby było jak najsłabsze, ale wystarczająco mocne, abyśmy mogli z niego skorzystać teraz.

Zakładana negacja pierwotnego stwierdzenia zawiera odpowiednie stwierdzenie egzystencjalne przy użyciu indeksów ; pociąga to za sobą , więc można zastosować wspomniane założenie, więc trzyma.

Używanie twierdzenia (o przedmiocie) rachunku zdań jako lematu

Możemy to udowodnić na kilka sposobów znanych z rachunku zdań

posiada.

Ponieważ , przez właściwość przechodniości relacji podzielności , . Zatem (ponieważ aksjomaty równości postulują tożsamość jako relację kongruencji)

można udowodnić.

Dotarcie do sprzeczności

Zawarta negacja pierwotnego stwierdzenia

i właśnie to udowodniliśmy

.

Zatem,

też powinien trzymać. Ale po zastąpieniu definicji m }

Zatem podsumowując powyższe trzy stwierdzenia, przez przechodniość równości ,

też powinien trzymać.

Jednak w zaprzeczeniu pierwotnego stwierdzenia p jest egzystencjalnie kwantyfikowane i ograniczone do liczb pierwszych . To ustanawia sprzeczność, do której chcieliśmy dotrzeć.

Koniec reductio ad absurdum

Dochodząc do sprzeczności z jej zaprzeczeniem, właśnie udowodniliśmy oryginalne stwierdzenie:

System równoczesnych kongruencji

Budujemy system jednoczesnych kongruencji

Możemy to zapisać w bardziej zwięzły sposób:

Poniżej zostanie podanych wiele stwierdzeń, wszystkie zaczynające się od „ ". Aby zakresie kwantyfikacji Zatem zaczyna się tutaj.

Wybierzmy rozwiązanie układu jednoczesnych kongruencji Musi istnieć co najmniej jedno rozwiązanie, ponieważ są parami porównywalne, jak udowodniono w poprzednich sekcjach, więc możemy odnieść się do rozwiązania zapewnionego m , przez chińskie twierdzenie o resztach. od teraz możemy uważać satysfakcjonujące

,

co oznacza (z definicji arytmetyki modularnej ), że

Odwołując się do drugiego dostrojonego założenia

Przypomnij sobie drugie założenie, „ i pamiętaj, że jesteśmy teraz w zakresie niejawnej kwantyfikacji dla i , więc nie powtarzamy jej kwantyfikacji dla każdego stwierdzenia.

Drugie założenie sugeruje, że

.

Teraz przez przechodniość równości otrzymujemy

.

CO BYŁO DO OKAZANIA

Naszym pierwotnym celem było udowodnienie, że definicja

jest dobre do osiągnięcia tego, co zadeklarowaliśmy w specyfikacji chcemy trzymać.

to teraz zobaczyć na podstawie przechodniości równości , patrząc na powyższe trzy równania.

(Duży zakres i kończy się tutaj.)

Istnienie i wyjątkowość

Właśnie udowodniliśmy poprawność definicji jej specyfikacja

jest spełniony. Chociaż udowodnienie tego było najważniejsze dla ustalenia schematu kodowania sekwencji, musimy jeszcze wypełnić pewne luki. Są to pojęcia pokrewne, podobne do istnienia i niepowtarzalności (chociaż o niepowtarzalności należy tu rozumieć „co najwyżej jedno”, a połączenie obu jest ostatecznie opóźnione).

Unikalność kodowania, osiągnięta poprzez minimalizację

Nasze ostateczne pytanie brzmi: jaka liczba powinna oznaczać kodowanie sekwencji ? Specyfikacja deklaruje jedynie kwantyfikację egzystencjalną, a nie funkcjonalne połączenie. Chcemy konstruktywnego i algorytmicznego połączenia: (całkowitej) funkcji rekurencyjnej, która wykonuje kodowanie.

Całość, ponieważ minimalizacja jest ograniczona do funkcji specjalnych

Tę lukę można wypełnić w prosty sposób: zastosujemy minimalizację , a całość wynikowej funkcji zapewni wszystko, co do tej pory udowodniliśmy (tj. poprawność definicji spełnienie jej specyfikacji ). A właściwie specyfikacja

pełni tu rolę pojęcia bardziej ogólnego („funkcja specjalna”). Znaczenie tego pojęcia polega na tym, że umożliwia nam oddzielenie (pod)klasy (całkowitych) funkcji rekurencyjnych od (nad)klasy funkcji cząstkowych rekurencyjnych. Krótko mówiąc, specyfikacja mówi, że funkcja f spełnia specyfikację

jest funkcją specjalną; to znaczy dla każdej ustalonej kombinacji argumentów przedostatnich funkcja f ma pierwiastek w swoim ostatnim argumencie:

Funkcję numeracji Gödla g można wybrać jako całkowicie rekurencyjną

Wybierzmy zatem minimalną możliwą liczbę, która dobrze pasuje do specyfikacji funkcji: β

.

Można udowodnić (używając pojęć z poprzedniej sekcji), że g jest (całkowite) rekurencyjne.

Dostęp długości

Jeśli zastosujemy powyższy schemat do kodowania sekwencji tylko w kontekstach, w których długość sekwencji jest ustalona, ​​to nie powstaje żaden problem. Innymi słowy, możemy ich używać w analogiczny , jak tablice są używane w programowaniu.

Ale czasami potrzebujemy dynamicznie rozciągających się sekwencji lub musimy poradzić sobie z sekwencjami, których długości nie można wpisać w sposób statyczny. Innymi słowy, możemy kodować sekwencje w sposób analogiczny do list w programowaniu.

Aby zilustrować oba przypadki: jeśli utworzymy numerację Gödla maszyny Turinga, to każdy wiersz w macierzy „programu” można przedstawić za pomocą krotek, sekwencji o stałej długości (a więc bez przechowywania długości), ponieważ liczba kolumn jest ustalona. Ale jeśli chcemy wnioskować o rzeczach podobnych do konfiguracji (maszyn Turinga), a konkretnie, jeśli chcemy zakodować znaczną część taśmy działającej maszyny Turinga, to musimy reprezentować sekwencje wraz z ich długością. Możemy naśladować dynamicznie rozciągające się sekwencje, reprezentując konkatenację sekwencji (lub przynajmniej rozszerzając sekwencję o jeszcze jeden element) za pomocą całkowicie rekurencyjnej funkcji.

Długość może być przechowywana po prostu jako element dodatkowy:

.

Odpowiednia modyfikacja dowodu jest prosta i polega na dodaniu nadwyżki

do systemu równoczesnych kongruencji (pod warunkiem, że indeks elementu nadwyżkowego jest wybrany jako 0). Należy również odpowiednio zmodyfikować założenia.

Notatki

  1. ^ a b Mnich 1976 : 56–58
  2. ^ a b Csirmaz 1994 : 99–100 (patrz online )
  3. ^ Mnich 1976 : 72–74
  4. ^ Mnich 1976 : 52–55
  5. ^ a b c d Csirmaz 1994 : 100 (patrz online )
  6. ^ Smullyan 2003 : 56 (= Rozdział IV, § 5, przypis 1)
  7. ^ Mnich 1976 : 58 (= Thm 3,46)
  8. ^ Hughes 1989 (patrz online zarchiwizowane 2006-12-08 w Wayback Machine )
  9. ^ Burris 1998 : tekst uzupełniający, arytmetyka I , lemat 4
  10. ^ a b zobacz także pojęcia pokrewne, np. „równi za równych” ( przezroczystość referencyjna ) i inne pokrewne pojęcie prawo Leibniza / tożsamość nieodróżnialnych
  11. ^ albo dowód teoretyczny (kroki algebraiczne); lub semantyczne ( tablica prawdy , metoda tablic analitycznych , diagram Venna , diagram Veitcha / mapa Karnaugha )
  12. ^ Mnich 1976 : 45 (= Def 3.1.)
  13. ^ Np. zdefiniowany przez
  14. ^ Mnich 1976 : 53 (= Def 3.20, Lem 3.21)
  15. ^ Csirmaz 1994 : 101 (= Thm 10,7, Conseq 10,8), patrz online
  •   Burris, Stanley N. (1998). „Tekst uzupełniający, arytmetyka I” . Logika dla matematyki i informatyki . Sala Prentice'a. ISBN 978-0-13-285974-5 .
  • Csirmaz, László; Hajnal, Andras (1994). „Rekurzív függvények” . Matematikai logika (postscript + gzip) (w języku węgierskim). Budapeszt: Uniwersytet Eötvös Loránd. {{ cite book }} : |format= wymaga |url= ( pomoc ) Każdy rozdział można dosłownie pobrać ze strony autora .
  • Hughes, John (1989). „Dlaczego programowanie funkcjonalne ma znaczenie” . Dziennik komputerowy . 32 (2): 98–107. doi : 10.1093/comjnl/32.2.98 . Zarchiwizowane od oryginału w dniu 8 grudnia 2006 r.
  •   Mnich, J. Donald (1976). Logika Matematyczna . Absolwent Teksty z matematyki. Nowy Jork • Heidelberg • Berlin: Springer-Verlag. ISBN 9780387901701 .
  •   Smullyan, Raymond Merrill (1992). Twierdzenia Gödla o niezupełności . Oxford University Press. ISBN 978-0-19-504672-4 .
  •   Smullyan, Raymond Merrill (2003). Gödel nemteljességi tételei (w języku węgierskim). Budapeszt: Typotex. ISBN 978-963-9326-99-6 . Tłumaczenie Smullyana 1992 .

Linki zewnętrzne