System G¨odla T to w istocie rachunek lambda z typami prostymi, rozszerzony o typ int liczb naturalnych (wraz z
”gotowymi” liczebnikami) oraz operator rekursji. ´Sci´slej:
• Typy systemu T to sta la typowa int i typy postaci (τ → σ), gdzie τ i σ s
a typami., 30
• Termy sa jak w rachunku z typami prostymi w stylu Churcha, ale mog, a zawiera´, c sta le:
– 0 : int;
– s : int → int;
– Rτ : (int → τ → τ ) → τ → (int → τ ), dla dowolnego τ .
• Opr´ocz zwyk lej beta-redukcji w systemie sa dwie regu ly dla rekursora:, – RτM N (sP ) ⇒ M P (RτM N P );
– RτM N 0 ⇒ N .
Relacje redukcji oznaczamy przez →, T, znaki T i =T rozumiemy jak zwykle.
Liczebniki konstruujemy za pomoca sta lych 0 i s: przez n oznaczamy term s(s(· · · s(0) · · · )),, w kt´orym s u˙zyte zosta lo n razy. Mo˙zemy teraz m´owi´c o definiowaniu funkcji. Powiemy, ˙ze funkcja f : Nk → N jest definiowalna w systemie T, je˙zeli istnieje kombinator F : intk→ int, taki ˙ze dla f (n1, . . . , nk) = m zachodzi F n1. . . nk=T m.
Jako pierwszy przyk lad rozpatrzmy zastosowanie rekursora Rint do termu M = λxz.sz. Dla dowolnych m, n otrzymamy RintM nm Tn + m. Oto kilka dalszych przyk lad´ow:
• Funkcja warunkowa if x = 0 then y else z jest definiowalna wyra˙zeniem Rint(λuv.z)yx.
• Funkcja poprzednika jest definiowalna wyra˙zeniem λx.Rint(λuv.u)0x.
• Niech funkcja f bedzie okre´, slona przez rekursje prost, a, f (0, n1, . . . , nk) = g(n1, . . . , nk);
f (s(m), n1, . . . , nk) = h(m, n1, . . . , nk, f (m, n1, . . . , nk)),
gdzie g, h sa definiowalne odpowiednio przez termy G i H. Wtedy f jest definiowalne, termem F = λx~y.Rint(λuv.Hu~yv)(G~y)x. Jak wida´c, u˙zycie rekursora Rint odpowiada zwyk lej rekursji prostej.
• Niech f0(n) = n + 1 i niech fk+1(n) = fkn(n), dla dowolnych k i n. Wszystkie funkcje fk
sa definiowalne. Rzeczywi´, scie, niech M = λf xy.Rint(λuv.f v)yx. Je´sli teraz Fkdefiniuje funkcje f, k to term Fk+1 = λx.M Fkxx definiuje fk+1.
• Wreszcie niech fω(n) = fn(n). Funkcja fωjest pewnym wariantem funkcji Ackermanna.
Nie jest to funkcja pierwotnie rekurencyjna. Niemniej, jest definiowalna w systemie T za pomoca termu F, ω = λx.Rint→int(λφy.M φyy)sxx. Istotnie, operator λφy.M φyy przy lo˙zony do Fk daje Fk+1. Iterujemy go n-krotnie, a wynik aplikujemy do n.
30Mo˙zna doda´c zmienne typowe, sa nieszkodliwe, ale w tym kontek´, scie ma lo przydatne.
• Rozpatrzmy pozasko´nczony ciag funkcji f, α, w kt´orym fα+1(n) = fαn(n), a dla liczby gra-nicznej β przyjmujemy fβ(n) = fβ[n](n), gdzie β[n] jest odpowiednio dobranym ciagiem, rosnacym, takim ˙ze sup β[n] = β. Na przyk lad f, ωω(n) = fωn(n). Ta definicja ma sens dla α < 0, gdzie 0 jest najmniejsza liczb, a porz, adkow, a o w lasno´, sci ω0 = 0, czyli granica ci, agu α, 0 = ω, αn+1 = ωαn. Ka˙zda z funkcji fα jest definiowalna w T, ale ju˙z dla α = ωω potrzebny jest rekursor R(int→int)→(int→int).
Arytmetyka pierwszego rzedu: Dzi´, s mo˙zna powiedzie´c, ˙ze system T to pewien specyficzny jezyk programowania. Ale wymy´, slono go po to, ˙zeby udowodni´c niesprzeczno´s´c arytmetyki Peana. Bo zwiazek systemu T z arytmetyk, a pierwszego rz, edu jest bardzo ´, scis ly. ˙Zeby go zauwa˙zy´c, przypomnijmy sobie aksjomaty arytmetyki Peana w ich
”tradycyjnej” postaci:
• A1: int(0).
• A2: ∀x(int(x) → int(sx)).
• A3: ∀x(int(x) → int(y) → sx = sy → x = y).
• A4: ∀x(int(x) → ¬(sx = 0)).
• Aϕ5 : ∀x(int(x) → ϕ(x) → ϕ(sx)) → ϕ(0) → ∀x(int(x) → ϕ(x)).
Tutaj int(x) jest jednoargumentowym predykatem, kt´ory czytamy “x jest liczba naturaln, a”., Aksjomaty A1 i A2jawnie wprowadzaja kanoniczne obiekty typu int: zero i nastepniki obiek-, t´ow typu int. Aksjomaty A3 i A4 gwarantuja, ˙ze ka˙zdorazowe zastosowanie operacji nast, ep-, nika tworzy nowa liczb, e naturaln, a, r´, o˙zna od wszystkich poprzednich. Wreszcie aksjomat A, 5 to w istocie nie jeden aksjomat, ale schemat indukcji. Te same aksjomaty przyjmujemy dla intuicjonistycznej arytmetyki, kt´ora nazywamy arytmetyk, a Heytinga. Jedynym aksjomatem, zawierajacym negacj, e jest A, 4, czasem zastepowany przez nieco s labsz, a,
”pozytywna” wersj, e:,
• A04: ∀x(int(x) → sx = 0 → ∀y(int(y) → y = 0)).
Poniewa˙z og´olnie nie lubimy formu l negatywnych, wiec my te˙z poprzesta´, nmy na A04. Nie tracimy na tym nic istotnego, jak d lugo zajmujemy sie formu lami pozytywnymi.,
Wycieranie zale ˙zno´sci: Dla takiego pozytywnego jezyka arytmetyki okre´, slimy operator wycierania zale˙zno´sci κ, kt´ory dowolnej formule ϕ arytmetyki pierwszego rzedu przypisuje, formu le zdaniow, a κ(ϕ). Otrzymujemy j, a z ϕ przez,
”wytarcie” wyra˙ze´n i kwanyfikator´ow in-dywiduowych. Przy tym predykat int staje sie po prostu wyr´, o˙znionym symbolem zdaniowym (sta la typow, a), a r´, owno´s´c t lumaczymy na sta la logiczn, a > (typ jednostkowy). Je´, sli bowiem ignorujemy indywidua, powinni´smy te˙z ignorowa´c r´ownania pomiedzy nimi.,
• κ(int(t)) = int.
• κ(t = s) = >.
• κ(ϕ → ψ) = κ(ϕ) → κ(ψ).
• κ(∀xϕ) = κ(∃xϕ) = κ(ϕ).
Koniunkcje i alternatyw, e pomin, eli´, smy, ˙zeby nie komplikowa´c sprawy. Zobaczmy co zostaje z aksjomat´ow Peana po wytarciu zale˙zno´sci:
• κ(A1) : int.
• κ(A2) : int → int.
• κ(A3) : int → int → > → >).
• κ(A04) : (int → >) → (int → >).
• κ(Aϕ5) : (int → τ → τ ) → τ → int → τ , gdzie τ = κ(ϕ):
Formu ly-typy κ(A3) i κ(A04) nie sa zbyt ciekawe: ka˙zda ma tylko trywialne inhabitanty. Ale, typy pozosta lych aksjomat´ow to dok ladnie typy sta lych systemu T. A skad si, e wzi, e ly re-, gu ly redukcji dla rekursora? Skoro rekursor ma taki typ jak aksjomat indukcji, to w my´sl izomorfizmu Curry’ego-Howarda, u˙zycie rekursora reprezentuje dow´od przez indukcje., Dow´od indukcyjny tezy ∀x(int(x) → ϕ(x)) sk lada sie z dw´, och cze´,sci: kroku bazowego D0 (dowodu formu ly ϕ(0)) i kroku indukcyjnego D1 (dowodu dla ∀x(int(x) → ϕ(x) → ϕ(sx))).
Mo˙zemy tu napisa´c D0 : ϕ(0) i D1 : ∀x(int(x) → ϕ(x) → ϕ(sx)), a ca ly dow´od indukcyjny oznaczy´c jako Aϕ5D1D0 : ∀x(int(x) → ϕ(x)). Mo˙zliwy spos´ob u˙zycia takiego dowodu to zaaplikowanie go do konkretnej liczby naturalnej, a ´sci´slej do wyra˙zenia arytmetycznego t oraz (uwaga!) dowodu P : int(t), uzasadniajacego, ˙ze t przedstawia liczb, e naturaln, a. Dostajemy, wtedy dow´od Aϕ5D1D0tP : int(t). W tej konwencji, dowodem formu ly ϕ(0) jest Aϕ5D1D00A1, a dowodem formu ly ϕ(2) jest Aϕ5D1D0(s(sx))A21(A20(A1)), bo przecie˙z 1 = s0 i 2 = s(s0).
Ale z takich dowod´ow indukcja mo˙ze by´c wyeliminowana. Na przyk lad, nie ma potrzeby dowodzi´c ∀x(int(x) → ϕ(x)), je´sli tak naprawde mamy wyprowadzi´, c ϕ(0). To znaczy, ˙ze powinni´smy mie´c regu le upraszczania dowod´, ow
Aϕ5D1D00A1 ⇒ D0.
Oczywi´scie mo˙zna tak˙ze wyeliminowa´c np. z dowodu formu ly ϕ(4). Mo˙zna ja zast, api´, c czte-rokrotna aplikacj, a kroku indukcyjnego do kroku bazowego., Taki dow´od jest d lu˙zszy, ale niewatpliwie bardziej elementarny. Oto regu la, kt´, ora takie uproszczenie umo˙zliwia:
Aϕ5D1D0(st)(A2tPint(t))int(st)⇒ D1tP (Aϕ5D1D0tP ) : ϕ(st)
Skoro mo˙zna wyciera´c zale˙zno´sci z formu l, mo˙zna je te˙z wyciera´c z dowod´ow. Usu´nmy z powy˙zszych regu l wszystko to co indywiduowe, a dla lepszego efektu zamie´nmy A1, A2, A5
odpowiednio na 0, s, R. Co dostajemy? Tak, regu ly redukcji dla rekursora!
Mora l: Termy systemu T to
”schematy” czy
”szkielety” (konstruktywnych) dowod´ow w jezyku, arytmetyki, a regu ly redukcji w T modeluja normalizacj, e dowod´, ow w arytmetyce.31
Silna normalizacja
Dow´od silnej normalizacji systemu T przeprowadzimy metoda Taita, tak jak dow´, od twierdze-nia 14.11. Definicja stabilno´sci jest w zasadzie taka sama.
• [[int]] := SN;
• [[τ → σ]] := {M : τ → σ | ∀N (N ∈ [[τ ]] → M N ∈ [[σ]])}.
31Ale zauwa˙zmy, ˙ze liczebnik n = s(s(· · · s(0) · · · )) nie powstaje z wyra˙zenia arytmetycznego s(s(. . . (0) . . .)), ale z dowodu A2n−1(A2n−2(· · · A2(0A1) · · · )) stwierdzajacego, ˙ze term n przedstawia liczb, e naturaln, a.,
Tre´s´c i dowody lemat´ow 14.7–14.9 pozostaja bez zmian. Potrzebujemy jeszcze jednego.,
Lemat C.9 Sta le systemu T sa stabilne w odpowiednich typach:, 1. 0 ∈ [[int]];
2. s ∈ [[int → int]];
3. Rτ ∈ [[(int → τ → τ ) → τ → (int → τ )]]
Dow´od: (3) Wystarczy udowodni´c, ˙ze je´sli termy M , N , P sa stabilne w odpowiednich, typach, to term RτM N P jest stabilny w typie τ . Poniewa˙z P jest stabilny, to ma posta´c normalna P, 0 = sn(P1), gdzie n ≥ 0, a term P1 nie zaczyna sie od nast, epnika. Dzia lamy, przez indukcje ze wzgl, edu na n. Je´, sli τ = τ1 → · · · → τk → int, to wystarczy pokaza´c, ˙ze RτM N P N1. . . Nk jest silnie normalizowalny, je´sli tylko N1, . . . Nk sa stabilne.,
Rozpatrzmy dowolny ciag redukcji zaczynaj, acy si, e od R, τM N P N1. . . Nk. Z powodu sil-nej normalizacji wszystkich sk ladowych, musi sie w tym ci, agu pojawi´, c redeks, tj. mamy RτM N P N1. . . Nk T RτM0N0P0N10. . . Nk0, gdzie P0 jest zerem lub zaczyna sie od nastep-, nika. Je´sli P0= 0, to dalsza redukcja prowadzi do N0N10. . . Nk0. Ten term mo˙zna te˙z otrzyma´c przez redukowanie stabilnego termu N N1. . . Nk, a wiec nale˙zy on do SN. Jesli za´, s P0 = sP00 to otrzymujemy term X = M0P00(RτM0N0P00)N10. . . Nk0. Aby pokaza´c, ˙ze X ∈ SN wystarczy sprawdzi´c silna normalizacj, e termu Z = M P, 00(RτM N P00)N1. . . Nk, kt´ory te˙z redukuje sie, do X. To wynika z za lo˙zenia indukcyjnego. Bo po pierwsze P0 sP00 wiec P, 00 ∈ SN = [[int]].
A po drugie posta´c normalna P00 ma na poczatku tylko n − 1 nast, epnik´, ow.
A wiec w ka˙zdym przypadku redukcja R, τM N P N1. . . Nk prowadzi do termu w SN.
Z powy˙zszego wynika, ˙ze lemat 14.10 pozostaje prawdziwy dla systemu T, a zatem dostajemy:
Twierdzenie C.10 System T ma w lasno´s´c silnej normalizacji.
Twierdzenie C.11 System T ma w lasno´s´c Churcha-Rossera.
Dow´od: Mo˙zna to udowodni´c korzystajac z Twierdzenia C.10 i z Lematu Newmana., System T i arytmetyka: Korzystajac z twierdzenia o silnej normalizacji dla systemu T, mo˙zna udowodni´c, ˙ze ka˙zde twierdzenie arytmetyki Heytinga ma dow´od w postaci normal-nej , tj. dow´od o szczeg´olnie prostej strukturze. Pomijajac wyja´, snienia co to dok ladnie znaczy, powiedzmy tylko, ˙ze jedynym normalnym dowodem r´owno´sci pomiedzy dwoma liczebnikami,, tj. r´owno´sci postaci s(s(. . . s(0) . . .)) = s(s(. . . s(0) . . .)) jest aksjomat A1, co oznacza w szcze-g´olno´sci, ˙ze po obu stronach musi by´c ten sam liczebnik. Nie ma wiec dowodu formu ly, 0 = s(0), a zatem intuicjonistyczna arytmetyka jest niesprzeczna. Klasyczna arytmetyka Peana te˙z musi by´c niesprzeczna, bo mo˙zna ja,
”zanurzy´c” w arytmetyce Heytinga za pomoca, tzw. translacji Ko lmogorowa. Pamietamy jednak z logiki, ˙ze niesprzeczno´, sci arytmetyki Peana nie da sie udowodni´, c w arytmetyce Peana. Okazuje sie, ˙ze jedyn, a cz, e´,scia naszkicowanego,
wy˙zej dowodu niesprzeczno´sci, kt´ora nie daje sie sformalizowa´, c w jezyku arytmetyki, jest, w la´snie twierdzenie C.10.
W lasno´s´c silnej normalizacji systemu T mo˙zna wypowiedzie´c tak: Dla ka˙zdego termu M istnieje takie n, ˙ze ka˙zdy sko´nczony ciag redukcji rozpoczynaj, acy si, e od M ma d lugo´, s´c co naj-wy˙zej n. Je´sli um´owimy sie, ˙ze termy i ich sko´, nczone ciagi s, a reprezentowane jako liczby natu-, ralne za pomoca jakiego´, s ustalonego kodowania, to powy˙zsze zdanie mo˙zna wyrazi´c w jezyku, arytmetyki. Mamy wiec konkretny przyk lad zdania w j, ezyku arytmetyki, kt´, ore jest od niej niezale˙zne. Jakiego aparatu logicznego wymaga wiec dow´, od twierdzenia C.10?
W dowodzie definiowali´smy dwuargumentowy predykat M ∈ [[τ ]], przez indukcje ze wzgl, edu, na typ τ . Definicja indukcyjna to jednak definicja
”uwik lana”. Nie umiemy natomiast zdefi-niowa´c tego predykatu
”wprost”, tj. nie umiemy napisa´c formu ly ϕ(M, τ ) r´ownowa˙znej warun-kowi M ∈ [[τ ]]. Je´sli wiec chcemy w j, ezyku logiki formalnej zapisa´, c np. tre´s´c lematu 14.7(1) to musimy pos lu˙zy´c sie tak, a konstrukcj, a: Dla dowolnego dwuargumentowego predykatu X,, spe lniajacego warunki,
• ∀M (X(M, int) ⇔ M ∈ SN);
• ∀M ∀τ ∀σ(X(M, τ → σ) ⇔ ∀N (X(N, τ ) ⇒ X(M N, σ))},
zachodzi ∀M ∀τ (X(M, τ ) ⇒ M ∈ SN). Ta konstrukcja u˙zywa jednak kwantyfikatora ∀X, gdzie X przebiega relacje, a nie indywidua. Takie kwantyfikatory sa dozwolone w logice, i arytmetyce drugiego rzedu. I tego si, e nie da poprawi´, c: arytmetyka pierwszego rzedu nie, wystarczy.
Twierdzenie C.12 Twierdzenie o silnej normalizacji systemu T jest niezale˙zne od aryt-metyki Peana.
Podziekowania,
Dziekuj, e Pani Ma lgorzacie Maciejewskiej i Panom Tomaszowi Doma´, nskiemu, Stanis lawowi Findeisenowi, Krzysztofowi Gerasowi, Danielowi Hansowi, Szczepanowi Hummelowi, Woj-ciechowi Jaworskiemu, Szymonowi Kitowskiemu, Micha lowi Kotowskiemu, Rados lawowi Ku-jawie, Micha lowi Misiakowi, Filipowi Murlakowi, Lukaszowi Osipiukowi, Paw lowi Parysowi, Jakubowi Pochrybniakowi, Micha lowi Rutkowskiemu, Aleksemu Schubertowi, Adamowi Slas-kiemu i Mateuszowi ZakrzewsSlas-kiemu za wykrycie rozmaitych b led´, ow we wcze´sniejszych wers-jach tych notatek.