Matemaattinen logiikka

Samankaltaiset tiedostot
Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Gödelin epätäydellisyyslauseet

Todistusmenetelmiä Miksi pitää todistaa?

Onko kuvaukset injektioita? Ovatko ne surjektioita? Bijektioita?

1 Lineaariavaruus eli Vektoriavaruus

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

4 Matemaattinen induktio

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

Matematiikan ja tilastotieteen laitos Reaalianalyysi I Harjoitus Malliratkaisut (Sauli Lindberg)

802320A LINEAARIALGEBRA OSA I

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Johdatus matematiikkaan

Johdatus diskreettiin matematiikkaan (syksy 2009) Harjoitus 3, ratkaisuja Janne Korhonen

Alkulukujen harmoninen sarja

Vaihtoehtoinen tapa määritellä funktioita f : N R on

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään

Johdatus matemaattiseen päättelyyn

14. Juurikunnat Määritelmä ja olemassaolo.

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

f 1 (b) kun b f(a) g(b) = a kun b B \ f(a). g(b) = g(b ). (2) b = b. = f(g(b )) iii) = b,

k=1 b kx k K-kertoimisia polynomeja, P (X)+Q(X) = (a k + b k )X k n+m a i b j X k. i+j=k k=0

Esko Turunen MAT Algebra1(s)

Esko Turunen Luku 3. Ryhmät

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja

Konvergenssilauseita

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

a k+1 = 2a k + 1 = 2(2 k 1) + 1 = 2 k+1 1. xxxxxx xxxxxx xxxxxx xxxxxx

Johdatus matematiikkaan

x > y : y < x x y : x < y tai x = y x y : x > y tai x = y.

Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa. väite P(n) on totta kaikille n = 0,1,2,...

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1. Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS

1 Reaaliset lukujonot

1. Esitä rekursiivinen määritelmä lukujonolle

Johdatus matemaattiseen päättelyyn

1 Määrittelyjä ja aputuloksia

Johdatus matemaattiseen päättelyyn

Luonnollisten lukujen induktio-ominaisuudesta

Churchin lause RA-kielelle

Bijektio. Voidaan päätellä, että kuvaus on bijektio, jos ja vain jos maalin jokaiselle alkiolle kuvautuu tasan yksi lähdön alkio.

Johdatus matematiikkaan

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

Ensimmäinen induktioperiaate

MS-A0402 Diskreetin matematiikan perusteet

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

Avaruuden R n aliavaruus

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

Ensimmäinen induktioperiaate

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

Äärellisesti generoitujen Abelin ryhmien peruslause

renkaissa. 0 R x + x =(0 R +1 R )x =1 R x = x

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Johdatus matematiikkaan

Tehtävä 4 : 2. b a+1 (mod 3)

Johdatus matematiikkaan

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Johdatus diskreettiin matematiikkaan Harjoitus 2, Osoita että A on hyvin määritelty. Tee tämä osoittamalla

Mitään muita operaatioita symbolille ei ole määritelty! < a kaikilla kokonaisluvuilla a, + a = kaikilla kokonaisluvuilla a.

isomeerejä yhteensä yhdeksän kappaletta.

Matematiikan peruskurssi 2

Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Matematiikan tukikurssi

Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1

Matematiikan tukikurssi, kurssikerta 1

Analyysin peruslause

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Funktiot. funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina.

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Luonnollisen päättelyn luotettavuus

Cantorin joukon suoristuvuus tasossa

Määritelmä, alkuluku/yhdistetty luku: Esimerkki . c) Huomautus Määritelmä, alkutekijä: Esimerkki

Kanta ja dimensio 1 / 23

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

(2n 1) = n 2

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

Johdatus yliopistomatematiikkaan. JYM, Syksy /197

Rekursiiviset palautukset [HMU 9.3.1]

Kokonaislukuoptimointi

Todennäköisyyslaskenta IIa, syys lokakuu 2019 / Hytönen 3. laskuharjoitus, ratkaisuehdotukset

LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013

Toispuoleiset raja-arvot

LUKUTEORIA johdantoa

Approbatur 3, demo 5, ratkaisut

Joukot. Georg Cantor ( )

Algebra I, Harjoitus 6, , Ratkaisut

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

802320A LINEAARIALGEBRA OSA III

MAT Algebra 1(s)

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko

Luku 5. Löwenheimin ja Skolemin lause. kompaktisuuslause. Tässä luvussa tutustumme tärkeimpiin täydellisyyslauseen (ja sen todistuksen) seurauksiin.

Matematiikan tukikurssi, kurssikerta 3

U β T. (1) U β T. (2) {,X} T. (3)

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

Transkriptio:

Matemaattinen logiikka Viitteet [1] K.Gödel: Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I. Monatshefte für Mathematik und Physik, vol 38 (1931), ss. 173-198. [2] D.Hilbert-P.Bernays: Grundlagen der Mathematik II. Springer (1939) [3] L.Kurittu: Propositio- ja predikaattilogiikka. Jyväskylän yliopisto (2009) [4] M.H.Loeb: Solution of a problem of Leon Henkin. The Journal of Symbolic Logic, vol 20 (1955), ss. 115-118. [5] E.Nagel-J.R.Newman: Gödel s proof. Routledge (1989) [6] I.Niiniluoto: Matemaattinen logiikka. Limes (1973) [7] J.W.Robbin: Mathematical logic. A first course. Benjamin (1969) [8] J.Väänänen: Matemaattinen logiikka. Gaudeamus (1987) i

Johdanto Yleiskatsaus Vuonna 1921 David Hilbert viitoitti kuuluisassa ohjelmassaan 1900-luvun matematiikan suuntaviivoja ja asetti yhdeksi tärkeimmistä tavoitteista koko matematiikan aksiomatisoinnin, ts. olisi kehitettävä yhtenäinen aksioomajärjestelmä, jonka pohjalta kaikki matematiikan todet tulokset voitaisiin todistaa. Samalla tämän aksioomajärjestelmän tulisi olla ristiriidaton ja myös tämä ristiriidattomuus olisi voitava todistaa. On huomattava, että tuolloin matematiikassa ei ollut yhtenäistä pohjaa oikein missään. Esimerkiksi joukko-opissa ei ollut selvää sopimusta siitä, mikä se joukko oikein on ja Russell in paradoksi kertoi korutonta kieltään yhteisten pelisääntöjen tarpeellisuudesta. Hilbertin ohjelman puitteissa tai sen johdosta saatiin paljon aikaan; esimerkiksi joukko-oppiin syntyi ns. Zermelo-Fraenkelin aksioomajärjestelmä, jota nykyäänkin pidetään joukko-opin pohjana. Hilbertin ohjelma oli kuitenkin liian kunnianhimoinen. Osoittautui nimittäin, että edes aritmetiikkaa eli N:n ominaisuuksia ei voida aksiomatisoida niin, että kaikki todet tulokset saataisiin todistetuksi. Tämän todisti Kurt Gödel artikkelissaan [1]. Tämä tulos tunnetaan nimellä Gödelin ensimmäinen epätäydellisyyslause. Miten sitten kävi tuolle ristiriidattomuuskysymykselle? Esimerkiksi euklidisen geometrian aksioomajärjestelmän ristiriidattomuus todistetaan (yleensä) osoittamalla, että tasossa R 2 kaikki aksioomat toimivat yhtaikaa, joten ne eivät voi olla keskenään ristiriidassa. Tässä todistuksessa on se puute, että siinä pitää tietää R 2 :n ristiriidattomuus tai oikeammin se, että on olemassa joukko, joka toteuttaa R 2 :n aksioomajärjestelmän. Vähän mutkia oikoen tämä saadaan aikaan, jos tiedetään R:n ristiriidattomuus ja tämä, jos tiedetään N:n ristiriidattomuus. Joka tapauksessa geometrian aksioomajärjestelmän ristiriidattomuustodistuksessa joudutaan turvautumaan jonkin geometrian ulkopuolisen objektin (eli tässä tapauksessa N:n) ristiriidattomuuteen. Tämä tarkoittaa sitä, että geometrian aksioomajärjestelmä ei ainakaan tässä todistuskuviossa pysty todistamaan omaa ristiriidattomuuttaan. On huomattava, että vaikka tässä todistuksessa geometrian ristiriidattomuus tulee ulkoapäin, tämä ei tietenkään takaa sitä, etteikö geometrian aksioomajärjestelmästä voisi jollakin nerokkaalla tempulla tuon ristiriidattomuustodistuksenkin kaivaa. Jos palataan N:n ristiriidattomuuteen, niin N:ssäkin on oma aksioomajärjestelmänsä (johon tullaan tutustumaan), ja voidaan kysyä, voiko sen puitteissa todistaa, että N on ristiriidaton. Vastaus on, että ei voida. Tämäkin on Gödelin todistama tulos ja tunnetaan nimellä Gödelin toinen epätäydellisyyslause. ii

