81 13 CHURCH S OCH GÖDELS SATSER KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET Våra beräkningar skall utföras på symbolsträngar, där symbolerna tas från ett givet alfabet Σ = {a 0,a 1,a 2,}, ändligt eller uppräkneligt oändligt Vi sätter Σ* = {alla ändliga strängar över Σ} ; vi tar i detta sammanhang inte med den tomma strängen Vi använder beteckningen N för mängden av naturliga tal, betraktade som abstrakta matematiska objekt utan referens till någon speciell representation Vid beräkningar används någon representation Vi betraktar några sådana: Binär representation: välkänd N bin = {strängen 0 och alla strängar över {0,1} som börjar på 1} Decimal representation: välkänd N dec = {strängen 0 och alla strängar över {0,1,2,,9} som inte börjar på 0} Unär representation: talet n representeras av n+1 stycken ettor N un = {alla strängar över {1}} = {1}* Peano-representation: talet n representeras av strängen S(S(S((S(0))))) med n stycken S I övrigt kommer vi att arbeta med två logiska alfabet, det ena satslogiskt, det andra predikatlogiskt: Alfabetet Σ SL = {,,,,, (, ),, p 0 p 1,p 2,} innehåller symbolerna i satslogiken Σ * SL består av alla ändliga strängar över Σ SL En delmängd därav är WFS SL = {wellformed sentences i satslogiken} En delmängd därav är LG SL = = {alla logiskt giltiga sentenser (tautologier) i satslogiken} Alfabetet Σ AR = {,,,,,,, (, ),, (kommatecken),, =, S, +,, 0, x 0, x 1, x 2, } innehåller symbolerna i predikatlogiken med de icke-logiska symbolerna S, +,, 0 ("det aritmetiska språket"; AR står för aritmetik) som används i Peanos axiomsystem Här kan vi betrakta mängderna Σ * AR WFF AR WFS AR LG AR (WFF står för wellformed formula)
82 Med ett mekaniskt förfarande eller program P menar vi här en uppsättning föreskrifter, som för varje tillåtet input ger upphov till en stegvis process, vars förlopp är entydigt bestämt av input Begreppet är av intuitivt matematiskt slag (preciseringar skall diskuteras nedan), inget sägs om programspråk eller hårdvara; programmet kan tex bestå av ett antal svenska satser skrivna på ett papper, hårdvaran av en människa med papper och penna Fysikaliska begränsningar, i form av ändliga resurser i materia och tid, antas ej föreligga Processen kan (beroende av input) stoppa efter ett ändligt antal steg eller fortsätta i oändlighet Den kan under sitt förlopp ge ifrån sig inget, ett eller flera output (i det fall att processen aldrig stoppar är det möjligt att den ger oändligt många output) I denna text använder vi följande Definitioner P kallas en algoritm, om processen stoppar och ger precis ett output för varje tillåtet input En funktion f: U V är beräkningsbar, om det finns någon algoritm som beräknar den, dvs som för varje x U som input stoppar med f(x) som output P säges generera mängden M (vid input a), om (vid input a) {outputs som fås under processen} = M (Denna definition tillåter upprepningar i uppräkningen av M:s element, men programmet kan lätt modifieras så att upprepningar ej förekommer) En mängd M är effektivt uppräknelig, om det finns något program som genererar M Givet nu en mängd U ("universum") och en delmängd M av U P är ett fullständigt test för M, om för varje input x U x M processen stannar och ger output som visar x M, tex 1 och x M processen stannar och ger output som visar x M, tex 0 (1) (2) P är ett positivt test för M om (1) gäller P är ett negativt test för M om (2) gäller M är avgörbar om det finns något fullständigt test för M Exempel 131 Vilken som helst av de ovan givna representationerna av N är effektivt uppräknelig (läsaren bör övertyga sig om detta) Vi kan kortfattat säga: "N är effektivt uppräknelig"
83 Exempel 132 Låt N' och N" vara två vilka som helst av ovan betraktade representationer av N Då är förstås funktionen f: N' N", som översätter representationen i N' för ett tal till representationen i N" för samma tal, beräkningsbar (tänk efter!) Om delmängden M' N' svarar mot M" N", så inser vi att följande gäller: (i) M' är eff uppräknelig M" är eff uppräknelig (ii) M' är avgörbar M" är avgörbar Vi kan kortfattat säga att en delmängd av N är effektivt uppräknelig respektive avgörbar Exempel 133 Varje ändlig mängd är avgörbar (Varför?) Exempel 134 {primtal} i N är avgörbar (test?) Exempel 135 Tag Σ * SL som universum WFS SL är avgörbar, som tex framgår av programmet "wfs" i Scheme-paketet Med WFS SL som universum är LG SL avgörbar, tex ger sanningsvärdestabell-konstruktion eller tablåalgoritmen fullständiga test LG SL är också avgörbar med Σ * SL som universum enligt principen: C avgörbar delmängd av B och B avgörbar delmängd av A C avgörbar delmängd av A (motivera!) Exempel 136 Tag Σ * AR som universum WFF AR och WFS AR är avgörbara (se tex programmet "wff" i Scheme-paketet) Tablåmetoden ger nu bara ett positivt test för LG AR : om den matas med en logiskt giltig sentens kommer den efter ett ändligt antal steg att producera ett bevis för denna (en "fullständig automatisk teorembevisare"), men om den matas med en falsifierbar sentens, så kan det hända att processen inte stoppar Detta utesluter inte att det skulle kunna finnas något annat test för LG AR som är fullständigt Avgörbarheten av LG AR skall behandlas nedan Några allmänna observationer Givet ett effektivt uppräkneligt universum U och en delmängd M av U Då gäller a) M är avgörbar det finns både ett positivt test och ett negativt test för M b) M är eff uppräknelig det finns något positivt test för M
84 c) M är avgörbar M:s karakteristiska funktion är beräkningsbar d) M är eff uppräknelig det finns någon beräkningsbar surjektion: M N e) M är avgörbar både M och M c (M:s komplement) är eff uppräkneliga Bevis: a) ) Uppenbart ) Låt P + och P - vara ett positivt och ett negativt test för M Ett fullständigt test fås så här: ge input x U till både P + och P - och tag omväxlande ett steg enligt P + och P - Efter ett ändligt antal steg får vi antingen veta från P + att x M eller från P - att x M b) ) Givet x U som input, sätt igång generering av M, stoppa med output 1 om och när x dyker upp Detta ger ett positivt test för M ) Givet ett positivt test P + Låt P arbeta så här; sätt igång generering av U: u 0,u 1,u 2,; efter generering av u k tag med var och en av u 0,u 1,,u k som input k steg enligt P +, gå sedan vidare till generering av u k+1 osv Varje gång P + stoppar och ger output 1 för ett u i, låt P ge detta u i som output Man inser att P kommer att generera hela M c) Omedelbart klart ur definitionen av avgörbarhet d) ) Givet input ett naturligt tal n (i någon representation) Sätt igång generering av M: m 0,m 1,m 2,, stoppa när vi kommer till m n och ge m n som output Denna algoritm ger en surjektion: N M ) Låt f: N M vara en beräkningsbar surjektion Låt P arbeta så här: sätt igång generering av N: 0,1,2, För varje n beräknas f(n) och ges som output av P P kommer att generera hela M e) Ett negativt test för M är ekvivalent med ett positivt test för M c Använd a) och b) Vi skall nu införa begreppet "gödelnumrering", som gör att vi kan översätta alla utsagor om strängar (och tillhörande mängder, relationer och funktioner) till utsagor om naturliga tal (och tillhörande mängder, relationer och funktioner) Givet ett alfabet Σ = {a 0,a 1,a 2,} och motsvarande strängmängd Σ* En gödelnumrering av Σ* är en tillordning av naturliga tal till elementen i Σ*, sådan att 1) gödelnumret för en sträng kan effektivt beräknas 2) olika strängar har olika gödelnummer 3) för varje naturligt tal n kan det avgöras om n är ett
85 gödelnummer, och i så fall kan motsvarande sträng effektivt bestämmas Mer koncist: en gödelnumrering av Σ* är en beräkningsbar injektion gn: Σ* N med avgörbar värdemängd och beräkningsbar invers Vilken gödelnumrering vi använder spelar ingen roll; begreppet har huvudsakligen teoretiskt intresse Vi visar här en enkel sådan, gn: Σ* N bin Sätt gn(a k ) = 100000 med k stycken nollor, och låt en godtycklig sträng i Σ* få som gödelnummer den sträng som fås genom att ersätta varje bokstav med sitt gödelnummer enligt ovan Exempel 137 gn(a 1 a 0 a 3 a 1 ) = 101100010 (binärt skrivet tal) Läsaren bör övertyga sig om att ovan givna gn uppfyller villkoren för en gödelnumrering (med värdemängden N {0}, om alfabetet är oändligt) Exempel 138 Σ SL = {,,,,, (, ),, p 0, p 1, p 2, } Observationer a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 Gödelnumret för ) är 10011100000010000000100 Gödelnumret för (p 0 p 1 ) är 100000100000000100010000000001000000 Låt M vara en delmängd av Σ* och gn(m) motsvarande mängd av gödelnummer Då gäller: M eff uppräknelig gn(m) eff uppräknelig M avgörbar gn(m) avgörbar Låt f: U V vara en funktion (U och V strängmängder) och f gn motsvarande funktion: gn(u) gn(v) Då gäller f beräkningsbar f gn beräkningsbar Bevisas rakt upp och ned Läsaren bör övertyga sig Exempel 139 gn(σ * SL ) = N {0} (binär representation) är uppenbart eff uppräknelig Mot den naturliga uppräkningen 1, 10, 11, 100, 101, 110, 111, 1000, 1001, av N {0} svarar uppräkningen,,,,,,,, av Σ * SL Av den tidigare observationen e) följer att även WFS SL och LG SL är eff uppräkneliga Motsvarande fås direkt för Σ * AR, WFF AR och WFS AR Att
86 även LG AR är eff uppräknelig följer av observation b) och existensen av ett positivt test för LG AR Fortfarande kvarstår frågan om LG AR är avgörbar 1936 bevisade Church sin berömda oavgörbarhetssats för predikatlogiken Här är en version av den Church's oavgörbarhetssats LG AR är inte avgörbar Resultatet gäller även för andra predikatlogiska språk än just aritmetikens, det väsentliga är förekomsten av funktionssymboler och/eller flerställiga relationssymboler Med hjälp av observation e) fås följande Corollarium {falsifierbara sentenser i WFS AR } är inte eff uppräknelig Vi skall ge en skiss av hur man kan bevisa Church's sats, och samtidigt även se hur Gödels ofullständighetssats kan erhållas Eftersom Church's sats säger att det inte finns någon algoritm som ger ett fullständigt test för LG AR, så uttalar den sig om alla överhuvudtaget tänkbara algoritmer Om man vill bevisa ett sådant uttalande, så duger det inte längre att använda sin intuitiva uppfattning av begreppet algoritm, utan våra begrepp måste ges exakta definitioner Av observationerna c) och d) följer att det räcker att exakt definiera begreppet beräkningsbar funktion, och av den senaste observationen om Gödelnummer följer att det räcker att exakt definiera begreppet beräkningsbar funktion: N N Många olika analyser av detta begrepp har gjorts Här är några: 1) Funktionen kan beräknas med en Turingmaskin Detta begrepp studeras i andra kurser 2) Funktionen är "rekursiv" i en speciell mening, som kan definieras på basis av addition och multiplikation 3) Funktionen kan beräknas med en abstrakt variant av registermaskiner 4) Funktionen kan definieras i Church's "λ-kalkyl" 5) Funktionen kan beräknas medelst ett system av rekursionsekvationer enligt Herbrand - Gödel
87 På grund av djupet av analyserna som ledde till ovanstående definitioner och det faktum att alla dessa visat sig vara ekvivalenta (kan stringent bevisas) så måste man här ha hittat ett viktigt begrepp, och det är numera ganska allmänt accepterat att det sammanfaller med det intuitiva begreppet beräkningsbar, det är detta som kallas Church's tes I och med detta får vi också precisa definitioner av begreppen avgörbar, kallas då rekursiv, och effektivt uppräknelig, kallas då rekursivt uppräknelig Innan vi går in på Church's sats etc skall vi titta på ett oavgörbarhetsresultat som handlar om Turingmaskiner En Turingmaskin av viss typ (det finns några oväsentliga variationer av begreppet) karakteriseras av sitt "program", som kan ges som en ändlig symbolsträng Mängden av Turingmaskiner kan därmed lätt visas vara eff uppräknelig: Tm 1, Tm 2, Tm 3, Följande sats gäller: Sats Variant av stopp-problemet för Turingmaskiner Mängden M = {n N; Tm n stoppar vid input n} är ej avgörbar Bevis: Antag att M vore avgörbar Det skulle då finnas en beräkningsbar funktion: g: N {0,1} sådan att 1 om Tm n stoppar vid input n g(n) = 0 annars Enligt Church's tes finns en Turingmaskin, säg Tm d, som beräknar g Vi får därmed följande motsägelse: Tm d stannar ej vid input d [def av g] g(d) = 0 [Tm d beräknar g] Tm d stannar och ger output 0 vid input d M kan alltså inte vara avgörbar VSB Låt oss definiera begreppet "teori" Vi tar fasta på följande egenskap: om sentenserna P 1, P 2,, P n ingår i en teori och Q är en logisk konsekvens av (kan härledas från) dessa, så ingår även Q i teorin Vi gör alltså följande Definition En teori (över ett predikatlogiskt språk L) är en mängd sentenser (över L) som är sluten under härledbarhet (eller ekvivalent: under logisk konsekvens)
88 Exempel 1310 T Peano = {alla konsekvenser av Peanos axiom} är en teori T aritmetik = {alla sentenser som är sanna i standardtolkningen} är en teori LG AR är en teori WFS AR är en teori Om vi stryker alla induktionsaxiom i Peanos axiomsystem och lägger till som axiom x(x 0 y(x = S(y))), så får vi ett axiomsystem med sju axiom, de sk Q-axiomen T Q = {alla konsekvenser av Q-axiomen} är en teori Obs att LG AR T Q T Peano T aritmetik WFS AR Dessa teorier skall vi koncentrera oss på i fortsättningen Ett antal egenskaper hos teorier skall betraktas: konsistens, fullständighet, axiomatiserbarhet, effektiv uppräknelighet och avgörbarhet Definitioner T är konsistent (motsägelsefri) om ej tillhör T T är fullständig om för varje sentens P antingen P eller P tillhör T (dvs "T svarar på varje fråga i det aktuella språket") Observera att T är konsistent inte för någon sentens gäller att både P och P tillhör T Och: T är konsistent T är inte hela WFS L Antag vidare att T' är en utvidgning av T, dvs att T' T Då gäller: T' konsistent T konsistent ; T fullständig T' fullständig (Läsaren bör övertyga sig om alla dessa påståenden) Exempel 1311 Av teorierna i exempel 1310 är alla konsistenta utom WFS AR Varför? T aritmetik är fullständig Varför? Man kan visa att om P är sentensen x y(x+y = y+x), så är varken P eller P en konsekvens av Q-axiomen (Jfr ett tentamenstal 890908) Detta visar att teorin T Q inte är fullständig Däremot är ju P en konsekvens av Peanos axiom, dvs P T Peano Fullständighet eller inte för T Peano diskuteras nedan Mera banala iakttagelser: LG AR är ofullständig, WFS AR fullständig
89 Definition T är axiomatiserbar om det finns någon avgörbar delmängd av sentenser i T (vilka kallas axiom) från vilka alla sentenser i T kan härledas Obs: här menas "avgörbar såsom delmängd av WFS L " Lägg märke till kravet på avgörbarhet Utan det blir varje teori trivialt axiomatiserbar: tag hela teorin som axiomsystem! Exempel 1312 T Peano och T Q är uppenbarligen axiomatiserbara per definition (läsaren måste övertyga sig om att mängden av axiom i Peanos axiomsystem är avgörbar) Den intressanta frågan i detta sammanhang är huruvida T aritmetik är axiomatiserbar Den skall besvaras nedan LG AR är trivialt axiomatiserbar (tag tom axiommängd), liksom WFS AR (tag tex som enda axiom) Observation A En axiomatiserbar teori är effektivt uppräknelig Bevis: Låt T vara en axiomatiserbar teori En godtycklig sentens Q tillhör T det finns axiom P 1,,P n så att P 1 P n Q tillhör LG AR (eller allmännare: LG L ) Vi har tidigare konstaterat att LG AR är eff uppräknelig T kan genereras så här: generera LG AR ; för varje genererad sentens kan avgöras om den är på formen P 1 P n Q, där P i är axiom (här används att mängden av axiom är avgörbar); om så är fallet ges Q som output Observation B En fullständig axiomatiserbar teori är avgörbar Bevis: Antag att T är fullständig och axiomatiserbar Om T är inkonsis-tent, så är T = WFS L, trivialt avgörbar Antag därför i fortsättningen av beviset att T är konsistent För att avgöra om ett godtyckligt P tillhör T, generera T (möjligt enligt observation A) tills antingen P eller P dyker upp Då avgörs om P T eller inte, ty på grund av konsistensen gäller ( P) T P T Vi närmar oss oavgörbarhets- och ofullständighetsbevisen i logiken I grunden handlar det om samma typ av "diagonal-argument" ("själv-
90 referens") som vid stopp-problemet för Turingmaskiner Där användes att varje beräkningsbar funktion kan beräknas med en Turingmaskin (om vi accepterar Church's tes) Vi skall nu använda oss av nedanstående motsvarighet inom logiken - aritmetiken Definition En mängd M av naturliga tal är definierbar i teorin T, om det finns någon formel A(x) med en fri variabel, sådan att n M A(n) T n M ( A(n)) T (n är peano-representationen för n) Exempel 1313 M = {primtal} är definierbar i T Peano av formeln P(x) i exempel 68 (bevisas inte här) Man kan bevisa följande förvånansvärt starka resultat: Sats Varje avgörbar delmängd av N är definierbar i T Q Church's tes förutsättes Referens tex Boolos - Jeffrey: Computability and Logic (Cambridge University Press) Beviset är långt och tekniskt Men när vi väl har detta resultat får vi ganska snabbt vår huvudsats: Sats Låt T vara en konsistent utvidgning av T Q (ev T = T Q ) Då är T ej avgörbar Bevis: Antag att T vore avgörbar Sätt M = {n N; n är gödelnumret för någon formel P(x) med en fri variabel, och P(n) T} M är då avgörbar (tänk efter!), och kan definieras i T Q, och därmed i T, av en formel D(x) Låt d vara gödelnumret för denna formel Vi frågar oss nu om D(d) tillhör T och får följande motsägelse: D(d) T [def av M] d M [D(x) definierar M] ( D(d)) T [T konsistent] D(d) T, och D(d) T [def av M] d M [D(x) definierar M] D(d) T Härav följer att T inte kan vara avgörbar Corollarium 1 Church's sats LG AR är inte avgörbar Bevis: Låt A vara konjunktionen av de ändligt många Q-axiomen För en godtycklig sentens P gäller då P T Q (A P) LG AR Om LG AR vore avgörbar skulle tydligen T Q också bli avgörbar, i strid med satsen Härmed är saken klar
91 Corollarium 2 Variant av Gödels första ofullständighetssats Det finns ingen konsistent, fullständig, axiomatiserbar utvidgning av T Q Bevis: Kombinera satsen med observation B Corollarium 3 T aritmetik är inte axiomatiserbar (speciellt inte avgörbar) Corollarium 4 T Peano är inte fullständig, och förblir ofullständig vid varje konsistent utvidgning av axiomsystemet Apropå corollarium 4 skulle det vara intressant att ange en aritmetisk sentens P sådan att varken P eller P kan härledas från Peanos axiom, eller ekvivalent: att ange en (i standardmodellen) sann aritmetisk sentens som ej kan härledas från Peanos axiom En sådan är den som förekommer i Gödels andra ofullständighetssats nedan Medelst gödelnumrering kan utsagor om våra formella system översättas till utsagor om naturliga tal Tex kan utsagan "T Peano är konsistent", dvs "från Peanos axiom kan ej härledas" översättas till en sentens i aritmetikens språk, som vi skriver "Consis T Peano " Denna sentens är sann (i standardmodellen) om och endast om T Peano är konsistent (vilket ju är fallet!) I Hilberts program (omtalat i avsnitt 12) ingick att försöka bevisa konsistensen av formella system med hjälp av "ändliga metoder" Detta projekt kom på skam, som visas av följande sats (bevisas ej här): Sats Variant av Gödels andra ofullständighetssats Låt T vara en konsistent, axiomatiserad utvidgning av T Q Då är sentensen "Consis T" sann (i standardmodellen) men ingår ej i T, dvs kan ej härledas från T:s axiom Specialfall: "Konsistensen av Peano-aritmetiken kan ej visas med metoder formaliserbara inom Peano-aritmetiken" ******************************
92 Övningar till avsnitt 13 1 Antag att T är en fullständig teori i något predikatlogiskt språk Låt P och Q vara godtyckliga sentenser i det aktuella språket a) Visa P Q T (P T eller Q T) b) Visa att kravet på fullständighet ej kan slopas: ge ett exempel på en ofullständig teori för vilken påståendet i a) inte gäller 2 Låt T vara den teori över språket { }, som består av alla konsekvenser av följande axiom: x(x x) x y z(x y y z x z) x y(x y y x x = y) x y(x y y x) x y z(x z z y) (Totalordning med största och minsta element) Visa att T inte är en fullständig teori 3 Visa att följande två sentenser är logiska konsekvenser av Q-axiomen: a) x y(x + y = 0 x = 0 y = 0) b) x y(y x = 0 x = 0 y = 0) 4 Betrakta ett språk för gruppteorin, med tvåställiga funktionssymbolen, enställiga funktionssymbolen -1, samt individkonstanten e Teorin för abelska grupper har följande axiom: x y z((x y) z = x (y z)) x(x e = x e x = x) x(x x -1 = e x -1 x = e) x y(x y = y x) Visa att denna teori ej är fullständig! (Betrakta t ex följande strukturer: (i) Mängden av heltal med binära operationen + etc (ii) Mängden {0} med binära operationen + etc )