Tästä monisteesta Tämä luentomoniste on jatkoa monisteelle [3]. Päätarkoituksena on todistaa Gödelin ensimmäinen epätäydellisyyslause. Gödelin todistus on vaikea; helppolukuisempi versio siitä on teoksessa [5]. Tiivistettynä todistus löytyy myös kirjasta [7] ja siitä tehdyssä suomenkielisessä referaatissa [6]. Tässä monisteessa esitetään myös toisen epätäydellisyyslauseen todistuksen suuntaviivat joitakin detaljeja tässä sivuutetaan, toisin kuin ensimmäisen epätäydellisyyslauseen todistuksessa, jossa kaikki mahdollinen on yksityiskohtaisesti käyty läpi. Ja näitä detaljeja riittää muutamat apulauseiden todistukset ovat monen sivun mittaisia. Tästä syystä monisteen lukukelvollisuuden parantamiseksi on useimmat tekniset todistukset siirretty toisaalle eli netistä löytyvään todistusmonisteeseen, ks. http://users.jyu.fi/ lkurittu/matlogtod.pdf. Tässä käsillä olevassa monisteessa näistä todistuksista on annettu vain ylimalkainen idea. Tärkeimmät todistukset on kuitenkin esitetty yksityiskohtaisesti. Gödelin epätäydellisyyslauseita silmälläpitäen aksiomatisoidaan N. Tämä tarkoittaa käytännössä sitä, että kehitetään propositio- ja predikaattikielten jatkeeksi uusi kieli, ns. RA-kieli, jossa on predikaattikieliin verrattuna uusia aksioomia ja uudenlaiset atomikaavat, ja jonka tarkoitus on imitoida luonnollisia lukua ja niiden aritmetiikkaa. Aritmetiikalla ymmärretään tässä luonnollisten lukujen alkeislaskutoimituksia, kuten esimerkiksi yhteen- ja kertolaskua jotka ovat tarkkaan ottaen kuvauksia N 2 N ja niin edelleen. Näitä imitoitavia laskutoimituksia kutsutaan yhteisnimellä primitiivirekursiiviset funktiot. Osoittautuu, että primitiivirekursiivisten funktioiden luokka on kovin laaja jopa niin, että on melko vaikea antaa esimerkkiä funktiosta f : N n N, joka ei olisi primitiivirekursiivinen. Tällaisia kuitenkin on olemassa ja harjoitustehtävissä tutustutaan ehkä tunnetuimpaan ei-primitiivirekursiiviseen funktioon N N, joka tunnetaan nimellä Ackermann in funktio. Muita tällaisia syntyy esimerkiksi Churchin ja Tarskin lauseiden seurauksena. Näitä lauseita ei kuitenkaan todisteta tällä kurssilla kurssin lopussa niihin viitataan, mutta tässä vaiheessa ei ole mahdollista edes sanoa, mitä nämä lauseet oikeastaan väittävät. Konstruoitavalla RA-kielellä pystytään imitoimaan kaikkia primitiivirekursiivisia funktioita, so. voidaan aina konstruoida RA-kielinen funktiosymboli, joka imitoi annettua primitiivirekursiivista funktiota. Koko uuden aksioomajärjestelmän tarkoitus on imitoida kaikkia mahdollisia primitiivirekursiivisten funktioiden ominaisuuksia. Kuitenkin on niin, että se ei tähän tehtävään aivan täydellisesti pysty, kuten Gödelin ensimmäinen epätäydellisyyslause sanoo. Validisuus tässä kielessä määritellään karkeasti sanoen niin, että kaava on validi, jos sen imitoima tilanne reaalimaailmassa (jolla tässä tarkoitetaan tilannetta aritmetiikassa) on tosi. Kysymys on siis siitä, onko kyseisen kaavan imitoima aritmeettinen kaava oikein laskettu. Siis jos esimerkiksi f, g ja h ovat primitiivirekursiivisia funktioita ja RA-kielinen kaava A imitoi aritmeettista kaavaa iii

f +g = h, niin A on validi jos ja vain jos pätee f(n)+g(n) = h(n) kaikille n N. Jotta kielen rakenteissa olisi mieltä, on teoreemojen oltava tosia eli valideja. Tämä koskee yleisesti kaikkia kieliä ja tässä erityisesti RA-kieltä. Osoittautuu, että RA-kieli toteuttaa tämän perusvaatimuksen eli eheyslause pätee tässä kielessä, ts. jokainen teoreema on validi eli sen imitoima aritmeettinen kaava toimii. Kuten sanottu, RA-kieli on kuitenkin epätäydellinen, ts. tässä kielessä on kaava, joka on validi, mutta ei ole teoreema. Kielen epätäydellisyys tarkoittaa siis sitä, että aritmetiikassa on jokin kaava, joka on tosi (aritmeettisessa mielessä), mutta jota (tai oikeammin jonka RA-kielistä vastinetta) ei mitenkään voi todistaa (loogisessa mielessä). Gödelin epätäydellisyyslauseessa ei ainoastaan todisteta tällaisen kaavan olemassaoloa, vaan suorastaan konstruoidaan se; lopputulos on varsin vaikuttava. Tämä luentomoniste rakentuu niin, että luvussa 1 ei puhuta vielä logiikasta mitään, vaan esitellään primitiivirekursiiviset funktiot ja joukot sekä todistetaan niihin liittyviä aputuloksia. Varsinainen RA-kieli kehitetään monisteen luvussa 2. Itse Gödelin epätäydellisyyslauseiden todistus on sijoitettu lukuun 4. Todistus perustuu Gödelin nerokkaaseen ideaan, jossa kaikki kaavat numeroidaan. Tämä ns. Gödel-numerointi esitetään luvussa 3. Numerointiin liittyvät aputulokset ovat teknisesti erittäin monimutkaisia, ja löytyvät pääosin edellä mainitusta nettiosoitteesta. Tärkeimmät asiat tulevat vasta viimeisillä sivuilla, joilla aputulokset kootaan yhteen aivan kuten perinteisissä dekkareissa. Jyväskylässä talvella 2010 Lassi Kurittu iv

Matemaattinen logiikka 4. huhtikuuta 2010 1 Primitiivirekursiiviset funktiot ja joukot Tällä kurssilla nolla on luonnollinen luku, jolloin siis N = {0, 1, 2,...}. Merkitään tavalliseen tapaan kaikille k N, k 1, N k = {(n 1,...,n k ) n i N kaikille i = 1,...,k}. Käytetään tavanomaisia tulkintoja N k = N i N j kun i + j = k ja N 1 = N sekä sovitaan erityisesti, että N 0 = {0}. Määritelmä 1.1 Olkoon k N, k 1 ja olkoot g : N k N sekä h : N k+2 N kuvauksia. Sanotaan, että kuvaus f : N k+1 N on saatu kuvauksista g ja h primitiivirekursiolla, jos 1) f(x 1,..., x k, 0) = g(x 1,..., x k ) kaikille (x 1,...,x k ) N k ja 2) f(x 1,..., x k, y + 1) = h(x 1,...,x k, y, f(x 1,..., x k, y)) kaikille (x 1,...,x k, y) N k+1. Tällöin merkitään f = R(g, h). Tapauksessa k = 0 on N k = N 0 = {0}, jolloin g on vakio, g g(0) = c N. Tällöin sanotaan, että f : N N on saatu primitiivirekursiolla vakiosta c ja kuvauksesta h : N 2 N, jos 1 0 ) f(0) = c ja 2 0 ) f(y + 1) = h(y, f(y)) kaikille y N. Huomautus. On tärkeää huomata jo tässä vaiheessa, että primitiivirekursiossa olevien funktioiden määrittelyjoukko on koko avaruus N j, siis g on määritelty koko N k :ssa ja h on määritelty koko N k+2 :ssa, jolloin automaattisesti f:n määrittelyjoukoksi tulee koko N k+1. Esimerkki. Kertomafunktio σ : N N, σ(y) = y! on saatu primitiivirekursiolla vakiosta c = 1 ja kuvauksesta h : N 2 N, missä h(x, y) = (x + 1)y. 1

Tämä seuraa siitä, että σ(0) = 1 = c ja h(y, σ(y)) = (y + 1)σ(y) = (y + 1)y! = (y + 1)! = σ(y + 1) kaikille y N. N:n kertolasku, joka on kuvaus f : N 2 N, f(x, y) = xy on saatu primitiivirekursiolla nollakuvauksesta g : N N, g(x) 0 ja kuvauksesta h : N 3 N, h(a, b, c) = a + c. Tämä näkyy siitä, että f(x, 0) = 0 = g(x) kaikille x ja f(x, y + 1) = x(y + 1) = x + xy = h(x, y, xy) = h(x, y, f(x, y)) kaikille x, y. Lause 1.2 Olkoot k N ja g : N k N sekä h : N k+2 N kuvauksia. Tällöin on olemassa yksikäsitteinen kuvaus f : N k+1 N siten, että f = R(g, h). Todistusidea. Tämä on rekursioperiaatteen eräs muoto. Rekursio tehdään y:n suhteen kiinteälle (x 1,...,x k ). Huomautus. Kaikille kuvauksille g ja h ei R(g, h):ta voi muodostaa, vaan dimensioiden on oltava oikein, ts. jos g : N k N, niin on oltava h : N k+2 N. Jos näin kuitenkin on, niin lauseen 1.2 ja erityisesti sen yksikäsitteisyyspuolen nojalla määritelmän 1.1 merkintä f = R(g, h) on mielekäs. Jos tunnetaan g ja h, periaatteessa siis tunnetaan myös f = R(g, h). Käytännössä tämän f:n arvon määrääminen tietyssä pisteessä voi olla hankalaa. Tämän näkee jo kertomafunktiosta (ks. edellinen esimerkki): vaikka g:n ja h:n arvot osataan helposti laskea, sama ei päde kertomafunktiolle σ. Paljonko on esimerkiksi σ(5678345)? Onkin niin, että primitiivirekursiolla saadun funktion f arvon määräämiseksi jossakin tietyssä pisteessä täytyy usein määrätä ensin f:n arvot pienemmillä muuttujan arvoilla ja näinhän asia nimenomaan kertomafunktion kohdalla on. Esimerkki. Olkoot g : N N, h : N 3 N ja f : N 2 N siten, että g(x) = (x + 1) 2 ja h(x, y, z) = 2x + 3y + z f = R(g, h). sekä Lasketaan luku f(4, 3). Määritelmän 1.1 ehdon 2) mukaan tämä saadaan h:n avulla, jos tunnetaan f(4, 2), ja tämä, jos tunnetaan f(4, 1) ja edelleen tämä, jos tunnetaan f(4, 0). Tämä saadaan ehdosta 1). Tässä tapauksessa f(4, 0) = g(4) = 25, josta f(4, 1) = h(4, 0, f(4, 0)) = h(4, 0, 25) = 33 f(4, 2) = h(4, 1, f(4, 1)) = h(4, 1, 33) = 44 f(4, 3) = h(4, 2, f(4, 2)) = h(4, 2, 44) = 58. ja edelleen ja lopulta 2

Edellä määritellyn symbolin R lisäksi käytetään seuraavia erityissymboleja: Merkitään symbolilla z nollakuvausta z : N N, missä z(x) = 0 kaikille x N. Merkitään symbolilla s seuraajakuvausta s : N N, missä s(x) = x + 1 kaikille x N. Kun 1 i k, niin merkitään symbolilla π k i projektiokuvausta πk i : Nk N, missä π k i (x 1,..., x i,...,x k ) = x i kaikille (x 1,...,x i,..., x k ) N k. Huomaa, että π 1 1 = id : N N. Jos k 0, m 1 ja h : N m N sekä g i : N k N, i = 1,...,m ovat kuvauksia, niin merkitään symbolilla kuvausta N k N, missä c(h; g 1,..., g m ) c(h; g 1,..., g m )(x 1,..., x k ) = h(g 1 (x 1,...,x k ), g 2 (x 1,..., x k ),..., g m (x 1,...,x k )) kaikille (x 1,...,x k ) N k. Huomautus. Jos m = 1, niin kyseessä on tavallinen yhdistetty kuvaus, ts. c(h; g 1 ) = h g 1 : N k N. Sanotaan (myös kun m > 1), että c(h; g 1,...,g m ) on kuvausten h ja g 1,...,g m yhdiste. Huomautus. Yhdistettä koskee sama rajoite kuin primitiivirekursiota, eli funktion c(h; g 1,...,g m ) voi muodostaa vain jos dimensiot ovat oikein, ts. h on kuvaus N m N ja kaikki g i :t, i = 1,...,m, ovat kuvauksia N k N samalle k. Seuraavaksi määritellään primitiivirekursiivisten funktioiden joukko, jota merkitään (myös) symbolilla R. Määritelmän 1.1 mukaisella funktiolla on (osittain) sama merkintä, mutta tästä ei aiheutune sekaannusta. Määritelmä 1.3 Merkitään F = {f f on kuvaus f : N k N jollekin k N}. Määritellään A joukon F osajoukoista koostuvana joukkona sopimalla, että A = {W F W toteuttaa ehdot (A1) (A5)}, missä (A1) : z W, (A2) : s W, (A3) : πi k W kaikille 1 i k N, 3

(A4) : jos g, h W siten, että R(g, h) voidaan muodostaa, niin R(g, h) W ja (A5) : jos h, g 1,..., g m W siten, että c(h; g 1,..., g m ) voidaan muodostaa, niin c(h; g 1,..., g m ) W. Määritellään sitten R = W A W F ja sanotaan, että R on primitiivirekursiivisten funktioiden joukko ja sen alkiot ovat primitiivirekursiivisia funktioita. Huomautus 1.4 Määritelmä on mielekäs, koska A = (sillä ainakin koko F A). Koska jokainen joukon A alkio W toteuttaa määritelmän ehdot (A1) (A5), niin myös joukko R = W toteuttaa nämä ehdot. Näin voidaan järkevästi sanoa, että R on pienin funktiojoukko, joka toteuttaa ehdot (A1) (A5). Huomaa, että funktion primitiivirekursiivisuuden määritelmä ei perustu suoraan kyseisen funktion ominaisuuksiin, vaan määritelmässä on mukana R ja sen joukko-opillinen määritelmä. Tämähän poikkeaa täysin esimerkiksi jatkuvan tai derivoituvan funktion määritelmästä. Huomautus 1.5 Koska huomautuksen 1.4 nojalla R toteuttaa ehdot (A1) (A3), niin funktiot z, s ja πi k, 1 i k ovat triviaalisti primitiivirekursiivisia. Osoittautuu, että melkein kaikki tavalliset funktiot N k N, k 1 (mitä se sitten tarkkaan ottaen tarkoittaakin) ovat primitiivirekursiivisia. Todistetaan ensin erittäin yksinkertaisten funktioiden primitiivirekursiivisisuus. Lause 1.6 Vakiokuvaus f : N k N, k 1, f(x) a N, on primitiivirekursiivinen. Todistusidea. Induktio a:n suhteen. Huomaa, että tässä tarvitaan oletusta k 1. Lause 1.7 Summakuvaus f : N 2 N, f(x, y) = x + y kaikille (x, y) N 2, on primitiivirekursiivinen. Todistusidea. f = R(π 1 1, c(s; π 3 3)), joten väite seuraa huomautuksista 1.4 ja 1.5. Huomautus. Lauseesta 1.7 seuraa, että myös kuvaus N N, x x + a, missä a N kiinteä, on primitiivirekursiivinen. Tämä näkyy seuraavasta yleisemmästä tuloksesta: Lause 1.8 Olkoon 1 m < k ja a m+1,..., a k N kiinteitä sekä g : N k N primitiivirekursiivinen kuvaus. Tällöin myös kuvaus f : N m N, missä f(x 1,..., x m ) = g(x 1,..., x m, a m+1,..., a k ) kaikille (x 1,...,x m ) N m, on primitiivirekursiivinen. 4

Todistusidea. Olkoot h i : N m N vakiokuvauksia, h i a i, i = m + 1,...,k. Tällöin f = c(g; π m 1,...,π m m, h m+1,..., h k ). Huomautus. Lauseessa 1.8 ei ole oleellista, että vakiot a i ovat muuttujien x i perässä, vaan järjestystä voi vaihdella mielivaltaisesti. Jos esimerkiksi g : N 4 N on primitiivirekursiivinen ja a N vakio, niin myös kuvaus f : N 3 N, f(x 1, x 2, x 3 ) = g(x 3, a, x 2, x 1 ) on primitiivirekursiivinen. Tämä näkyy lausetta 1.9 seuraavasta esimerkistä a). Lause 1.9 Olkoon g : N k N primitiivirekursiivinen ja ρ : {1,..., k} {1,..., k} jokin kuvaus. Tällöin kuvaus f : N k N, missä f(x 1, x 2,..., x k ) = g(x ρ(1), x ρ(2),..., x ρ(k) ) kaikille (x 1,..., x k ) N k, on primitiivirekursiivinen. Todistus. Tässä f = c(g; πρ(1) k, πk ρ(2),..., πk ρ(k) ), joten väite seuraa huomautuksesta 1.4. Esimerkki. a) Olkoot g ja f kuten edellisessä huomautuksessa. Määritellään ρ : {1, 2, 3, 4} {1, 2, 3, 4} asettamalla ρ(1) = 3, ρ(2) = 4, ρ(3) = 2 ja ρ(4) = 1. Jos määritellään g : N 4 N siten, että g(x 1, x 2, x 3, x 4 ) = g(x 3, x 4, x 2, x 1 ), niin lauseen 1.9 nojalla g R. Lauseen 1.8 nojalla kuvaus N 3 N, (x 1, x 2, x 3 ) g(x 1, x 2, x 3, a) on primitiivirekursiivinen. Mutta tämä on juuri kuvaus f. b) Lauseen 1.9 kuvauksen ρ ei tarvitse olla injektio eli kyseessä ei tarvitse olla lukujen 1,...,k permutaatio. Esimerkiksi kuvauksen N 2 N, (x, y) 2x primitiivirekursiivisuus seuraa lauseista 1.6 ja 1.9, kun 1.9:ssä valitaan ρ 1. Lause 1.10 N:n kertolasku eli kuvaus f : N 2 N, f(x, y) = xy, on primitiivirekursiivinen. Todistusidea. Olkoon α : N 2 N yhteenlasku, α(x, y) = x + y ja z : N N nollakuvaus. Tällöin f = R(z, c(α; π 3 1, π 3 3)). Vertaa lausetta 1.2 edeltävään esimerkkiin. Sovitaan jatkossa, että x 0 = 1 kaikille x N (erityisesti siis 0 0 = 1). Lisäksi sovitaan, että 0 x = 0 kaikilla x N \ {0}. Lause 1.11 N:n potenssiinkorotus eli kuvaus f : N 2 N, f(x, y) = x y, on primitiivirekursiivinen. Todistusidea. Olkoon g : N N vakiokuvaus, g(x) 1 ja α : N 2 N kertolasku, α(x, y) = x y. Tällöin f = R(g, c(α; π 3 1, π 3 3)). N:ssä ei voi määritellä vähennyslaskua kuten Z:ssa, koska x y / N, kun x < y. Sen sijaan käytetään ns. rajoitettua vähennyslaskua,, joka määritellään seuraavasti: Kaikille x, y N asetetaan { x y jos x y x y = 0 jos x < y. 5

Tämä on myös primitiivirekursiivinen funktio, kuten lauseesta 1.13 näkyy. Lauseen 1.13 todistuksessa tarvitaan pientä lemmaa: Lemma 1.12 Olkoon f : N N kuvaus siten, että on olemassa primitiivirekursiivinen h : N 2 N, jolle pätee h(x, f(x)) = f(x + 1) kaikille x N. Tällöin myös f on primitiivirekursiivinen. Todistusidea. Tässähän f syntyy primitiivirekursiolla vakiokuvauksesta g : N 0 N, g f(0) ja funktiosta h, joten mikä on ongelma? Ongelma on siinä, että tuo vakiokuvaus g ei ole primitiivirekursiivinen; lauseessa 1.6 pitää olla k 1. Tässä pitää vähän kikkailla, ja homma sujuu näin: Olkoon g : N N vakiokuvaus, g(x) f(0) tämä on primitiivirekursiivinen. Tällöin pätee f = c(r(g, c(h; π 3 2, π 3 3)); π 1 1, π 1 1). Lause 1.13 Kuvaus f : N 2 N, f(x, y) = x y, on primitiivirekursiivinen. Todistus. Lemman 1.12 avulla nähdään ensin, että g : N N, g(x) = x 1, on primitiivirekursiivinen. Sitten f = R(π 1 1, c(g; π3 3 )). Huomautus. Kuten aiemmin todettiin, lähes kaikki tavalliset funktiot f : N k N ovat primitiivirekursiivisia, jopa niin, että on vaikea konstruoida funktiota, joka ei olisi primitiivirekursiivinen poislukien tietysti triviaalit vakiokuvaukset N 0 N. Eräs tällainen on ns. Ackermann in funktio, ks. [3, ss. 12 13]. Toisaalta voidaan osoittaa, että joukko R on numeroituva, kun taas kaikkien funktioiden joukko {f f : N k N} on ylinumeroituva. Siten muunlaisia funktioita on kuitenkin paljon enemmän kuin primitiivirekursiivisia funktioita. Tässä on vähän samanlainen tilanne kuin algebrallisten lukujen (jotka ovat kokonaislukukertoimisten polynomiyhtälöiden juuria) ja transkendenttilukujen (jotka ovat sitten kaikki muut reaaliluvut) välillä: transkendenttilukuja on ylinumeroituva määrä, kun taas algebrallisten lukujen joukko on vain numeroituva. Siitä huolimatta konkreettisia transkendenttilukuja tunnetaan kovin vähän. Määritellään seuraavaksi primitiivirekursiivinen joukko. Määritelmä 1.14 Sanotaan, että joukko A N k, k 1 on primitiivirekursiivinen, jos sen karakteristinen funktio χ A : N k N, { 1 kun x A χ A (x) = 0 kun x / A on primitiivirekursiivinen. Esimerkki. N k ja N k, k 1 ovat primitiivirekursiivisia joukkoja, sillä niiden karakteristiset funktiot ovat vakioita ja siis primitiivirekursiivisia lauseen 1.6 nojalla. Kaikki N k :n äärelliset osajoukot ovat primitiivirekursiivisia jätetään tämän todistus harjoitustehtäväksi. 6

Koska primitiivirekursiivisten funktioiden joukko on laaja, on vaikea antaa konkreettista esimerkkiä joukosta, joka ei ole primitiivirekursiivinen. Tällaisia on kuitenkin olemassa esimerkiksi siitä syystä, että N k :n osajoukkoja on ylinumeroituva määrä, kun taas (kuten edellä todettiin) primitiivirekursiivisten funktioiden joukko ja siten myös primitiivirekursiivisten joukkojen joukko on vain numeroituva. Konkreettinen esimerkki ei-primitiivirekursiivisesta joukosta tulee vasta kurssin lopulla Churchin tai Tarskin lauseen yhteydessä. Lause 1.15 Olkoot A, B N k primitiivirekursiivisia joukkoja. Tällöin myös joukot ovat primitiivirekursiivisia. a) N k \ A, b) A B, c) A B ja d) A \ B Todistusideoita. a) Olkoon f : N N, f(x) = 1 x. Silloin χ Nk \A = c(f; χ A ). b) Olkoon f : N 2 N, f(x, y) = xy. Silloin χ A B = c(f; χ A, χ B ). c) A B = N k \ ((N k \ A) (N k \ B)), joten väite seuraa a)- ja b)-kohdista. d) A \ B = A (N k \ B), joten väite seuraa a)- ja b)-kohdista. Lause 1.16 Olkoot f, g : N k N primitiivirekursiivisia funktioita. Tällöin joukot A 1, A 2, A 3 ja A 4 N k, missä A 1 = {x N k f(x) = g(x)}, A 2 = {x N k f(x) g(x)}, A 3 = {x N k f(x) g(x)} A 4 = {x N k f(x) < g(x)}, ja ovat primitiivirekursiivisia. Todistusideoita. Olkoot α, β, δ : N 2 N ja γ : N N, Tällöin α(x, y) = x y, β(x, y) = y x, γ(x) = 1 x ja δ(x, y) = x + y. χ A1 = c(γ; c(δ; c(α; f, g), c(β; f, g))) ja χ A3 = c(γ; c(α; f, g)). Tämän jälkeen joukkojen A 2 ja A 4 primitiivirekursiivisuus seuraa lauseesta 1.15, sillä A 2 = N k \ A 1 ja A 4 = A 3 \ A 1. 7

Lause 1.17 Olkoot f 1,..., f m : N n N primitiivirekursiivisia kuvauksia ja A N m primitiivirekursiivinen joukko. Tällöin joukko on primitiivirekursiivinen. B = {x N n (f 1 (x),..., f m (x)) A} N n Todistus. Funktio c(χ A ; f 1,...,f m ) on primitiivirekursiivinen oletusten ja huomautuksen 1.4 nojalla, joten riittää huomata, että χ B = c(χ A ; f 1,...,f m ). Tämä on selvää joukon B määritelmän mukaan. Lause 1.18 Olkoon A N k primitiivirekursiivinen joukko, 1 m < k ja a m+1,...,a k N kiinteitä. Tällöin joukko B = {(x 1,...,x m ) N m (x 1,...,x m, a m+1,...,a k ) A} N m on primitiivirekursiivinen. Todistus. χ B (x 1,...,x m ) = χ A (x 1,..., x m, a m+1,...,a k ), joten väite seuraa lauseesta 1.8. Määritelmä 1.19 Olkoon k 1 ja A N k+1. Määritellään joukot A N k+1 ja A N k+1 seuraavasti: A = {(x 1,..., x k, y) N k+1 kaikille z {0,...,y} pätee (x 1,..., x k, z) A} A = {(x 1,..., x k, y) N k+1 jollakin z {0,...,y} pätee (x 1,..., x k, z) A}. Kun k = 0, määritelmä tulee muotoon A = {y N kaikille z {0,..., y} pätee z A} A = {y N jollakin z {0,...,y} pätee z A}. Huomautus. Heti nähdään, että Lisäksi pätee A A A. (1) A = N k+1 \ (N k+1 \ A). (2) Ehtojen (1) ja (2) tarkka todistus jää harjoitustehtäväksi. Ehdossa (1) voi lisäksi päteä A = A tai A = A tai jopa A = A = A näihin löytyy helppoja esimerkkejä. Esimerkki. Olkoot A = {(x, y) N 2 x = y}, B = {(x, y) N 2 x y}, C = {(x, y) N 2 x y} D = {(x, y) N 2 x < y}. ja 8

Tällöin pätee A = {(0, 0)} ja A = C, B = N 2 \ C ja B = N 2 \ {(0, 0)}, C = {0} N ja C = C D = ja D = D. sekä Jos joukko A on primitiivirekursiivinen, niin myös joukot A ja A ovat primitiivirekursiivisia. Tämän todistamiseen tarvitaan seuraava lause, joka on sinälläänkin mielenkiintoinen ja tärkeä. Lause 1.20 Olkoon k 1 ja f : N k+1 N primitiivirekursiivinen funktio. Määritellään kuvaus g : N k+1 N asettamalla kaikille (x 1,...,x k, y) N k+1 g(x 1,..., x k, y) = f(x 1,..., x k, 0) f(x 1,..., x k, 1)... f(x 1,..., x k, y). Tällöin g on primitiivirekursiivinen funktio. Huomautus. Voisi luulla, että tämä seuraa lauseesta 1.10 helpolla induktiolla. Näin ei kuitenkaan ole, koska g:n määritelmässä olevan tulon tekijöiden lukumäärä riippuu y:stä. Jos tulossa olisi vakiomäärä tekijöitä, tilanne olisi toinen. Todistus. Olkoon s : N N seuraajakuvaus, s(x) = x + 1. Merkitään α = c(f; π k+2 1, π k+2 2,...,π k+2 k, c(s; π k+2 k+1 )) : Nk+2 N, jolloin α R oletuksen ja huomautuksen 1.4 nojalla. Olkoon β kertolasku, β : N 2 N, β(x, y) = xy, jolloin β R lauseen 1.10 nojalla. Asetetaan edelleen h = c(β; π k+2 k+2, α), jolloin h R huomautuksen 1.4 nojalla. Määritellään vielä k : N k N siten että k(x 1,...,x k ) = f(x 1,...,x k, 0) kaikille (x 1,...,x k ) N k. Kuvauksen k primitiivirekursiivisuus seuraa oletuksesta ja lauseesta 1.8. Lopuksi määritellään ϕ = R(k, h), jolloin ϕ R huomautuksen 1.4 nojalla. Tällöin väitteen todistamiseksi riittää osoittaa, että g = ϕ. (1) Olkoon x = (x 1,..., x k ) N k kiinteä, mutta mielivaltainen. Käytetään merkintöjen selventämiseksi lyhennysmerkintää (x, y) = (x 1,..., x k, y) N k+1. Väite (1) pätee, jos osoitetaan, että ϕ(x, y) = g(x, y) kaikilla y N. (2) 9

Tehdään tämä induktiolla y:n suhteen. Arvolla y = 0 saadaan ϕ(x, 0) i) = R(k, h)(x, 0) ii) = k(x) iii) = f(x, 0) iv) = g(x, 0), joten induktion alkuaskel on otettu. Tässä yhtälö i) tulee ϕ:n määritelmästä, yhtälö ii) määritelmästä 1.1, yhtälö iii) k:n ja yhtälö iv) g:n määritelmästä. Oletetaan sitten induktiivisesti, että ϕ(x, y) = g(x, y). Induktioväitteenä on Tämän näkee oikeaksi näin: ϕ(x, y + 1) = g(x, y + 1). ϕ(x, y + 1) = R(h, k)(x, y + 1) = h(x, y, R(h, k)(x, y)) = h(x, y, ϕ(x, y)) i) = h(x, y, g(x, y)) = β(π k+2 k+2 (x, y, g(x, y)), α(x, y, g(x, y))) = β(g(x, y), f(π1 k+2 (x, y, g(x, y)),..., π k+2 k (x, y, g(x, y)), s(π k+2 k+1 (x, y, g(x, y)))) = β(g(x, y), f(x, s(y))) = g(x, y) f(x, y + 1) = g(x, y + 1), missä yhtälö i) seuraa induktio-oletuksesta muut ovat lähinnä määritelmiä kuten induktion alkuaskeleessa. Näin induktioaskel on otettu ja väite (2) todistettu. Huomautus. Lauseen 1.20 väite pätee myös tapauksessa k = 0. Tällöin g:n määritelmä saa muodon g(y) = f(0) f(1)... f(y). Todistuksessa voi käyttää lemmaa 1.12 jätetään tämä harjoitustehtäväksi. Lause 1.21 Olkoon k N ja A N k+1 primitiivirekursiivinen joukko. Tällöin myös joukot A ja A ovat primitiivirekursiivisia. Todistusidea. Ensin χ A (x 1,...,x k, y) = χ A (x 1,..., x k, 0) χ A (x 1,...,x k, 1)... χ A (x 1,...,x k, y) ja sitten A = N k+1 \ (N k+1 \ A). Seuraavaksi määritellään uusi, tärkeä tapa tuottaa primitiivirekursiivisia funktioita: Määritelmä 1.22 Olkoon k 1 ja A N k+1. Määritellään kuvaus µ A : N k+1 N asettamalla kaikille (x 1,..., x k, y) N k+1 µ A (x 1,...,x k, y) = { min{z y (x 1,...,x k, z) A} jos (x 1,...,x k, y) A 0 jos (x 1,...,x k, y) / A. 10

Sanotaan, että µ A on saatu minimalisaatiolla joukosta A. Kun k = 0, määritelmä tulee muotoon { min{z y z A} jos y A µ A (y) = 0 jos y / A. Esimerkki. Olkoon A = {(x, y) N 2 x < y}. Tällöin { x + 1 jos x < y µ A (x, y) = 0 muuten. Huomaa, että tässä kiinteälle x N funktio y µ A (x, y) saa vain kaksi eri arvoa. Näin on laita yleensäkin: kiinteälle (x 1,...,x k ) N k kuvaus y µ A (x 1,...,x k, y) saa korkeintaan kaksi eri arvoa, joista toinen on 0. Tämä nollaarvo saavutetaan ainakin kun y = 0. y:n kasvaessa µ A (x 1,..., x k, y) (mahdollisesti) hyppää jossakin vaiheessa arvoon min{z y (x 1,..., x k, z) A} ja pysyy sen jälkeen vakiona. Huomautus. Teoreettisesti on erittäin merkittävää, että minimalisaatiossa µ A minimiä haetaan äärellisestä joukosta {z y (x 1,..., x k, z) A} jos tämä joukko on tyhjä, niin minimalisaation arvo tässä pisteessä on nolla. Tällöin tietokone osaa laskea minimalisaation arvon pisteessä (x 1,..., x k, y) käymällä läpi pisteet (x 1,...,x k, z), z = 0, 1,...,y. Jos joukko, josta minimiä haetaan ei olisi ylhäältä rajoitettu luvulla y, tietokone voisi juuttua tutkimaan näitä arvoja ikuisiksi ajoiksi, varsinkin jos kyseinen joukko sattuisi olemaan tyhjä, jolloin pienintä sopivaa lukua z ei ikinä löytyisi. On myös niin, että laskuihin kuluva aika pystytään ennalta arvioimaan, koska maksimissaan vain y+1 kokeilua tarvitaan. Määritelmän 1.22 minimalisaatiota kutsutaan joskus myös rajoitetuksi minimalisaatioksi. Rajoittamattomassa minimalisaatiossa minimointi sallitaan myös äärettömästä joukosta. Tällaista ei tällä kurssilla harrasteta lähinnä siitä syystä, että vähän löysästi puhuen rajoittamaton minimalisaatio ei ole primitiivirekursiivinen toimenpide. Toisin on asia rajoitetulle minimalisaatiolle, sillä jos joukko A on primitiivirekursiivinen, niin myös funktio µ A on primitiivirekursiivinen. Tämä näkyy lauseesta 1.25, jonka todistuksessa tarvitaan seurausta 1.24. Esitetään kuitenkin ensin Lause 1.23 Olkoon k 1 ja A N k primitiivirekursiivinen joukko. Olkoot lisäksi f, g : N k N primitiivirekursiivisia funktioita. Määritellään funktio h : N k N asettamalla kaikille x N k { f(x) kun x A h(x) = g(x) kun x / A. Tällöin h on primitiivirekursiivinen funktio. 11

Todistusidea. Olkoot α, β : N 2 N, α(x, y) = x + y ja β(x, y) = x y sekä γ : N N, γ(x) = 1 x. Tällöin Lauseesta 1.23 saadaan h = c(α; c(β; χ A, f), c(β; c(γ; χ A ), g)). Seuraus 1.24 Olkoon k 1 ja olkoot A 1,...,A m N k primitiivirekursiivisia joukkoja siten, että m A i = N k ja A i A j = kun i j. i=1 Olkoot lisäksi f 1,...,f m : N k N primitiivirekursiivisia funktioita. Määritellään kuvaus h : N k N asettamalla h(x) = f i (x) kun x A i. Tällöin h on primitiivirekursiivinen funktio. Todistusidea. Induktio m:n suhteen. Lause 1.25 Olkoon A N k+1 primitiivirekursiivinen joukko. Tällöin on primitiivirekursiivinen funktio. µ A : N k+1 N Todistus. Kun k = 0, väite seuraa lauseesta 1.23, sillä joukot A ja N \ A ovat lauseiden 1.21 ja 1.15 nojalla primitiivirekursiivisia, ja näissä joukoissa µ A on vakio. Voidaan siis olettaa, että k 1. Käytetään lyhyyden vuoksi merkintöjä (x, u) = (x 1,..., x k, u) ja (x, u, v) = (x 1,...,x k, u, v) kaikille (x 1,..., x k ) N k. Määritellään h : N k+2 N asettamalla kaikille (x, u, v) N k+2 v kun (x, u) A h(x, u, v) = u + 1 kun (x 1,..., x k, u) / A ja (x, u + 1) A 0 muuten. Tällöin h on primitiivirekursiivinen. (1) Väitteen (1) todistamiseksi merkitään K = {(x, u, v) N k+2 (x, u) A }, L = {(x, u, v) N k+2 (x, u) / A ja (x, u + 1) A } M = {(x, u, v) N k+2 (x, u + 1) A }. sekä 12

Tällöin h K = π k+2 k+2, h L = c(s; π k+2 k+1 ) ja h N k+2 \(K L)= c(z; π k+2 1 ). Koska joukot K ja L ovat pistevieraita, väitteen (1) todistamiseksi riittää seurauksen 1.24 sekä huomautuksien 1.4 ja 1.5 nojalla osoittaa, että joukot K, L ja N k+2 \(K L) ovat primitiivirekursiivisia. Lauseen 1.15 nojalla tähän riittää se, että K ja L ovat primitiivirekursiivisia. (2) Lauseen 1.21 nojalla χ A R, joten c(χ A ; π k+2 1,...,π k+2 k, π k+2 k+1 ) R (3) huomautuksen 1.4 nojalla. Toisaalta kaikille (x, u, v) N k+2 pätee joten c(χ A ; π1 k+2,..., π k+2 k, π k+2 k+1 )(x, u, v) = χ A (x 1,..., x k, u) = { 1 kun (x, u) A = χ K (x, u, v), 0 muuten Tällöin ehdon (3) nojalla c(χ A ; π k+2 1,..., π k+2 k, π k+2 k+1 ) = χ K. χ K R, joten joukko K on primitiivirekursiivinen. Näin puolet väittestä (2) on todistettu. Joukon L primitiivirekursiivisuuden todistamiseksi havaitaan ensin, että L = (N k+2 \ K) M, joten K:n primitiivirekursiivisuuden ja lauseen 1.15 nojalla riittää osoittaa, että M on primitiivirekursiivinen. (4) Kuten ehdossa (3) saadaan lauseen 1.21 ja huomautuksen 1.4 nojalla c(χ A ; π1 k+2,..., π k+2 k, c(s; π k+2 k+1 )) R. (5) Toisaalta kaikille (x, u, v) N k+2 pätee c(χ A ; π1 k+2,...,π k+2 k, c(s; π k+2 k+1 ))(x, u, v) = χ A (x 1,..., x k, u + 1) = { 1 kun (x, u + 1) A = χ M (x, u, v), 0 muuten 13

joten Tällöin ehdon (5) nojalla c(χ A ; π k+2 1,..., π k+2 k, c(s; π k+2 k+1 )) = χ M. χ M R, joten väite (4) pätee. Tällöin myös väite (2) pätee ja silloin väite (1) on todistettu. Palataan varsinaisen väitteen todistukseen. Olkoon g : N k N, g 0 ja edelleen µ A R (6) ϕ = R(g, h), missä h : N k+2 N on edellä määritelty ja ehdossa (1) primitiivirekursiiviseksi todistettu funktio. Koska tehdyn oletuksen mukaan k 1, niin g on primitiivirekursiivinen lauseen 1.6 nojalla, joten ehdon (1) ja huomautuksen 1.4 nojalla ϕ R. (7) Ehdon (7) nojalla lauseen väite (6) seuraa, jos osoitetaan, että µ A = ϕ. (8) Olkoon x N k kiinteä, mutta mielivaltainen. Väite (8) seuraa, jos osoitetaan, että µ A (x, y) = ϕ(x, y) kaikille y N. (9) Todistetaan väite (9) induktiolla y:n suhteen. Kun y = 0, pätee aina µ A (x, y) = 0, olipa sitten (x, y) A tai ei. Tällöin eli väite (9) pätee kun y = 0. µ A (x, y) = 0 = g(x) = R(g, h)(x, 0) = ϕ(x, y) Oletetaan sitten induktiivisesti, että väite (9) pätee y:lle. Induktioväitteenä on, että se pätee (y + 1):lle. Tämän näkee seuraavasti: µ A (x, y + 1) { min{z (x, z) A} kun y + 1 A = 0 muuten min{z (x, z) A} kun (x, z) A jollakin z y = y + 1 kun (x, y + 1) A ja (x, z) / A kaikille z y 0 muuten 14

µ A (x, y) kun (x, y) A = y + 1 kun (x, y) / A ja (x, y + 1) A 0 muuten = h(x, y, µ A (x, y)) = h(x, y, ϕ(x, y)) = h(x, y, R(g, h)(x, y)) = R(g, h)(x, y + 1) = ϕ(x, y + 1), joten induktioaskel on otettu ja lause on todistettu. Seuraavaksi tarvitaan vähän alkeislukuteoriaa. Määritelmä 1.26 Olkoot x, y N. Sanotaan, että x on y:n tekijä, merkitään x y, jos on olemassa z N siten, että xz = y. Jos luvulla p N, p 2, ei ole muita tekijöitä kuin 1 ja p, sanotaan, että p on alkuluku. Merkitään symbolilla P kaikkien alkulukujen joukkoa. Määritellään rekursiivisesti alkuluvut p 1, p 2, p 3,... asettamalla p 1 = 2 ja jos p n, n 1 on jo määritelty, asetetaan p n+1 = min{x N x alkuluku ja x > p n }. Huomautus. Jotta p n+1 :n ylläoleva määritelmä olisi mielekäs, on oltava niin, että {x N x alkuluku ja x > p n }. Näin on kaikille n. Tämä seuraa siitä, että alkulukuja on ääretön määrä tämän todistus jätetään harjoitustehtäväksi; se löytyy myös lukuteorian kurssilta. On selvää, että jokaiselle alkuluvulle p pätee p = p n jollekin n 1, ts. että kaikki alkuluvut tulevat näin numeroitua ja lisäksi tämä alkulukujen numerointi asettaa ne suuruusjärjestykseen, ts p i < p j, kun i < j. Alkulukujonon p 1, p 2,... alkupää on 2, 3, 5, 7, 11, 13, 17, 19, 23,.... Lause 1.27 Joukko A = {(x, y) N 2 x on y:n tekijä} N 2 on primitiivirekursiivinen. Todistus. Merkitään Tällöin B = {(x, y, z) N 3 xz = y} N 3. B = {(x, y, z) N 3 π 3 1(x, y, z) π 3 3(x, y, z) = π 3 2(x, y, z)}, jolloin lauseiden 1.10 ja 1.16 nojalla joukko B on primitiivirekursiivinen. Lauseen 1.21 nojalla tällöin myös joukko B N 3 on primitiivirekursiivinen eli χ B R. Huomautuksen 1.4 nojalla tällöin myös funktio c(χ B ; π 2 1, π2 2, π2 2 ) : N2 N on primitiivirekursiivinen. Lauseen väite seuraa, jos osoitetaan, että tämä on joukon A karakteristinen funktio χ A eli että kaikille (x, y) N 2 pätee c(χ B ; π 2 1, π2 2, π2 2 )(x, y) = χ A(x, y). (1) 15

Kun (x, y) A, niin on olemassa z N siten, että xz = y. Voidaan lisäksi olettaa, että z y, sillä näin on välttämättä, jos y > 0 ja jos y = 0, voidaan valita z = 0. Tällöin (x, y, z) B ja edelleen ehdon z y nojalla saadaan (x, y, y) B. Tällöin c(χ B ; π 2 1, π2 2, π2 2 )(x, y) = χ B (x, y, y) = 1 = χ A (x, y). Kun (x, y) / A, on välttämättä (x, y, y) / B, ja tällöin c(χ B ; π 2 1, π2 2, π2 2 )(x, y) = χ B (x, y, y) = 0 = χ A (x, y). Koska kaikille (x, y) N 2 pätee joko (x, y) A tai (x, y) / A, niin on nähty, että väite (1) pätee kaikille (x, y) N 2, joten lause on todistettu. Lause 1.28 Joukko P = {x N x on alkuluku} N on primitiivirekursiivinen. Todistusidea. Olkoon K = {(x, y) N 2 y = 1} {(x, y) N 2 y ei ole x:n tekijä} Lauseen 1.27 avulla nähdään K primitiivirekursiiviseksi, jolloin myös C = {x N (x, x 1) K } on primitiivirekursiivinen. Väite seuraa siitä, että P = C {x N x 2}. Määritelmässä 1.26 rakennettiin alkulukujono (p n ) n=1. Kun määritellään vielä p 0 = 1, syntyy kuvaus N N, n p n, joka osoittautuu primitiivirekursiiviseksi. Tämän todistusta varten tarvitaan pieni lemma: Lemma 1.29 Kaikille n N pätee p n+1 p n n + 1 ja kaikille n 2 pätee p n+1 p 1 p 2... p n 1. Todistusidea. Kun n 2, niin luku p 1 p 2... p n 1 on joko alkuluku tai sitten sillä on alkulukutekijä, joka ei ole mikään luvuista p 1,...,p n. Lause 1.30 Funktio N N, n p n, on primitiivirekursiivinen. Todistus. Tämä todistus toimii prototyyppinä monelle myöhemmin esitettävälle todistukselle, joten tehdään se erityisen huolellisesti ja pyritään myös selventämään sitä, miksi todistuksessa tehdään ne mutkat, jotka tehdään. Tässä ensimmäisenä karkeana ideana olisi esittää kuvaus jonkinlaisena rekursiivisena minimalisaationa määrittelemällä kaikille n p n+1 = min{y y > p n ja y P}. (1) 16

Idea on hyvä, muttei toimi, koska tämä minimalisaatio on rajoittamaton, ts. ei tiedetä kuinka suuresta joukosta minimiä haetaan. Tähän pitäisi siis saada jokin (primitiivirekursiivinen) yläraja, jonka yli varmasti ei tarvitse mennä. Tällainen raja löytyy edellisestä lemmasta, jonka nojalla idea (1) voidaan kirjoittaa muotoon p n+1 = min{y y p n n + 1, y > p n ja y P}. (2) Tämä idea toimii; tehtävänä on vain nyt kirjoittaa tämä täsmällisesti niin, että minimaalisaatio ja rekursio tulevat kunnolla määritellyiksi. Tässä tämä ei ole kovin vaikeaa: Merkitään A = {(x, y) N 2 y > x ja y P}. Lauseiden 1.15, 1.16, 1.28 ja 1.17 nojalla A on primitiivirekursiivinen. Tällöin lauseen 1.25 mukaan µ A R. Jonon (p n ) määritelmän mukaan p n < p n+1 kaikille n N, joten (p n, p n+1 ) A ja siten lemman 1.29 nojalla (p n, p n n + 1) A kaikille n N. Tällöin funktion µ A ja toisaalta joukon A määritelmän mukaan µ A (p n, p n n + 1) = min{z (p n, z) A} = p n+1. (1) Olkoon α : N 2 N, α(x, y) = y x. Lauseiden 1.11 ja 1.9 nojalla α R. Jos määritellään h : N 2 N asettamalla h = c(µ A ; π2 2, c(s; α)), niin myös h R huomautuksen 1.4 nojalla. Koska ehdon (1) nojalla h(n, p n ) = µ A (p n, p n n + 1) = p n+1, niin lauseen väite seuraa lemmasta 1.12. Lemma 1.31 Jokainen x N, x 2 voidaan yksikäsitteisellä tavalla esittää muodossa x = p a1 1 pa2 2... pan n, missä n N, n 1, a i N kaikille i {1,..., n} ja lisäksi a n 1. Todistus. Lukuteorian kurssi. Sanotaan, että lemman 1.31 tuloesitys on x:n alkulukuesitys. Huomautus. Alkulukuesityksessä vaaditaan siis, että suurimman esiintyvän alkuluvun eksponentti on 1, muut voivat olla myös nollia. 17

Esimerkki. 420 = 2 2 3 1 5 1 7 1, 540 = 2 2 3 3 5 1 ja 29106 = 2 1 3 3 5 0 7 2 11 1. Olkoon x = p a1 1 pa2 2... pan n luvun x 2 alkulukuesitys, jossa siis esiintyy n 1 eri alkulukua. Käytetään jatkossa näiden esiintyvien alkulukujen lukumäärälle n merkintää L(x) := n. Huomaa, että L(x) on yksikäsitteinen; tämä seuraa alkulukuesityksen yksikäsitteisyydestä, missä puolestaan tarvitaan ehtoa a n 1. Huomaa lisäksi, että myös ne alkuluvut ( p n ), joiden eksponentti on nolla, lasketaan mukaan. Esimerkiksi siis L(29106) = 5 vaikka 29106 voidaankin esittää (vain) neljän alkuluvun potenssien tulona: 29106 = 2 1 3 3 7 2 11 1. Sovitaan lisäksi, että L(0) = L(1) = 0, jolloin L(x) on yksikäsitteisesti määritelty kaikille x N. Tällöin L on kuvaus L : N N. Myöhemmin osoitetaan, että tämä kuvaus on primitiivirekursiivinen. Käytetään jatkossa myös merkintää (x) i := a i N, kun i {1,...,L(x)}, missä siis a i on x:n alkulukuesityksessä olevan p i :n eksponentti. Sovitaan lisäksi, että (x) i = 0, kun i = 0 tai i > L(x), jolloin (x) i on määritelty kaikille i N. Tässä kuitenkin vaaditaan, että x 2. Tästäkin rajoituksesta päästään eroon, kun sovitaan, että (x) i = 0 kaikilla i N kun x = 0 tai x = 1. Tällöin siis (x) i on määritelty kaikille (x, i) N 2. Lauseessa 1.34 osoitetaan, että kuvaus N 2 N, (x, i) (x) i, on primitiivirekursiivinen. On helppo nähdä, että nuo yllä olevat sekavahkot määritelmät voi tiivistää näin: Määritelmä 1.32 Kuvaus L : N N määritellään asettamalla { max{n N p n x} kun x 2 L(x) = 0 kun x = 0, 1. Kuvaus N 2 N, (x, i) (x) i määritellään asettamalla { max{k N p k i x} kun x 1 ja i 1 (x) i = 0 kun x = 0 tai i = 0. Esimerkki. Koska 540 = 2 2 3 3 5 1, niin L(540) = 3 ja (540) 1 = 2, (540) 2 = 3, (540) 3 = 1 ja (540) i = 0, kun i = 0 tai i > 3. Lemma 1.33 Joukko {(x, y) N 2 x = 0 tai y = 0} N 2 on primitiivirekursiivinen. Todistusidea. Lauseet 1.15 ja 1.16. Lause 1.34 Funktio N 2 N, (x, i) (x) i, on primitiivirekursiivinen. 18

Todistusidea. Karkea idea on tällainen: (x) i = min{z p z i x ja p z+1 i x}. Tässä siis merkintä u v tarkoittaa määritelmän 1.26 mukaisesti sitä, että u on v:n tekijä ja merkintä u v sitä, että u ei ole v:n tekijä. Tällä kertaa tämä minimalisaatio toimii (ainakin noin yleisellä tasolla), koska selvästi (x) i x ja yllä oleva (periaatteessa rajoittamaton) minimalisaatio voidaan esittää rajoitetussa muodossa: (x) i = min{z x p z i x ja pz+1 i x}. Tämä pitää sitten kirjoittaa kunnolla auki. Näin se käy: Merkitään ensin B = {(x, y) N 2 x y} N 2. B on primitiivirekursiivinen. Merkitään edelleen C = {(x, y, z) N 3 (y z, x) B ja (y z+1, x) / B} N 3. Myös C on primitiivirekursiivinen, sillä jos merkitään α, β : N 2 N, α(x, y) = xy ja β(x, y) = x y ja δ : N N, δ(x) = 1 x niin Merkitään χ C = c(α; c(χ B ; c(β; π 3 2, π 3 3), π 3 1), c(δ; c(χ B ; c(β; π 3 2, c(s; π 3 3)), π 3 1))). D = {(x, n, z) N 3 (x, p n, z) C} N 3. D on primitiivirekursiivinen, sillä jos määritellään γ : N N, γ(n) = p n, niin Jos merkitään f(x, i) = (x) i, niin χ D = c(χ C ; π 3 1, c(γ; π3 2 ), π3 3 ). f = c(µ D ; π 2 1, π2 2, π2 1 ), pientä poikkeuspisteiden joukkoa lukuunottamatta, mutta se ei haittaa, koska tässä poikkeusjoukossa f on nolla. Lause 1.35 Funktio L : N N on primitiivirekursiivinen. Todistusidea. Muutetaan ensin L(x):n määritelmässä 1.32 oleva maksimi minimiksi, niin voidaan soveltaa minimalisaatiota: L(x) = min{n p n x ja p i x kaikille i > n}. Jotta tämä minimointi voidaan tehdä varsinaista minimalisaatiota käyttäen, täytyy nostaa dimensiota. Määritellään sen vuoksi A = {(x, n) p n x ja p i x kaikille i > n}. 19

Pitäisi osoittaa, että A on primitiivirekursiivinen. Tässä oleva ilmaus kaikille i > n on hankala ja muutetaan sitäkin: A = {(x, n) p n x ja kaikille i N pätee [p i x tai i n]}. Tällöin missä A = B C, B = {(x, n) p n x} ja C = {(x, n) kaikille i N pätee [p i x tai i n]}. B:n primitiivirekursiivisuus seuraa helposti aikaisempien tulosten avulla, joten riittää osoittaa, että C on primitiivirekursiivinen. Tämä on vähän hankalampaa, ja vaikeuksien voittamiseksi tehdään näissä todistuksissa oleva standarditemppu: nostetaan dimensiota. Määritellään D = {(x, n, z) p z x tai z n}. Tämä saadaan helposti primitiivirekursiiviseksi. Ilmeisesti joukolle C pätee Tällöin saadaan C = {(x, n) kaikille i x pätee [p i x tai i n]}. C = {(x, n) (x, n, x) D ja x 0}, josta yhtälöstä C:n primitiivirekursiivisuus seuraa. Silloin myös joukko A N 2 on primitiivirekursiivinen. Tämän nojalla minimalisaatiokuvaus µ A : N 2 N on primitiivirekursiivinen, jolloin myös kuvaus N N, x µ A (x, x) on primitiivirekursiivinen, joten riittää huomata, että L(x) = µ A (x, x). (1) Tämän näkee helposti paitsi pisteissä x = 0, 1, joissa yhtälö (1) ei päde mutta äärellinen poikkeuspistejoukko ei merkitse tässä mitään. Oleellista tässä todistuksessa on se, että päästään käyttämään rajoitettua minimalisaatiota kohdassa (1), sillä ilmeisesti L(x) x aina. Tässähän riittäisi tietysti ehto L(x) f(x) jollekin primitiivirekursiiviselle f, jolloin voitaisiin käyttää (1):ssä rajoitettua minimalisaatiota L(x) = µ A (x, f(x)). Seuraavaksi halutaan määritellään aika eksoottinen laskutoimitus N:ään eli kuvaus N 2 N, (x, y) x y. Tässä on ideana ensin esittää luvut x ja y tavalliseen tapaan alkulukutulona, 20

esimerkiksi x = 420 = 2 2 3 1 5 1 7 1 ja y = 75 = 2 0 3 1 5 2. Sitten kirjoitetaan nämä tuloesitykset peräkkäin, mutta y:n esityksessä olevat alkuluvut 2,3 ja 5 korvataan suuremmilla, niin että ne jatkavat saumattomasti x:n esityksessä olevaa alkulukusarjaa 2,3,5,7. Jos siis x:n ja y:n esitykset kirjoitetaan peräkkäin, saadaan tulo 2 2 3 1 5 1 7 1 2 0 3 1 5 2, (1) mutta tässä alkuluvut eivät muodosta nousevaa sarjaa; nyt siis tehdään niin, että haetaan x:n esityksessä olevaa alkulukusarjaa 2,3,5,7 seuraavat alkuluvut, jotka ovat 11,13 ja 17. (Näitä tarvitaan nyt kolme kappaletta, koska y:n esityksessä on kolme alkulukua.) Näillä uusilla alkuluvuilla korvataan y:n alkuluvut ja saadaan aikaan määritelmä x y = 2 2 3 1 5 1 7 1 11 0 13 1 17 2. (2) Huomaa, että esityksessä (2) olevat eksponentit pysyvät täysin ennallaan esitykseen (1) verrattaessa. Heti nähdään, että tämä laskutoimitus ei ole kommutatiivinen, sillä y x = 2 0 3 1 5 2 7 2 11 1 13 1 17 1 x y. Määritelmä pitää tietysti asettaa täsmällisesti. Tämä kuvaus osoittautuu primitiivirekursiiviseksi, ja on täysin selvää, että yllä esitetyllä kuvailevalla määritelmällä ei pärjätä primitiivirekursiivisuustodistuksissa. Tarkka määritelmä on seuraava: Määritelmä 1.36 Kuvaus N 2 N, (x, y) x y määritellään asettamalla kaikille (x, y) N 2 L(y) x y = x p (y) k L(x)+k. k=0 Esimerkki. Katsotaanpa, mitä tapahtuu edellisen kuvailevan esimerkin luvuille x = 420 ja y = 75. Määritelmässä 1.36 tarvitaan ensinnäkin luvut L(x) ja L(y). Nämähän näkyvät alkulukuesityksistä: L(x) = 4 sekä L(y) = 3. Sitten tarvitaan vielä lukuja (y) k. Nämäkin näkyvät alkulukuesityksestä: (y) 0 = 0, (y) 1 = 0, (y) 2 = 1 ja (y) 3 = 2. Lisäksi määritelmän 1.32 mukaan (y) 0 = 0. Silloin määritelmä 1.36 antaa L(y) x y = x k=0 p (y) k L(x)+k = x 3 k=0 p (y) k 4+k = x p0 4 p 0 5 p 1 6 p 2 7 = x 7 0 11 0 13 1 17 2 = 2 2 3 1 5 1 7 1 11 0 13 1 17 2, joten päästiin samaan tulokseen kuin yllä esityksessä (2) niinkuin oli tietysti tarkoituskin. Huomautus. Määritelmässä 1.36 voidaan ihmetellä sitä, että miksi tulon pitää 21

alkaa arvosta k = 0. Onhan aina (y) 0 = 0, joten p (y)0 L(x)+0 = 1, ja näin tämä termi menettää kertolaskussa merkityksensä vrt. edellisen esimerkin laskelmat. Syy on siinä, että tällä määritelmän muodolla saadaan haltuun myös pikkuluvut y = 0 ja y = 1, joilla ei varsinaista alkulukuesitystä olekaan. Tässähän käy määritelmien L(1) = L(0) = 0 ja (0) i = (1) i = 0 kaikille i nojalla niin, että 0 y = 0 ja 1 y = y kaikille y sekä x 1 = x 0 = x kaikille x. Jätetään näiden faktojen tarkistus harjoitustehtäväksi. Kuvauksen määritelmä on merkinnällisesti varsin hankala. Sotkujen välttämiseksi otetaan käyttöön seuraava yksinkertaistava merkintä. Olkoon n 1, ja a 1,..., a n N. Merkitään a 1,..., a n := n i=1 p ai i = p a1 1 pa2 2 pan n. Esimerkki. 2, 1, 1, 1 = 2 2 3 1 5 1 7 1 = 420 ja 0, 1, 2 = 2 0 3 1 5 2 = 75. Seuraava pikku havainto osoittautuu jatkossa tärkeäksi: Huomautus 1.37 Jokaiselle x N, x 2, pätee x = (x) 1, (x) 2,..., (x) L(x) ja x = 2 x. Huomautuksen 1.37 näkee oikeaksi suoraan määritelmistä. Vertaa edelliseen esimerkkiin. Huomaa myös se, että ei todellakaan ole x = x esimerkiksi 420 = 2 420. Lemma 1.38 Olkoot a 1,...,a n, b 1,..., b m N siten, että a n 0 ja b m 0. Tällöin a 1, a 2,..., a n b 1, b 2,..., b m = a 1,..., a n, b 1,..., b m. Lemman 1.38 todistus tulee sekin lähestulkoon suoraan määritelmistä. Vertaa sivun 21 esimerkkiin, jossa määritelmän nojalla saatiin 420 75 = 2 2 3 1 5 1 7 1 11 0 13 1 17 2, ja jos käytetään esityksiä 420 = 2, 1, 1, 1 ja 75 = 0, 1, 2 niin lemman 1.38 nojalla saadaan 420 75 = 2, 1, 1, 1 0, 1, 2 = 2, 1, 1, 1, 0, 1, 2 = 2 2 3 1 5 1 7 1 11 0 13 1 17 2. Tällä merkintätavalla siis x y saadaan kirjoittamalla x:n ja y:n esitykset peräkkäin. 22

Aiemmin on jo todettu, että ei ole kommutatiivinen, mutta lemman 1.38 valossa voisi epäillä, että se on assosiatiivinen, sillä kyseisen lemman mukaan a 1,...,a n ( b 1,..., b m c 1,...,c k ) = a 1,...,a n, b 1... b m, c 1..., c k = ( a 1,..., a n b 1,..., b m ) c 1,..., c k. Tämä on kuitenkin virheellinen epäily, sillä ei ole assosiatiivinen: esimerkiksi (1 0) 2 = 1 2 = 2, mutta 1 (0 2) = 1 0 = 1. Tässähän on huomattava, että äskeisessä epäilyssä käytetyssä lemmassa 1.38 on oletus a n 0 ja b m 0, joten lemma ei toimi luvuille 0 ja 1. Muille luvuille se kuitenkin toimii, ja voidaan siis sanoa, että on melkein assosiatiivinen. Koska se ei kuitenkaan täysin assosiatiivinen ole ts. ei välttämättä ole (x y) z = x (y z), merkinnän x y z kanssa tulee pulmia. Onko siis x y z = (x y) z vai x y z = x (y z)? Sitä suuremmalla syyllä merkintä x 1 x 2... x k on kovin kyseenalainen. Ongelmista selvitään, kun tehdään kertakaikkinen sopimus, joka sanoo, missä järjestyksessä laskutoimitukset tässä on tehty. Tässä voidaan valita periaatteessa mikä tahansa järjestys, mutta sovitaan niin, että laskutoimitukset on tehty vasemmalta oikealle, jolloin x 1 x 2... x k tarkoittaa lukua (... ((x 1 x 2 ) x 3 )...) x k. Tarkkaan ottaen määritelmä tehdään rekursiolla k:n suhteen. Jos siis k 3 ja x 1,..., x k 1, x k N ja oletetaan, että x 1 x 2... x k 1 on jo määritelty, niin asetetaan x 1 x 2... x k = (x 1 x 2... x k 1 ) x k. Tällöin siis esimerkiksi x y z = (x y) z eikä x (y z). Jatkossa tehtäviä minimaalisaatioita varten tarvitaan primitiivirekursiivinen yläraja luvulle x 1, x 2,...,x n. Tällaiseksi kelpaa x 1 x 2... x n. Huomaa, että tämä yläraja ei kuitenkaan toimi aivan kaikille luvuille; jos vaikkapa x 1 = 1, x 2 = 2 ja x 3 = 3, niin x 1, x 2, x 3 = 2 1 3 2 5 3 = 2250, kun taas x 1 x 2 x 3 = (1 2) 3 = 2 3 = 1 0, 1 = 1, 0, 1 = 2 1 3 0 5 1 = 10 = 2 10 = 1024. Jos kuitenkin oletetaan, että x i 2 kaikille i, niin yläraja toimii ja siitä tulee yleensä varsin karkea. Jos edellisessä esimerkissä onkin x 1 = 2, niin saadaan x 1, x 2, x 3 = 2 2 3 2 5 3 = 4500, kun puolestaan x 1 x 2 x 3 = (2 2) 3 = 6 3 = 1, 1 0, 1 = 1, 1, 0, 1 = 2 1 3 1 5 0 7 1 = 42 = 2 42, ja tämähän on valtavan suuri luku verrattuna lukuun 4500. Ylärajan toimivuus näkyy seuraavasta lemmasta: Lemma 1.39 Olkoon n 1 ja x 1,..., x n N, x i 2 kaikille i = 1,...,n. Tällöin x 1, x 2,...,x n x 1 x 2... x n. Todistusidea. Induktio n:n suhteen. Seuraava lause on jatkossa tärkeä: 23

Lause 1.40 Funktio N 2 N, (x, y) x y on primitiivirekursiivinen. Todistusidea. Osoitetaan ensin, että määritelmässä 1.36 oleva funktio f(x, y, k) = p (y) k L(x)+k, on primitiivirekursiivinen. Tämä nähdään näin: Olkoot α(x, y) = x + y, β(x, y) = x y, γ(x, i) = (x) i ja δ(n) = p n. Tällöin f:n primitiivirekursiivisuus seuraa yhtälöstä Määritellään sitten f = c(β; c(δ; c(α; c(l; π 3 1 ), π3 3 )), c(γ; π3 2, π3 3 )). g(x, y, z) = jolloin myös g R. Olkoon edelleen z f(x, y, k), k=0 η(x, y) = xy. Silloin x y = c(η; π 2 1, c(g; π 2 1, π 2 2, c(l; π 2 2)))(x, y). Seuraava lause on jatkossa myös keskeinen: Lause 1.41 Olkoon k 1. Funktio N k N, (x 1,...,x k ) x 1,..., x k, on primitiivirekursiivinen. Todistusidea. Osoitetaan induktiolla j:n suhteen, että kuvaus ϕ j : N k N, ϕ j (x 1,..., x k ) = x 1,...,x j on primitiivirekursiivinen kaikille j = 1,...,k, jolloin väite seuraa arvolla j = k. Induktioaskelta varten merkitään α(x, y) = y x, β(x, y) = xy ja δ j (x) = α(x, p j ). Silloin ϕ j (x 1,..., x k ) = x 1,..., x j = p x1 1 pxj 1 j 1 pxj j = ϕ j 1 (x 1,..., x k ) p xj j = β(ϕ j 1 (x 1,...,x k ), δ j (π k j (x 1,...,x k ))). Joskus tarvitaan myös seuraavaa lauseen 1.40 yleistystä: Lause 1.42 Olkoon f : N N primitiivirekursiivinen funktio. Tällöin myös funktio g : N N, { f(1) f(2)... f(k) kun k 1 g(k) = 1 kun k = 0 on primitiivirekursiivinen. 24