Första ordningens logik Christian Bennet © Christian Bennet, februari 2013 Detta verk är licensierat under en Creative Commons ErkännandeIckekommersiell-IngaBearbetningar 3.0 Unported license. För att ta del av en kopia av licensen besök följande http://creativecommons.org/licenses/ by-nc-nd/3.0/deed.sv. Förord Det finns ett stort antal introduktionsböcker till mer eller mindre formell logik. Det finns dock få sådana på svenska och det finns knappast någon introducerande text på svenska som tränger djupare in i ämnet. Det finns också få böcker, även på engelska, som presenterar de formella grunderna för första ordningens logik, utan att antingen förutsätta att läsaren är eller har varit matematikstuderande eller nöjer sig med en skissartad framställning av logik utöver elementär satslogik. Tanken är alltså att föreliggande text skall fylla ett tomrum; den förutsätter inga faktakunskaper över gymnasienivå och den presenterar på ett rigoröst sätt första ordningens logik, inklusive en del metateorem som Gödels fullständighetssats, kompakthetssatsen och Gödels ofullständighetssatser. Den tänkte läsaren kan ha sitt huvudintresse inom lingvistik, matematik, datavetenskap eller filosofi, eller ha ett allmänt intresse av en introduktion till formella språk och teoribildning. Texten har följande uppläggning: Efter ett inledande kapitel presenteras i kapitlen 2 och 3 grundläggande syntax för första ordningens logik, formalisering och en intuitiv semantik. Kapitlen 4 och 5 behandlar den formella semantiken, inklusive begreppen ’logisk sanning’ och ’logisk konsekvens’, via Tarskis definition av satisfiering. I kapitel 6 introduceras ett formellt härledningssystem i form av ett naturligt deduktionssystem först introducerat av Benson Mates. Här presenteras också satslogiken som ett formellt system. I kapitel 7 bevisas Gödels fullständighetssats och kompakthetssatsen och begreppet ’avgörbarhet’ diskuteras. Kapitel 8 är ägnat åt andra logiker än första ordningens logik; dels i form av fragment till predikatlogiken, dels i form av utvidgningar av predikatlogiken och alternativa logiker. I kapitel 9 ges ett antal exempel på teorier formaliserade främst i första ordningens logik. I anslutning till exemplen diskuteras begrepp som fullständighet, avgörbarhet och axiomatiserbarhet. Bland annat ges här en ingående re- ii Första ordningens logik dogörelse för Gödels ofullständighetssatser. Slutligen utgör kapitel 10 närmast ett appendix till den övriga texten i form av en kort introduktion till elementär mängdteori. Detta kapitel avslutas med en presentation av Zermelo-Fraenkels mängdteori ZFC. Bortsett från enstaka exempel och övningar krävs inga egentliga förkunskaper. Detta innebär å andra sidan inte att texten nödvändigtvis är lättillgänglig, även om jag parallellt med formella definitioner och bevis, informellt presenterar idéer och begrepp bland annat via ett stort antal exempel. Logik är ett synnerligen abstrakt ämne och kräver att varje nytt avsnitt studeras aktivt och med stor omsorg. Devisen ’Träning ger färdighet’ är i högsta grad relevant och kan här kompletteras med ’Färdighet ger insikt’. Det är med andra ord viktigt att läsaren successivt ägnar tid åt de övningar som finns insprängda i texten och i separata övningsavsnitt. De få exempel eller övningar som kräver förkunskaper inom något område, det kan vara matematik, mängdlära eller lingvistik, är försedda med en asterisk och dessa kan man naturligtvis hoppa över utan att förståelsen av texten i övrigt blir lidande. Alla texter har en historia − så även denna. Utgångspunkten för boken är ett kompendium i logik, det blå, författat av Björn Haglund och Dag Westerståhl i Göteborg för oändligt länge sedan. Detta skrevs sedan om av Christian Bennet, Björn Haglund och Dag Westerståhl och utökades väsentligt till ytterligare ett kompendium, det gula, i mitten av 1980-talet. I slutet av 1990-talet gjordes ännu en omarbetning, nu av Cecilia Sönströd. Och under alla dessa år har kompendierna troget tjänat som litteratur till inledningskurser i logik vid Göteborgs och Lunds universitet, för logikstudenter, datalingvister och systemvetare. Föreliggande bok är i sin tur en väsentligt omarbetad och utökad version av det gula kompendiet. Björn Haglund och Dag Westerståhl har alltså en stor del i förarbetet till den här boken och dem vill jag förstås tacka alldeles särskilt. Jag vill också rikta ett varmt tack till Åsa Wedberg, Martin Kaså och Jörgen Sjögren för hjälp med korrekturläsning och sund kritik, men också till Alan Turing, John von Neumann och Donald E. Knuth utan vars hjälp denna bok aldrig hade blivit skriven. I denna upplaga har rättelser införts i februari 2013. Tack Rasmus Blanck och tack Martin, igen. Tack också till anonyma studenter och kollegor som föreslagit rättelser av olika slag. Innehåll Förord . . . . . . . . . . . . . . . . Innehåll . . . . . . . . . . . . . . . . Kapitel 1: Inledning . . . . . . . . . . Kapitel 2: Grundläggande syntax . . . . . 2.1: Basala syntaktiska kategorier . . 2.2: Fler kategorier . . . . . . . . . 2.3: Övningar . . . . . . . . . . . Kapitel 3: Formalisering . . . . . . . . 3.1: Atomära satser . . . . . . . . 3.2: Sanningsfunktionella operatorer . 3.3: Kvantifikatoruttryck . . . . . . 3.4: Fler kvantifikatoruttryck . . . . 3.5: Övningar . . . . . . . . . . . Kapitel 4: Grundläggande semantik . . . 4.1: Lite mer syntax . . . . . . . . 4.2: Strukturer och sanningsvillkor . . 4.3: Satisfiering . . . . . . . . . . 4.4: Några metateorem . . . . . . . Kapitel 5: Sanning och konsekvens . . . . 5.1: Definitionerna . . . . . . . . . 5.2: Ytterligare några metateorem . . 5.3: Övningar . . . . . . . . . . . Kapitel 6: Härledningar . . . . . . . . . 6.1: Några första exempel . . . . . . 6.2: Satslogiken som formellt system . 6.3: Predikatlogiken som formellt system 6.4: Övningar . . . . . . . . . . . Kapitel 7: Metalogik . . . . . . . . . . 7.1: Uppvärmning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i iii 1 7 7 9 11 13 13 16 21 24 26 29 29 32 35 38 43 43 47 50 53 53 57 62 68 71 71 iv Första ordningens logik 7.2: Fullständighet . . . . . . . . . . . 7.3: Kompakthet . . . . . . . . . . . . 7.4: Avgörbarhet . . . . . . . . . . . . Kapitel 8: Andra logiker . . . . . . . . . . 8.1: Monadisk logik . . . . . . . . . . . 8.2: Nya kvantifikatoruttryck . . . . . . 8.3: Andra ordningens logik . . . . . . . 8.4: Intensional logik . . . . . . . . . . 8.5: Intuitionistisk logik . . . . . . . . . 8.6: Övningar . . . . . . . . . . . . . Kapitel 9: Första ordningens teorier . . . . . 9.1: Geometrier . . . . . . . . . . . . 9.2: Grupper . . . . . . . . . . . . . 9.3: De komplexa talen . . . . . . . . . 9.4: Elementär aritmetik . . . . . . . . Kapitel 10: Mängder . . . . . . . . . . . . 10.1: Naiv mängdteori och Russells paradox 10.2: Några grundläggande begrepp . . . 10.3: Strukturerade mängder . . . . . . 10.4: Binära relationer . . . . . . . . . 10.5: Om oändliga mängder . . . . . . . 10.6: Mängdteorin som teori . . . . . . . Tips och lösningar . . . . . . . . . . . . . Vidare läsning . . . . . . . . . . . . . . . Det grekiska alfabetet . . . . . . . . . . . . Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 81 83 85 85 87 88 90 97 101 103 104 108 109 112 121 121 124 126 130 133 138 143 163 167 169 1 Inledning Logik är studiet av formella språk, ungefär som lingvistik är studiet av naturliga språk. Med naturliga språk menar vi då språk som svenska eller japanska, medan formella språk kan vara dataspråk eller de formalismer i vilka matematik eller naturvetenskapliga teorier ofta uttrycks. Till skillnad från de naturliga språken har de formella språken en väldefinierad syntax och semantik. Detta innebär att det är välbestämt precis vilka uttryck som är meningsbärande, dvs vilka symbolsekvenser som tillhör språket, och vilken betydelse som tilldelas de olika språkliga uttrycken. Det senare sker via en formell sanningsdefinition som bland annat eliminerar vaghet och flertydighet. Det finns flera anledningar till att studiet av formella språk är intressant, men låt oss här bara helt kort illlustrera en sådan. En vetenskapsman som vill beskriva en del av verkligheten gör ofta det genom att formulera en teori. Exempelvis är Newtons mekanik en teori som är tänkt att beskriva kroppars rörelse i det fysiska universum. Med hjälp av teorin kan man besvara frågor av typen ’När inträffar nästa totala solförmörkelse i Göteborg?’ och kan alltså få veta saker som inte direkt kan observeras. Avsikten med en teori är att så bra som möjligt beskriva den del av världen som man för tillfället intresserar sig för, exempelvis för att kunna göra förutsägelser. Om vi kallar denna del av världen för V och teorin för T , vill vi att ett godtyckligt påstående φ skall följa ur teorin om och endast om φ är sann i V. Som vetenskapsfilosof, och kanske också som vetenskapsman, är det naturligtvis av intresse att i enskilda fall ta reda på om detta resultat har uppnåtts, eller om det ens kan uppnås. Givet V och T , vill vi alltså kunna svara på frågor som ’Är φ sann i V om och endast om φ följer ur T ?’. Ibland kanske vi, givet V, frågar oss om det överhuvudtaget finns en teori som beskriver V. Skall dessa frågor göras precisa, krävs förstås att de ingående begrep- 2 Första ordningens logik pen preciseras. Vi måste alltså definiera begrepp som ’följer ur’, ’teori’, ’påstående’ etcetera, något som i sin tur kräver att vi definierar vad ett formellt språk är. Utan att ännu gå in i detaljer, tänker vi oss att ett språk ges en väldefinierad syntax, dvs vi preciserar vilka symboler som får användas, hur uttryck och satser bildas etc. Vi definierar också en semantik för språket, dvs vi bestämmer exakt vad det innebär att en väldefinierad sats är sann i en väldefinierad värld eller struktur. Slutligen definierar vi vad det innebär att en sats φ följer ur en uppsättning premisser T . Tanken är här att φ följer ur T när φ är sann i varje struktur i vilken premisserna i T är sanna. Ett av de enklaste exemplen på ett formellt språk i den här meningen är satslogiken. Intressantare exempel är klassen av första ordningens språk, dvs de språk som används i de allra flesta matematiska och naturvetenskapliga discipliner, olika extensioner till dessa språk och olika så kallade intensionala språk, som modal satslogik eller tidslogik. En fördel med just första ordningens språk är att de har stor uttryckskraft kombinerat med att det finns en metod för att påvisa när en sats följer ur en viss teori. Denna metod är rent mekanisk till sin natur och benämns ofta ’att härleda’ eller ’att bevisa’. Till klassen av första ordningens språk finns alltså ett begrepp härledning eller bevis. Kurt Gödel bevisade 1929 att ett system med bevisregler, som David Hilbert definierat, är fullständigt, dvs för första ordningens språk gäller att en sats följer ur en uppsättning premisser om och endast om satsen är härledbar ur samma premisser. Detta innebär bland annat att, om man vet vilka axiom man utgår från och man håller sig till första ordningens språk och en viss sats faktiskt följer ur premisserna så kan detta alltid påvisas genom att man hittar ett bevis för satsen. Matematikerns metod att försöka bevisa satser från givna antaganden är med andra ord heltäckande i den meningen att varje konsekvens faktiskt går att bevisa, åtminstone i princip. Därmed inte sagt att det är enkelt att hitta bevis. Tvärtom finns det många exempel i historien på problem som fått vänta länge på en lösning. Det senaste i raden är kanske att det tog flera hundra år att bevisa Fermats sats, att xn + y n = z n saknar heltalslösning för n > 2, trots att många matematiker försökte. Problemet härrör från 1630-talet men satsen bevisades först 1994. Ett annat sådant exempel är Goldbachs hypotes, att alla jämna tal större än 2 kan skrivas som summan av två primtal, som ännu ingen har lyckats bevisa. I det fallet vet man ännu inte heller om hypotesen verkligen är sann eller om den, även om den vore sann, följer ur de axiom man utgår från i talteorin. Längre fram i texten ger vi flera exempel på 1 Inledning 3 teorier formulerade i olika formella språk och på hur intressanta problem kan formuleras och lösas med hjälp av den formalism vi definierar. Av vad vi hittills sagt torde det framgå att begreppet ’logisk följd’ är ett i sammanhanget centralt begrepp. Detta begrepp är också intressant ur en något annan aspekt, nämligen när vi vill klassificera slutledningar. Ända sedan antiken har man inom retoriken intresserat sig för vad som utmärker övertygande argumentation. Steget är då inte långt till att försöka skilja ut logiskt bindande argumentation från argumentation som, även om den kanske kan vara övertygande, inte är bindande i en mer absolut mening. Betrakta exempelvis följande slutledningar: Om det regnar eller blåser så vantrivs humlorna Det regnar Alltså: Humlorna vantrivs Inget primtal är delbart med 57 9 373 är ett primtal Alltså: 9 373 är inte delbart med 57 De flesta människor tycker om musik Totte är en människa Alltså: Totte tycker om musik Alla skulle här hålla med om att de första två av dessa slutledningar är korrekta eller bindande i den meningen att det knappast går att bejaka premisserna utan att samtidigt bejaka slutsatsen. Detta gäller däremot inte den sista slutledningen; det kan mycket väl vara så att de flesta människor tycker om musik samtidigt som Totte, som är människa, inte tycker om musik. I själva verket är nästan alla människor synnerligen bra på att klassificera slutledningar, även betydligt mer komplexa sådana än de ovan, som korrekta respektive inkorrekta. Däremot är det inte helt enkelt att beskriva precis vilken egenskap hos en slutledning som gör den korrekt eller inkorrekt. Tittar vi på den mellersta slutledningen ovan, är det lätt att se att vissa saker inte är relevanta. Exempelvis är det inte relevant att veta om premisserna är sanna eller inte. Vi ser att slutledningen är korrekt utan att först behöva avgöra om 9 373 är ett primtal eller ej, ja, utan att ens behöva fundera över vad ett primtal är eller vad det innebär att ett tal är delbart med ett annat. Det verkar alltså snarare vara den form slutledningen har, än betydelsen hos de ingående begreppen, som spelar roll för huruvida slutledningen är giltig. Å andra sidan är det förstås av betydelse vad exempelvis ’Inget’ i den första premissen betyder. Vi skulle känna igen samma form hos slutledningen 4 Första ordningens logik Ingen hund tycker om Måns Pompe är en hund Alltså: Pompe tycker inte om Måns men inte hos Någon hund tycker om Måns Pompe är en hund Alltså: Pompe tycker inte om Måns. Betydelsen hos vissa uttryck, som ’primtal’, ’9 373’ eller ’Måns’, är alltså irrelevant i sammanhanget, medan betydelsen hos andra, som ’Ingen’ eller ’Någon’, i högsta grad är relevant. Betraktar vi det första exemplet ovan är det igen klart att betydelsen hos uttryck som ’om . . . så’ och ’eller’ är relevant för om slutledningen är korrekt eller ej, medan det inte verkar spela någon roll vad exempelvis ’Det regnar’ eller ’Humlorna vantrivs’ betyder. Snarare är alla slutledningar på formen Om A eller B så C A Alltså: C i en intuitiv mening logiskt giltiga; det kan helt enkelt inte vara så att premisserna är sanna utan att slutsatsen också är sann. Ett sätt att bringa reda i precis vad vi menar med en slutlednings ”form” ovan, är nu att översätta vårt naturliga språk till ett formellt språk, eller en logik, i vilken vi skiljer mellan ”logiska” respektive ”ickelogiska” symboler. Dessa begrepp kommer att definieras senare, men avsikten är att de logiska symbolerna är de uttryck vars betydelse bestäms i en sanningsdefinition, medan de ickelogiska symbolernas betydelse tillåts att variera från fall till fall inom ramen för en rent syntaktisk kategorisering. Vi kan till exempel införa två symboler ’∨’ och ’→’ för ’eller’ och ’om . . . så’ samtidigt som vi låter ’A’, ’B’ och ’C’ stå för vilka påståenden som helst och definiera en syntax som ger slutledningen ovan formen A∨B →C A Alltså: C. Sedan kan vi definiera ett formellt begrepp logisk följd och bevisa att slutsatsen ovan formellt följer ur de två premisserna. Begreppet logisk följd blir då beroende av vilka uttryck vi väljer att betrakta som logiska och vilka vi väljer att betrakta som ickelogiska”. 1 Inledning 5 I själva verket är det precis så vi skall gå till väga. Vi kommer att välja ut en naturlig uppsättning logiska begrepp och basera ett formellt språk, eller snarare en klass av sådana språk, på detta val. Dessa språk går under benämningen första ordningens språk eller predikatlogik. Som ett fragment av predikatlogiken urskiljer vi satslogiken som har färre logiska begrepp, men vi kommer också att ge exempel på extensioner till första ordningens logik med fler logiska begrepp. Dessutom kommer vi att ge exempel på andra typer av formella språk, exempelvis modallogik och intuitionistisk logik. Det säger sig självt att de begrepp vi inför måste ges språkliga definitioner, dvs att de definieras i termer av andra begrepp. Men den begreppshierarki som då uppstår måste på något sätt ”bottnas” i en grundläggande, intuitivt klar begreppsapparat som inte i sin tur behöver någon ytterligare precisering. Det är då brukligt att låta mängdbegreppet spela rollen av sådant grundbegrepp. Även här kommer vi alltså ytterst att definiera alla begrepp inom en mängdteoretisk ram. Särskilt påtagligt blir detta när vi skall definiera semantiken för första ordningens språk, där begreppet godtycklig struktur spelar en central roll. En viss grundläggande mängdteoretisk begreppsapparat är också praktisk att använda när vi diskuterar exempelvis relationer och funktioner. Därför finns i slutet av boken ett särskilt kapitel som behandlar grundläggande mängdteori och som vi kommer att hänvisa till vid behov. Mängdteorin kommer också i ett avslutande avsnitt att användas som exempel på en formell första ordningens teori. 6 Första ordningens logik 2 Grundläggande syntax 2.1 Basala syntaktiska kategorier Att definiera ett språks syntax består till att börja med i att bestämma vilka symboler som får användas. Varje symbol är här av endera av tre typer: logiska symboler, ickelogiska symboler och markörer. Generellt kommer de logiska symbolerna att ges en fix betydelse med hjälp av en sanningsdefinition medan de ickelogiska symbolernas betydelse kan variera inom de gränser som bestäms av deras respektive syntaktiska kategori. Exempelvis kan vissa symboler bara beteckna objekt, andra bara relationer etc. Markörernas huvudsakliga roll är, med ett undantag, att öka läsbarheten hos formler. Informellt är det förstås ingenting som hindrar att man använder vilka symboler som helst inom respektive kategori, så länge man bara själv är klar över vilken formalism man väljer. Här skall vi dock, för varje syntaktisk kategori, bestämma en begränsad uppsättning tillåtna symboler, vilket i hög grad förenklar våra formella definitioner. Vi börjar med att räkna upp de ickelogiska symboler som kan förekomma i ett första ordningens språk: Satssymboler A0 , A1 , A2 , . . . Individkonstanter c0 , c1 , c2 , . . . Funktionssymboler f0n , f1n , f2n , . . . , för varje heltal n > 0 Predikatsymboler P0n , P1n , P2n , . . . , för varje heltal n > 0. Avsikten är att satssymboler svarar mot hela satser på svenska, individkonstanter svarar mot egennamn och betecknar alltså enskilda objekt, funktionssymboler betecknar funktioner och predikatsymboler betecknar 8 Första ordningens logik egenskaper och relationer. När det gäller funktions- och predikatsymboler har dessa en ställighet i form av ett heltal större än 0. Ställigheten hos en funktionssymbol svarar då mot ställigheten hos den funktion den betecknar, dvs antalet argument funktionen har, och ställigheten hos en predikatsymbol svarar mot ställigheten hos den relation den betecknar. Exempelvis är addition en tvåställig funktion, <-relationen är en tvåställig relation och relationen ’x ligger mellan y och z’ är en treställig relation. Egenskaper betraktas som enställiga relationer. Informellt kommer vi, när detta inte kan missförstås, också att använda andra symboler än de som är strikt formellt tillåtna. Om vi exempelvis skall beskriva de naturliga talen, 0, 1, 2, . . . , är det naturligt att använda vanliga matematiska symboler som ’+’, ’·’ och ’<’, snarare än att introducera nya symboler som f02 , f12 och P52 för att beteckna addition, multiplikation och <-relationen. De logiska symboler som är tillåtna i första ordningens språk är följande: Syntaktisk kategori symbol tänkt betydelse Konnektiver ¬ ∧ ∨ → ↔ negation: inte konjunktion: och, samt disjunktion: eller implikation: om . . . så . . . ekvivalens: om och endast om allkvantifikator: för alla existenskvantifikator: det finns Kvantifikatorer Identitetssymbol ∀ ∃ = identitet Slutligen har vi tre sorters markörer: Individvariabler x0 , x1 , x2 , . . . Parenteser ), ( Kommatecken , Här är parenteser och kommatecken bara till för att strukturera våra formler så att läsbarheten ökar, medan variablerna har en central roll i kombination med kvantifikatorerna, något vi återkommer till så småningom. Lägg också märke till att, även om vi redan nu informellt 2 Grundläggande syntax 9 ger de olika symbolerna en betydelse, så är kategoriseringen ovan rent syntaktisk. Definition 1.1: Ett lexikon är en mängd av ickelogiska symboler. Ett lexikon är relationellt om det inte innehåller några funktionssymboler. Så småningom blir det nödvändigt att precisera mängdbegreppet, men här använder vi ’mängd’ synonymt med ord som ’uppsättning’ eller ’klass’. Redan nu kommer vi dock att använda oss av vissa enkla beteckningar hämtade från mängdläran och hänvisar den läsare som så behöver till de första avsnitten i kapitel 10. Tanken är att vi väljer lexikon efter den del av verkligheten vi vill beskriva. Lexikonet kan då innehålla individkonstanter för de objekt vi vill benämna, predikatsymboler för de egenskaper och relationer vi är intresserade av och funktionssymboler för de funktionella samband vi vill kunna tala om. Eventuellt inkluderar vi också satssymboler i lexikonet om vi enkelt vill kunna beskriva vissa satslogiska samband. Detta lexikon bestämmer sedan, som vi strax kommer till, entydigt ett första ordningens språk. Observera alltså att alla första ordningens språk använder markörerna och de logiska symbolerna utan att dessa inkluderas i lexikonet. Generellt använder vi L, L0 , L1 etc för att beteckna lexikon. Exempel 1.2: Antag att vi vill skapa en teori för att bedriva aritmetik, dvs vi vill ha ett språk i vilket vi kan uttrycka påståenden om de naturliga talen med avseende på storlek, addition, multiplikation osv. Vi kan då låta vårt lexikon vara L = {P02 , f02 , f12 , c0 , c1 , c2 , . . .}, där P0 skall beteckna <-relationen, f0 addition, f1 multiplikation och där varje ci skall beteckna talet i. En annan, och mer välbekant, variant är att vi i stället använder matematiska symboler, låter L = {<, +, ·, 0, 1, 2, . . .} och ger varje symbol sin vanliga betydelse. Övning 1.3: (a) Ange ett lämpligt lexikon för att beskriva de olika relationer som råder mellan dig och dina släktingar. ∗ (b) Ange ett lämpligt lexikon för att beskriva de reella talen. 2.2 Fler kategorier Vi skall nu definiera ytterligare två syntaktiska kategorier: termer och formler. Särskilt i matematiska sammanhang är det vanligt att referera till enskilda tal med hjälp av komplexa uttryck som är uppbyggda med hjälp av siffror, dvs individkonstanter, och funktionssymboler: 3 · (5 + 7), 10 Första ordningens logik (9+23)·((8 + 32) · (7 + 29)), osv. Alla sådana uttryck kallas för termer och vi ger nu en generell syntaktisk definition av detta begrepp. Av skäl som kommer att framgå senare tillåter vi inte bara individkonstanter utan även individvariabler i termer. Definition 2.1: Givet ett lexikon L definierar vi mängden av L-termer enligt följande: (a) Alla individvariabler är L-termer (b) Alla individkonstanter i L är L-termer (c) Om t1 , . . . , tn är L-termer och f är en n-ställig funktionssymbol i L så är f (t1 , . . . , tn ) en L-term. Detta är ett exempel på en induktiv definition, något som vi kommer att använda oss av ett flertal gånger framöver. Till skillnad från en explicit definition där man direkt anger karaktäristikum för det begrepp som definieras, anger vi här hur mängden av termer byggs upp från enkla termer, angivna i (a) och (b) ovan, med hjälp av upprepade tillämpningar av en regel. Formellt går det att bevisa att definitionen ovan entydigt bestämmer en minsta mängd som innehåller alla individvariabler och alla individkonstanter i L och som är sluten under den regel som beskrivs i (c). Detta är mängden av alla L-termer. Exempel 2.2: Låt L = {f01 , f53 , c3 }. Då är följande symbolsekvenser Ltermer: c3 , x0 , f0 (c3 ), f0 (f0 (c3 )), f5 (x3 , f0 (c3 ), f5 (x3 , f0 (x1 ), c3 )). Exempel 2.3: Låt, åter med viss brist på formalism, L = {0, 1, 2, +, ·}. Låt oss vidare skriva (a + b) i stället för +(a, b) och a · b i stället för ·(a, b). Då är följande välbekanta uttryck exempel på L-termer: (x0 + 1), (x0 + 1) · (2 + (x3 + 0)). När en funktionssymbol förekommer i en term är det klart att man kan utläsa vilken ställighet symbolen har. Vi kommer därför, närhelst detta inte ger upphov till flertydighet, att utelämna övre index på funktionssymboler. Vi kommer också att informellt använda oss av vanligt matematiskt språkbruk i analogi med exemplet ovan. Nu är vi redo att definiera begreppet L-formel. Tanken här är väsentligen att L-formler är de uttryck i våra formella språk som motsvarar påståenden eller villkor formulerade på svenska. Igen är definitionen induktiv: 2 Grundläggande syntax 11 Definition 2.4: Låt L vara ett godtyckligt lexikon. (1) Följande uttryck är atomära L-formler: (a) (b) varje satssymbol i L t1 = t2 , där t1 och t2 är L-termer (c) P (t1 , . . . , tn ), där P är en n-ställig predikatsymbol i L och t1 , . . . , tn är L-termer. (2) Vidare definieras L-formel enligt: (a) Varje atomär L-formel är en L-formel (b) Om φ är en L-formel så är ¬φ en L-formel (c) Om φ och ψ är L-formler så är följande uttryck L-formler: (d) Om φ är en L-formel och x en variabel så är (φ ∨ ψ), (φ ∧ ψ), (φ → ψ), (φ ↔ ψ) ∀xφ och ∃xφ L-formler. Vi identifierar sedan formelmängder med språk, dvs ett första ordningens språk är mängden av L-formler för ett godtyckligt lexikon L. Än så länge har vi förstås bara definierat syntaxen för dessa språk. I nästa kapitel skall vi dock föregå den formellt definierade semantiken, som presenteras i kapitel 4, och ge uttryck i första ordningens språk en informell betydelse. 2.3 Övningar Övning 3.1: Låt L = {P11 , P23 , f01 , f22 , c0 , c1 , A0 , A3 }. Avgör om följande uttryck är L-termer, L-formler eller ingetdera: (a) P(x7 ) (b) P32 (c0 , c0 ) (c) P32 (c0 , c0 , f01 (c1 )) (d) f22 (f01 (c1 ), f22 (c1 , f01 (c0 ))) (e) (A0 ∨ ∀x3 P23 (c1 , x3 , c0 )) (f) ∀x8 ∃x0 P33 (x0 , x8 , c1 ) (g) ∃x5 A3 (h) (f10 (x0 ) = c1 → f22 (x0 , c1 )). Övning 3.2: Definitionen av ett lexikon L tillåter att L är tom. Vilka är då L-termerna respektive L-formlerna? I följande övning, liksom i resten av boken är ’omm’ en förkortning för ’om och endast om’. 12 Första ordningens logik Övning 3.3: För den mängdteoretiska terminologin i den här övningen hänvisar vi till kapitel 10. Låt F mlL vara mängden av L-formler. Visa att (a) L ⊆ L0 omm F mlL ⊆ F mlL0 , (b) F mlL ∪ F mlL0 ⊆ F mlL∪L0 (c) F mlL ∩ F mlL0 = F mlL∩L0 . (d) Kan likhet råda i (b)? *Övning 3.4: Ange, för ett fixt ändligt lexikon L, en kontextfri grammatik som genererar (a) Mängden av L-termer (b) Mängden av L-formler. 3 Formalisering Många satser i naturligt såväl som vetenskapligt språk kan översättas till första ordningens språk med lämpliga lexikon. Här ger vi exempel på hur detta går till och förklarar samtidigt informellt betydelsen hos de olika logiska symbolerna. Detta hjälper oss att hitta en logisk struktur i språket vid sidan av språkets grammatiska struktur. Det är sedan med hjälp av den logiska strukturen som vi definierar begrepp som ’logiskt giltig slutledning’ eller ’logiskt sann sats’. Den formella sanningsdefinitionen sparar vi till kapitel 4. I stället för termen ’översättning’ använder vi här den i sammanhanget mer vanliga termen ’formalisering’. Vi kommer också redan nu att genomgående slopa alla index på exempelvis predikat- och funktionssymboler, närhelst detta är möjligt. Vi kommer också att tillåta oss att använda andra symboler än de som formellt är tillåtna. Exempelvis använder vi c, d och e som individkonstanter, P , Q och R som predikatsymboler, f , g och h som funktionssymboler, A, B och C som satssymboler och x, y och z som variabler. Ibland sätter vi även index eller ”prim” på dem. Däremot håller vi oss, när det gäller de logiska symbolerna, strikt till den angivna formalismen. 3.1 Atomära satser Enligt det sätt vi nu skall betrakta vårt naturliga språk, är de enklaste satserna, de atomära, de satser som saknar motsvarigheten till våra logiska symboler, förutom möjligen identitetssymbolen. Exempel på sådana satser är enkla subjekt-predikat-satser av typen (a) Pelle hostar (b) Lisa springer 14 Första ordningens logik (c) 2 är ett primtal. Men även satser som innehåller objekt kan vara logiskt atomära: (d) Pelle älskar Lisa (e) Olle är bror till Lisa (f) 7 > 3. Alla dessa satser kan, med lämpligt val av lexikon formaliseras med hjälp av atomära satser: (a*) (b*) (c*) P (c) Q(d) P 0 (c0 ) (d*) (e*) (f*) R(c, d) R0 (e, d) 7 > 3. Här betecknar c Pelle, d Lisa, e Olle, c0 talet 2, P egenskapen att hosta, Q egenskapen att springa, P 0 egenskapen att vara ett primtal, R relationen ’x älskar y’ och R0 relationen ’x är bror till y’. I den sista formaliseringen har vi helt enkelt låtit de vanliga matematiska symbolerna ingå i vårt lexikon och betraktar (f*) som en förkortning av formeln > (7, 3). Observera att valet av ickelogiska symboler är godtyckligt, så länge vi håller oss inom rätt syntaktisk kategori. Det finns alltså inget formellt skäl att beteckna Lisa med samma individkonstant i (a*) och (d*), även om det kanske är praktiskt i vissa sammanhang. Valet av ickelogiska konstanter beror alltså helt av kontexten. Exempelvis är (c*) en lika korrekt formalisering av (a) som (a*) är och (f*) är en tillåten formalisering av (d). Det är oftast lätt att hitta lämpliga syntaktiska kategorier när man formaliserar, men det kan vara värt att påpeka att individkonstanterna inte alltid svarar mot egennamn, utan även andra uttryck kan användas på svenska för att benämna enskilda individer och ting. Betrakta satserna (g) Lisa ser Pelle i spegeln (h) Lisa ser sig i spegeln. Den första av dessa kan formalisera som (g*) R(c, d) där R är relationen ’x ser y i spegeln’, c är Lisa och d är Pelle, och den andra formaliseras då rimligen (h*) R(c, c). Pronomen fungerar dock på flera olika sätt. Satsen 3 Formalisering 15 (i) Lisa slår sig har sällan samma logiska form som (h), även om detta naturligtvis är möjligt i vissa kontexter, utan formaliseras naturligt med ett enställigt predikat: (i*) P (c). Funktionssymboler används sällan i allmänspråkliga sammanhang, men desto oftare i exempelvis matematisk text och det är också främst då som identitetssymbolen kommer till användning. Satser som ’3 + 8 = 11’ √ eller ’ 16 = 4’ kan förstås mer eller mindre betraktas som formaliserade. Men också en sats som √ 2 sin π3 + cos π5 e = π+ 1 + π3 π2 − 1 kan, utan alltför stort besvär, betraktas som en atomär formel i ett lämpligt första ordningens språk. Avslutningsvis poängterar vi bara att ett atomärt uttryck på svenska inte måste vara grammatiskt enkelt. Exempelvis kan satsen Vi anser nog att de flesta studenter som har läst så här långt rimligen bör ha kommit till slutsatsen att det är nödvändigt med många timmars färdighetsträning om man skall få en god förståelse för den grundläggande logiska strukturen hos ett naturligt språk. knappast formaliseras på annat sätt än med en satssymbol, A. Satsbokstäver kommer alltså väl till pass när man inte kan, eller vill, hitta en lämplig inre struktur hos de satser man formaliserar. Övning 1.1: Formalisera följande satser med hjälp av lämpliga lexikon. (a) Det regnar (b) Lisa åker tåg från Göteborg till Oslo (c) Pompe skäller på Måns (d) Ingen skäller på Måns (e) Pompe skäller på brevbäraren (f) Göteborg ligger mellan Lund och Oslo (g) Lisa är gift med Olle 16 Första ordningens logik 3.2 Sanningsfunktionella operatorer Uttryck som och, eller, det är inte så att, Björn tror att, det är möjligt att fungerar som satsoperatorer. Applicerade på en eller flera givna satser ger de nya satser som resultat. Med operatorerna ovan kan man ur satser som (a) Det regnar (b) Det blåser (c) Platon var en vis man (d) Humlorna vantrivs (e) Taxar har korta ben bilda nya satser som (f) (g) (h) (i) (j) Det regnar eller det blåser Det är inte så att taxar har korta ben Björn tror att Platon var en vis man Det är möjligt att humlorna vantrivs Taxar har korta ben och humlorna vantrivs. Nu lägger vi märke till att vissa satsoperatorer är sanningsfunktionella, dvs sanningsvärdet hos den resulterande satsen bestäms entydigt av sanningsvärdena hos de satser operatorn tar som argument. Betrakta exempelvis operatorn ’Det är inte så att’. Det är klart att om A är en sann sats, så är ’Det är inte så att A’ falsk och tvärt om. På motsvarande sätt är det klart att ’A och B’ är sann omm såväl A som B är sann. Däremot är operatorn ’Björn tror att’ inte sanningsfunktionell: Om det är sant att det regnar kan satsen ’Björn tror att det regnar’ vara sann, men den kan också vara falsk. Sanningsvärdet här bestäms inte bara av huruvida det regnar eller inte, utan beror också av vilken kunskap om världen eller vilka trosföreställningar Björn råkar ha. Övning 2.1: Vilka av satsoperatorerna ovan är sanningsfunktionella? De fem konnektiver som ingår i första ordningens språk svarar alla mot sanningsfunktionella satsoperatorer. Negationstecknet tar då ett argument, medan de övriga tar två argument i enlighet med definitionen av L-formel och konnektivernas betydelse bestäms helt av den sanningsfunktion de har. 3 Formalisering 17 Negation Givet en formel φ är ¬φ negationen till φ. Om φ är sann, är ¬φ falsk och vice versa. Exempel 2.2: Satsen ’Det snöar’ kan på svenska negeras på flera sätt: Det snöar inte Inte snöar det, inte Snöar gör det inte Det är inte så att det snöar. Dessa satser har inte exakt samma betydelse på svenska, de är inte synonyma, men de har alla samma sanningsvärde - de är sanna omm satsen ’det snöar’ är falsk. Låter vi nu φ vara en formalisering av ’Det snöar’, är ¬φ formaliseringen av ’Det snöar inte’. Övning 2.3: Formalisera följande satser. (a) Det regnar inte (b) Björn tycker inte om humlor (c) Tåget stannade inte i Lund (d) Pompe skäller inte (e) Pompe är tyst. Övning 2.4: Vilken sanningsfunktion har dubbel negation, dvs hur beror sanningsvärdet hos ¬¬φ av sanningsvärdet hos φ? Konjunktion Givet två satser φ och ψ, är konjunktionen av φ och ψ, (φ ∧ ψ), sann omm var och en av konjunkterna är sanna, dvs omm såväl φ som ψ är sann. Detta kan enkelt presenteras i form av en sanningsvärdestabell: φ s s f f ψ s f s f (φ ∧ ψ) s f f f På svenska uttrycks konjunktion ofta med ’och’, men även andra uttryck som ’men’ eller ’samt’ förekommer. Observera dock att ’och’ inte alltid 18 Första ordningens logik fungerar som en satsoperator. Exempelvis tolkas satsen ’Åsa och Christian är gifta’ oftast inte som konjunktionen av satserna ’Åsa är gift’ och ’Christian är gift’, även om den kanske i vissa kontexter kan tolkas så. Exempel 2.5: ’Det regnar och det blåser’ kan formaliseras som (A ∧ B), där A står för ’Det regnar’ och B står för ’Det blåser’. ’Lund är en universitetsstad, men inte Sundsvall’ kan betraktas som konjunktionen av ’Lund är en universitetsstad’ och ’Sundsvall är inte en universitetsstad’ och formaliseras som (A ∧ ¬B). Övning 2.6: Formalisera följande satser: (a) Tre och fem är heltal (b) Tre och fem är åtta (c) Thales var filosof, liksom Anaximander (d) Archimedes var matematiker, men inte Platon (e) Lisa åker tåg till Örnsköldsvik men buss till Åre. Övning 2.7: Formalisera satsen ’Åsa och Christian är gifta med varandra’. Disjunktion ’Det regnar eller det blåser’, formaliseras som disjunktionen av φ och ψ, (φ ∨ ψ), och är sann närhelst minst en av disjunkterna är sann: φ s s f f ψ s f s f (φ ∨ ψ) s s s f Symbolen ’∨’ utläses ’eller’, men för tydlighetens skull kan man också utläsa (φ ∨ ψ) som ’φ eller ψ eller båda’. Denna disjunktion kallas ibland inklusiv disjunktion för att skilja den från exklusiv disjunktion som är sann när precis en av disjunkterna är sann. Att svenskans ’eller’ används inklusivt är klart i exempel som ’Om det regnar eller blåser så stannar Björn hemma’ och ibland hävdas det att det också är lätt att hitta exempel där ’eller’ används exklusivt. Ofta nämner man då satser som Lisa dricker te eller kaffe just nu 3 Formalisering 19 Bollen är röd eller gul Varje heltal är udda eller jämnt. Men även om man här är överens om att de båda disjunkterna normalt inte kan vara sanna samtidigt, verkar förklaringarna till detta inte ha så mycket med betydelsen hos ’eller’ att göra. Det är också olika förklaringar i de olika satserna. Vad som skulle krävas av ett klart fall av exklusiv disjunktion är snarare en uppenbart falsk sats av typen ’A eller B’, där såväl A som B är sann. Det är ju bara i första raden av sanningsvärdestabellen som exklusiv och inklusiv disjunktion skiljer sig åt! Övning 2.8: Finns det något sådant exempel? Övning 2.9: Visa att exklusiv disjunktion kan uttryckas i termer av de konnektiver vi nu har infört. Övning 2.10: Formalisera följande satser: (a) Björn åker bil eller cyklar till jobbet (b) Det regnar i Oslo eller snöar i Tromsö (c) Antingen regnar det eller så snöar det (d) Det regnar eller snöar och blåser (e) Det regnar eller snöar och det blåser. Materiell implikation Den materiella implikationen (φ → ψ) har följande sanningsvärdestabell: φ s s f f ψ s f s f (φ → ψ) s f s s (φ → ψ) utläses ’om φ så ψ’ eller ’φ endast om ψ’ eller ’φ implicerar ψ’. Observera att den materiella implikationen är rent sanningsfunktionell, precis som de övriga konnektiverna. Ofta finns det i uttryck som ’Om det regnar så blir gräset vått’ också en kausal komponent i betydelsen hos ’ Om . . . så . . . ’, men denna del ”skalar” vi alltså bort här. 20 Första ordningens logik Exempel 2.11: I satsen ’Om min klocka går rätt så är tåget försenat’ uttrycker implikationen knappast något annat än ett rent sanningsfunktionellt förhållande mellan satserna ’Min klocka går rätt’ och ’Tåget är försenat’. Det är då klart att denna sats är synonym med satsen ’Tåget är försenat eller min klocka går fel’. Övning 2.12: Formalisera följande satser: (a) Om du ser land så är sikten klar (b) Du ser land endast om sikten är klar (c) Om det regnar eller snöar i Oslo så är tåget försenat (d) Om det inte regnar i Oslo så snöar det inte i Stockholm Materiell ekvivalens (φ ↔ ψ) utläses ’φ om och endast om ψ’ och är sann omm φ och ψ har samma sanningsvärden: φ s s f f ψ s f s f (φ ↔ ψ) s f f s Övning 2.13: Formalisera följande satser: (a) Det snöar endast om det finns moln på himlen (b) 5 är ett primtal om och endast om det snöar i Kiruna (c) Dag åker tåg om det är halt väglag, annars kör han bil (d) Om det inte snöar och Lisa är hemma så åker Dag inte tåg till Kiruna (e) Vi seglar ut om det blåser, och bara då (f) Om vi seglar ut så seglar vi till Läsö om och endast om vinden är sydlig 3 Formalisering 21 3.3 Kvantifikatoruttryck Satser av typen Alla bilar är röda Någon bil är röd De flesta bilar är röda Många bilar är röda Få bilar är röda Precis tre bilar är röda är uppbyggda med hjälp av kvantifikatoruttryck. Vi skall inte här definiera vad ett kvantifikatoruttryck är, men det är klart att de på något sätt har med antal att göra. Naturliga språk är mycket rika på sådana uttryck och möjligheten att formalisera vissa kvantifikatoruttryck i första ordningens språk utgör kärnpunkten i dessa språks uttryckskraft. Vi kommer dock inte att betrakta alla kvantifikatoruttryck som ”logiska”, utan inkluderar endast ’För alla’ och ’Det finns’ i första ordningens språk. Vi ska emellertid se att vi med hjälp av dessa och övrig logisk vokabulär också kan formalisera en hel del andra kvantifikatoruttryck. Innan vi tittar närmare på hur kvantifikatoruttryck formaliseras behöver vi införa ett nytt begrepp. Definition 3.1: Ett villkor är ett uttryck som innehåller en eller flera variabler och som blir en sats på svenska om dessa byts ut mot uttryck som refererar till enskilda objekt. Exempel 3.2: Följande uttryck är villkor: x är röd om x är en bil så är x röd x känner y x ligger mellan y och z. Ett villkor kan skrivas om till en sats på flera sätt. Dels kan man ersätta variabler med exempelvis egennamn eller bestämda beskrivningar, som i ’Lisas docka är röd’ eller ’Björn känner kungen’. Men man kan också bilda satser genom att applicera kvantifikatoruttryck på villkor: Det finns ett x sådant att x är röd För varje x gäller att om x är en bil så är x röd För varje x finns ett y sådant att x känner y. Detta ger oss en enhetlig metod att behandla kvantifikatoruttryck. 22 Första ordningens logik Universell kvantifiering Betrakta satsen ’Allt är förgängligt’. Den kan skrivas om med hjälp av ett kvantifikatoruttryck och ett villkor till ’För alla x gäller att x är förgänglig’. Med hjälp av variabler och en allkvantifikator formaliserar vi detta som ∀xP (x), där P står för egenskapen att vara förgänglig. Observera att vi tillåter oss att använda även x, y och z, eventuellt med index, i våra formaliseringar, även om detta strängt taget inte är formellt tillåtet. Först senare kommer det ibland att vara viktigt att vi håller oss till formalismen. Exempel 3.3: Satsen ’Alla taxar har korta ben’ är en sats som innehåller ett kvantifikatoruttryck. Vi kan skriva om den som För varje x gäller att om x är en tax så har x korta ben vilket formaliseras till ∀x(P (x) → Q(x)). Här ser vi också att konnektiverna inte bara fungerar som satsoperatorer, utan mer generellt som operatorer på villkor. Existentiell kvantifiering Satsen ’Det finns en planet’ kan skrivas på formen ’Det finns minst ett x sådant att x är en planet’, vilket formaliseras ∃xP (x). Observera att ’Det finns . . . ’ här tolkas som ’Det finns minst ett objekt sådant att . . . ’. Exempel 3.4: ’Det finns en röd planet’ kan skrivas som ’Det finns minst ett x sådant att x är en planet och x är röd’ och formaliseras ∃x(P (x) ∧ Q(x)), där P (x) står för ’x är en planet’ och Q(x) står för ’x är röd’. Övning 3.5: Formalisera (a) Det finns en röd bil (b) Alla bilar är röda eller gröna (c) Ingen bil är blå (d) Olle tycker illa om alla katter Exempel 3.6: ’Varje jämnt tal är summan av två primtal’ är en sats som kräver flera kvantifikatorer när vi formaliserar den. Först bestämmer vi 3 Formalisering 23 oss för ett lämpligt lexikon {P, Q, +}, där P och Q är enställiga predikatsymboler som står för egenskaperna att vara primtal och att vara ett jämnt tal, medan + är en tvåställig funktionssymbol som förstås betecknar addition. Vi kan sedan skriva om satsen som För varje x gäller att om x är ett jämnt tal så finns y och z sådana att y är ett primtal, z är ett primtal och x = y + z. Med de konventioner vi infört blir formaliseringen av satsen då ∀x(Q(x) → ∃y∃z(P (y) ∧ P (z) ∧ x = y + z)). *Övning 3.7: Formalisera satsen ovan med hjälp av lexikonet {1, +, ·}, där 1, + och · har sin vanliga tolkning. Hur många kvantifikatorer behöver du? Även i uttryck på vardagssvenska har vi stora möjligheter att ”dölja” såväl kvantifikatoruttryck som konnektiver i den grammatiska formen. Exempel 3.8: Betrakta satsen ’Bra lärare har inga lata elever’. Rimligen uttrycker denna något om alla bra lärare - nämligen att det inte finns lata elever till dem: För varje x gäller att om x är en bra lärare så är det inte så att det finns ett y sådant att y är lat och y är elev till x. Formaliseringen blir då något i stil med ∀x(P (x) → ¬∃y(Q(y) ∧ R(y, x)). Den logiska formen skiljer sig alltså här avsevärt från den grammatiska. Övning 3.9: I exemplet ovan formaliserade vi ’x är en bra lärare’ som P (x). Varför valde vi inte att uttrycka formeln med två enställiga predikat, (P0 (x) ∧ P1 (x)), i analogi med ’x är en röd bil’ ? Observera att såväl ’bra’ som ’röd’ är adjektivattribut i dessa uttryck som alltså har samma grammatiska form. 24 Första ordningens logik 3.4 Fler kvantifikatoruttryck Även om existens- och allkvantifikatorn är de enda kvantifikatorerna i första ordningens språk, kan vi formalisera även andra kvantifikatoruttryck med hjälp av dessa. Särskilt kan vi, med hjälp av identitetssymbolen, uttrycka satser som handlar om bestämda ändliga antal. Exempel 4.1: Satsen ’Det finns minst två primtal’ kan formuleras om till Det finns x och det finns y sådana att x är ett primtal, y är ett primtal och x och y är olika. Formaliseringen av detta kan då bli ∃x∃y(P (x) ∧ P (y) ∧ x 6= y). Här och i fortsättningen skriver vi oftast x 6= y i stället för ¬x = y. Observera att det inte räcker med ∃x∃y(P (x) ∧ P (y)) eller ∃xP (x) ∧ ∃yP (y). Båda dessa satser kan nämligen på svenska utläsas som ’Det finns primtal och det finns primtal’ och användandet av två olika variabler garanterar inte att dessa i någon mening tolkas som olika objekt. Variablerna fungerar snarare som ett slags platsmarkörer som indikerar vilken kvantifikator som skall kopplas till vilken plats i formeln. Generellt kan uttrycket ’Det finns minst k objekt x sådana att φ(x)’ formaliseras som (1) ∃x1 . . . ∃xk (φ(x1 ) ∧ . . . ∧ φ(xk ) ∧ x1 6= x2 ∧ . . . ∧ xk−1 6= xk ), där den senare delen av formeln uttrycker att xi 6= xj närhelst 1 ≤ i < j ≤ k. Från och med nu slopar vi alla ”onödiga” parenteser exempelvis i upprepade konjunktioner. Övning 4.2: Skriv ut alla parenteser i formeln ovan som krävs enligt definitionen av formel. Vill vi i stället formalisera ’Det finns högst k objekt x sådana att φ(x)’, så räcker det att lägga märke till att detta är synonymt med ’Det finns inte minst k + 1 objekt x sådana att φ(x)’: (2) ¬∃x1 . . . ∃xk+1 (φ(x1 ) ∧ . . . ∧ φ(xk+1 ) ∧ x1 6= x2 ∧ . . . ∧ xk 6= xk+1 ). 3 Formalisering 25 Övning 4.3: Uttryck den senare satsen ovan som en allkvantifierad sats utan att använda existenskvantifikatorn. Kombinerar vi nu uttrycken ovan, är det inte svårt att uttrycka ’Det finns precis k objekt x sådana att φ(x)’. Lite smidigare uttryckt blir detta (3) ∃x1 . . . ∃xk ((φ(x1 ) ∧ . . . ∧ φ(xk ) ∧ x1 6= x2 ∧ . . . ∧ xk−1 6= xk )∧ ∀y(φ(y) → (y = x1 ∨ . . . ∨ y = xk ))). Övning 4.4: Formalisera (a) Det finns exakt två jultomtar (b) Det finns inte tre jultomtar (c) Det finns inte precis tre jultomtar (d) Det finns precis en hund som har minst två ben (e) Det finns minst en hund som har exakt tre ben (f) Alla snälla jultomtar ger minst tre presenter var till precis sju snälla barn Eftersom formler som innehåller uttryck om bestämda antal lätt kan bli väldigt långa, är det ibland praktiskt att använda följande förkortade skrivsätt. I stället för (1), (2) och (3) skriver man ibland, respektive, ∃≥k xφ(x), ∃≤k xφ(x), och ∃k xφ(x). Det är också vanligt att skriva ∃!xφ(x) för ’Det finns precis ett x sådant att φ(x)’. Dessa uttryck är inte formler i strikt mening, utan just förkortningar för formler, och vi har alltså inte här infört några nya logiska symboler. I senare kapitel skall vi bevisa att vissa andra kvantifikatoruttryck i en då väldefinierad mening inte kan uttryckas i första ordningens språk. Ett sådant är ’Det finns oändligt många x sådana att φ(x)’. Övning 4.5: Argumentera för varför ’Det finns oändligt många primtal’ inte kan uttryckas med hjälp av <-relationen, t ex med formeln ∀x∃y(x < y ∧ P (y)). 26 Första ordningens logik 3.5 Övningar Här följer ett antal formaliseringsövningar av olika slag. Försök genomgående att driva analysen av satsernas logiska struktur ”så långt som möjligt”. I verkliga livet är exempelvis valet av lexikon starkt kontextberoende och också beroende av syftet med formaliseringen. Här finns ingen naturlig sådan kontext angiven, varför formaliseringarna får läggas på ett slags naturligt rimlig nivå. I flera fall finns det mer än en godtagbar formalisering, varför det kan vara idé att fundera över alternativa möjligheter. I andra fall kanske det, å andra sidan, inte finns något bra alternativ alls. Övning 5.1: Formalisera (a) Alla jämna tal är delbara med två (b) Allting har en orsak (c) Någonting är alltings orsak (d) Varje människa har minst två mödrar (e) Alla fäder är äldre än sina barn (f) Om någon är filosof så är han dödlig (g) Några statyer är inte av marmor (h) Alla statyer är inte av marmor (i) Den som syndar sover illa Övning 5.2: Formalisera satsen ’Lisa föredrar atleter’ (a) med hjälp av predikatet ’x föredrar atleter’ (b) med predikatet ’x föredrar y’ (c) med predikatet ’x föredrar y framför z’ Övning 5.3: Formalisera (a) Alla Olles vänner känner Lisa (b) Bara Olles vänner känner Lisa (c) Olle och Lisa har inga gemensamma vänner (d) Inget jämnt tal, förutom 2, är ett primtal (e) Varje tal är delbart med något udda tal (f) 5 är det minsta primtalet som är större än 3 Övning 5.4: Formalisera följande märkliga sats: Denna materiella ekvivalens är sann om och endast om de båda delsatserna har olika sanningsvärden. 3 Formalisering 27 Är satsen sann eller falsk? *Övning 5.5: Visa hur man med hjälp av satser i första ordningens logik kan uttrycka att en relation är exempelvis reflexiv eller transitiv. Konstruera en sats som uttrycker att (a) R är en ekvivalensrelation (b) R är en sträng ordningsrelation (c) R är en funktion. Övning 5.6: Formalisera (a) (b) (c) (d) Alla fåglar kan inte flyga Alla känner någon och någon känner alla Alla känner apan, men apan känner ingen Adam känner precis tre av de av Bertils släktingar som känner Caesar (e) David minns inte om Erik har tre eller fem bilar (f) Nästan alla bilar är röda (g) Nästan alla bilar är bilar (h) Alla udda tal är inte primtal (i) Alla udda tal är primtal (j) Ändligt många tal är primtal (k) Det minsta talet större än 1 000 är udda (l) Alla katter är svarta (m) Alla svarta katter är inte svarta (n) Filip är en svart katt (o) Ingen katt är svart (p) Alla katter utom Gustaf är vita (q) Alla katter hatar någon hund (r) Alla katter hatar hundar som bits (s) Alla katter hatar de hundar som biter Helge (t) Någon katt hatar alla hundar (u) Ivar hatar inte Johan, men Johan är en hund (v) Varken Kalle eller Kalles vänner bits när det regnar (w) Ludvig tror att han har exakt elva vänner som biter Martin (x) Katter har inga vänner (y) Jag hatar katter men älskar exakt tjugotvå svartvita hundar (z) Den som gjort alla dessa fullständigt meningslösa uppgifter är värd en eloge 28 Första ordningens logik 4 Grundläggande semantik 4.1 Lite mer syntax Innan vi formellt kan definiera en semantik för första ordningens språk behöver vi ytterligare några syntaktiska begrepp. Vi skall också samla ihop några konventioner som även fortsättningsvis skall tillåta oss att frångå en del av den strikta formalism vi inför. Definition 1.1: Varje ickeatomär formel har, enligt definitionen av formel, endera av följande utseenden: ¬φ (φ ∧ ψ) (φ ∨ ψ) (φ → ψ) (φ ↔ ψ) ∀xφ ∃xφ. Vi säger då i respektive fall att den angivna logiska symbolen är formelns huvudtecken. Huvudtecknet är alltså den logiska symbol som i naturlig mening tillkommer ”sist” när vi bildar formeln. Exempel 1.2: I följande formler har vi markerat huvudtecknet med en asterisk: (A0 ∧ A1 ) * (A0 ∨ (A1 → A3 )) * ∃x7 (P (x7 ) ↔ x7 = c3 ). * Övning 1.3: Markera huvudtecknet i följande formler (a) ((A1 ∧ A3 ) ∨ A1 ) (b) ∀x1 P2 (x1 ) ∨ P2 (x1 ) (c) ¬P3 (x4 ) ∧ (∀x6 (P2 (x1 ) → A1 )). Definition 1.4: En kvantifikator som förekommer i en formel åtföljs alltid av en variabel följd av en formel. Vi kan därför införa följande begrepp: 30 Första ordningens logik (a) En kvantifikatorförekomsts räckvidd utgörs av den själv, den efterföljande variabelförekomsten och den därpå följande formeln. (b) En variabelförekomst är bunden om den står inom räckvidden för en kvantifikator som direkt åtföljs av en förekomst av samma variabel. (c) En variabelförekomst som inte är bunden sägs vara fri och en variabel sägs vara fri om den förekommer fritt. Exempel 1.5: I följande formel är räckvidden hos den första kvantifikatorförekomsten markerad med prickar, den andras med streck och den tredjes med asterisker. ∀x1 (∃x2 P0 (x1 , x2 ) ∧ P1 (x2 , x1 )) → (x3 = c7 ∧ ∃x2 P4 (x3 )) ............................... ********* --------Variabeln x1 förekommer bara bundet, x2 förekommer såväl fritt som bundet och x3 förekommer bara fritt. De fria variablerna är alltså x2 och x3 . Vi kan nu skilja ut de formler som svarar mot påståenden på svenska, till skillnad från de som svarar mot villkor. Definition 1.6: En L-sats, där L är ett godtyckligt lexikon, är en Lformel som saknar fria variabler. Övning 1.7: Markera kvantifikatorernas räckvidder samt fria och bundna variabelförekomster i följande formler. Vilka av formlerna är satser? (a) ∃x(∀y(P (x, y) ∨ Q(y)) → R(z, x, y)) ∨ Q(x) (b) ∀y∃x(R(y, x) ∧ P (x)) → ∀zP (z) (c) ¬∃xP (c) ∨ ∃xP (f (c, x)). I flera av formlerna ovan har vi, liksom tidigare, frångått våra definitioner på åtminstone tre sätt: Parenteskonventioner Strängt taget är exempelvis uttrycket A0 ∨ A1 inte en formel eftersom det saknar yttre parenteser. Korrekt vore att skriva (A0 ∨ A1 ). Detta ökar dock knappast läsbarheten och generellt kommer vi att utelämna de parenteser som inte behövs. Exempelvis är det klart vad följande uttryck betyder, även om det strängt taget inte är välbestämt vilken formel som avses: A0 ∧ A1 ∧ A2 . 4 Grundläggande semantik 31 Däremot är det kanske inte lika klart vad som avses med A0 ∧ A1 ∨ A2 . Detta uttryck kan ju tolkas på två helt olika, men ganska naturliga sätt: (A0 ∧ A1 ) ∨ A2 A0 ∧ (A1 ∨ A2 ). För att minska användandet av parenteser även i sådana fall, brukar man införa parenteskonventioner som tillåter att man utelämnar parenteser efter ett visst system. Man rangordnar då konnektiverna efter deras benägenhet att vara huvudtecken. En vanlig sådan rangordning, som vi ofta kommer att använda oss av i fortsättningen är följande: (1) ↔ (2) → (3) ∨ (4) ∧ (5) ¬ Detta innebär att om det, till exempel, inte framgår av parenteserna i en formel om det är → eller ∧ som skall vara huvudtecken, så skall → tolkas som sådant. Exempel 1.8: Uttrycket A ∧ B → C står för formeln ((A ∧ B) → C) medan ¬A ∨ B ∧ C ↔ D → E betyder ((¬A ∨ (B ∧ C)) ↔ (D → E)). Någon enstaka gång händer det också att vi sätter ut onödiga parenteser i formler för att öka läsbarheten. Exempelvis kan ∀x1 ∃x2 (x1 = x2 ) vara mer lättläst än det formellt korrekta ∀x1 ∃x2 x1 = x2 . Ickelogiska symboler Utöver de ickelogiska symboler som är formellt tillåtna, använder vi fritt A, B, C etc som satssymboler, P , Q, R etc som predikatsymboler, f , g, h som funktionssymboler och c, d, e som individkonstanter. Ibland kanske vi även indexerar dessa symboler. Vi kommer också genomgående att utelämna alla övre index som markerar ställighet. Individvariabler Utöver de tillåtna variablerna använder vi, när detta är möjligt, även x, y och z med eller utan index. 32 Första ordningens logik 4.2 Strukturer och sanningsvillkor Betrakta satsen ∀x(P (x) ∨ Q(x)). Är denna sats sann eller falsk? Ja, rimligen beror svaret av två faktorer - dels tolkningen av P och Q, men också av vilka objekt vi menar med ’För alla objekt . . . ’. Om exempelvis P är egenskapen att vara jämnt och Q är egenskapen att vara udda, så är satsen sann om vi talar om heltal, men falsk om vi talar om alla reella tal. En sats sanningsvärde beror alltså dels av vad de ickelogiska symbolerna i satsen betyder och dels av vilket individområde, eller vilken domän, vi kvantifierar över. Sanning kommer därför att definieras som en relation mellan tolkningar, eller strukturer, och satser. Längre fram kommer det att vara väsentligt att den semantiska begreppsapparaten är lika väldefinierad som den syntaktiska. Exempelvis definieras begreppen logisk sanning och logisk konsekvens i termer av sanning i alla strukturer och då är det förstås väsentligt precis vad som menas med en struktur. Därför sker alla definitioner här i termer av ett enda grundläggande begrepp, nämligen begreppet mängd. Hur sedan mängdbegreppet preciseras i sin tur, behandlas i kapitel 10. Den som inte känner sig hemma i den mängdteoretiska terminologi som används här, bör läsa igenom de fyra första avsnitten i kapitel 10. Definition 2.1: En L-struktur, för ett godtyckligt lexikon L, är ett ordnat par M = (M, T ), där M är en icketom mängd, strukturens domän, och T är en tolkningsfunktion som uppfyller följande villkor: (i) (ii) (iii) (iv) T (c) ∈ M , om c är en individkonstant i L T (f ) : M n → M , om f är en n-ställig funktionssymbol i L T (P ) ⊆ M n , om P är en n-ställig predikatsymbol i L T (A) ∈ {s, f}, om A är en satssymbol i L. Detta innebär alltså att om M = (M, T ) så är T (c) det objekt som c betecknar i M, T (f ) är den funktion som f betecknar, T (P ) är den egenskap eller relation som P betecknar och T ger A ett sanningsvärde. För att slippa en del tyngande notation skriver vi oftast cM fM PM och AM i stället för, respektive, T (c) T (f ) T (P ) och T (A). Exempel 2.2: Låt L = {c0 , c1 , P 1 , R2 }. Vi kan nu definiera en L-struktur M genom att låta M = {x : x är en människa}, c0 M = Olle, c1 M = 4 Grundläggande semantik 33 Lisa, PM = {x : x är snäll} och RM = {(x, y) : x är bror till y}. Det är då klart att satsen ∃x(R(x, c0 ) ∧ R(x, c1 ) ∧ P (x)) i M betyder att Olle och Lisa har en snäll bror. Låter vi sedan M 0 = 0 0 0 {0, 1, 2, . . .}, c0 M = 54, c1 M = 111, PM = {x : x är ett primtal} och M R = {(x, y) : x delar y}, betyder samma sats i M0 att de två talen 54 och 111 har en gemensam primtalsfaktor. Övning 2.3: Låt L = {c0 , c1 , P 1 , Q2 , R2 } och ange två L-strukturer, en med mängden av alla människor som domän och en med mängden av naturliga tal, {0, 1, 2, . . .}, som domän. Vad betyder satsen ∀x(R(c0 , x) ∧ R(x, c1 ) → ∃y(Q(x, y) ∧ P (y))) i respektive struktur? Givet en struktur M är det klart att även andra termer än individkonstanter kan beteckna objekt i M. Vi gör detta precist i följande definition. Definition 2.4: (a) En sluten term är en term som inte innehåller någon variabel (b) Om t är en individkonstant c låter vi tM = cM (c) Om t är f (t1 , . . . , tn ), där t1 , . . . , tn är slutna termer och f är M en n-ställig funktionssymbol, låter vi tM = f M (tM 1 , . . . , tn ). Exempel 2.5: Låt L = {c, d, P, f 1 , g 2 } och låt M bestämmas av M är mängden av ickenegativa reella tal cM = 3 dM = 16 P M är egenskapen att vara udda √ f M (x) = x g M (x,y) = x + y. Då gäller att g(c, f (d))M = g M (cM , f(d)M ) = gM (cM , fM (dM )) = 3 + √ 16 = 7. Hittills har vi intuitivt tolkat satserna i första ordningens språk i givna strukturer, men vi vill nu presentera en formell definition av relationen 34 Första ordningens logik ’φ är sann i M’. Det innebär att vi, beroende av vilken form φ har, vill ange villkor för när φ är sann i M. För atomära satser är detta inget problem: A är sann i M omm AM = s t1 = t2 är sann i M omm t1 M = t2 M P (t1 , . . . tn ) är sann i M omm (t1 M , . . . , tn M ) ingår i relationen P M. Idén är sedan att sanningsvillkoren för en ickeatomär sats entydigt bestäms av satsens huvudtecken tillsammans med sanningsvillkoren för delsatserna i satsen. Igen är detta problemfritt när det gäller konnektiverna: ¬φ är sann i M omm φ inte är sann i M φ ∧ ψ är sann i M omm φ är sann i M och ψ är sann i M φ ∨ ψ är sann i M omm φ är sann i M eller ψ är sann i M φ → ψ är sann i M omm φ inte är sann i M eller ψ är sann i M φ ↔ ψ är sann i M omm φ och ψ har samma sanningsvärde i M. Däremot får vi problem när vi skall behandla kvantifierade satser. Enligt principen ovan skall ju sanningsvillkoren för exempelvis ∃xP (x) bestämmas i termer av sanningsvillkoren för P (x). Men P (x) är inte en sats, utan en formel med en fri variabel, och har inget naturligt sanningsvärde. Vad vi vill kunna säga är något i stil med ∃xP (x) är sann i M omm P (x) är sann i M för något värde på x, vilket innebär att vi på något sätt måste kunna tilldela variabler värden i strukturer. I nästa avsnitt gör vi precis det och definierar en satisfieringsrelation väsentligen mellan strukturer, formler och objekt i strukturens domän och det är sedan i termer av denna relation som den formella sanningsdefinitionen formuleras. Övning 2.6: Förklara varför det inte blir rätt om man definierar sanning för kvantifierade satser enligt ∃xP (x) är sann i M omm P (c) är sann i M för någon individkonstant c. 4 Grundläggande semantik 35 4.3 Satisfiering Betrakta villkoret ’x är en katt’. Det är naturligt att säga att detta villkor satisfieras av exempelvis grannkatten Måns, medan det inte satisfieras av hunden Pompe. På motsvarande sätt är det naturligt att säga att villkoret ’x är större än y’ satisfieras av de talpar (n, k) för vilka n faktiskt är större än k. Att sedan satsen ’Det finns en katt’ är sann, innebär helt enkelt att det finns ett objekt som satisfierar villkoret ’x är en katt’, medan ’För varje tal finns ett som är större’ är sant omm det för varje tal k finns ett tal n sådana att (n, k) satisfierar villkoret ’x är större än y’. Vi ger nu en formell definition av begreppet satisfiering och definierar sedan sanning i termer av detta. Några förberedelser återstår dock. Övning 3.1: Låt L = {+, ·} och ge dessa symboler sin naturliga tolkning i en struktur vars domän är mängden av naturliga tal {0, 1, 2, . . .}. Ange sedan en L-formel som satisfieras av precis alla primtal. Minns att ett primtal är ett tal större än 1 som bara är jämnt delbart med 1 och sig självt. Exempelvis är 17 ett primtal, men inte 21. Eftersom definitionen av satisfiering skall gälla godtyckliga formler, kan vi inte på förhand bestämma hur många fria variabler som förekommer i formlerna. Därför är det praktiskt att definiera satisfiering för oändliga sekvenser av objekt, snarare än för enstaka objekt, par av objekt osv. Definition 3.2: Givet en sekvenser (a0 , a1 , a2 , . . .) SM kallar vi sekvenser i sekvens (a0 , a1 , a2 , . . .), b̄ om ā = (a0 , a1 , a2 , . . .), mängd M låter vi SM vara mängden av alla sådana att ai ∈ M , för i ≥ 0. Elementen i M . Om ingenting annat sägs betecknar ā en en sekvens (b0 , b1 , b2 , . . .) osv. Vidare låter vi, ā(i/b) = (a0 , . . . , ai−1 , b, ai+1 , . . .). ā(i/b) är alltså identisk med ā förutom möjligen i position nummer i. Definition 3.3: Givet en L-struktur M, en sekvens ā i M och en L-term t definierar vi värdet av t i M under ā, tM [ā], enligt cM [ā] = cM , om c är en individkonstant xi M [ā] = ai f (t1 , . . . , tn )M [ā] = f M (t1 M [ā], . . . , tn M [ā]). Elementen i sekvensen fungerar alltså som ett slags tolkningar av individvariablerna och gör det därmed möjligt att tala om värdet av en term i en 36 Första ordningens logik struktur, även när termen är öppen. Observera att det här är väsentligt att x0 , x1 , . . . är de enda tillåtna variablerna. Vi är nu klara att ge en formell definition av satisfieringsrelationen och uppmanar läsaren att jämföra denna med de olika klausulerna i vår intuitiva sanningsdefinition i föregående avsnitt. Definition 3.4: (Tarskis definition av satisfiering ) Givet ett lexikon L, en L-formel φ, en L-struktur M och en sekvens ā i M , definierar vi ā satisf ierar φ i M, vilket skrivs M |= φ[ā], enligt följande. (i) M |= A[ā] omm AM = s (ii) M |= P (t1 , . . . , tn )[ā] omm (t1 M [ā], . . . , tn M [ā]) ∈ P M (iii) M |= t1 = t2 [ā] omm t1 M [ā] = t2 M [ā] (iv) M |= ¬φ[ā] omm inte M |= φ[ā] (v) M |= (φ ∧ ψ)[ā] omm M |= φ[ā] och M |= ψ[ā] (vi) M |= (φ ∨ ψ)[ā] omm M |= φ[ā] eller M |= ψ[ā] (vii) M |= (φ → ψ)[ā] omm inte M |= φ[ā] eller M |= ψ[ā] (viii) M |= (φ ↔ ψ)[ā] omm M |= φ[ā] omm M |= ψ[ā] (ix) (x) M |= ∃xi φ[ā] omm M |= φ[ā(i/b)], för något b ∈ M M |= ∀xi φ[ā] omm M |= φ[ā(i/b)], för varje b ∈ M . Att M |= φ[ā] inte gäller skriver vi oftast M |6= φ[ā]. Det är inte svårt att se att det bara är de positioner i ā som svarar mot fria variabler i φ som spelar roll för om M |= φ[ā] gäller eller ej. Särskilt kan vi notera att i de fall då φ är en sats, och alltså saknar fria variabler, så spelar det ingen roll vilken sekvens ā är. För en sats gäller alltså att den satisfieras av alla sekvenser i SM eller av ingen sekvens i SM . I nästa avsnitt ger vi ett formellt bevis för bland annat detta, men här tar vi det som intäkt för att nästa definition är rimlig. Definition 3.5: (Tarskis sanningsdefinition) Givet en L-struktur M och en L-formel φ säger vi att φ är sann i M, M |= φ, om M |= φ[ā], för varje ā ∈ SM . Speciellt är alltså en sats sann i en struktur om den satisfieras av alla, eller av någon, sekvens av objekt ur strukturens domän. Exempel 3.6: Låt M vara mängden av alla nu levande människor och låt M definieras av att cM = Lisa, P M är egenskapen att vara snäll och RM är relationen ’x är bror till y’. Vi använder sanningsdefinitionen för att hitta sanningsvillkoren i M för satsen ∃x1 (R(x1 , c) ∧ P (x1 )). 4 Grundläggande semantik 37 Följande är då ekvivalent enligt satisfieringsdefinitionen: M |= ∃x1 (R(x1 , c) ∧ P (x1 ))[ā] M |= (R(x1 , c) ∧ P (x1 ))[ā(1/b)], för något b [enligt (ix)] M |= R(x1 , c)[ā(1/b)] och M |= P (x1 )[ā(1/b)], för något b [(v)] (∗) x1 M [ā(1/b)] står i relationen RM till cM [ā(1/b)] och x1 M [ā(1/b)] har egenskapen P M , igen för något b [(ii)]. M Men x1 [ā(1/b)] = b, eftersom ā(1/b) uppstår genom att vi ändrar andra positionen i ā, ā börjar ju med a0 , till just b, och cM [ā(1/b)] = cM = Lisa. (∗) är alltså detsamma som För något b gäller att b är bror till Lisa och b är snäll. Eftersom detta gäller alla sekvenser ā är alltså villkoret för att satsen ∃x1 (R(x1 , c) ∧ P (x1 )) är sann i M just att Lisa faktiskt har en snäll bror, vilket är precis så vi intuitivt skulle läsa ut satsen. Självklart kan vi inte sedan avgöra om satsen är sann eller falsk med mindre än att vi känner Lisas familjeförhållanden. Övning 3.7: Låt L = {0, 1, +, ·, <} och låt M bestämmas av att L ges den naturliga tolkningen på M = {0, 1, 2, . . .}. Använd sanningsdefinitionen för att avgöra vilka av följande satser som är sanna i M. (a) ∀x1 (x1 + 0 = x1 ) (b) ∀x1 ∃x2 (x1 = (1 + 1) · x2 ∨ x1 = ((1 + 1) · x2 + 1)) (c) ∃x3 (x3 = x3 + 1) (d) ¬∀x1 (x1 + x1 = x1 · x1 → x1 = 0 ∨ (1 + 1) < x1 ) (e) ∀x1 ∃x2 ∃x3 (x1 < x2 ∧ ∀x4 (x1 < x4 ∧ x4 < x2 ↔ x4 = x3 )) Övning 3.8: Så som vi har formulerat sanningsdefinitionen ovan, gäller den även formler som inte är satser. Om φ är en formel och n är minimalt sådant att de fria variablerna i φ finns bland x0 , . . . , xn , låter vi det slutna höljet till φ vara satsen ∀x0 ...∀xn φ. (a) Visa att en formel är sann i M omm dess slutna hölje är sant i M. (b) Ge exempel på en L-struktur M och en L-formel sådan att varken den eller dess negation är sann i M. Att det bara är de positioner i en sekvens ā som svarar mot de fria variablerna i en formel φ som har relevans för huruvida ā satisfierar φ, 38 Första ordningens logik innebär att vi i vår notation ofta kan utelämna de delar av sekvensen som saknar relevans. Det känns ju naturligare att säga att Lisa satisfierar villkoret ”x1 är snäll” än att säga att en oändlig sekvens av människor med Lisa i andra positionen satisfierar villkoret. Exempel 3.9: Låt M vara en struktur vars domän innehåller alla människor och sådan att P M är egenskapen att vara snäll. Det är då helt klart vad vi menar med M |= P (x)[Lisa]. När den formel vi behandlar bara innehåller en variabel, som i exemplet ovan, är det förstås inte heller nödvändigt att vi strikt håller oss till variablerna x0 , x1 , . . . . Men även i andra fall kommer vi att tillåta användningen av andra variabler än dessa. Vi kommer också att utelämna irrelevanta delar av sekvenser även i de fall då en formel innehåller flerställiga predikat. Exempel 3.10: Låt M vara som i exemplet ovan och sådan att QM är relationen ’x är syskon till y’ och RM är relationen ’x är äldre än y’. M |= ∃z(Q(z, x) ∧ R(z, y))[Lisa, Olle] betyder att Lisa har ett syskon som är äldre än Olle. Vi betraktar alltså här Lisa som värdet av x och Olle som värdet av y. Ordningen mellan Lisa och Olle är då den ordning i vilken de benämns. Den ”naturliga” ordningen hos variablerna är bokstavsordningen mellan dem, men också den ordning i vilken de dyker upp som fria variabler i formeln. Dessa två ordningar kommer alltid att sammanfalla, dvs vi använder i första hand x, i andra hand y och i tredje hand z som fri variabel. I de fall tvekan kan uppstå håller vi oss förstås till den strikta formalismen. 4.4 Några metateorem I det här avsnittet formulerar vi och bevisar några fakta om begreppen satisfiering och sanning. Avsnittet fördjupar förståelsen av dessa definitioner, men bevisen kan hoppas över vid en första genomläsning. Sats 4.1: Antag att M är en struktur, t är en term och ā och b̄ är två sekvenser i M sådana att ai = bi , för varje i för vilket variabeln xi förekommer i t. Då gäller att tM [ā] = tM [b̄]. Bevis: Vi visar påståendet med induktion över termernas längd. Det innebär att vi först bevisar det för enkla termer, dvs individkonstanter 4 Grundläggande semantik 39 och variabler, för att sedan visa att om påståendet gäller för t1 , . . . tn så gäller det även för f (t1 , . . . , tn ): (i) cM [ā] = cM = cM [b̄] (ii) xi M [ā] = ai = bi = xi M [b̄] (iii) Antag att påståendet gäller för t1 , . . . , tn och att t = f (t1 , . . . tn ). Eftersom ai = bi för alla i sådana att xi förekommer i t, gäller speciellt för varje tj att ai = bi för varje i sådant att xi förekommer i tj . Enligt påståendet gäller därmed tj M [ā] = tj M [b̄], för 1 ≤ j ≤ n. Men då gäller f (t1 , . . . , tn )M [ā] = f M (t1 M [ā], . . . , tn M [ā]) = f M (t1 M [b̄], . . . , tn M [b̄]) = f (t1 , . . . , tn )M [b̄]. Vi har därmed visat att påståendet även gäller för t. Beviset ovan exemplifierar hur induktiva definitioner gör det möjligt att bevisa påståenden med induktion: För att bevisa att alla termer har en viss egenskap räcker det att visa att ej sammansatta termer har egenskapen och att den bevaras under bildandet av komplexa termer i enlighet med den induktiva definitionen. Detsamma gäller, som vi skall se ett exempel på i nästa bevis, när vi skall visa att alla formler har en viss egenskap: Vi visar först att de atomära formlerna har egenskapen och sedan att egenskapen bevaras när vi bildar komplexa formler. Sats 4.2: Låt φ vara en L-formel, M en L-struktur och ā och b̄ sekvenser i M sådana att ai = bi , för alla i sådana att xi förekommer fri i φ. Då gäller att M |= φ[ā] omm M |= φ[b̄]. Speciellt gäller alltså, om φ är en sats, att alla eller ingen sekvens satisfierar φ i M. Bevis: Igen sker beviset med induktion, men denna gång över formlers längd. Det innebär att vi först visar att påståendet gäller för atomära formler. Sedan visar vi att om påståendet gäller för φ och ψ så gäller det för ¬φ, (φ ∧ ψ), etc. Och slutligen visar vi att om påståendet gäller för φ så gäller det också för ∃xφ och ∀xφ. Kontentan av detta är att vi har visat påståendet för alla formler. Vi antar nu förutsättningarna i påståendet och använder oss av definitionen av satisfiering. (i) φ = A M |= A[ā] omm AM = s omm M |= A[b̄] 40 Första ordningens logik (ii) φ = P (t1 , . . . , tn ) M |= P (t1 , . . . , tn )[ā] omm (t1 M [ā], . . . , tn M [ā]) ∈ P M omm (t1 M [b̄], . . . , tn M [b̄]) ∈ P M [enligt föregående sats] omm M |= P (t1 , . . . , tn )[b̄] (iii) φ = (t1 = t2 ) M |= t1 = t2 [ā] omm t1 M [ā] = t2 M [ā] omm t1 M [b̄] = t2 M [igen enligt föregående sats] [b̄] omm M |= t1 = t2 [b̄] Nu antar vi påståendet för ψ och γ. (iv) φ = ¬ψ M |= ¬ψ[ā] omm M |6= ψ[ā] omm [enligt antagandet] M |6= ψ[b̄] omm M |= ¬ψ[b̄]. (v) φ = (ψ ∧ γ) M |= (ψ ∧ γ)[ā] omm M |= ψ[ā] och M |= γ[ā] omm [enligt antagandet] M |= ψ[b̄] och M |= γ[b̄] omm M |= (ψ ∧ γ)[b̄] Övriga konnektiver behandlas helt analogt med konjunktion. Nu antar vi påståendet för ψ och antar att M |= ∃xi ψ[ā]. Då finns b0 ∈ M sådant att M |= ψ[ā(i/b0 )]. Men nu sammanfaller ā(i/b0 ) och b̄(i/b0 ) på de positioner som svarar mot fria variabler i ψ. Den enda nya variabel som nu kan vara fri i ψ är ju xi och ai = bi = b0 . Alltså kan vi tillämpa satsen på ψ och sekvenserna ā(i/b0 ) och b̄(i/b0 ), vilket ger att M |= ψ[b̄(i/b0 )]. Därmed finns ett b sådant att M |= ψ[b̄(i/b)], det vill säga M |= ∃xi ψ[b̄]. Omvändningen visas förstås helt analogt. Att slutligen, igen under antagandet att påståendet gäller för ψ, visa det även för ∀xi ψ görs på precis samma sätt som för ∃xi ψ. Övning 4.3: Fyll i detaljerna i beviset ovan. 4 Grundläggande semantik 41 Definition 4.4: Lexikonet för φ , Lφ , är mängden av ickelogiska konstanter som förekommer i φ. På motsvarande sätt är lexikonet för en satsmängd Γ, LΓ , mängden av de ickelogiska konstanter som förekommer i någon sats i Γ. Om de fria variablerna i en formel φ förekommer bland x0 , . . . xn skriver vi ibland φ som φ(x0 , . . . , xn ). Vidare är φ(t), om t är en term, resultatet av att i φ(x) ersätta alla fria förekomster av variabeln x med t. I samtliga fall när detta tillämpas kommer x att vara den enda fria variabeln i φ och t kommer att vara en sluten term. Övning 4.5: Låt M och N vara två strukturer med samma domän som överensstämmer vad gäller tolkningen av symbolerna i Lφ . Visa att M |= φ omm N |= φ. Övning 4.6: Låt M vara en L-struktur, t1 och t2 slutna L-termer sådana att t1 M = t2 M och φ(x) en L-formel. Visa att M |= φ(t1 ) omm M |= φ(t2 ). 42 Första ordningens logik 5 Sanning och konsekvens 5.1 Definitionerna Vi är nu redo att införa de kanske mest centrala begreppen i logiken. Vi inleder dock med ytterligare en enkel definition. Definition 1.1: En struktur M är en modell till φ om φ är sann i M. Om Γ är en mängd av formler är M en modell till Γ, M |= Γ, om M är en modell till varje formel i Γ. Här och i fortsättningen förutsätter vi i dessa sammanhang att M är en struktur med ”rätt” lexikon. Låt nu φ vara en sats och Γ en satsmängd. Definition 1.2: φ är en logisk konsekvens av Γ, Γ |= φ, om φ är sann i varje modell till Γ vars lexikon inkluderar Lφ . Om Γ = ∅ skriver vi oftast |= φ i stället för ∅ |= φ. Vidare är φ logiskt sann, |= φ, om φ är sann i alla strukturer vars lexikon inkluderar Lφ . Negationen till en logiskt sann sats sägs vara logiskt falsk och en sats som varken är logiskt sann eller logiskt falsk är kontingent. Observera att vi här inför en helt ny användning av symbolen |= ! Denna symbol används alltså, förutom som en beteckning på satisfieringsrelationen, dels för att beteckna sanningsrelationen och dels för att beteckna logisk konsekvens. Det framgår dock nästan alltid av sammanhanget vilken av dessa två betydelser som avses; i det förra fallet står det en modell till vänster om |= och i det senare står det en satsmängd där. Den enda användningen av |= som skulle kunna leda till missförstånd är när vi skriver |= φ. Detta kan ju dels betyda att φ är en logisk sanning och dels att φ är en logisk konsekvens av den tomma satsmängden. Dessa två användningar sammanfaller dock: 44 Första ordningens logik Sats 1.3: För varje sats φ gäller att φ är logiskt sann omm φ är en logisk konsekvens av den tomma mängden. Bevis: Enligt definitionen av logisk konsekvens är φ en logisk konsekvens av ∅ omm φ är sann i varje modell till ∅ vars lexikon inkluderar Lφ . Men alla strukturer är modeller till ∅: För varje sats ψ i ∅ [0 stycken!] gäller att M |= ψ, för alla M. Alltså är φ en logisk konsekvens av ∅ omm φ är sann i alla modeller vars lexikon inkluderar Lφ , dvs omm φ är logiskt sann. Vi har nu infört en formell motsvarighet till de intuitiva begreppen ”logisk sanning” och ”logisk konsekvens” som vi diskuterade i inledningen. Tanken är alltså att en slutledning i vårt naturliga språk är giltig precis när slutsatsen, formaliserad i första ordningens logik, är en logisk konsekvens av premisserna, även de formaliserade i första ordningens logik. På motsvarande sätt hoppas vi att en sats på svenska intuitivt sett är logiskt sann om dess formalisering, formellt sett, är en logisk sanning. Naturligtvis är det inte alls självklart att vi faktiskt har uppnått dessa mål. Det kan ju exempelvis vara så att våra intuitioner kring vad som är ”logiskt” beror av en annan uppdelning mellan logiska och ickelogiska begrepp än den vi gör i just första ordningens logik. Detta är en diskussion vi återkommer till i ett senare kapitel. Här skall vi istället, via ett antal exempel och övningar, göra det troligt att vi faktiskt har träffat ganska rätt. Exempel 1.4: I inledningen betraktade vi följande slutledning. Inget primtal är delbart med 57 9 373 är ett primtal Alltså: 9 373 är inte delbart med 57 Om vi formaliserar får vi ¬∃x(P (x) ∧ R(x, c)) P (d) Alltså: ¬R(d, c). Vi visar nu att {¬∃x(P (x) ∧ R(x, c)), P (d)}|= ¬R(d, c): Låt M |= {¬∃x(P (x) ∧ R(x, c)), P (d)}. Enligt sanningsdefinitionen gäller då att M |6= (P (x) ∧ R(x, c))[dM ]. Men M |= P (x)[dM ], varför M |6= R(x, c)[dM ], dvs M |= ¬R(d, c). 5 Sanning och konsekvens 45 Övning 1.5: Visa att slutledningen Om det regnar eller blåser så vantrivs humlorna Det regnar Alltså: Humlorna vantrivs är giltig. Exempel 1.6: Vi visar att {∃xP (x), ∀x(¬Q(x) → ¬P (x))} |= ∃xQ(x). Låt M vara en godtycklig struktur och antag att premisserna är sanna i M. Då finns ett objekt a ∈ M sådant att M |= P (x)[a]. Men M |= ∀x(¬Q(x) → ¬P (x)), dvs alla element i M satisfierar (¬Q(x) → ¬P (x)). Speciellt gäller alltså att M |= (¬Q(x) → ¬P (x))[a]. Satisfieringsdefinitionen för implikation respektive negation ger oss då att M |= Q(x)[a], varför M |= ∃xQ(x). Naturligtvis finns det, som vi senare skall se, betydligt mer komplicerade exempel än detta. Här nöjer vi oss dock med ytterligare ett exempel. Exempel 1.7: Vi visar att varje transitiv, irreflexiv relation är asymmetrisk: Låt Γ = {∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)), ∀x¬R(x, x)} och φ = ∀x∀y(R(x, y) → ¬R(y, x)). Då är φ en logisk konsekvens av Γ. Antag nämligen att M är en godtycklig modell till Γ. Enligt den första premissen gäller då, för alla a, b, c i M , att M |= (R(x, y) ∧ R(y, z) → R(x, z))[a, b, c]. Speciellt gäller då, om vi låter c = a, att M |= (R(x, y) ∧ R(y, z) → R(x, z))[a, b, a]. Men det innebär att om M |= (R(x, y) ∧ R(y, z))[a, b, a] så 46 Första ordningens logik M |= R(x, z)[a, a]. Det senare strider dock mot att den andra premissen är sann i M. Alltså gäller att M |6= (R(x, y) ∧ R(y, z))[a, b, a], dvs M |6= (R(x, y) ∧ R(y, x))[a, b], dvs M |= (R(x, y) → ¬R(y, x))[a, b] vilket innebär att M |= ∀x∀y(R(x, y) → ¬R(x, y)), eftersom a och b var godtyckliga element i M . Att visa att en sats inte följer ur en uppsättning premisser är ofta, men långt ifrån alltid, enklare. Här räcker det ju att hitta ett motexempel i form av en struktur i vilken premisserna är sanna och slutsatsen är falsk. Analogt räcker det, för att visa att en sats inte är logiskt sann, att hitta en struktur i vilken den är falsk. Exempel 1.8: Vi vill visa att satsen ∀x∃yR(x, y) → ∃y∀xR(x, y) inte är en logisk sanning. Vi behöver alltså ett exempel på en struktur M i vilken försatsen ∀x∃yR(x, y) är sann och eftersatsen ∃x∀yR(x, y) är falsk. Vi måste då bestämma oss för en domän M och en tolkning av R i form av en tvåställig relation på M . För RM skall gälla att alla objekt i M skall stå i relationen RM till något objekt i M , medan det inte skall finnas något enskilt objekt i M som alla objekt står i RM till. Men ett sådant exempel är inte så svårt att hitta: Låt M = {0, 1, 2, . . .} och låt RM vara den vanliga <-relationen. Då är det klart att det för varje n ∈ M finns m ∈ M , exempelvis m = n + 1, sådant att RM (n, m). Samtidigt finns det förstås inget m sådant att RM (n, m) gäller för alla n. Övning 1.9: Visa i följande fall att Γ |= φ. Γ = {∀xP (x)} (a) φ = ∃xP (x) Γ = {∀x(P (x) → Q(x)), ∃yP (y)} (b) φ = ∃zQ(z) Γ = {∀x(P (x) ∨ Q(x)), ¬(P (c) ∧ R(c)), R(c)} (c) φ = Q(c) Γ = {∀x(P (x) ∨ Q(x)), ∃x¬Q(x), ∀x(R(x) → ¬P (x))} (d) φ = ∃x¬R(x) 5 Sanning och konsekvens 47 Övning 1.10: Visa i följande fall att slutsatsen inte följer ur premisserna. Γ = {∃xP (x), ∃xQ(x)} (a) φ = ∃x(P (x) ∧ Q(x)) Γ = {∀x(P (x) ∨ Q(x)), ∃y¬P (y)} (b) φ = ∃x¬Q(x) Γ = {∃x(P (x) → Q(x)), ∃xP (x)} (c) φ = ∃xQ(x) Γ = {∀x¬R(x, x), ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z))} (d) φ = ∀x∃yR(x, y) Övning 1.11: Avgör om följande satser är logiskt sanna eller ej. (a) (b) (c) (d) ∀x∀y(P (x) ∧ ¬P (y) → x 6= y) ∃x∀yR(x, y) → ∀y∃xR(x, y) (∀xP (x) → ∀xQ(x)) → ∀x(P (x) → Q(x)) ∀x∃y(x 6= y) Övning 1.12: Låt två satser φ och ψ vara logiskt ekvivalenta om {φ} |= ψ och {ψ} |= φ. Visa att φ och ψ är logiskt ekvivalenta omm (φ ↔ ψ) är en logisk sanning. 5.2 Ytterligare några metateorem Här presenterar vi några enkla fakta om begreppen logisk sanning och logisk konsekvens. Vissa av dessa kommer att hänvisas till längre fram, medan andra har ett visst egenvärde. För senare referenser benämner vi dem med romerska siffror. Bevisen är mestadels enkla och överlämnas ibland till läsaren. (I) Om Γ saknar modell så gäller Γ |= φ för alla φ. Detta följer direkt ur definitionen av logisk konsekvens: Om Γ saknar modell gäller trivialt att φ är sann i alla modeller till Γ. (II) Om Γ |= φ och Γ ⊆ Σ så Σ |= φ. Bevis: Antag att M |= Σ och att Γ ⊆ Σ. Då gäller förstås att M |= Γ. Om nu Γ |= φ, så gäller därmed M |= φ. Alltså gäller i så fall Σ |= φ. 48 Första ordningens logik Av detta följer omedelbart (III) |= φ omm Γ |= φ för varje Γ. En annan direkt konsekvens av definitionerna, eller av (II), är (IV) Om φ ∈ Γ så gäller Γ |= φ. Övning 2.1: Bevisa (IV) med hjälp av (II). (V) Om Γ |= φ och för alla γ ∈ Γ gäller Σ |= γ så gäller Σ |= φ. Bevis: Antag förutsättningarna i påståendet och låt M vara en modell till Σ. Då gäller, för alla γ ∈ Γ, att M |= γ, dvs M |= Γ. Men Γ |= φ, varför vi har M |= φ. Följande två påståenden ger samband mellan konsekvensrelationen och egenskapen att ha en modell. (VI) Γ |= φ omm Γ ∪ {¬φ} saknar modell. (VII) Γ har en modell omm Γ |= 6 ∃x(x 6= x). Γ |= 6 φ betyder förstås att φ inte är en logisk konsekvens av Γ. Övning 2.2: Bevisa påståendena ovan. De sista resultaten i det här avsnittet spelar en väsentlig roll i kapitlen 6 och 7. (VIII) Γ ∪ {ψ} |= φ omm Γ |= ψ → φ. Bevis: Vi visar bara implikationen från vänster till höger. Antag att Γ ∪ {ψ} |= φ och låt M vara en godtycklig modell till Γ. Om ψ är falsk i M gäller uppenbarligen att M |= ψ → φ. Om, å andra sidan, ψ är sann i M så är M en modell till Γ ∪ {ψ}, varför M |= φ och även i det fallet gäller alltså att M |= ψ → φ. Övning 2.3: Visa att {γ1 , . . . , γn } |= φ omm (γ1 ∧ . . . ∧ γn → φ) är en logisk sanning. Vi har tidigare sett att begreppet logisk sanning kan 5 Sanning och konsekvens 49 definieras i termer av begreppet logisk konsekvens (Hur?). Innebär den här övningen att omvändningen också gäller, dvs att logisk konsekvens kan definieras i termer av logisk sanning? (IX) Om φ(x) är en formel med x som enda fri variabel och t är en sluten term så gäller (a) om Γ |= ∀xφ(x) så Γ |= φ(t) (b) om Γ |= φ(t) så Γ |= ∃xφ(x). Övning 2.4: Bevisa (IX). Omvändningarna till (IX) gäller förstås inte generellt. Däremot gäller omvändningen till (a) under vissa omständigheter: (X) Antag att Γ är en satsmängd, att φ(x) är en formel med x som enda fri variabel och att c är en individkonstant som inte förekommer i lexikonet för Γ ∪ {φ(x)}. Då gäller att om Γ |= φ(c) så Γ |= ∀xφ(x). Bevis: Låt förutsättningarna vara som i påståendet och antag också att Γ |= 6 ∀xφ(x). Då finns en modell M till Γ sådan att M |= 6 ∀xφ(x). Alltså finns ett objekt a ∈ M sådant att M |= 6 φ(x)[a]. Låt nu M0 vara en modell med samma domän som M och med samma tolkningsfunktion som 0 M förutom att cM = a. Eftersom det bara är domänen tillsammans med tolkningen av de ickelogiska symboler som förekommer i en formel som bestämmer huruvida satisfieringsrelationen råder, gäller därmed att 0 M0 |= 6 φ(x)[a]. Nu gäller cM = a, varför M0 |= 6 φ(c). Samtidigt gäller 0 att M |= Γ eftersom tolkningen av c är det enda som skiljer M från M0 och c inte förekommer i satserna i Γ. Alltså gäller Γ |= 6 φ(c). Vi har alltså visat att om Γ |= 6 ∀xφ(x) så Γ |= 6 φ(c), dvs om Γ |= φ(c) så också Γ |= ∀xφ(x). Vi skall även formulera ett slags omvändning till (IX b), även om detta blir lite krångligare, men det här är ett resultat som vi behöver hänvisa till senare. (XI) Låt Γ vara en satsmängd, φ(x) en formel med x som enda fri variabel, ψ en sats och c är en individkonstant som inte förekommer i lexikonet för Γ ∪ {φ(x), ψ}. Då gäller 50 Första ordningens logik Om Γ ∪ {φ(c)} |= ψ så Γ ∪ {∃xφ(x)} |= ψ. Idén här är följande: Antag att ψ följer ur premisserna i Γ tillsammans med antagandet att c satisfierar φ, samtidigt som premisserna inte lägger några villkor på vilket objekt c är och c dessutom inte förekommer i slutsatsen. Då är det inte väsentligt att det just är c som satisfierar φ utan samma slutsats följer av att det finns något som satisfierar φ. Vi lämnar beviset som övning. Övning 2.5: Fyll i detaljerna i följande bevis för (XI): Antag, givet förutsättningarna i påståendet, att Γ ∪ {φ(c)} |= ψ. Enligt (VIII) gäller därmed att Γ |= φ(c) → ψ. Enligt (X) gäller då Γ |= ∀x(φ(x) → ψ). Men, eftersom x inte är fri i ψ, är ∀x(φ(x) → ψ) och (∃xφ(x) → ψ) logiskt ekvivalenta (Visa det!). Alltså gäller Γ |= ∃xφ(x) → ψ och därmed Γ ∪ {∃xφ(x)} |= ψ. 5.3 Övningar I följande övningar är det de formella definitionerna som skall användas, snarare än de intuitiva begrepp dessa motsvarar. Övning 3.1: Visa att följande satser är logiskt sanna. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) ∀x∀yR(x, y) ↔ ∀y∀xR(x, y) ∃x∃yR(x, y) ↔ ∃y∃xR(x, y) ∃x∀yR(x, y) → ∀y∃xR(x, y) ∀x(P (x) ∧ Q(x)) ↔ ∀xP (x) ∧ ∀xQ(x) ∀xP (x) ∨ ∀xQ(x) → ∀x(P (x) ∨ Q(x)) ∀x(P (x) → Q(x)) → (∀xP (x) → ∀xQ(x)) ∃x(P (x) ∧ Q(x)) → ∃xP (x) ∧ ∃xQ(x) ∃x(P (x) ∨ Q(x)) ↔ ∃xP (x) ∨ ∃xQ(x) ∀x(P (x) → A) ↔ (∃xP (x) → A) ∀x∃y(P (x) ∨ Q(y)) ↔ ∀xP (x) ∨ ∃yQ(y) Övning 3.2: Visa i följande fall att Γ |= φ. Γ = {∀x∀yR(x, y)} (a) φ = ∀y∀xR(x, y) Γ = {∃xP (x)} (b) φ = ∃yP (y) 5 Sanning och konsekvens 51 Γ = {∀x(P (x) → Q(x) ∨ R(x)), ¬Q(c)} φ = P (c) → R(c) Γ = {∀x(A ∧ P (x))} (d) φ = ∀xP (x) Γ = {∀x(P (x) ∨ Q(x)), ∃x¬Q(x), ∀x(R(x) → ¬P (x))} (e) φ = ∃x¬R(x) Γ = {∃x(A ∨ P (x))} (f) φ = A ∨ ∃x(P (x) Γ=∅ (g) φ = ∀xP (c) → P (c) Γ = {∀x(P (x) → Q(x) ∨ R(x)), ¬∃y(P (y) ∧ R(y))} (h) φ = ∀z(P (z) → Q(z)) Γ = {∃x∃y(R(x, y) ∨ R(y, x))} (i) φ = ∃x∃yR(x, y) Γ = {∃xP (x) → ∀xP (x)} (j) φ = ∃x∀y(P (x) ↔ P (y)) Γ = {∀xP (x)} (k) φ = ∀xP (f (x)) Γ = {∃y∀z(P (z) → z = y), ∀xP (x)} (l) φ = ∃xQ(x) → ∀xQ(x) Γ = {∃x(P (x) ∧ Q(x)), ∀x(P (x) → ¬Q(f (x))} (m) φ = ∃x∃y(x 6= y) (c) Övning 3.3: Avgör i följande fall om satsen är logiskt sann eller ej. Om den är logiskt sann, så visa det. Om den inte är logiskt sann, så ange en struktur i vilken satsen är falsk. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) ∀xP (x) ∧ ∃yQ(y) → ∃z(P (z) ∧ Q(z)) ∀x(P (x) ∨ Q(x)) → ∀xP (x) ∨ ∀xQ(x) ∀x∀y(R(x, y) → R(y, x)) → ∀x¬R(x, x) (∃xP (x) ↔ A) → ∀x(P (x) ↔ A) ∀x∃y(P (x) ↔ Q(y)) ↔ ∃y∀x(P (x) ↔ Q(y)) ∀x∀y(x = y → f (x) = f (y)) ∃x∀y(x = y) → (∃xP (x) ↔ ∀xP (x)) ∀x∀y∀z(x 6= y ∧ y 6= z → x 6= z) ∀x∀y∀z(x 6= y ∧ y = z → x 6= z) ∀x∀y(f (x) = f (y) → x = y) ∧ ∃z∀x(x 6= z ↔ ∃yx = f (y)) ∃x(x 6= c ∧ P (x)) → ∃xP (x) ∧ (P (c) → ∃x∃y(x 6= y ∧ P (x) ∧ P (y))) 52 Första ordningens logik Övning 3.4: Avgör om följande satsmängder har en modell. (a) {∀x∃yP (x, y), ∀x(Q(x) → ∃yP (y, x)), ∃xQ(x), ∀zP (z, z)} (b) {¬∀xR(x, x), ∀x∃yR(y, x), ∀x∀y(R(y, x) → ¬R(x, y))} (c) {∀x¬R(x, x), ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)), ∀x∃yR(x, y), ∃x∀y(y 6= x → R(y, x)} Övning 3.5: Visa att följande formler är logiskt sanna. (a) (b) (c) (d) (e) φ → (ψ → φ) (φ → (ψ → γ)) → ((φ → ψ) → (φ → γ)) (¬φ → ψ) → ((¬φ → ¬ψ) → φ) ∀x(φ → ψ) → (φ → ∀xψ), om x inte är fri i φ ∀xφ(x) → φ(t), om ingen variabel i t binds i φ(t) Övning 3.6: Visa att följande formler parvis är logiskt ekvivalenta. (a) (b) (c) (d) ∀xφ ¬∀xφ ∃xφ ¬∃xφ ¬∃x¬φ ∃x¬φ ¬∀x¬φ ∀x¬φ Övning 3.7: Visa att varje formel i första ordningens logik är logiskt ekvivalent med en formel på formen (∗) (¬)∃x0 · · · (¬)∃xn (φ1 ∨ · · · ∨ φk ), där varje φk är en konjunktion av atomära eller negerade atomära formler. En formel som har formen (∗) sägs vara skriven på disjunktiv prenex normalform. Negationerna inom parentes innebär att det kan vara negationstecken före kvantifikatorerna. Definiera även ett motsvarande begrepp ’konjunktiv prenex normalform’ och visa att varje formel är logiskt ekvivalent med en formel skriven på konjunktiv prenex normalform. 6 Härledningar Vi har hittills analyserat begreppen ’logisk sanning’ och ’logisk konsekvens’ i semantiska termer. Detta ger en god förståelse för dessa begrepp, men det ger oss inte en praktiskt användbar metod med vars hjälp man kan påvisa att en sats är logiskt sann eller att en sats följer ur en given uppsättning premisser. Här skall vi introducera en sådan metod i form av ett härledningssystem. Detta består i ett antal syntaktiskt definierade regler som opererar på satser i första ordningens logik. En härledning, eller ett bevis, av en sats φ ur en satsmängd Γ är sedan en ändlig sekvens av satser, där varje sats i sekvensen antingen är hämtad ur Γ eller fås genom att någon regel opererar på tidigare satser i sekvensen. På sista raden skall satsen φ stå. Senare visar vi att det härledningssystem vi inför är sunt, dvs bara logiska konsekvenser av en satsmängd Γ kan härledas ur Γ, och fullständigt, dvs alla logiska konsekvenser kan härledas ur Γ. 6.1 Några första exempel Utan att vara alltför formell, kan vi här säga att ett formellt system består av två komponenter: (1) Syntaxen för ett formellt språk, dvs en uppsättning tillåtna symboler, språkets alfabet, tillsammans med formeringsregler för vilka formler som ingår i språket. (2) En uppsättning regler som opererar på formler eller sekvenser av formler i språket. Dessa regler skall vara rent mekaniska, dvs de skall kunna tillämpas av en maskin, exempelvis en dator. Varje regel tillämpas på ändligt många formler, tillämpningens premisser, 54 Första ordningens logik och ger en enstaka formel som resultat, tillämpningens slutsats. En regel som har tom premissmängd kallas för ett axiom. Givet ett formellt system, en formelmängd Γ och en formel φ i systemets språk, är en härledning av φ ur Γ en ändlig sekvens φ1 , . . . , φ n av formler sådan att φn = φ och varje φk i sekvensen är element i Γ eller erhålls med en regel applicerad på tidigare formler i sekvensen. Vidare säger vi att φ är härledbar eller bevisbar ur Γ om det finns en härledning av φ ur Γ och att φ är ett teorem om φ är härledbar ur ∅. Det härledningssystem vi inför för första ordningens logik kommer att ha precis alla logiskt sanna satser som teorem och, generellt, kommer en sats φ att vara härledbar ur en satsmängd Γ omm φ är en logisk konsekvens av Γ. Vi ger nu ett antal enkla exempel på formella system. Exempel 1.1: Låt vårt alfabet bestå av tre symboler: P, E, 1. En formel definierar vi som vilket som helst uttryck på formen xP yEz, där x, y, z är godtyckliga, icketomma sekvenser av symbolen 1. Slutligen har vi två regler: Axiom: Regel: Alla formler på formen xP 1Ex1 Givet xP yEz inför xP y1Ez1. Följande är ett exempel på en härledning i detta system: 11P 1E111 [Axiom] 11P 11E1111 [Regeln tillämpad på föregående rad] 11P 111E11111 [Regeln tillämpad på föregående rad] Formeln 11P 111E11111 är alltså ett teorem i detta system. Övning 1.2: Visa att en formel xP yEz är ett teorem i systemet ovan omm antalet 1:or i x plus antalet 1:or i y = antalet 1:or i z. Vi har alltså presenterat ett system för addition. Gör sedan ett motsvarande system för multiplikation. Exempel 1.3: I det här exemplet beskriver vi ett formellt system som låter oss härleda ett rudimentärt fragment av svenska språket, dvs teoremen är alla grammatiskt korrekta satser inom ett ytterst litet fragment av svenska. 6 Härledningar 55 Alfabet: Alfabetet består av orden de, simmar, seglar, fiskarna, båtarna, stora, samt symbolerna Q1 , Q2 , . . . , Q5 . De svenska orden kallar vi slutsymboler och de övriga hjälpsymboler. Formler: Formlerna är alla ändliga följder av symboler i alfabetet. De formler som bara innehåller slutsymboler kallar vi rena formler. Axiom: Regler: Q1 Q1 de Q2 Q1 f iskarna Q4 Q1 båtarna Q5 Q2 stora Q3 Q3 stora Q3 Q3 f iskarna Q4 Q3 båtarna Q5 Q4 simmar Q5 seglar A Reglerna tillämpas här som substitutionsregler, dvs om B är en regel och A ingår i en formel, så får A ersättas med B. Exempelvis är följande en härledning av den rena formeln ’de stora stora båtarna seglar ’: Q1 de Q2 de stora de stora de stora de stora Q3 stora Q3 stora båtarna Q5 stora båtarna seglar Övning 1.4: Vilka svenska satser är teorem i exemplet ovan? Reglerna i det senaste exemplet uppfyller några enkla villkor: Högst en hjälpsymbol förekommer i slutsatsen och alltid längst till höger. Varje premiss är en ensam hjälpsymbol. System som uppfyller dessa villkor kallas för reguljära system och det finns flera exempel på formelmängder som inte kan genereras av ett sådant system. Exempelvis har inget reguljärt system formelmängden {ab, aabb, aaabbb, aaaabbbb, . . .} som teoremmängd. 56 Första ordningens logik Övning 1.5: Konstruera ett reguljärt system för addition. Exempel 1.6: Vi ger ett exempel på ett kontextfritt system vars rena teorem utgör ett lite större fragment av svenska språket. Att ett system är kontextfritt innebär bara att reglernas premisser utgörs av enstaka hjälpsymboler. Alla reguljära system är alltså kontextfria. Som hjälpsymboler använder vi de sammansatta symbolerna S, N P, V P, A, V, N . Symbolerna är i själva verket förkortningar för, respektive, sentence, noun phrase, verb phrase, article, verb och noun och används ofta i lingvistiska sammanhang. Vilka svenska ord som är slutsymboler kan variera, men principen framgår av hur reglerna ser ut: Axiom: Regler: S S NP V P VP V NP NP A N V äter V jagar ... N katt N råtta ... A en Som rena teorem kan man sedan få formler som en katt jagar en råtta , en råtta äter en råtta etc. Som avslutande förberedelse inför presentationen av ett härledningssystem för första ordningens logik, visar vi hur satslogiken kan formuleras som ett formellt system. Detta exempel är viktigt, dels för att det förstås är intressant i sig självt, men också för att det utnyttjas som en väsentlig komponent i det härledningssystem för predikatlogiken som vi skall presentera. 6 Härledningar 57 6.2 Satslogiken som formellt system Satslogiken är den logik som definieras av att vi uteslutande betraktar sanningsfunktionella satsoperatorer som logiska begrepp. De logiska symbolerna i satslogiken, konnektiverna, är ¬, ∧, ∨, → och ↔. Som ickelogiska symboler använder vi satssymbolerna A, B och C, eventuellt med index. Dessutom använder vi parenteser som markörer. Definitionen av formel eller sats, vilka i satslogiken är synonyma begrepp, ser ut som tidigare, fast här väljer vi att inte relativisera begreppen till enskilda lexikon: Definition 2.1: (a) Varje satssymbol är en sats (b) Om φ och ψ är satser så är följande uttryck satser: ¬φ, (φ ∨ ψ), (φ ∧ ψ), (φ → ψ), (φ ↔ ψ) . Vi definierar sedan en semantik för satslogiken precis som tidigare genom att specificera konnektivernas sanningsfunktioner: φ ψ ¬ψ s s f f s f s f f s (φ ∧ ψ) (φ ∨ ψ) (φ → ψ) (φ ↔ ψ) s f f f s s s f s f s s s f f s Begreppen logisk sanning och logisk konsekvens kan ges en särskilt enkel definition i satslogiken: Definition 2.2: En sats φ är en tautologi om den är sann oavsett hur vi tilldelar sanningsvärden till de satssymboler som ingår i den, den är en kontradiktion om den är falsk för varje sanningsvärdestilldelning och kontingent om den varken är en tautologi eller en kontradiktion. Vidare är φ en satslogisk konsekvens av en satsmängd Γ om det inte finns någon sanningsvärdestilldelning för vilken alla satser i Γ är sanna, medan φ är falsk. Det är klart att dessa begrepp är specialfall av motsvarande begrepp inom predikatlogiken: Alla tautologier är logiskt sanna och alla satslogiska konsekvenser av en satsmängd Γ är logiska konsekvenser av Γ. Till 58 Första ordningens logik skillnad från i det allmänna fallet finns nu en enkel algoritmisk metod för att avgöra om en satslogisk sats är en tautologi, en kontradiktion eller en kontingent sats. Metoden utnyttjar att vi kan uttrycka en sats sanningsfunktion i tabellform. Några exempel räcker som illustration. Exempel 2.3: Vi vill ta reda på hur sanningsvärdet hos satsen (¬A ∨ B) beror av sanningsvärdena hos A och B. Vi kan då successivt fylla i följande tabell kolumnvis från vänster till höger: A B ¬A (¬A ∨ B) s s f f s f s f f f s s s f s s Den högra kolumnen får vi alltså genom att tillämpa disjunktionens sanningsfunktion på de sanningsvärden som står under ¬A och B på respektive rad. Värdena under ¬A härrör förstås i sin tur från värdena under A och till vänster går vi igenom alla kombinationer av sanningsvärden hos de ingående satssymboler. Vi kan nu utöka tabellen ytterligare för att visa att satsen (¬A ∨ B) ↔ (A → B) är en tautologi: A B ¬A s s f f s f s f f f s s (¬A ∨ B) (A → B) ((¬A ∨ B) ↔ (A → B)) s f s s s f s s s s s s Exempel 2.4: Vi visar att de övriga konnektiverna kan uttryckas i termer av endast implikation och negation: A B (A ∨ B) (¬A → B) s s f f s f s f s s s f s s s f 6 Härledningar 59 A B (A ∧ B) ¬(A → ¬B) s s f f s f s f s f f f s f f f Vi kan alltså, om vi vill, betrakta uttryck som innehåller ∧, ∨, och ↔ som förkortningar för uttryck som innehåller → och ¬ som enda logiska symboler. Övning 2.5: Avgör för följande formler om de är tautologier, kontradiktioner eller kontingenta. (a) (b) (c) (d) (e) (f) (g) (A → (B ∨ C)) → ((A → B) ∨ (A → C)) (A → (B ∧ C)) → ((A → B) ∧ (A → C)) (A ∨ ¬B → C) → (A → C) ∧ (¬C → B) A ∧ (B ∨ C) ↔ (A ∨ C) ∧ (B ∨ C) A ∨ (B ∧ C) ↔ (A ∧ C) ∨ (B ∧ C) (¬A → B) → ((A → C) → (B → C)) (A → B) ∨ (B → A) *Övning 2.6: Visa att alla sanningsfunktionella operatorer kan uttryckas i termer av endast ¬ och →. Visa också att det finns precis två tvåställiga sanningsfunktioner som var och en ensam genererar alla sanningsfunktioner. Tips: Antag att F (x1 , . . . , xn ) är en n-ställig sanningsfunktion, dvs om v1 , . . . , vn är en godtycklig sekvens av s och f så är F (v1 , . . . , vn ) ett sanningsvärde. Precis som tidigare kan vi beskriva F i en sanningsvärdestabell på formen s .. . ... v1 .. . ... ... ... f ... s .. . F (s, . . . , s) .. . vn .. . F (v1 , . . . , vn ) .. . f F (f, . . . , f). Låt nu, för varje rad i tabellen, A0i vara Ai om vi = s och ¬Ai om vi = f. Låt sedan B vara disjunktionen av de konjunktioner (A01 ∧ . . . ∧ A0n ) för 60 Första ordningens logik vilka F (v1 , . . . , vn ) = s. Visa att B har sanningsfunktionen F och drag slutsatsen att alla sanningsfunktioner kan uttryckas med ∧, ∨ och ¬. Visa sedan att dessa i sin tur kan uttryckas i termer av → och ¬. Även andra par av konnektiver duger för att generera alla sanningsfunktioner (Vilka?). För den andra delen av uppgiften, testa med ’varken A eller B’ respektive ’inte både A och B’. Tabellmetoden visar att satslogiken är avgörbar, dvs det finns en mekanisk algoritm för att avgöra om en satslogisk sats är tautolog eller inte. Strängt taget är det därför onödigt att försöka hitta ett formellt system som genererar precis alla tautologier. Vi skall ändå definiera ett sådant, dels av historiska skäl och dels för att ytterligare exemplifiera hur ett formellt system kan se ut. Följande system härrör väsentligen från David Hilbert. Vi låter nu, formellt, ¬ och → vara de enda tillåtna logiska symbolerna. Låt vidare alla satser på följande form vara axiom: (A1) φ → (ψ → φ) (A2) (φ → (ψ → γ)) → ((φ → ψ) → (φ → γ)) (A3) ¬¬φ → φ Som enda övrig härledningsregel har vi modus ponens, MP: Från φ och φ → ψ får ψ härledas. Exempel 2.7: Vi visar att (A → A) är härledbar: (1) A → ((A → A) → A) [(A1)] (2) (A → ((A → A) → A)) → ((A → (A → A)) → (A → A)) [(A2)] (3) (A → (A → A)) → (A → A)) [MP ] (4) A → (A → A) [(A1)] (5) A → A [MP ] I själva verket är detta härledningssystem fullständigt, dvs teoremen är precis alla tautologier. Tillåter man införandet av satser från en satsmängd Γ i härledningarna blir precis alla satslogiska konsekvenser ur Γ härledbara ur Γ. 6 Härledningar 61 *Övning 2.8: Denna övning syftar till att bevisa att härledningssystemet ovan är fullständigt, något som först bevisades av Emil Post 1920. Beviset här är från 1935 och härrör från L. Kalmàr. Att φ är härledbar ur Γ skriver vi Γ ` φ. (a) Bevisa deduktionssatsen: Om Γ ∪ {φ} ` ψ så Γ ` (φ → ψ). Tips: Visa med induktion över antalet rader i härledningen att om 1. φ1 .. . n. φn är en härledning med premisser ur Γ ∪ {φ}, så gäller för varje φi , för 1 ≤ i ≤ n, att Γ ` (φ → φi ). (b) Låt, för varje tilldelning t av sanningsvärden till samtliga satssymboler, φt vara φ om φ är sann och ¬φ om φ är falsk. Låt nu φ vara en sats som innehåller satssymbolerna A1 , . . . , An . Visa att för varje t gäller {At1 , . . . Atn } ` φt . Tips: Använd induktion över antalet logiska symboler i φ. (c) Antag att φ är en tautologi. Visa att ∅ ` φ, dvs att φ är ett teorem. Tips: Enligt (b) gäller {At1 , . . . Atn } ` φt för alla sanningsvärdestilldelningar t, där A1 , . . . , An är satssymbolerna i φ. Men φt = φ, för alla sådana t, varför {At1 , . . . Atn } ` φ där At1 , . . . Atn är en godtycklig sekvens med Ati = Ai eller Ati = ¬Ai för alla i. Speciellt gäller då {At1 , . . . Atn−1 , An } ` φ och {At1 , . . . Atn−1 , ¬An } ` φ. och {At1 , . . . Atn−1 } ` (¬An → φ). Deduktionssatsen ger då {At1 , . . . Atn−1 } ` (An → φ) Visa nu att {At1 , . . . Atn−1 } ` φ och dra slutsatsen att denna process leder till att φ är ett teorem. 62 Första ordningens logik 6.3 Predikatlogiken som formellt system Vi definierar nu ett härledningssystem för första ordningens logik. Till skillnad från det system som vi presenterade för satslogiken i föregående avsnitt, är detta ett system med många härledningsregler som nära ansluter till vårt naturliga sätt att resonera. Sådana system brukar kallas naturliga deduktionssystem och det vi använder här introducerades av den amerikanske logikern och filosofen Benson Mates. Härledningar är ändliga sekvenser av satser och systemet utnyttjar tio härledningsregler. Observera alltså att formler med fria variabler inte är tillåtna i härledningarna. Vidare inkluderar varje härledning ett notationssystem för vilka premisser som används på respektive rad. En särskild regel tillåter oss då att införa premisser i härledningarna, så länge vi bara håller reda på vilka premisser vi har infört. Detta gör det enkelt att generellt definiera vad det innebär att härleda en viss sats ur en given satsmängd. I nästa kapitel skall vi så bevisa att härledningssystemet är fullständigt, dvs att precis alla logiska konsekvenser av en satsmängd Γ kan härledas ur Γ. Minns då att begreppet logisk konsekvens, liksom logisk sanning, bara har definierats för satser, även om sanningsdefinitionen gäller godtyckliga formler. Att det finns fullständiga härledningssystem för första ordningens logik bevisades av den österrikiske logikern Kurt Gödel i hans doktorsavhandling 1929. Definition 3.1: En härledning i första ordningens logik är en ändlig sekvens av konsekutivt numrerade rader. På varje rad står dels en sats och dels en mängd av tal, radens premissmängd. Talen i premissmängden är radens premissnummer och de satser som står på motsvarande rader är radens premisser. Varje härledning har då följande utseende X1 (1) φ1 .. . .. . .. . Xn (n) φn där Xi är premissmängden för rad i. Varje regel specificerar alltså dels att en viss sats får införas och dels vilken premissmängd som skall införas på den aktuella raden. Vidare skall härledningen vara konstruerad i enlighet med följande regler: 6 Härledningar 63 P (premissregel) En godtycklig sats får införas på en ny rad med radnumret som enda premissnummer. T (tautologiregel) En sats får införas på rad n om den är en satslogisk konsekvens av satser som förekommer på rader n1 < . . . < nk < n. Som premissmängd tas unionen av premissmängderna för raderna n1 , . . . , nk . C (konditionalisering) (φ → ψ) får införas på rad n om ψ förekommer på en rad m < n. Som premissmängd tas mängden av premisstal för rad m, förutom de som är radnummer för rader på vilka φ står. ∀I (introduktionsregel för allkvantifikatorn) ∀xφ(x) får införas på rad n om φ(c) förekommer på en rad m < n, där c är en individkonstant som inte förekommer i φ(x) eller i någon av premisserna till rad m. Som premissmängd tas premissmängden för rad m. ∀E (eliminationsregel för allkvantifikatorn) φ(t), där t är en sluten term, får införas på rad n om ∀xφ(x) förekommer på en rad m < n. Som premissmängd tas premissmängden för rad m. ∃I (introduktionsregel för existenskvantifikatorn) ∃xφ(x) får införas på rad n om φ(t), där t är en sluten term, förekommer på en rad m < n. Som premissmängd tas premissmängden för rad m. ∃E (eliminationsregel för existenskvantifikatorn) ψ får införas på rad n om ψ förekommer på en rad m < n, φ(c) förekommer på en rad k < m, ∃xφ(x) förekommer på en rad j < k och c inte förekommer i ψ, i φ(x) eller i premisserna till raderna j och m. Som premissmängd tas unionen av premissmängden för rad m och premissmängden för rad j, med utelämnande av talet k. Q (kvantifikatorregel) En sats ur något av följande fyra par får införas på rad n om den andra satsen i paret förekommer på en rad m < n. Som premissmängd tas premissmängden för rad m: [∀xφ(x), ¬∃x¬φ(x)] [∀x¬φ(x), ¬∃xφ(x)] [∃xφ(x), ¬∀x¬φ(x)] [∃x¬φ(x), ¬∀xφ(x)]. 64 Första ordningens logik IdI (introduktionsregel för identitet) t = t, där t är en sluten term, får införas med tom premissmängd. IdE (eliminationsregel för identitet) ψ, får införas på en rad n om φ förekommer på en rad k < n och t1 = t2 förekommer på en rad m < n och ψ är resultatet av att byta ut förekomster av t1 mot t2 eller av t2 mot t1 i φ. Som premissmängd tas unionen av premissmängderna för raderna k och m. Definition 3.2: En härledning av φ ur Γ är en härledning i vilken φ står på sista raden med premisser som alla förekommer i Γ. Vidare är φ härledbar ur Γ om det finns en härledning av φ ur Γ. Att φ är härledbar ur Γ skrivs Γ ` φ. Att φ är härledbar utan premisser, dvs ur den tomma premissmängden, skriver vi ` φ. Regel T kräver en eller två kommentarer. För det första är det kanske inte helt klart hur predikatlogiska formler kan betraktas som satslogiska eller hur en predikatlogisk sats kan betraktas som en satslogisk konsekvens av en mängd predikatlogiska satser. Vill man vara formell, kan detta göras på följande sätt: Definition 3.3: Låt mängden av satslogiskt atomära komponenter i φ, sak(φ), bestämmas av (a) sak(φ) = {φ}, om φ är atomär eller har en kvantifikator som huvudtecken (b) sak(¬φ) = sak(φ) (c) sak(φ ∧ ψ) = sak(φ ∨ ψ) = sak(φ → ψ) = sak(φ ↔ ψ) = sak(φ) ∪ sak(ψ). sak(φ) innehåller alltså de ”delsatser” som φ intuitivt sett är uppbyggd av satslogiskt sett. Vi kan nu associera en satslogisk sats φ∗ till varje predikatlogisk sats φ genom att läsa φ från vänster till höger och successivt ersätta alla de satslogiskt atomära komponenterna med satsbokstäver A0 , A1 , . . . så att (i) olika komponenter ersätts med olika satssymboler (ii) olika förekomster av samma komponent ersätts med samma satssymbol. Exempel 3.4: Om φ är satsen ∀xP (x) → ∀x∃yQ(x, y) ∨ (¬∀yP (y) ∧ ∀xP (x)) 6 Härledningar 65 så är φ∗ den satslogiska satsen A0 → A1 ∨ (¬A2 ∧ A0 ). Vi kan nu utvidga den satslogiska begreppsapparaten till första ordningens logik: Definition 3.5: En predikatlogisk sats φ är en tautologi, kontradiktion, respektive satslogiskt kontingent sats om detsamma gäller i satslogisk mening för φ∗ . Vidare är φ en satslogisk konsekvens av en satsmängd Γ om φ∗ i satslogisk mening är en konsekvens av Γ∗ = {γ ∗ : γ ∈ Γ}. Observera att vi i det senare fallet definierar φ∗ och Γ∗ samtidigt så att (i) och (ii) ovan är simultant uppfyllda. En andra kommentar när det gäller regel T är att vi här utnyttjar att det finns en algoritm, formulerad i termer av syntax, för att avgöra om en sats följer satslogiskt av ett ändligt antal premisser. Detta kan ju ske exempelvis i form av att man skriver en sanningsvärdestabell. Det är viktigt att lägga märke till att varje härledningsregel är definierad i termer av syntax och inte kräver någon typ av förståelse av formlerna för att tillämpas. I princip skall man med en maskin, exempelvis i form av en lämpligt programmerad dator, kunna avgöra om en sekvens av satser är en härledning eller ej. Det hade här varit fullt möjligt att splittra upp regel T i ett antal introduktions- och eliminationsregler för de olika konnektiverna. Detta skulle dock leda till väsentligt längre härledningar och göra det avsevärt svårare att använda härledningssystemet praktiskt. Vi ger nu ett antal exempel på härledningar och kompletterar varje rad i härledningarna med information om vilken regel som används. Exempel 3.6: Följande är en härledning av ∀x(P (x) → R(x)) från en satsmängd som innehåller de två premisserna ∀x(P (x) → Q(x)) och ∀x(Q(x) → R(x)): {1} (1) ∀x(P (x) → Q(x)) P {2} {3} (2) ∀x(Q(x) → R(x)) P (3) P (c) P {1} (4) P (c) → Q(c) ∀E tillämpad på rad 1 {1, 3} (5) Q(c) T tillämpad på rad 3, 4 {2} (6) Q(c) → R(c) ∀E tillämpad på rad 2 {1, 2, 3} (7) R(c) T tillämpad på rad 5, 6 {1, 2} (8) P (c) → R(c) C tillämpad på rad 3, 7 {1, 2} (9) ∀x(P (x) → R(x)) ∀I tillämpad på rad 8 66 Första ordningens logik Vi börjar alltså med att introducera de två premisserna på raderna 1 och 2. På rad 3 antar vi P (c), där c är en godtyckligt vald individkonstant, för att på rad 7 komma fram till R(c). Konditionaliseringsregeln tillåter oss sedan att flytta P (c) från att vara premiss till att stå som antecedent, dvs som försats, i implikationen på rad 8. Det godtyckliga valet av c tillåter oss slutligen att med ∀I införa den slutsats vi vill uppnå. Därmed har vi visat att {∀x(P (x) → Q(x)), ∀x(Q(x) → R(x))} ` ∀x(P (x) → R(x)). Följande är en kortare härledning av samma sats från samma premisser: {1} (1) ∀x(P (x) → Q(x)) P {2} (2) ∀x(Q(x) → R(x)) P {1} (3) P (c) → Q(c) ∀E tillämpad på rad 1 {2} (4) Q(c) → R(c) ∀E tillämpad på rad 2 {1, 2} (5) P (c) → R(c) T tillämpad på rad 3, 4 {1, 2} (6) ∀x(P (x) → R(x)) ∀I tillämpad på rad 5 Exempel 3.7: Vi härleder ∃xQ(x) från {∀x(P (x) → Q(x)), ∃xP (x)} och resonerar intuitivt så här: Antag att det finns ett objekt med egenskapen P . Antag så att c är ett sådant objekt. Men ∀x(P (x) → Q(x)) ger att P (c) → Q(c). Alltså gäller Q(c) och därmed ∃xQ(x). Men c valdes godtyckligt, varför vi kan dra samma slutsats från premissen ∃xP (x). {1} (1) ∀x(P (x) → Q(x)) P {2} (2) ∃xP (x) P {3} {1} (3) (4) P (c) P (c) → Q(c) P [för att använda ∃E] ∀E tillämpad på rad 1 {1, 3} (5) Q(c) T tillämpad på rad 3, 4 {1, 3} (6) ∃xQ(x) ∃I tillämpad på rad 5 {1, 2} (7) ∃xQ(x) ∃E tillämpad på rad 2, 3, 6 Exempel 3.8: Vi visar att ∃x(P (x) ∨ Q(x)) → ∃xP (x) ∨ ∃xQ(x) är ett teorem: 6 Härledningar 67 {1} (1) ∃x(P (x) ∨ Q(x)) P {2} (2) P (c) ∨ Q(c) P {3} (3) P (c) P {3} (4) ∃xP (x) ∃I 3 ∅ (5) P (c) → ∃xP (x) C 3, 4 {6} (6) Q(c) P {6} (7) ∃xQ(x) ∃I 6 ∅ (8) Q(c) → ∃xQ(x) C 6, 7 ∅ (9) P (c) ∨ Q(c) → ∃xP (x) ∨ ∃xQ(x) T 5, 8 {2} (10) ∃xP (x) ∨ ∃xQ(x) T 2, 9 {1} (11) ∃xP (x) ∨ ∃xQ(x) ∃E 1, 2, 10 ∅ (12) ∃x(P (x) ∨ Q(x)) → ∃xP (x) ∨ ∃xQ(x) C 1, 11 Här vill vi härleda en implikation från den tomma premissmängden. Vi börjar då med att införa försatsen i implikationen som en premiss, med baktanken att senare ta bort denna premiss med regel C. Eftersom premissen är existenskvantifierad inför vi en instans som ny premiss. Vi härleder så något som implicerar slutsatsen från var och en av disjunkterna, raderna 5 och 8, och får tautologt, här via ett onödigt steg på rad 9, rätt slutsats på rad 10. Eftersom det c vi använder i instansen på rad 2 inte förekommer vare sig i slutsatsen eller i premisserna till rad 2, ersätter vi på rad 11 premiss 2 mot 1 och kan slutligen tillämpa regel C som tänkt. I princip verkar alla härledningar följa ungefär samma strategi: Inför först alla premisser. Eliminera så alla eventuella kvantifikatorer. Använd sedan satslogik för att erhålla en formel som via introduktioner av kvantifikatorer ger rätt slutsats. Vi skall emellertid senare, i avsnitt 9.4, visa att det för första ordningens logik inte finns någon generell algoritm för att avgöra om en sats följer ur en given satsmängd eller för att avgöra om en sats är logiskt sann. Här skiljer sig alltså predikatlogiken på ett väsentligt sätt från satslogiken. I nästa kapitel visar vi att det härledningssystem vi har infört är sunt och fullständigt, dvs att Γ ` φ omm Γ |= φ gäller för alla satser φ och satsmängder Γ. 68 Första ordningens logik 6.4 Övningar Övning 4.1: Visa i följande fall att Γ ` φ. Γ = {∀x∀yR(x, y)} (a) φ = ∀y∀xR(x, y) (b) Γ = {∃xP (x)} (c) Γ = {∀x(P (x) → Q(x) ∨ R(x)), ¬Q(c)} (d) φ = ∀xP (c) → P (c) Γ = {∀x(P (x) → Q(x) ∨ R(x)), ¬∃y(P (y) ∧ R(y))} (i) φ = A ∨ ∃x(P (x) Γ = ∅ (h) φ = ∃x¬R(x) Γ = {∃x(A ∨ P (x))} (g) φ = ∀xP (x) Γ = {∀x(P (x) ∨ Q(x)), ∃x¬Q(x), ∀x(R(x) → ¬P (x))} (f) φ = P (c) → R(c) Γ = {∀x(A ∧ P (x))} (e) φ = ∃yP (y) φ = ∀z(P (z) → Q(z)) Γ = {∃x∃y(R(x, y) ∨ R(y, x))} φ = ∃x∃yR(x, y) 6 Härledningar 69 (j) Γ = {∀xP (x)} (k) Γ = {∃xP (x) → ∀xP (x)} (l) φ = ∀x∀y(R(x, y) → ¬R(y, x)) Γ = {¬∀x∃yP (x, y)} (p) φ = ∃x∃y(x 6= y) Γ = {∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)), ∀x¬R(x, x)} (o) φ = ∃xQ(x) → ∀xQ(x)) Γ = {∃x(P (x) ∧ Q(x)), ∀x(P (x) → ¬Q(f (x)))} (n) φ = ∃x∀y(P (x) ↔ P (y)) Γ = {∃y∀z(P (z) → z = y), ∀xP (x)} (m) φ = ∀xP (f (x)) φ = ∃x∀y¬P (x, y) Γ = {∀x∃yR(x, y), ∀x∀y(R(x, y) → R(y, x)), ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z))} φ = ∀xR(x, x) Övning 4.2: Härled följande satser ur den tomma premissmängden. (a) (b) (c) (d) (e) (f) (g) (h) ∀x∀yR(x, y) ↔ ∀y∀xR(x, y) ∃x∃yR(x, y) ↔ ∃y∃xR(x, y) ∃x∀yR(x, y) → ∀y∃xR(x, y) ∀x(P (x) ∧ Q(x)) → ∀xP (x) ∧ ∀xQ(x) ∃xP (x) ∨ ∃xQ(x) ∨ ∀x(¬P (x) ∧ ¬Q(x)) ∀x(P (x) ∨ Q(x)) ∨ (¬∀xP (x) ∧ ¬∀xQ(x)) ∃x(P (x) ∨ Q(x)) ↔ ∃xP (x) ∨ ∃xQ(x) ∀x(P (x) → A) ↔ (∃xP (x) → A) 70 Första ordningens logik (i) (j) ∀x∃y(P (x) ∨ Q(y)) ↔ ∀xP (x) ∨ ∃yQ(y) ∀x∀y(P (x) ∧ ¬P (y) → x 6= y) Övning 4.3: För var och en av följande satser, endera härled den ur tomma mängden eller ange en struktur i vilken den är falsk. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) ∀xP (x) ∧ ∃yQ(y) → ∃z(P (z) ∧ Q(z)) ∀x(P (x) ∨ Q(x)) → ∀xP (x) ∨ ∀xQ(x) ∀x∃yR(x, y) → ∃y∀xR(x, y) ∀x∀y(R(x, y) → ¬R(y, x)) → ∀x¬R(x, x) ∃x(∃xP (x) → P (x)) ∀x∀y(x = y → f (x) = f (y)) ∀x∀y∀z(x 6= y ∧ y 6= z → x 6= z) ∃x(x 6= c ∧ P (x)) → ∃xP (x) ∧ (P (c) → ∃x∃y(x 6= y ∧ P (x) ∧ P (y))) ∀x∃y(f (x) = y) ∀x∀y(f (x) = f (y) → x = y) → ¬∃y∀x(f (x) 6= y) 7 Metalogik Det är inte svårt att visa att det härledningssystem vi har infört är sunt, dvs att varje sats som kan härledas ur en satsmängd Γ också är en logisk konsekvens av Γ. Härledningssystemet ger oss alltså en metod att påvisa att en sats följer ur en uppsättning premisser. Förhoppningen är nu att denna metod är heltäckande, dvs att varje logiskt konsekvensförhållande kan påvisas med hjälp av en härledning. Att så faktiskt är fallet är långt ifrån självklart och bevisades först 1929 av Kurt Gödel. Även detta skall vi bevisa här, men vi inleder med att införa några begrepp och bevisa några enkla fakta. 7.1 Uppvärmning Definition 1.1: En satsmängd Γ är konsistent om det inte finns en sats φ sådan att Γ ` (φ ∧ ¬φ). En satsmängd som inte är konsistent är inkonsistent. Sats 1.2: Γ är konsistent omm det finns en LΓ -sats som inte är härledbar ur Γ. Bevis: Om alla LΓ -satser är härledbara ur Γ, gäller detta särskilt satsen ∀x(x = x) ∧ ¬∀x(x = x), varför Γ är inkonsistent. Om, å andra sidan, Γ är inkonsistent, så finns en sats φ sådan att Γ ` (φ∧¬φ). Men en härledning av (φ∧¬φ) kan, med en tillämpning av regel T , förlängas med en enda rad till en härledning av vilken som helst sats ψ. 72 Första ordningens logik Övning 1.3: Visa följande: (a) Om Γ ` φ och Γ ⊆ Γ0 så Γ0 ` φ (b) Om φ ∈ Γ så Γ ` φ (c) Om Γ ` φ så finns en ändlig delmängd Γ0 till Γ sådan att Γ0 ` φ Sista delen av övningen ovan kan synas nog så trivial, men kommer att spela en viktig roll senare, liksom följande faktum: Sats 1.4: (Deduktionssatsen) Γ ` φ → ψ omm Γ ∪ {φ} ` ψ. Bevis: Implikationen från vänster till höger följer av att reglerna T och P finns med i vårt härledningssystem, medan den omvända implikationen beror av regel C. Övning 1.5: Visa att Γ ` φ Γ ∪ {¬φ} inte är konsistent. omm Vi avslutar det här avsnittet med ett formellt bevis för att härledningssystemet är sunt: Sats 1.6: (Sundhetssatsen) Om Γ ` φ så Γ |= φ. Speciellt är alltså alla teorem logiska sanningar. Bevis: Det är lätt att se att ingen av härledningsreglerna kan leda från en sann sats till en falsk, dvs om premisserna i en härledning är sanna i en viss struktur, gäller detta också de satser som kan härledas. Formellt bevisar vi med induktion att om X1 (1) φ1 .. . .. . .. . Xn (n) φn är en härledning så gäller, för varje i, att {φk : k ∈ Xi } |= φi : Först visar vi påståendet för n = 1. Antag alltså att X1 (1) φ1 är en härledning. φ1 måste då vara införd enligt någon av reglerna P , T eller IdI, men i det första fallet ingår φ1 i X1 , i det andra är X1 = ∅ och φ1 är en tautologi och i det sista fallet är X1 = ∅ och φ1 är på formen t = t. I samtliga dessa fall gäller alltså {φk : k ∈ X1 } |= φ1 . 7 Metalogik 73 Antag nu att påståendet gäller för alla härledningar av längd mindre än n och att X1 (1) φ1 .. . .. . .. . Xn n φn är en härledning. Vi visar att {φk : k ∈ Xn } |= φn . Om φn är införd med regel P , regel IA eller det specialfall av regel T som vi behandlade ovan så gäller samma resonemang som där. Om φn är införd med regel T med åberopande av raderna i1 < . . . < im < n så är φn en satslogisk konsekvens av {φi1 , . . . , φim } och Xn = Xi1 ∪ . . . ∪ Xim . Men enligt antagandet gäller, för 1 ≤ k ≤ m, {φj : j ∈ Xik } |= φik , varför {φk : k ∈ Xn } |= φn . Om φn är införd med regel C så är φn en sats (γ → φm ), för något m < n och Xn är Xm eventuellt med radnumret för γ utelämnat om γ skulle förekomma tidigare i härledningen. Enligt antagandet gäller {φk : k ∈ Xm } |= φm , dvs {φk : k ∈ Xn } ∪ {γ} |= φm . Men då gäller {φk : k ∈ Xn } |= (γ → φm ), dvs {φk : k ∈ Xn } |= φn . Detta är (VIII) i kapitel 5. Om φn är införd med regel ∀E så är φn en sats ψ(t), där ∀xψ(x) = φm för något m < n och Xn = Xm . Enligt antagandet gäller nu att {φk : k ∈ Xm } |= φm , dvs {φk : k ∈ Xn } |= φm . Men självklart gäller |= (∀xψ(x) → ψ(t)), dvs |= (φm → φn ), varför {φk : k ∈ Xn } |= φn . De övriga reglerna behandlas analogt med lämpliga resultat från kapitel 5. När det gäller regel ∀I använder man (X), för ∃I använder man (IX b) och för ∃E används (XI). Reglerna Q, IdI och IdE överlämnas till läsaren. Övning 1.7: Visa att regel Q strängt taget inte behövs, dvs att alla tillämpningar av regel Q kan ersättas av härledningar som inte utnyttjar Q. 74 Första ordningens logik 7.2 Fullständighet I detta avsnitt bevisar vi följande resultat. Sats 2.1: (Gödels fullständighetssats, 1929) Om Γ |= φ så Γ ` φ. Speciellt gäller alltså att alla logiska sanningar är teorem. Det bevis vi ger här är inte Gödels ursprungliga, utan bygger på en idé som presenterades av den amerikanske logikern Leon Henkin 1949. Vi visar först att fullständighetssatsen impliceras av följande sats. Sats 2.2: (Modellexistenssatsen) Varje konsistent satsmängd har en modell. Bevis för fullständighetssatsen: Antag att Γ |= φ. Då saknar Γ ∪ {¬φ} modell. Enligt modellexistenssatsen är därmed Γ ∪ {¬φ} inkonsistent, vilket, enligt deduktionssatsen, innebär att Γ ` φ [se Övning 7.1.5]. Henkins bevis för modellexistenssatsen går ut på att utifrån en konsistent satsmängd Γ konstruera en så kallad kanonisk eller ”syntaktisk” modell M till Γ: Som domän väljer vi helt enkelt mängden av alla individkonstanter i LΓ och låter, för varje c, cM = c dvs varje individkonstant betecknar sig själv i M. Om sedan, exempelvis, P är ett enställigt predikat i LΓ , låter vi P M = {c : P (c) ∈ Γ}. Enligt sanningsdefinitionen får vi då M |= P (c) omm cM ∈ PM omm c ∈ PM omm P (c) ∈ Γ. Om vi nu, för enkelhetens skull, tänker oss dels att identitetssymbolen inte förekommer i satserna i Γ och dels att Γ har ett relationellt lexikon utan satssymboler, ger motsvarande definitioner av övriga predikatsymboler därmed en tolkning i vilken alla atomära satser i Γ är sanna i M. Däremot behöver detta inte gälla andra satser i Γ. Exempelvis skulle (P (c) ∨ Q(c)) kunna vara element i Γ utan att vare sig P (c) eller Q(c) finns med. Med definitionen ovan blir då såväl P (c) som Q(c) falsk i M, varför även (P (c) ∨ Q(c)) blir falsk i M. För att undvika denna och liknande situationer, skall vi därför utvidga Γ till en satsmängd Σ och, exempelvis, garantera att en disjunktion är element i Σ omm minst en av disjunkterna finns med, att en konjunktion finns med i Σ omm båda konjunterna finns med osv. Innan vi formellt bevisar modellexistenssatsen behöver vi några definitioner och en hjälpsats. 7 Metalogik 75 Definition 2.3: En satsmängd Σ är ∃-fullständig om det för varje sats ∃xφ(x) i Σ finns en individkonstant c sådan att φ(c) är element i Σ. c sägs då bevittna eller vara ett vittne till ∃xφ(x). Definition 2.4: En satsmängd Σ är maximalkonsistent om Σ är konsistent medan Σ ∪ {φ} är inkonsistent för varje LΣ -sats φ som inte är element i Σ. Sats 2.5: Om Σ är maximalkonsistent så gäller för alla φ ∈ LΣ att φ ∈ Σ omm Σ ` φ. Bevis: Om φ ∈ Σ gäller förstås Σ ` φ. Antag, å andra sidan, att φ ∈ / Σ. Då är Σ ∪ {φ} inkonsistent, varför Σ ` ¬φ, enligt övning 1.5. Men Σ är konsistent, så då gäller inte Σ ` φ. Vi kan nu se att en maximalkonsistent, ∃-fullständig satsmängd har egenskaper som liknar sanningsdefinitionen: Sats 2.6: Antag att Σ är maximalkonsistent. Då gäller (a) ¬φ ∈ Σ omm φ∈ /Σ (b) φ∧ψ ∈Σ omm φ ∈ Σ och ψ ∈ Σ (c) φ∨ψ ∈Σ omm φ ∈ Σ eller ψ ∈ Σ (d) φ→ψ∈Σ omm φ∈ / Σ eller ψ ∈ Σ (e) φ↔ψ∈Σ omm φ ∈ Σ omm ψ ∈ Σ. Om Σ dessutom är ∃-fullständig så gäller (f ) ∃xφ(x) ∈ Σ omm φ(c) ∈ Σ för något c ∀xφ(x) ∈ Σ omm φ(c) ∈ Σ för alla c ∈ LΣ . (g) Bevis: Vi visar först (a), (b) och (c) som illustration och använder fritt sats 2.5: 76 Första ordningens logik (a) Om ¬φ ∈ Σ så gäller förstås φ ∈ / Σ eftersom Σ är konsistent. Om ¬φ ∈ / Σ, så är Σ ∪ {¬φ} inkonsistent, varför Σ ` φ och därmed φ ∈ Σ. (b) φ ∧ ψ ∈ Σ omm Σ ` φ ∧ ψ omm Σ ` φ och Σ ` ψ omm φ ∈ Σ och ψ ∈ Σ. (c) Om φ ∈ Σ eller ψ ∈ Σ, så Σ ` φ ∨ ψ, varför φ ∨ ψ ∈ Σ. Om, å andra sidan, φ ∈ / Σ och ψ ∈ / Σ, så gäller, enligt (a), att ¬φ ∈ Σ och ¬ψ ∈ Σ, varför φ ∨ ψ ∈ / Σ eftersom Σ är konsistent. (f) Implikationen från vänster till höger är definitionen av ∃-fullständighet medan implikationen från höger till vänster följer av att vi har ` (φ(c) → ∃xφ(x)). (g) Implikationen från vänster till höger följer av att ` (∀xφ(x) → φ(c)), för alla c. Antag, slutligen att ∀xφ(x) ∈ / Σ. Enligt (a) gäller då ¬∀xφ(x) ∈ Σ, varför ∃x¬φ(x) ∈ Σ. Men då finns c så att ¬φ(c) ∈ Σ, dvs det finns c ∈ LΣ sådan att φ(c) ∈ / Σ. Övning 2.7: Låt, för en godtycklig struktur M, T h(M) = {φ : M |= φ}. Visa att T h(M) är maximalkonsistent. Försök att hitta ett naturligt villkor på M som gör T h(M) ∃-fullständig. I resten av det här avsnittet antar vi att alla lexikon, och därmed alla satsmängder, är högst uppräkneliga. Visserligen stämmer resultaten även för överuppräkneliga språk, men bevisen blir delvis annorlunda. Vi återkommer till detta i nästa avsnitt. Lemma 2.8: (Lindenbaums lemma) Antag att Γ är en konsistent satsmängd. Då finns ett lexikon L som omfattar LΓ och en mängd L-satser Σ sådan att Γ ⊆ Σ och Σ är maximalkonsistent och ∃-fullständig. Bevis: Låt L = LΓ ∪{d0 , d1 , d2 . . .}, där {d0 , d1 , d2 . . .} är en uppräknelig mängd nya individkonstanter, dvs individkonstanter som inte förekommer i LΓ . Låt sedan θ0 , θ1 , θ2 , . . . vara en uppräkning av alla L-satser sådan att närhelst θn är på formen ∃xφ(x) så är θn+1 på formen φ(dk ), där dk är en av de nya individkonstanterna och dk inte förekommer i θ0 , . . . θn . Det är lätt att övertyga sig om att det finns en sådan uppräkning. Vi definierar nu en sekvens av satsmängder, Σ0 , Σ1 , Σ2 . . . , enligt följande: Låt Σ0 = Γ och, för n ≥ 0, Σn ∪ {θn }, om denna satsmängd är konsistent Σn+1 = Σn , annars. 7 Metalogik 77 Slutligen låter vi Σ = ∪{Σn : n = 0, 1, 2, . . .}, dvs Σ = {φ : φ ∈ Σn för något n }. Det är då klart att Σ omfattar Γ och det återstår att visa att Σ är maximalkonsistent och ∃-fullständig. (a) Σ är konsistent: En härledning av en motsägelse ur Σ utnyttjar bara ändligt många premisser. En sådan härledning är alltså en härledning ur Σk , för något k. Men Σ0 = Γ är konsistent enligt antagandet i satsen och enligt konstruktionen är Σn+1 konsistent om Σn är det. Alltså är Σn konsistent, för alla n, och därmed är Σ konsistent. (b) Σ är maximalkonsistent: Antag att φ ∈ / Σ, för φ ∈ LΣ . Då finns n sådant att φ = θn . Men att θn ∈ / Σ innebär att θn ∈ / Σn+1 och enda anledningen till det är, enligt konstruktionen, att Σn ∪ {θn } inte är konsistent. Men då är inte heller Σ ∪ {θn } konsistent, dvs Σ ∪ {φ} är inkonsistent. (c) Σ är ∃-fullständig: Antag att ∃xφ(x) ∈ Σ. Välj n så att θn = ∃xφ(x). Enligt vårt sätt att räkna upp satserna i LΣ gäller då att θn+1 = φ(d), där d är en individkonstant som inte förekommer i satserna i Γ och inte heller i θ0 , . . . , θn . Vi visar nu att Σn+1 ∪{θn+1 } är konsistent, vilket innebär att θn+1 ∈ Σn+2 , dvs φ(d) ∈ Σ: Antag att Σn+1 ∪ {θn+1 } inte är konsistent. Då gäller att Σn+1 ` ¬φ(d). Men d förekommer inte i satserna i Σn+1 , varför Σn+1 ` ∀x¬φ(x) och därmed, Σ ` ∀x¬φ(x), vilket strider mot att Σ är konsistent eftersom ∃xφ(x) ∈ Σ. Vi kan nu bevisa modellexistenssatsen och gör detta till att börja med för satsmängder med uppräkneligt, relationellt lexikon. Vi antar också till att börja med att identitetssymbolen inte finns med som logisk symbol. Bevis för modellexistenssatsen (steg 1): Antag att Γ är en konsistent satsmängd med uppräkneligt, relationellt lexikon. Enligt Lindenbaums lemma kan Γ utvidgas till en maximalkonsistent, ∃-fullständig satsmängd Σ. Definiera en struktur M enligt M = {c : c är en individkonstant i LΣ } cM = c, för varje individkonstant c ∈ LΣ P M = {(c1 , . . . , cn ) : P (c1 , . . . , cn ) ∈ Σ}, för alla n-ställiga predikatsymboler P ∈ LΣ AM = s omm A ∈ Σ, för alla satssymboler A ∈ LΣ . 78 Första ordningens logik Med hjälp av sats 2.6 är det nu lätt att visa att M |= φ omm φ ∈ Σ: (a) φ atomär: Eftersom vi inte har med identitetssymbolen och har antagit att LΣ är relationellt, är alla atomära satser på formen A eller P (c1 , . . . , cn ) och då följer påståendet direkt ur definitionen av M. (b) φ = ¬ψ: Antag att påståendet gäller för ψ. Då gäller M |= φ omm omm omm omm omm M |= ¬ψ M |6= ψ ψ∈ /Σ ¬ψ ∈ Σ φ ∈ Σ. [enligt antagandet] [enligt sats 2.6 (a)] (c) φ = ψ ∧ γ: Antag att påståendet gäller för ψ och γ. Då gäller M |= φ omm omm omm omm omm M |= ψ ∧ γ M |= ψ och M |= γ ψ ∈ Σ och γ ∈ Σ ψ∧γ ∈Σ φ ∈ Σ. [enligt antagandet] [enligt sats 2.6 (b)] De övriga konnektiverna behandlas analogt. (d) φ = ∃xψ(x): Antag påståendet för alla satser ψ(c). Då gäller M |= φ omm omm omm omm omm M |= ∃xψ(x) M |= ψ(c), för något c [varför?] ψ(c) ∈ Σ, för något c [enligt antagandet] ∃xψ(x) ∈ Σ [enligt sats 2.6 (f)] φ ∈ Σ. (e) φ = ∀xψ(x): Antag påståendet för alla satser ψ(c). Då gäller M |= φ omm omm omm omm omm M |= ∀xψ(x) M |= ψ(c), för alla c ψ(c) ∈ Σ, för alla c ∀xψ(x) ∈ Σ φ ∈ Σ. [varför?] [enligt antagandet] [enligt sats 2.6 (g)] Vi har därmed bevisat att M är en modell till Σ och alltså även till Γ eftersom Γ ⊆ Σ. Därmed är fullständighetssatsen bevisad för satsmängder med relationellt lexikon i logik som inte har identitetssymbolen som logisk symbol. Det är dock klart att samma bevis inte riktigt duger i det mer generella 7 Metalogik 79 fallet: Antag exempelvis att Γ innehåller en sats på formen c0 = c1 . Denna sats skall då bli sann i M, men så som M konstrueras ovan blir den automatisk falsk eftersom c0 och c1 är olika element i M . Idén är nu att ”identifiera” de individkonstanter c, d, för vilka satsen c = d finns med i Σ och det visar sig också att detta är precis vad som krävs för att beviset skall fungera även om lexikonet för Γ inte är relationellt. Bevis för modellexistenssatsen (steg 2): Antag att Γ är en konsistent satsmängd i första ordningens logik. Med Lindenbaums lemma utvidgar vi, precis som tidigare, Γ till en maximalkonsistent, ∃-fullständig satsmängd Σ. Låt C vara mängden av individkonstanter i LΣ . Vi inför nu en binär relation på C enligt c ∼ c0 omm c = c0 ∈ Σ. Först visar vi att ∼ är en ekvivalensrelation och utnyttjar då att Σ är maximalkonsistent: (a) ∼ är reflexiv: Σ ` c = c, varför c = c ∈ Σ. (b) ∼ är symmetrisk: Antag c ∼ c0 . Då gäller c = c0 ∈ Σ, varför Σ ` c0 = c, dvs c0 = c ∈ Σ, dvs c0 ∼ c. (c) ∼ är transitiv: Detta överlåts åt läsaren att bevisa. Nu låter vi, för varje c ∈ C, c̄ vara ekvivalensklassen för c, dvs c̄ = {c0 : c ∼ c0 }. Slutligen låter vi M = {c̄ : c ∈ C}. Elementen i M är alltså mängder av individkonstanter, där två individkonstanter c och d tillhör samma mängd omm satsen c = d finns med i Σ. Om varje individkonstant i M betecknar sin egen ekvivalensklass har vi alltså uppnått det vi ville. Formellt definierar vi M enligt M = {c̄ : c ∈ C} cM = c̄, för varje individkonstant c ∈ C P M = {(c̄1 , . . . , c̄n ) : P (c1 , . . . , cn ) ∈ Σ}, för alla n-ställiga predikatsymboler P ∈ LΣ f M (c̄1 , . . . , c̄n ) = {c : f (c1 , . . . , cn ) = c ∈ Σ}, för alla n-ställiga funktionsymboler f ∈ LΣ AM = s omm A ∈ Σ, för alla satssymboler A ∈ LΣ . Här måste vi först kontrollera att M är väldefinierad, dvs att tolkningarna inte beror av vilka representanter vi väljer ur respektive ekvivalensklass, men detta följer av 80 Första ordningens logik (d) Om P (c1 , . . . , cn ) ∈ Σ och ci ∼ di , för 1 ≤ i ≤ n, så P (d1 , . . . , dn ) ∈ Σ och (e) {c : f (c1 , . . . , cn ) = c ∈ Σ} är en ekvivalensklass som är unikt bestämd av c̄1 , . . . , c̄n . I övrigt följer beviset precis samma resonemang som tidigare. Övning 2.9: Fyll i detaljerna i beviset ovan. Visa också att tolkningen av funktionssymbolerna i själva verket bestäms av tolkningen av individkonstanterna, genom att visa att det för varje sluten term t finns en individkonstant c sådan att (t = c) ∈ Σ. Den enda begränsning vi fortfarande har kvar i beviset ovan, är nu att lexikonet för Γ skall vara uppräkneligt. Släpper vi på det kravet måste vi modifiera beviset för Lindenbaums lemma, där vi antar att vi har en uppräkning av alla satser i språket för Σ. Vi nöjer oss här med att helt kort kommentera hur man kan hantera helt godtyckliga satsmängder och använder då en del mängdteoretisk begreppsapparat, bland annat i form av urvalsaxiomet: ∗ Bevis för modellexistenssatsen (slutsteg): Antag att Γ är en godtycklig konsistent satsmängd i första ordningens logik. Enligt välordningssatsen, som är ekvivalent med urvalsaxiomet, finns då ett ordinaltal α sådant att vi kan skriva Γ som {γβ : β < α}. Vi utvidgar nu språket med en mängd C = {cβ : β < α} av nya individkonstanter och låter {θβ : β < α} vara mängden av alla satser i det utvidgade språket. Igen kan vi anta att om θβ = ∃xφ(x) så θβ+1 = φ(cδ ), där cδ är en ny individkonstant som inte förekommer i något θ , för ≤ β. Vi definierar sedan, men denna gången med transfinit induktion, Σ genom att låta Σ0 = Γ och Σβ+1 = Σβ ∪ {θβ }, om denna satsmängd är konsistent Σβ , annars Σλ = ∪{Σδ : δ < λ}, om λ är ett limestal. Slutligen låter vi Σ = ∪{Σβ : β < α}. 7 Metalogik 81 Beviset för Lindenbaums lemma går nu till som tidigare, men med transfinit induktion. Slutligen definierar vi en kanonisk modell M till Σ som förut och får en modell till Γ. Övning 2.10: I beviset för modellexistenssatsen för logik utan identitet konstruerar vi en modell med oändlig domän. Visa med ett exempel att modellen i beviset för första ordningens logik med identitet kan vara ändlig. Övning 2.11: I beviset för modellexistenssatsen för logik utan identitetssymbolen konstruerade vi en oändlig modell. Drag slutsatsen att varje konsistent mängd satser i vilka identitetssymbolen inte förekommer har en oändlig modell. Detta innebär förstås att det är nödvändigt att ha med identitetssymbolen som en logisk symbol i språket om man skall kunna formalisera kvantifikatoruttryck som ’Det finns exakt 5 x sådana att . . . ’ eller ’Det finns högst 5 x sådana att . . . ’. Kan man, utan identitetssymbolen, på något rimligt sätt formalisera ’Det finns minst 5 x sådana att . . . ’ ? *Övning 2.12: Visa att varje satsmängd med högst uppräkneligt lexikon som har en oändlig modell, har en modell med uppräknelig domän. *Övning 2.13: Visa att Hilberts formalisering av satslogiken [Se avsnitt 6.2.] är fullständig genom att imitera Henkins bevis ovan. 7.3 Kompakthet En mycket användbar egenskap hos första ordningens logik är att den är kompakt. Begreppet är hämtat från topologin och innebär här att följande sats gäller. Sats 3.1: (Kompakthetssatsen) Om varje ändlig delmängd till en satsmängd Γ har en modell, så har Γ en modell. Bevis: Antag att Γ saknar modell. Enligt modellexistenssatsen kan vi då härleda en motsägelse ur Γ. Men, eftersom varje härledning är ändlig och alltså bara kan utnyttja ändligt många premisser ur Γ, finns det en ändlig delmängd Γ0 till Γ sådan att vi kan härleda en motsägelse ur Γ0 , som därmed är en ändlig delmängd till Γ som saknar modell. 82 Första ordningens logik Med hjälp av kompakthetssatsen kan vi enkelt visa att satsen ’Det finns ändligt många objekt’ inte kan formaliseras i första ordningens logik: Antag att det finns en sats ψ sådan att, för varje Lψ -struktur M, (∗) M |= ψ omm M är ändlig. Låt {c0 , c1 , . . .} vara en mängd individkonstanter som inte förekommer i ψ och låt Γ = {ψ} ∪ {ci 6= cj : i < j och i, j ∈ N }, där N = {0, 1, 2, . . .}. Intuitivt uttrycker alltså Γ att ψ gäller och att alla cn är olika. Detta innebär förstås att Γ inte har någon modell med ändlig domän. Eftersom ψ ∈ Γ, så betyder det, enligt (∗), att Γ saknar modell. Kompakthetssatsen ger då att det finns en ändlig delmängd Γ0 till Γ som också saknar modell. Eftersom Γ0 är ändlig, finns ett tal k sådant att Γ0 ⊆ {ψ} ∪ {ci 6= cj : i < j och i, j < k}. Men, givet k, är det trivialt att hitta en Lψ -struktur M med precis k element i domänen. Enligt (∗) är ψ sann i M. Tolkar vi nu c0 , . . . , ck−1 som olika objekt i domänen till M, får vi alltså en modell till Γ0 vilket motsäger att Γ0 saknar modell. Med hjälp av kompakthetssatsen kan vi alltså visa att även första ordningens logik har begränsad uttryckskraft. Vi avslutar med några övningar, men återkommer med fler tillämpningar av kompakthetssatsen senare. Övning 3.2: Visa att det inte finns en mängd Γ av satser i första ordningens logik vars modeller är precis alla strukturer med ändlig domän. Övning 3.3: Visa att varje satsmängd som har godtyckligt stora ändliga modeller har en oändlig modell. Övning 3.4: Visa att om Γ är en satsmängd och φ(x) en formel sådana att M |= Γ omm {a ∈ M : M |= φ[a]} är ändlig, så finns det ett tal k sådant att {a ∈ M : M |= φ[a]} har högst k element för alla M. Övning 3.5: Visa att följande är en korrekt definition av logisk konsekvens i termer av logisk sanning [Se sats 5.1.3.]: 7 Metalogik 83 φ är en logisk konsekvens av Γ omm det finns γ1 , . . . γk ∈ Γ sådana att (γ1 ∧. . .∧γk → φ) är logiskt sann. Observera att logisk sanning enkelt kan definieras i termer av logisk konsekvens. *Övning 3.6: Givet ett kardinaltal κ ≥ ℵ0 och en satsmängd Γ med kardinalitet högst κ, använd en satsmängd av kardinalitet större än κ för att visa att om Γ har en oändlig modell så har Γ en modell vars domän har kardinalitet minst κ. I själva verket har Γ en modell vars domän har kardinalitet precis κ, men det är betydligt svårare att visa. Drag slutsatsen att uttryck som ’Det finns uppräkneligt många’ och ’Det finns överuppräkneligt många’ inte kan formaliseras i första ordningens logik. 7.4 Avgörbarhet Vi har tidigare sett att det finns en mekanisk metod eller algoritm för att avgöra om en satslogisk sats är tautolog eller inte. Frågan är om det finns en motsvarande metod för att avgöra huruvida en predikatlogisk sats är logiskt sann. Det är klart att vi algoritmiskt kan verifiera att en sats är logiskt sann om den verkligen är det. Genom att successivt generera alla härledningar för Lφ -satser hittar vi förr eller senare en härledning av φ i det fall φ är ett teorem, dvs om φ är logiskt sann. Men det är också klart att den metoden generellt inte ger något utslag i det fall φ inte är logiskt sann. Så länge vi inte har något exempel på en algoritm som avgör logisk sanning verkar det alltså möjligt att det helt enkelt inte finns någon sådan. Å andra sidan är det svårt att se hur man skulle kunna bevisa att det inte finns någon algoritm som löser ett visst problem. Att bevisa att en viss algoritm är en mekanisk metod för att lösa ett givet problem förefaller ju inte helt omöjligt. Man presenterar algoritmen, konstaterar att den exempelvis kan utföras av en dator och visar att den alltid ger rätt resultat, dvs att den löser rätt problem. Exempelvis krävs inget längre resonemang för att visa att metoden med sanningsvärdestabeller är en algoritm med vars hjälp vi kan bestämma om en satslogisk sats är tautolog eller ej. Att däremot bevisa att det inte finns någon algoritm för att lösa ett visst problem, är betydligt svårare. Här gäller det ju att visa att ingen tänkbar algoritm duger, vilket förstås bland annat 84 Första ordningens logik kräver att det intuitiva begreppet ’algoritm’ är helt väldefinierat. Nu har man preciserat begreppet algoritm på ett antal olika sätt, men, märkligt nog, har samtliga preciseringar i efterhand visats vara ekvivalenta och innebär, bortsett från praktiska begränsningar i exempelvis minneskapacitet, att en algoritm är en procedur som kan utföras av en dator. De första som, oberoende av varandra och på olika sätt, formellt preciserade begreppet algoritm var den engelske matematikern Alan Turing och den amerikanske logikern Alonzo Church och det var också de som 1936, också oberoende av varandra, bevisade följande: Sats 4.1: (Church-Turings sats) Första ordningens logik är oavgörbar, dvs det finns ingen mekanisk metod med vars hjälp man kan avgöra om en sats är logiskt sann eller ej. Detta innebär förstås att det inte, generellt, går att avgöra huruvida en sats φ är en logisk konsekvens av en satsmängd Γ. Å andra sidan innebär det inte att problemet är oavgörbart för alla Γ. I kapitel 9 skall vi ge exempel på såväl avgörbara som oavgörbara teorier, dvs satsmängder Γ för vilka det finns en algoritm för att avgöra om Γ |= φ eller ej och Γ för vilka det inte finns sådana algoritmer. Att bevisa Church-Turings sats skulle dock leda oss in i ett helt annat område av logiken, nämligen rekursionsteorin, varför vi avstår från det just här.Se vidare avsnitt 9.4. Övning 4.2: Visa med hjälp av Church-Turings sats att ∅ är en oavgörbar teori, dvs att det inte finns någon algoritm för att avgöra huruvida φ följer ur ∅. Övning 4.3: I avsnitt 9.4 skall vi, dock utan bevis, ge ett exempel på en teori som är oavgörbar och ändligt axiomatiserbar, dvs ett exempel på en ändlig satsmängd Γ för vilken det inte finns någon algoritm för att avgöra om Γ |= φ eller ej. Visa att detta implicerar Church-Turings sats. 8 Andra logiker I kapitel 5 såg vi att satslogiken, som fragment av första ordningens logik, kan betraktas som en egen logik. Vi har också antytt att första ordningens logik utan logisk identitetssymbol kan studeras för sig. Här ger vi först ytterligare ett exempel på ett fragment av predikatlogiken och visar sedan att det också finns intressanta utvidgningar av första ordningens språk. Vi ger också några exempel på intensionala logiker. Dessa skiljer sig från den logik vi hittills har studerat genom att semantiken inte är extensionell, dvs sanningsvärdet för en sats i en struktur bestäms inte enbart av hur strukturen är beskaffad. Avslutningsvis presenterar vi intuitionistisk logik. 8.1 Monadisk logik Om vi utgår från första ordningens logik och bara tillåter relationella lexikon som saknar individkonstanter och satssymboler och dessutom kräver att alla predikatsymboler är enställiga, dvs monadiska, får vi monadisk logik. Vi begränsar alltså användandet av ickelogiska symboler, men behåller de logiska symbolerna, markörerna och definitionerna av struktur, sanning, härledning etc. Uttryckskraften hos monadisk logik är, som man kan vänta sig, mindre än i vanlig logik: Låt φ vara konjunktionen av satserna ∀x¬R(x, x) ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)) ∀x∀y(R(x, y) ∨ R(y, x) ∨ x = y) ∀x∃yR(x, y). 86 Första ordningens logik De tre första konjunkterna i φ uttrycker att R är en sträng total ordningsrelation, medan den sista konjunkten säger att det inte finns något ”största” element. Det är alltså klart att ingen modell till φ kan ha ändlig domän. Det är också klart att det finns modeller till φ, exempelvis mängden av naturliga tal med R tolkad som <-relationen. Någon motsvarande sats finns dock inte i monadisk logik. Sats 1.1: Varje sats i monadisk logik som har en modell, har en ändlig modell. Bevisidé: Låt φ vara en sats i monadisk logik och antag först att φ inte innehåller identitetssymbolen. Låt vidare n vara antalet predikatsymboler som förekommer i φ. Då gäller att om φ har en modell så har φ en modell med högst 2n element i domänen. Antag nämligen att φ har en modell M. Definiera, för alla a, b ∈ M , a ∼ b omm M |= P (x)[a] omm M |= P (x)[b], för alla P i φ. Det är lätt att visa att ∼ är en ekvivalensrelation och det är också klart att ∼ har högst 2n ekvivalensklasser. Låt nu ā, för alla a ∈ M , vara ekvivalensklassen för a och bilda M0 genom att låta M 0 vara mängden av ekvivalensklasser och ā satisfiera P (x) omm a satisfierar P (x) i M. Då gäller att M0 |= φ. Om identitetssymbolen förekommer i φ, måste vi vara lite mer försiktiga; med k variabler har vi möjlighet att i φ uttrycka att det finns minst k objekt som satisfierar ett visst predikat, eller en kombination av predikat. Antag därför att k stycken variabler förekommer i φ. I stället för att låta M 0 vara mängden av ekvivalensklasser, väljer vi ut k element i varje ekvivalensklass om det finns så många, annars tar vi alla element i klassen, och låter M 0 bestå av alla dessa element. Igen kan man då visa att φ är sann i M0 . Observera att M 0 i det här fallet har högst k · 2n element i domänen. Övning 1.2: Visa med hjälp av beviset ovan att monadisk logik är avgörbar, dvs att det finns en algoritm för att avgöra om en sats i monadisk logik är logiskt sann eller ej. Detta bevisades av Leopold Löwenheim 1915. Att predikatlogiken är oavgörbar beror alltså inte bara på att vi tillåter kvantifikatorer, utan snarare på att vi kombinerar kvantifikatorer med flerställiga predikatsymboler. Man kan visa att det räcker att tillåta en enda tvåställig predikatsymbol utöver identitetssymbolen för att logiken skall bli oavgörbar. 8 Andra logiker 87 8.2 Nya kvantifikatoruttryck Ett, bland flera, sätt att utvidga predikatlogiken till språk med större uttryckskraft är att införa nya logiska symboler. Särskilt intressant är det då att införa andra kvantifikatorer än bara ∀ och ∃. Antag exempelvis att vi inför Q0 som en ny kvantifikator och specificerar dess betydelse så att Q0 xφ(x) betyder att ’oändligt många objekt satisfierar φ’. Vi får då ett språk i vilket vi exempelvis kan uttrycka att domänen är ändlig: ¬Q0 x(x = x). Formellt tillåter vi inte användandet av just Q0 som ickelogisk symbol och utökar samtidigt definitionen av L-formel med ytterligare en klausul: Om φ är en L-formel och x en variabel så är Q0 xφ en L-formel. När det gäller semantiken utökar vi även definitionen av satisfiering med ytterligare en punkt: M |= Q0 xi φ(xi )[ā] omm M |= φ(xi )[ā(i/b)], för oändligt många b ∈ M . Resultatet är en logik som kallas L(Q0 ) och som alltså i en naturlig mening är en extension av första ordningens logik. Övning 2.1: Formalisera följande påståenden i L(Q0 ): (a) Det finns ändligt många bilar (b) Det finns oändligt många primtal (c) Alla tal har ändligt många föregångare (d) Oändligt många av Björns vänner har ändligt många kusiner (e) Varje tal har ändligt många primtalsfaktorer Vi får dock betala ett pris för den större uttryckskraften i L(Q0 ): Det finns inget fullständigt härledningssystem och logiken är inte kompakt. Däremot kan man visa att varje sats i L(Q0 ) som har en oändlig modell, har en modell med uppräknelig domän. Övning 2.2: Ge ett exempel på en satsmängd i L(Q0 ) som saknar modell, men som är sådan att alla ändliga delmängder till den har en modell. Det är förstås möjligt att utöka predikatlogiken med andra kvantifikatorer än just Q0 . Här är några exempel: L(Q1 ): Låt Q1 xφ(x) uttrycka att det finns ett överuppräkneligt antal x sådana att . . . . L(Qα ): Låt Qα xφ(x) uttrycka att det finns åtminstone ℵα stycken x sådana att . . . . 88 Första ordningens logik L(C): Låt Cxφ(x) uttrycka att φ satisfieras av lika många objekt som det finns objekt i domänen. L(M): Låt Mx, y(φ(x), ψ(y)) uttrycka att φ och ψ satisfieras av lika många objekt. I det sista exemplet binder alltså kvantifikatorn simultant två variabler i två formler. Det finns inte heller något som hindrar att man utökar logiken med flera kvantifikatorer och bildar exempelvis L(Q1 , M). Ett intressant resultat i det här sammanhanget är följande sats som bevisades av den svenske logikern Per Lindström 1968. Vi tillåter oss här en något vag formulering: Sats 2.3: (Lindströms sats) Antag att L är en logik som omfattar första ordningens logik och som har följande två egenskaper: (a) För varje sats φ gäller att om φ har en oändlig modell så har φ en modell med uppräknelig domän. (b) Om Γ är en uppräknelig satsmängd sådan att varje ändlig delmängd till Γ har en modell, så har Γ en modell. Då är L i själva verket ekvivalent med första ordningens logik i den meningen att det för varje sats φ finns en predikatlogisk sats med samma modeller som φ. Detta innebär alltså att varje äkta utvidgning av predikatlogiken kostar i form av att minst en av egenskaperna (a) och (b) går förlorad. 8.3 Andra ordningens logik I första ordningens logik kan vi bara kvantifiera över objekt, dvs vi har bara individvariabler, inte variabler för relationer eller funktioner. Detta begränsar förstås uttryckskraften i språket. Antag exempelvis att vi kunde bilda följande sats φ: ¬∃f ∃y∀x(y 6= f (x)) ∧ ∀x∀y(x 6= y → f (x) 6= f (y)) . Att φ är sann i en struktur M innebär då att ingen funktion avbildar domänen en-entydigt på en äkta delmängd till domänen vilket i mängdteorin är ekvivalent med att M är ändlig. Poängen är nu att precis sådana satser är tillåtna i andra ordningens logik. I denna logik tillåter vi oss inte bara att kvantifiera över enställiga funktioner, utan över funktioner och relationer i allmänhet. 8 Andra logiker 89 Att formellt definiera syntaxen och semantiken för andra ordningens logik är en aning krångligt, varför vi här nöjer oss med att beskriva hur detta går till, snarare än att verkligen ge definitionerna. För det första understryker vi att begreppen struktur och modell har precis samma betydelse som tidigare. Vi börjar så med att, för varje n ≥ 1, utöka syntaxen dels med en uppsättning n-ställiga funktionsvariabler F0n , F1n , . . . , dels med en uppsättning n-ställiga relationsvariabler X0n , X1n , . . . . Det vore också möjligt att införa en tredje typ av variabler för satser, men vi avstår från det. I formler tillåter vi sedan att dessa variabler får förekomma på precis samma sätt som funktionssymboler respektive predikatsymboler. Dessutom låter vi, om φ är en formel, även följande vara formler: ∀Fin φ, ∃Fin φ, ∀Xin φ, ∃Xin φ . Slutligen utvidgar vi definitionen av satisfiering till att vara en relation mellan strukturer, formler och tripler (s, t, u), där s som tidigare är en sekvens av element i domänen, t är en sekvens (t0 , t1 , . . .) i vilken varje tn är en sekvens av n-ställiga funktioner från M n till M och u är en sekvens (u0 , u1 , . . .) i vilken varje un är en sekvens av n-ställiga relationer mellan objekt i M . Det torde nu vara ganska klart hur satisfieringsrelationen definieras i analogi med definitionen i första ordningens logik, även om notationen här blir mer komplex. Exempelvis gäller att M |= ∃Fin φ(Fin )[(s, t, u)] omm φ(Fin )[(s, t(n, i/f ), u)], M |= M n till M , för någon n-ställig funktion f från där t(n, i/f ) är resultatet av att placera funktionen f på plats i i tn . Övning 3.1: Ange några av de andra klausulerna i definitionen av satisfiering och övertyga dig om att de ger ”rätt” resultat. Exempelvis kan vi nu se att identitet är definierbart i andra ordningens logik, en definition som går tillbaka till filosofen Leibniz: Låt φ(x, y) vara formeln ∀X(X(x) ↔ X(y)). Vi struntar som tidigare i att skriva ut index, markera ställighet etcetera när detta inte kan missuppfattas. φ(x, y) uttrycker då att x och y har precis samma egenskaper. Eftersom egenskaper identifieras med delmängder och {a} är delmängd till M om a ∈ M , för en godtycklig struktur M, satisfieras därmed φ(x, y) av (a, b) i M omm a = b. Övning 3.2: Visa att ekvivalensen i definitionen av identitet kan ersättas med en implikation. 90 Första ordningens logik Sats 3.3: Det finns en sats φ i andra ordningens logik sådan att M |= φ omm M har uppräknelig eller ändlig domän. Bevis: Låt φ vara satsen ∃x∃F ∀X X(x) ∧ ∀y X(y) → X(F (y)) → ∀yX(y) . Antag först att M har uppräknelig eller ändlig domän. Då finns en uppräkning {a0 , a1 , . . .} av M . Låt nu, lite slarvigt uttryckt, x i satsen vara a0 och F vara funktionen f (ai ) = ai+1 , för alla i. Då är det klart att φ är sann i M, ty om X ⊆ M , a0 ∈ X och ai+1 ∈ X närhelst ai ∈ X, så X = M . Antag, å andra sidan, att M |= φ. Låt, nästan lika slarvigt, a vara det element i M och f vara den funktion som existerar enligt φ. Eftersom {a, f (a), f (f (a)), . . .} ⊆ M så följer det av att φ är sann att {a, f (a), f (f (a)), . . .} = M, varför M är uppräknelig eller ändlig. Övning 3.4: Visa att kompakthetssatsen är falsk för andra ordningens logik. Övning 3.5: Visa att eller ändlig kan strykas i satsen ovan. Vi återkommer till andra ordningens logik när vi diskuterar teorier i nästa kapitel. Då skall vi också se att andra ordningens logik inte bara är oavgörbar, utan att man algoritmiskt inte ens kan generera mängden av logiska sanningar, dvs det är inte möjligt att definiera ett fullständigt härledningssystem för andra ordningens logik. 8.4 Intensional logik De logiker vi hittills har behandlat är extensionella i den meningen att det bara är extensionen hos de ingående ickelogiska symbolerna som 8 Andra logiker 91 påverkar sanningsvärdet hos en sats. Om vi begränsar oss till satslogiken innebär detta att om vi i en sats φ byter ut en delsats ψ mot en sats med samma sanningsvärde som ψ, så behåller φ sitt sanningsvärde. Denna princip, som brukar kallas för extensionalitetsprincipen, gäller även predikatlogiken och är central för dessa logiker när det gäller att skilja ut de logiska komponenterna i språket från de ickelogiska. I ett naturligt språk finns det dock gott om exempel på sammanhang där extensionalitetsprincipen inte verkar rimlig. Man talar då ofta om intensionala kontexter. Betrakta exempelvis satser som Björn vet att det regnar Det är nödvändigt att det blir krig. Klassiska exempel på att dessa uttryck inte fungerar extensionellt är följande: Björn vet att Sir Walter Scott är Sir Walter Scott Walter Scott är författaren till Waverley Alltså: Björn vet att Sir Walter Scott är författaren till Waverley Om Caesar förklarar krig blir det med nödvändighet krig Om Caesar inte förklarar krig blir det med nödvändighet inte krig Caesar förklarar krig eller Caesar förklarar inte krig Alltså: Det är nödvändigt att det blir krig eller det är nödvändigt att det inte blir krig. I båda dessa fall kan vi införa en ny satsoperator formalisera slutledningarna enligt (c = c) c = f (d) Alltså: (c = f (d)) respektive A→ B ¬A → ¬B A ∨ ¬A Alltså: B ∨ ¬B. eller kanske (A → B) (¬A → ¬B) A ∨ ¬A Alltså: B ∨ ¬B. och, lite förenklat, 92 Första ordningens logik I båda argumenten verkar det som om premisserna mycket väl kan vara sanna och slutsatsen falsk, och i båda fallen verkar detta ha att göra med att operatorn hanteras på ett otillåtet sätt: I den första formaliseringen har vi tillämpat extensionalitetsprincipen inom satsoperatorn, vilket inte verkar rimligt. I den andra har vi inte tagit hänsyn till att operatorn på svenska verkar operera på hela satsen, varför premisserna knappast är korrekt formaliserade. Den tredje, slutligen, verkar igen bygga på en otillåten tillämpning av extensionalitetsprincipen. Vi skall nu visa hur man kan bringa en viss reda i detta genom att utvidga logiken med en ny satsoperator och ge denna en semantik som inte är extensionell. Sådana logiker brukar kallas för intensionala logiker. För enkelhetens skull nöjer vi oss med att presentera en intensional satslogik. Ickelogiska symboler Precis som tidigare använder vi satssymboler A0 , A1 . . . och precis som tidigare använder vi informellt även exempelvis A, B och C som satssymboler med eller utan index. Logiska symboler För att korta ner framställningen något låter vi ¬ och → vara de enda sanningsfunktionella operatorerna tillsammans med ett nytt enställigt konnektiv . Markörer Som tidigare används höger- och vänsterparenteser. Definition 4.1: Begreppet modallogisk formel definieras enligt följande: (a) Varje satssymbol är en modallogisk formel (b) Om φ och ψ är modallogiska formler så är ¬φ (φ → ψ) φ modallogiska formler. φ utläses ’det är nödvändigt att φ’ eller helt enkelt ’box φ’. I den mån vi använder uttryck som innehåller andra konnektiver än de i definitionen ovan, betraktar vi alltså dessa som förkortningar. Exempel 4.2: Satsen ’Det är möjligt att φ’ kan betraktas som synonym med ’Det är inte nödvändigt att inte φ’ och kan alltså formaliseras i modallogiken som ¬ ¬φ. Ibland skriver vi detta som ♦φ. Även itererade användningar av den modala operatorn är förstås möjliga: ’Om φ så är det möjligt att det är nödvändigt att φ’ formaliseras (φ → ¬ ¬ φ) eller (φ → ♦ φ). 8 Andra logiker 93 Vi skall nu definiera en semantik för modallogiken som upptäcktes av den amerikanske logikern och filosofen Saul Kripke på 1950-talet och som går tillbaka på Leibniz idé att ’Det är nödvändigt att φ’ i någon mening betyder att φ är sann i alla möjliga världar. Varje struktur kommer då att bestå av en klass av möjliga världar, dvs en klass av tilldelningar av sanningsvärden till de olika satssymbolerna tillsammans med en relation mellan dessa som reglerar vilka världar som är ”möjliga” relativt vilka. Ett realistiskt scenario skulle kanske inbegripa att de världar som är möjliga relativt den nuvarande alla ligger i framtiden, medan historiska världar knappast kan anses möjliga relativt den värld vi lever i idag. Om modallogiken exempelvis skall ligga till grund för någon form av tidslogik är det alltså viktigt att införa en relation mellan världar som bestämmer en tidsordning mellan dem. Definition 4.3: En ram är ett ordnat par (M, R), där M är en icketom mängd och R är en binär relation mellan objekt i M . Elementen i M kallar vi möjliga världar och R är en tillgänglighetsrelation. En struktur M är en ram (M, R) tillsammans med en funktion som till varje element a ∈ M ordnar en mängd Sa M av satssymboler. Givet en struktur M som bygger på en ram (M, R) definierar vi först vad det innebär att φ är sann i en möjlig värld a, (M , a) |= φ på följande sätt: (a) (b) (c) (d) (M (M (M (M , , , , a) a) a) a) |= A |= ¬φ |= φ → ψ |= φ omm A ∈ Sa M omm (M , a) |= 6 φ omm (M , a) |= 6 φ eller (M , a) |= ψ omm (M , b) |= φ, för alla b sådana att aRb. Att φ är valid i en struktur M, M |= φ, innebär att (M , a) |= φ, för alla a ∈ M och att φ är valid i en ram (M, R), (M, R) |= φ, innebär att φ är valid i M, för alla M som bygger på (M, R). Om X är en klass av ramar, säger vi att φ är valid i X om φ är valid i varje ram i X och är φ valid i klassen av alla ramar säger vi att φ är valid. Övning 4.4: Visa att (M , a) |= ♦φ omm (M , b) |= φ, för något b sådant att aRb. Sats 4.5: Alla modallogiska satser på formen (φ → ψ) → ( φ → ψ) är valida. 94 Första ordningens logik Bevis: Låt γ vara satsen (φ → ψ) → ( φ → ψ). Vi skall visa att γ är valid i varje ram. Antag alltså att (M, R) är en godtycklig ram, att M är en struktur som bygger på (M, R) och att a är en möjlig värld i M . Om försatsen i γ är falsk i a eller om φ är falsk i a så är γ förstås sann i a, så vi kan anta att (M , a) |= (φ → ψ) och (M , a) |= φ. Enligt definitionen av sanning gäller då att (M , b) |= φ → ψ, för alla b sådana att aRb och (M , b) |= φ, för alla b sådana att aRb. Men då gäller förstås, igen enligt sanningsdefinitionen, (M , b) |= ψ, för alla b sådana att aRb vilket innebär att (M , a) |= ψ. Vi har därmed visat att γ är sann i a, för varje a ∈ M för varje ram (M, R). Modallogiken kan, precis som sats- eller predikatlogiken formuleras som ett formellt system, men till skillnad från dessa är det inte klart vilka de ”logiska” sanningarna är. Olika klasser av ramar, ger upphov till olika klasser av valida satser som i sin tur svarar mot olika formella system. Här låter vi härledningar vara ändliga numrerade sekvenser av modallogiska formler. Definition 4.6: Låt K vara det härledningssystem som bestäms av följande axiom och regler: (a) Alla modallogiska formler som är instanser av tautologier är axiom (b) Alla formler på formen (φ → ψ) → ( φ → ψ) är axiom (c) Modus ponens: Om φ och (φ → ψ) förekommer i en härledning så får ψ införas på en ny rad i härledningen (d) -regel: Om φ förekommer på en rad i en härledning så får φ införas på en ny rad. Följande resultat bevisar vi inte här. Sats 4.7: K är fullständigt med avseende på klassen av alla ramar, dvs teoremen i K är precis alla valida satser. Genom att utvidga K med fler axiom får vi sedan modallogiker som är fullständiga med avseende på andra klasser av ramar. 8 Andra logiker 95 Sats 4.8: A → A är valid i klassen av transitiva ramar, dvs klassen av alla ramar (M, R) sådana att R är en transitiv relation. Dessutom karaktäriserar A → A denna klass, dvs A → A är valid i (M, R) omm R är transitiv. Bevis: Antag först att M bygger på en ram (M, R), där R är transitiv, A: Antag att a ∈ M och att (M , a) |= A. Vi visar att (M , a) |= därför att aRb gäller. Det räcker nu att visa att (M , b) |= A. Antag att bRc gäller. Då R är transitiv gäller aRc. Men (M , a) |= A, varför (M , c) |= A. Alltså gäller (M , b) |= A. Därmed har vi visat att A → A är valid i (M, R) om R är transitiv. Antag nu (M, R) given sådan att R inte är transitiv. För att visa att A → A inte är valid i (M, R) räcker det att hitta en struktur M och ett a ∈ M sådan att (M , a) |= 6 A → A. Men att R inte är transitiv innebär att det finns a, b, c ∈ M sådana att aRb och bRc men inte aRc. Definiera nu M så att, för alla d ∈ M , A ∈ SdM omm aRd. Då A gäller inte gäller uppenbarligen (M , a) |= A. Men (M , a) |= A. Därmed har vi visat (M , a) |= 6 A → A och eftersom (M , b) |= 6 satsen är bevisad. Övning 4.9: Visa att A → A karaktäriserar klassen av reflexiva ramar och att A → ♦A karaktäriserar klassen av symmetriska ramar. *Övning 4.10: Givet två strukturer M och N med tillgänglighetsrelationer R respektive S är en p-morfism från M till N en funktion h sådan att aRb implicerar h(a)Sh(b) h(a)Sy implicerar att det finns b sådant att aRb och h(b) = y N . A ∈ SaM omm A ∈ Sh(a) Visa att varje klass av ramar som karaktäriseras av en modallogisk sats är sluten under p-morfismer och använd det till att visa att klassen av irreflexiva ramar inte kan karaktäriseras modallogiskt. Vi avslutar med några exempel på hur modallogiken kan användas. Exempel 4.11: (Tidslogik) Här tänker vi oss de möjliga världarna som tidpunkter ordnade i tidsordning. Att (M , a) |= φ betyder alltså att φ är sann vid tidpunkten a, medan (M , a) |= φ betyder att det vid tidpunkten a är sant att φ alltid kommer att gälla. Man kan nu studera vilka tidsordningar som karaktäriseras av vilka modallogiska formler. Låt, exempelvis, T vara den modallogik som uppstår genom att till K lägga följande axiom: 96 Första ordningens logik A→ A A → ♦A (A∧ A → B) ∨ (B ∧ B → A) ( A → A) → (♦ A → A). Då är teoremen i T precis de formler som är valida i (N, <), dvs de naturliga talen med sin vanliga ordningsrelation. Byter vi ut det sista axiomet ovan mot A → A, blir teoremen precis de satser som är valida i (Q, <), de rationella talen med sin vanliga ordning, vilket i sin tur är samma formler som är valida i (R, <), de reella talen med sin vanliga ordning. Övning 4.12: Definiera en modallogik med två modala operatorer: f φ för ’φ gäller i all framtid’ och p φ för ’φ har gällt hittills’. Hur kan man definiera en semantik för denna logik så att alla satser på formen φ→ f ♦p φ och φ→ p ♦f φ är valida? Exempel 4.13: (Dynamisk logik) För ett programmeringsspråk, exempelvis för finita automater, turingmaskiner eller något av de språk som används i praktiken, kan man definiera program som uppbyggda av enkla, atomära, programsteg. Man kan då associera en modal operator till varje sådant atomärt steg och sedan bilda komplexa modala operatorer för alla program. Tanken är sedan att p φ, om p är ett program, utläses ’φ gäller efter att p har terminerat’, medan ♦p φ betyder att ’p kan terminera så att φ sedan gäller’. Här tänker vi oss alltså att program inte måste vara deterministiska. Att bevisa p A ∧ ♦p (A ∨ ¬A)) innebär alltså att bevisa att programmet p kan terminera och alltid terminerar med resultatet att A gäller. Exempel 4.14: (Epistemisk logik) Här utläser vi φ som ’Lisa vet att φ’. Eventuellt kan vi igen indexera den modala operatorn och utläsa p φ som ’Personen p vet att φ’ eller kombinera detta med en tidsfaktor och utläsa p,t φ som ’p vet φ vid tidpunkten t’. Exempel på tänkbara ”naturliga” axiom är φ→ φ, dvs ’Om Lisa vet att φ så vet hon att hon vet att φ’, φ → φ, dvs det Lisa vet är sant, ¬ φ → ¬ φ, dvs Lisa vet att hon inte vet att φ när hon faktiskt 8 Andra logiker 97 inte vet att φ, φ → ♦ φ, dvs det som är sant är också vetbart. I epistemisk logik kan man, exempelvis, modellera spelteoretiska situationer eller kunskapsstrukturer där ett antal aktörer eller ”spelare” har mer eller mindre ofullständig kunskap dels om världen och dels om varandras kunskaper om världen. Kombinerar man sedan detta med teorier om kommunikation får man ett begreppssystem med vars hjälp man exempelvis kan analysera olika aktörers möjlighet till ett rationellt beteende på en marknad, i en trafiksituation eller i en krigssituation. ∗ Exempel 4.15: (Bevisbarhetslogik) Givet en vetenskaplig teori T , kan vi utläsa φ som ’φ är bevisbar i T ’. Problem om bevisbarhet kan då formuleras som modallogiska problem och modallogiken kan användas för att lösa problem om konsistens eller fullständighet. Att T är konsistent innebär att ¬ (A∗ ∧ ¬A∗ ) är sann, medan T är fullständig innebär att A∗ ∨ ¬A∗ gäller för alla A, där A∗ är en ”översättning” av satser i det modallogiska språket till satser i språket för T . Exempelvis kan man på ett naturligt sätt definiera sådana översättningar till språket för mängdteorin eller för den elementära talteorin och formulera en modallogik vars teorem är precis de satser som är sanna för alla sådana översättningar. Egenskaper hos modallogiken gör det sedan möjligt att på ett uniformt sätt bevisa exempelvis Gödels ofullständighetssatser. 8.5 Intuitionistisk logik För de logiker vi hittills har presenterat är semantiken primär i förhållande till härledningsbegreppet, dvs härledningsreglerna motiveras av sundhet och, i bästa fall, fullständighet. I början av 1900-talet argumenterade i stället den holländske matematikern Luitzen Brouwer, i polemik mot exempelvis Frege, för att matematiken är primär i förhållande till logiken och att därmed härledningar, som kan betraktas som matematiska objekt, är primära i förhållande till semantiken. Dessa tankar leder till en meningsteori som förklarar betydelsen hos formler i termer av hur de förekommer i härledningar. Grundbegreppet är då ’bevis’ snarare än ’sanning’ och den grundläggande tanken är att bevis är mentala konstruktioner. Vad som räknas som ett bevis för en atomär sats beror av vad satsen handlar om, men för en komplex sats φ kan be- 98 Första ordningens logik visbegreppet definieras i termer av vad som är ett bevis för delsatserna i φ: (a) Ett bevis för φ ∧ ψ är ett par (p, q), där p är ett bevis för φ och q är ett bevis för ψ. (b) Ett bevis för φ ∨ ψ är ett par (p, q), där p = 0 och q är ett bevis för φ eller p = 1 och q är ett bevis för ψ. (c) Ett bevis för φ → ψ är en algoritm h sådan att h(p) är ett bevis för ψ om p är ett bevis för φ. (d) Ett bevis för ∃xφ är ett par (a, p), där p är ett bevis för φ(a). (e) Ett bevis för ∀xφ är en algoritm h sådan att h(a) är ett bevis för φ(a), för varje a. (f) Ingenting är ett bevis för ⊥. Här är ⊥ en satssymbol och negationen av φ definieras som en förkortning för φ →⊥. Ekvivalens definieras som vanligt. Däremot torde det vara klart att de klassiska sambanden mellan de olika konnektiverna inte gäller i intuitionistisk logik; ett bevis för exempelvis φ ∨ ψ är ju här något helt annat än ett bevis för ¬(¬φ ∧ ¬ψ). I likhet med härledningssystemet för första ordningens logik, kan man definiera ett formellt system för intuitionistisk logik baserat på naturlig deduktion. Till varje konnektiv hör då en eller flera introduktionsregler och en eller flera eliminationsregler. Exempelvis har vi, för konjunktion, en introduktionsregel och två eliminationsregler: (∧I) φ ψ φ∧ψ (∧E) φ∧ψ φ φ∧ψ . ψ För disjunktion har vi i stället två introduktionsregler och en eliminationsregel: φ φ∨ψ φ ψ∨φ 6φ ψ 6 φ∨ψ γ γ (∨E) , γ φ ψ där och är bevis för γ i vilka vi stryker premisserna φ respektive γ γ ψ. I slutändan räknar vi inte strukna satser som premisser i beviset. (∨I) 8 Andra logiker 99 Introduktions- och eliminationsregeln för implikation är desamma som i klassisk logik, dvs regel C och modus ponens medan introduktions- och eliminationsreglerna för kvantifikatorerna motsvarar de regler vi införde i vårt härledningssystem för klassisk första ordningens logik. Till detta kommer så en eliminationsregel för ⊥: (⊥ E) ⊥ . φ Det går nu att visa att exempelvis φ∨¬φ inte generellt är härledbart. Inte heller kan man generellt härleda ¬¬φ → φ, även om ¬¬¬φ → ¬φ faktiskt är härledbar för alla φ. Däremot gäller till exempel att ¬¬φ är härledbar för alla klassiska teorem φ som inte innehåller någon allkvantifikator. Övning 5.1: Det senare påståendet ovan kan bevisas intuitionistiskt. Använd detta faktum och argumentera för att en intuitionist inte kan tvivla på att klassisk logik är konsistent och samtidigt lita på den intuitionistiska logiken. En skillnad mot klassisk logik är att flera intressanta satsmängder Γ i intuitionistisk logik har disjunktionsegenskapen Γ ` (φ ∨ ψ) implicerar Γ ` φ eller Γ ` ψ och existensegenskapen Γ ` ∃xφ implicerar Γ ` φ(t) , för någon sluten term t . Att definiera en semantik för intuitionistisk logik är inte helt enkelt och det finns flera alternativa sätt att göra det på, bland annat genom att bygga modeller baserade på en kripkesemantik liknande den för modallogik. *Övning 5.2: Definiera en ”översättningsoperator” * från klassisk logik till intuitionistisk logik enligt (a) φ∗ = φ, om φ är atomär (b) ∗ kommuterar med ¬, ∧, → och ∀ (c) (φ ∨ ψ)∗ = ¬(¬φ∗ ∧ ¬ψ ∗ ) (d) (∃xφ)∗ = ¬∀x¬φ∗ Låt vidare, om Γ är en satsmängd, Γ∗ = {γ ∗ : γ ∈ Γ}. Visa att Γ ` φ klassiskt omm Γ∗ ` φ∗ intuitionistiskt. 100 Första ordningens logik Naturligtvis har vi på intet sätt uttömt klassen av alternativa logiker, utan snarare gett ett smakprov på hur sådana kan definieras. Vi avslutar det här kapitlet med ytterligare några exempel i övningsform. 8 Andra logiker 101 8.6 Övningar Övning 6.1: (Fuzzy Logic) Utgå från syntaxen för vanlig satslogik och låt sv(x) vara en funktion från klassen av formler till intervallet [0, 1] av reella tal, sådan att sv(A) ∈ [0, 1], för alla satssymboler A och sv(¬φ) = 1 − sv(φ). Vi säger då att sv(φ) är sanningsvärdet för φ. Vi definierar här tre sådana funktionsklasser: (a) Låt sv(A) ∈ {0, 1}, för alla A, sv(φ ∨ ψ) = max{sv(φ), sv(ψ)} och definiera övriga konnektiver på vanligt sätt i termer av negation och disjunktion. Låt så φ vara sann omm sv(φ) = 1. Detta ger vanlig satslogik. (b) Låt sv(A) ∈ [0, 1], för alla A, sv(φ ∨ ψ) = max{sv(φ), sv(ψ)} och definiera övriga konnektiver som i (a). Visa exempelvis att sv(φ ∧ ψ) = min{sv(φ), sv(ψ)} och beräkna sanningsvärden för några valda satslogiska formler. (c) Låt sv(A) ∈ [0, 1], sv(φ ∨ ψ) = max{0, sv(φ) + sv(ψ) − 1} och låt sv(φ ∧ ψ) = min{1, sv(φ) + sv(ψ)}. Definiera övriga konnektiver som i (a) och beräkna deras sanningsfunktioner. I (b) och (c) kan definitionen för implikation förändras på olika sätt. Exempelvis kan vi låta sv(φ → ψ) = max{1 − sv(φ), min{sv(φ), sv(ψ)}. Ge andra alternativ som verkar naturliga och undersök hur sanningsfunktionen förändras för några valda exempel på formler. Vad händer i dessa exempel om vi inskränker sanningsvärdena till {0, 1}? Övning 6.2: (Flervärd logik) Utgå från syntaxen för vanlig satslogik men tillåt sanningsvärden i mängden {0, . . . , n}. Vi tänker oss då att 0 står för falsk och att 1 står för sann. I en trevärd logik skulle exempelvis 2 kunna stå för obestämd. Ge exempel på hur sanningsvärdestabeller skulle kunna se ut i en trevärd logik som är persistent i betydelsen att varje sats vars delsatser har bestämda sanningsvärden, dvs 0 eller 1, har ett bestämt sanningsvärde. Försök också att åstadkomma att logiken blir konservativ över vanlig satslogik, dvs att alla satser får sina vanliga sanningsvärden om delsatserna har bestämda sanningsvärden. Hur många möjligheter finns det att uppfylla dessa två krav? 102 Första ordningens logik 9 Första ordningens teorier I inledningen presenterade vi logiken som ett hjälpmedel vid studiet av specifika strukturer. Vi presenterar nu, mer eller mindre utförligt, ett antal exempel på hur strukturer eller klasser av strukturer kan eller inte kan beskrivas med hjälp av teorier i första ordningens logik eller andra logiker. Exemplen är hämtade från olika områden, men har alla anknytning till matematik. Anledningen till detta är inte i första hand att det är inom det matematiska fältet som man framgångsrikt använder sig av formella språk. Vi kunde också ha hämtat våra exempel från andra vetenskaper som fysik, kemi, ekonomi, lingvistik, psykologi eller sociologi, men exemplen hade i dessa fall blivit betydligt mer komplexa och krävt förkunskaper hos läsaren som vi inte vill förutsätta. Generellt gäller att en teori T helt enkelt är en satsmängd, mängden av teorins axiom. En sats är ett teorem i T om den är härledbar ur T . Vidare är T konsistent om ingen motsägelse är ett teorem i T , fullständig om varje sats i teorins språk eller dess negation är ett teorem och avgörbar om det finns en algoritm med vars hjälp man mekaniskt kan avgöra om en godtycklig sats är ett teorem i T eller ej. Slutligen säger vi att T är axiomatiserbar om det finns en teori S med samma teorem som T och sådan att vi mekaniskt kan räkna upp axiomen i S. S sägs då vara axiomatiserad och är en axiomatisering av T . De flesta av de teorier vi presenterar här är axiomatiserade, men vi skall också ge exempel på teorier som inte är axiomatiserbara. Det kan här vara värt att lägga märke till att varje fullständig, axiomatiserbar teori är avgörbar: Antag att S är en axiomatisering av T . Vi kan då mekaniskt räkna upp alla härledningar som använder premisser ur S med hjälp av en godtyckligt vald alfabetisk ordning av symbolerna i språket. Eftersom T , och därmed S, är fullständig gäller, för varje sats φ, att vi förr eller 104 Första ordningens logik senare stöter på en härledning av antingen φ eller ¬φ. I det förra fallet är φ ett teorem i T , i det andra inte. Här kan vi förstås förutsätta att T är konsistent (Varför?). 9.1 Geometrier Det kanske mest kända och det historiskt första exemplet på en axiomatisk teori är Euklides geometri. Euklides avsikt var att formulera några få och helst enkla principer vars konsekvenser skulle vara precis alla sanna geometriska satser. Euklides börjar i sin Elementa, troligen skriven kring år 300 f Kr, med att presentera några första grundläggande begrepp: Två ting som är lika med ett tredje, är sinsemellan lika. Om lika läggs till lika blir helheterna lika. Om lika dras från lika blir återstoderna lika. Två ting som sammanfaller är lika. Det hela är mer än någon av sina delar. Så följer de egentliga axiomen: (1) Två godtyckliga punkter sammanbinds av en sträcka. (2) Varje sträcka kan förlängas godtyckligt långt. (3) En cirkel kan konstrueras om dess centrum och en punkt på periferin är givna. (4) Alla räta vinklar är lika. (5) Antag att en rät linje skär två räta linjer och att de inre vinklarna på samma sida om linjen är mindre än två räta. Då skär de två linjerna varandra, om de förlängs tillräckligt, på den sida där vinklarna är mindre än två räta. Det sista axiomet är det berömda femte postulatet som Euklides själv insåg att han behövde, men ändå inte kunde se som ett grundläggande axiom. Först under senare delen av artonhundratalet lyckades man dock bevisa att det femte postulatet inte följde av de övriga axiomen. Däremot visste man långt tidigare att det femte postulatet, givet de övriga axiomen, och sådana som Euklides inte formulerade men ändå implicit använde, var ekvivalent med exempelvis parallellaxiomet: Givet en rät linje och en punkt utanför den räta linjen finns exakt en rät linje genom punkten som inte skär, dvs som är parallell med, den givna linjen. 9 Första ordningens teorier 105 År 1899 axiomatiserade David Hilbert den euklidiska geometrin som en första ordningens teori. Senare visade Alfred Tarski att Hilberts teori är fullständig och avgörbar. För att visa komplexiteten i axiomatiseringen jämfört med Euklides formulering presenterar vi här vissa av Hilberts axiom. Som ickelogiska symboler använder vi två enställiga predikat P och L, ett tvåställigt predikat G, ett treställigt predikat B och ett fyrställigt predikat K. Om vi låter M bestå av mängden av punkter och räta linjer i planet och tolkar de ickelogiska symbolerna enligt P M (x) : x är en punkt LM (x) : x är en rät linje GM (x, y) : x ligger på y B M (x, y, z) : y ligger mellan x och z K M (x, y, u, v) : sträckan (x, y) är kongruent med sträckan (u, v) får vi den tänkta modellen till teorin. Här är sträckan (x, y) mängden av punkter på linjen genom x och y, som ligger mellan x och y. Linjen genom x och y betecknar vi med (x, y). Vi formulerar nu axiomen på svenska och överlåter åt läsaren att formalisera dem. Vi tillåter oss också att successivt använda begrepp som enkelt kan definieras i termer av det egentliga lexikonet. (A1) Givet två olika punkter x och y finns exakt en linje som går genom både x och y. (A2) På varje linje ligger minst två punkter. (A3) Det finns minst tre punkter som inte ligger på samma linje. (A4) Om B(x, y, z) så är x, y och z olika punkter på en och samma linje och B(z, y, x) gäller. (A5) Givet två punkter y och u, så finns punkter x, z och v på linjen (y, u) s.a. B(x, y, u), B(y, z, u) och B(y, u, v). (A6) Om x, y och z är olika punkter på en linje så ligger exakt en av dem mellan de två andra. (A7) Om l är en linje och x, y och z inte ligger på l så gäller (i) om S(x, y, l) och S(y, z, l) så S(x, z, l) (ii) om inte S(x, y, l) och inte S(y, z, l) så S(x, z, l), där S(x, y, l) betyder ”x och y är på samma sida av linjen l”. 106 Första ordningens logik (A8) Om x och y är olika punkter och punkten z är given så finns för varje stråle r utgående från z en unik punkt u på r sådan att sträckan (z, u) är kongruent med (x, y) (A9) Om (x, y) är kongruent med (u, u0 ) och (x, y) är kongruent med (v, v 0 ) så är (u, u0 ) kongruent med (v, v 0 ). (A10) Varje sträcka är kongruent med sig själv. (A11) Givet en linje l och en punkt utanför l finns exakt en linje genom punkten som inte skär, dvs som är parallell med, l. Vi utelämnar här ytterligare kongruensaxiom som behövs för sträckor och vinklar. Dessutom behövs två kontinuitetsaxiom: (A12) Givet en linje (x, y) och en sträcka (u, v) så finns ett tal n så att −−−→ om (u, v) avsätts n gånger på strålen (x, y) utgående från x så uppnås en punkt z så att B(x, y, z) och n · (u, v) är kongruent med (x, z). (A13) Om mängden av punkter på en linje l skrivs som en disjunkt union S ∪ S 0 så att ingen punkt i S ligger mellan två punkter i S 0 och vice versa, då finns en unik punkt x så att B(y, x, z) för alla y i S och z i S 0 . Övning 1.1: Visa att axiomen ovan kan formaliseras med det lexikon vi har valt. Tänk särskilt noga igenom de två sista axiomen! Övning 1.2: Visa hur begreppet cirkel kan definieras inom ramen för det givna lexikonet. Definiera också begreppet kongruens med avseende på cirklar. Tarski visade på 1930-talet att Hilberts axiomatisering är konsistent, fullständig och avgörbar genom att tolka geometrin i teorin för de reella talen på, idag, gängse sätt. Övning 1.3: Visa, med hjälp av Tarskis resultat, att Hilberts axiom utgör en axiomatisering av sann plan geometri, dvs att de satser som är bevisbara ur Hilberts axiom är precis de som är sanna om vi tolkar de ickelogiska symbolerna naturligt i planet. Byter vi ut axiom (A 11) ovan mot (BL) Givet en linje l och en punkt utanför l finns minst två linjer genom punkten som inte skär, dvs som är parallell med, l. 9 Första ordningens teorier 107 får vi en annan geometri som upptäcktes oberoende av varandra av Johann Bolyai och Nicholai Ivanovich Lobachevsky på 1820-talet. Idag går den under benämningen hyperbolisk geometri. Att hyperbolisk geometri är konsistent om euklidisk geometri är det, visades av Eugenio Beltrami 1868 och en förhållandevis enkel modell inom ramen för den euklidiska geometrin som först hittades av Arthur Caley utvecklades omkring 1870 av Felix Klein. Ett annat sätt att ersätta parallellaxiomet är att istället för (BL) införa (R) Givet en linje l och en punkt utanför l finns ingen linje genom punkten som inte skär, dvs som är parallell med, l. För att få en konsistent teori måste man då ändra även på vissa andra axiom. Exempelvis måste det första axiomet försvagas till Givet två olika punkter x och y finns minst en linje som går genom x och y och axiomen som styr betydelsen av relationen B(x, y, z) måste ändras. Resultatet blir elliptisk geometri eller riemanngeometri efter Bernhard Riemann som först studerade denna geometri på 1850-talet. Även riemanngeometrin kan visas vara konsistent genom att den utgör geometrin på ytan av en sfär i vanlig tredimensionell euklidisk geometri. Övning 1.4: Betrakta följande ”leksaksgeometri”: (A1) Varje punkt ligger på minst en linje (A2) Det finns minst två punkter (A3) Givet två olika punkter finns det exakt en linje på vilken båda punkterna ligger (A4) Alla punkter ligger inte på samma linje (A5) Parallellaxiomet Skapa ett lämpligt lexikon och formalisera axiomen till en teori T . Visa sedan, semantiskt eller syntaktiskt, att följande satser är teorem i T : (a) (b) (c) (d) Varje punkt ligger på minst två linjer Varje linje går genom minst två punkter Det finns minst fyra punkter Det finns minst sex linjer Är dessa resultat optimala, dvs finns det en modell till T med fyra punkter och sex linjer? 108 Första ordningens logik 9.2 Grupper Ofta stöter man på flera strukturer inom ett område som verkar likartade. Exempelvis uppvisar de rationella talen med addition stora likheter med de reella talen under addition, men också med vissa klasser av funktioner under sammansättning eller klassen av alla parallellförflyttningar i planet under sammansättning. Alla dessa strukturer har det gemensamt att de utgörs av en domän med en binär operation som satisfierar vissa enkla och naturliga villkor. Det kan då vara intressant att studera klassen av alla sådana strukturer och att försöka beskriva den som klassen av modeller till en första ordningens teori. De satser som är sanna i varje sådan struktur utgör därmed precis de bevisbara satserna i teorin. Låt L bestå av en tvåställig funktionssymbol ∗ och en individkonstant e. Generellt skriver vi x ∗ y i stället för det mer otympliga ∗(x, y). Med heltalen och addition som typfall låter vi T , teorin för grupper, ha följande enkla axiom: (A1) x ∗ (y ∗ z) = (x ∗ y) ∗ z (A2) x ∗ e = e ∗ x = x (A3) ∀x∃x0 (x ∗ x0 = x0 ∗ x = e). Modellerna till T kallas för grupper. Ett a0 för vilket (a ∗ a0 = a0 ∗ a = e) gäller i en grupp G sägs vara en invers till a. Här och i fortsättningen tillåter vi oss att, som brukligt, skriva ∗ och e istället för det mer klumpiga men strikt korrekta ∗G respektiveeG . Övning 2.1: Visa att heltalen under additition är en grupp. Vilket är enhetselementet och vilket tal är inversen till ett tal n? Är heltalen under multiplikation också en grupp? Är de rationella talen med multiplikation en grupp? Övning 2.2: Visa att enhetselementet i varje grupp är unikt, dvs att satsen ∀y(∀x(x ∗ y = y ∗ x = x) → y = e) är sann i alla grupper. Visa också att varje element a i en grupp har en unik invers. Ofta betecknas inversen till a med a−1 . Visa att (a−1 )−1 = a och att (a∗b)−1 = b−1 ∗a−1 i varje grupp. I många grupper gäller att a ∗ b = b ∗ a, men inte i alla. En grupp i vilken satsen ∀x∀y(x ∗ y = y ∗ x) är sann sägs vara kommutativ eller abelsk. Exempelvis gäller att om X är en mängd och G bestäms av att G är klassen av alla bijektioner på X med ∗ tolkad som sammansättning av funktioner och med identitetsfunktionen som enhetselement, så är G en grupp. Denna grupp är normalt inte kommutativ. 9 Första ordningens teorier 109 Övning 2.3: Bilda en grupp bestående av mängden av alla permutationer på mängden {1, . . . , n} under sammansättning. Denna grupp kallas den symmetriska gruppen på n element och betecknas Sn . Visa att Sn inte är kommutativ, för n ≥ 3. Hur många element har Sn ? Övning 2.4: Visa att om G är abelsk så gäller (a ∗ b)n = an ∗ bn i G, för alla n. Visa också att om (a ∗ b)2 = a2 ∗ b2 gäller i en grupp G så är G abelsk. Här betyder an förstås (a ∗ . . . ∗ a) med n stycken termer i sekvensen. Grupper visar sig vara mycket användbara i flera olika sammanhang. Exempelvis används grupper i kvantfysik, i kemi inom kristallografi och naturligtvis i mer eller mindre tillämpad matematik, exempelvis för att bestämma lösningsmängder till ekvationer eller för att beskriva klasser av translationer i geometriska sammanhang. Framför allt har klassificeringen av olika typer av ändliga grupper visat sig vara synnerligen komplicerad och mycket användbar. 9.3 Teorin för de komplexa talen Låt L = {0, 1, +, ·} och låt T ha följande axiom: (x + y) + z = x + (y + z) (x · y) · z = x · (y · z) x+0=x x·1=x ∃y(x + y = 0) x 6= 0 → ∃y(x · y = 1) x+y =y+x x·y =y·x x · (y + z) = x · y + x · z 0 6= 1 Här, liksom i resten av kapitlet, använder vi konventionen att fria variabler i formler betraktas som allkvantifierade. Modellerna till T kallas för kroppar och de enklaste exemplen på kroppar är Q, R och C, dvs de rationella talen, de reella talen och de komplexa talen med naturliga tolkningar av symbolerna i L. Andra exempel får man till exempel genom att definiera addition och multiplikation på ändliga delmängder till de naturliga talen. 110 Första ordningens logik Övning 3.1: Låt p vara ett godtyckligt primtal och definiera en L-struktur M enligt M = {0, 1, . . . , (p − 1)} n +M m = n + m (mod p) n ·M m = n · m (mod p) 0M = 0 1M = 1 där k (mod p) betecknar resten när k delas med p. Exempelvis är 15 (mod 7) = 1 och 12 (mod 6) = 0. Visa att M är en kropp. M är känd under namnet Z p . Vad gäller om p inte är ett primtal? √ Övning 3.2: Visa att mängden av tal på formen p + q 3, där p och q är rationella tal, med de naturliga tolkningarna av L, är en kropp. En kropp K har karaktäristik n, där n > 0, om n är minimalt sådant att K |= 1 + 1 + ... + 1 = 0, (med n stycken ettor). Om, för varje n, K |= 1 + 1 + ... + 1 6= 0, (med n stycken ettor) sägs K ha karaktäristik noll. Exempelvis har Z p karaktäristik p medan C har karaktäristik 0. Observera att det finns oändliga kroppar med karaktäristik p, för alla primtal p. Övning 3.3: Visa att varje kropp har karaktäristik noll eller karaktäristik p, för något primtal p. Låt nu Tp = T ∪{p·1 = 0}∪{n·1 6= 0 : n < p}, där k ·1 är en förkortning för summan av k stycken ettor, och låt T0 vara teorin T ∪ {n · 1 6= 0 : n = 1, 2, 3, . . .}. Tp är alltså teorin för kroppar med karaktäristik p och T0 är teorin för kroppar med karaktäristik 0. Övning 3.4: Visa att om φ är sann i kroppar med godtyckligt stor karaktäristik så är φ sann i en kropp med karaktäristik noll. Tips: Använd kompakthetssatsen! Låt nu πn vara formeln ∃x(xn + y1 · xn−1 + . . . + yn = 0). πn uttrycker då att varje polynom av grad n har ett nollställe. 9 Första ordningens teorier 111 Om K |= T ∪ {πn : n = 1, 2, 3 . . .} är K en algebraiskt sluten kropp. Exempelvis är C algebraiskt sluten medan R inte är det, då till exempel x2 + 1 = 0 saknar lösning i R. Nu låter vi Tals = T ∪ {πn : n = 1, 2, 3 . . .} vara teorin för algebraiskt slutna kroppar. Tals är uppenbarligen inte fullständig då teorin inte bestämmer kroppens karaktäristik. Enligt ett känt resultat i algebra, Steinitz sats, gäller dock att om K är en algebraiskt sluten kropp så finns en mängd X av så kallade algebraiskt oberoende element i K sådan att kardinaliteten av X, transcendensgraden för K, är entydigt bestämd och tillsammans med karaktäristiken för K bestämmer K upp till isomorfi. Det senare implicerar, utan att gå in på detaljer, att alla kroppar med samma transcendensgrad och samma karaktäristik är modeller till precis samma satser. Nu råkar det vara så att om K är överuppräknelig så är kardinaliteten av X densamma som kardinaliteten av K. Alltså gäller: Sats 3.5: Om K och K’ är två överuppräkneliga kroppar med samma kardinalitet och samma karaktäristik, så är samma satser sanna i K som i K’. Låt nu Tals,p = Tp ∪ {πn : n = 0, 1, 2, . . .} vara teorin för algebraiskt slutna kroppar med karaktäristik p, där p kan vara 0 eller ett primtal. Vi visar först att Tals,p är fullständig: Antag motsatsen. Det innebär att det existerar en sats φ sådan att Tals,p |= 6 φ och Tals,p |= 6 ¬φ. Därmed är satsmängderna Tals,p ∪ {¬φ} och Tals,p ∪ {φ} båda konsistenta och har, enligt övning 7.3.6, överuppräkneliga modeller med samma kardinalitet. Men det strider mot sats 3.5 ovan. Eftersom Tals,p är axiomatiserad kan vi därmed konstatera att den inte bara är fullständig, utan också avgörbar. Vi skall nu dra slutsatsen att Tals är avgörbar: Antag först att Tals |= φ. Då gäller, enligt fullständighetssatsen, att Tals ` φ. Om, å andra sidan, Tals |= 6 φ, så finns det en modell K till Tals i vilken ¬φ är sann. Men K måste ha en karaktäristik p och är då en modell till Tals,p som vi vet är fullständig. Eftersom K dessutom är en modell till ¬φ kan Tals,p ` φ inte gälla, varför Tals,p ` ¬φ gäller. Genom att samtidigt generera alla bevis i Tals och, successivt, alla bevis i alla Tals,p , kan vi alltså avgöra om Tals ` φ eller ej. Av detta följer förstås att t ex teorin för de komplexa talen är axiomatiserbar och avgörbar. Övning 3.6: Visa att en sats är sann i C omm den är bevisbar i Tals,0 . 112 Första ordningens logik 9.4 Elementär aritmetik I början av 1900-talet fanns stora förhoppningar om att kunna skapa en fullständig axiomatisering av elementär talteori motsvarande Hilberts axiomatisering av geometrin. Man sökte alltså en teori som hade alla sanna talteoretiska satser som logiska konsekvenser och som med elementära metoder kunde bevisas vara konsistent. Det visade sig dock svårt att hitta en i den meningen bevisbart fullständig och konsistent axiomatisering av aritmetiken. Det förslag till sådan teori som fanns, Peanos aritmetik, undgick varje försök till fullständighetsbevis eller konsistensbevis. Axiomen i Peanos aritmetik, PA, är följande: (P 1) S(x) = S(y) → x = y (P 2) 0 6= S(x) (P 3) x 6= 0 → ∃yx = S(y) (P 4) x + 0 = x (P 5) x + S(y) = S(x + y) (P 6) x · 0 = 0 (P 7) x · S(y) = x · y + x (P 8) φ(0) ∧ ∀x(φ(x) → φ(S(x)) → ∀xφ(x) , för alla LPA -formler φ Här är S tänkt att beteckna efterföljarfunktionen, dvs S(x) = x + 1, och övriga symboler är tänkta att ha sin naturliga tolkning. (P 8) är inte ett enstaka axiom utan ett axiomschema som består av ett axiom för varje formel φ(x) och ersätter det naturligare axiomet ∀X(X(0) ∧ ∀x(X(x) → X(S(x))) → ∀xX(x)), som inte är ett första ordningens uttryck, eftersom man här kvantifierar över egenskaper och inte bara över objekt. Detta axiom tillsammans med de övriga utgör, i andra ordningens logik, en uttömmande axiomatisering av talteorin; dess logiska konsekvenser är precis alla sanna talteoretiska satser, något som bevisades av Richard Dedekind redan omkring 1880. I själva verket var det också Dedekind som först formulerade axiomen, om än inte uttryckta i ett formellt språk. Giuseppe Peano formulerade dem inom ramen för en mängdteoretisk begreppsapparat och detta ledde i sin tur till den första ordningens teori som idag benämns Peanos aritmetik . För andra ordningens logik hade man dock inget härledningssystem med 9 Första ordningens teorier 113 vars hjälp man skulle kunna bevisa vilka satser som följer ur axiomen. Ändå framgår det tydligt att Peanos aritmetik till sin formulering ligger nära axiomatiseringen i andra ordningens logik och idén var att formellt och med elementära metoder bevisa att PA är konsistent och fullständig. Dessa tankar totalhavererade dock 1930 då Kurt Gödel inte bara bevisade att Peanos aritmetik inte är fullständig utan också bevisade att detta gäller varje tänkbar axiomatisering av aritmetiken inom ramen för första ordningens logik, eller till och med inom ramen för någon logik som har ett fullständigt härledningssystem. Till yttermera visso visade han att varje bevis för att en sådan teori är konsistent med nödvändighet måste använda metoder som går utöver elementär aritmetik. I det följande skisserar vi ett bevis för Gödels resultat. På en, och endast en, punkt är beviset väldigt tekniskt och dessa teknikaliteter kommer vi att utelämna. I övrigt presenterar vi hela beviset, som väsentligen följer Gödels ursprungliga resonemang, så när som på enstaka enklare detaljer. Bevisidén Vi visar först att PA är ofullständig, dvs vi konstruerar explicit en sats i talteorin som är sann, men som är obevisbar i PA. I efterhand går vi sedan igenom de egenskaper hos PA som vi använder i beviset och konstaterar att beviset i själva verket gäller varje rimlig teori i första ordningens logik som omfattar tillräckligt mycket talteori. Låt oss först betrakta lögnarparadoxen eller Epimenides paradox, som den också kallas: Denna sats är falsk. Satsen ovan uttrycker om sig själv att den är en falsk sats. Om den vore sann, skulle det därmed vara korrekt att den är falsk, dvs i så fall skulle den vara falsk. Alltså är den inte sann, dvs den är faktiskt falsk och därmed är det den säger korrekt, dvs den är sann. Satsen är alltså både sann och falsk, vilket är en motsägelse. Paradoxen uppstår nu då vi samtidigt tycker oss ha skäl för att betrakta satsen som ett välformat uttryck på svenska. Hur lögnarparadoxen kan lösas skall vi inte orda om här, utan vi betraktar i stället en snarlik sats: (G) Denna sats är inte bevisbar i PA. 114 Första ordningens logik Om (G) skulle vara falsk, uttrycker den ett falskt påstående, dvs i så fall är den bevisbar i PA. Men PA är, antar vi, en sann teori och bevisar alltså bara sanna satser. Alltså måste (G) vara sann och är, eftersom det är just det den säger, inte bevisbar i PA. Om PA är en sann teori har vi alltså hittat en sann sats som inte är bevisbar. Om PA, å andra sidan inte är sann, är den förstås inte en fullständig axiomatisering av talteorin, så i vilket fall är PA inte en fullständig axiomatisering av talteorin. Nu är detta resonemang förstås rent nonsens: För det första är inte uttryck på svenska vare sig bevisbara eller motbevisbara i PA, som ju är en första ordningens talteori och för det andra är det inte självklart att vi ens på svenska kan konstruera satser som handlar om sig själva. Vi skall dock undanröja båda dessa hinder genom att först visa hur satser i talteorin kan fås att handla om syntax, dvs om exempelvis bevisbarhet, och dels visa hur man kan få sådana satser att handla om sig själva. Sedan kan vi formellt konstruera en sats som motsvarar (G) och som visar sig ha precis de egenskaper vi är ute efter; den blir sann men obevisbar i PA. Nu behöver vi bli lite mer formella. Formalia Talteorin handlar om naturliga tal, dvs talen 0, 1, 2, 3, . . . . De symboler som formellt ingår i det talteoretiska språket, 0, +, ·, S, gör det möjligt att uttrycka såväl enkla som mer komplexa villkor. Strängt taget ingår inte de vanliga siffrorna, 1, 2, 3, . . . , i språket för PA, utan i de formler vi skriver låter vi siffrorna vara förkortningar för termerna S(0), S(S(0)), S(S(S(0))) etc. Formeln ∃y(x = 2 · y) uttrycker då villkoret att vara ett jämnt tal, medan följande formel uttrycker att x är ett primtal, dvs att x är större än 1 och inte delbart med något annat än 1 och sig självt: x > 1 ∧ ∀y∀z(x = y · z → y = x ∨ z = x)). Generellt är (x > y) en förkortning av ∃z(x = y + S(z)). Nu är det inte särskilt svårt att visa att PA ` ∃y(k = 2 · y) om k är ett jämnt tal och PA ` ¬∃y(k = 2 · y) om k inte är ett jämnt tal. 9 Första ordningens teorier 115 På samma sätt gäller att PA ` k > 1 ∧ ∀y∀z(k = y · z → y = x ∨ z = x)), om k är ett primtal, medan PA ` ¬(k > 1 ∧ ∀y∀z(k = y · z → y = x ∨ z = x))), om k inte är ett primtal. I själva verket gäller följande nyckelresultat, som är den enda del av Gödels resonemang som vi inte bevisar: Representerbarhetslemmat: För varje talteoretisk relation R(x1 , . . . , xn ) som är avgörbar, dvs för vilken det finns en algoritm för att avgöra, för godtyckliga tal k1 , . . . , kn , om R(k1 , . . . , kn ) gäller eller ej, finns en formel %(x1 , . . . , xn ) sådan att PA ` %(k1 , . . . , kn ), PA ` ¬%(k1 , . . . , kn ), om R(k1 , . . . , kn ) om inte R(k1 , . . . , kn ). Formeln % säger vi vara en representation av R i PA. Beviset för representerbarhetslemmat går ut på att först hitta ett sätt att definiera avgörbara relationer och sedan utnyttja denna definition till att koda definitionerna av sådana relationer med formler. Beviset är mycket tekniskt, varför vi som sagt väljer att hoppa över det här. Vi skall nu på ett systematiskt sätt tillordna syntaktiska objekt ”namn” i form av tal, så att enkla egenskaper hos de syntaktiska objekten svarar mot enkla talteoretiska egenskaper hos deras namn. Det tal som fungerar som namn på ett syntaktiskt objekt kallar vi objektets gödelnummer. Börja med att räkna upp alla symboler i språket för PA: 0, +, ·, S, ∀, ¬, ∧, =, (, ), , , x1 , x2 , . . . . Dessa ger vi nu gödelnummer genom att successivt tilldela dem udda tal större än 1: g(0) = 3, g(+) = 5, g(·) = 7 osv. Nästa steg är att tilldela gödelnummer till sekvenser av symboler: Antag att a1 a2 a3 a4 är en sekvens av symboler. Låt p1 , p2 , p3 , . . .vara en uppräkning av alla udda primtal i storleksordning. Nu låter vi g(a1 a2 a3 a4 ) vara talet g(a1 ) 2 · p1 g(a2 ) · p2 g(a3 ) · p3 g(a4 ) · p4 . 116 Första ordningens logik Eftersom varje tal har en unik primtalsfaktorisering betyder detta att varje ändlig symbolsekvens får ett unikt gödelnummer och att det finns en enkel algoritm dels för att beräkna en sekvens gödelnummer, men också för att räkna ut vilken sekvens eller symbol ett visst tal är gödelnummer för. Det är också klart att sekvensernas gödelnummer, som ju alla är delbara med 2 exakt en gång, inte krockar med symbolernas gödelnummer som alla är udda. Exempel: Formeln ∀x1 (x1 = 0) får gödelnumret 2 · 3g(∀) · 5g(x1 ) · 7g(() · 11g(x1 ) · 13g(=) · 17g(0) · 19g()) , dvs 2 · 311 · 525 · 719 · 1125 · 1317 · 173 · 1921 , ett tal av storleksordningen 4 ·10114 . På samma sätt kan vi sedan ge sekvenser av symbolsekvenser, exempelvis härledningar, gödelnummer: Antag att s1 s2 s3 s4 är en sekvens av symbolsekvenser. Låt sedan g(s1 s2 s3 s4 ) vara talet g(s1 ) 4 · p1 g(s2 ) · p2 g(s3 ) · p3 g(s4 ) · p4 . Igen är det klart att dessa gödelnummer inte kolliderar med de tidigare och att vi på ett effektivt, om än inte bekvämt, sätt kan röra oss mellan de syntaktiska objekten och deras gödelnummer. Lite eftertanke ger nu också vid handen att avgörbara egenskaper och relationer hos syntaktiska objekt, exempelvis egenskapen att vara en formel eller relationen ’x är ett bevis i PA för y’, svarar mot avgörbara egenskaper hos respektive gödelnummer. Via representerbarhetslemmat kan vi alltså nu i talteorin ”tala om” syntaxen och det som återstår är att dessutom kunna få formler att i någon mening handla om sig själva. Detta löser vi med följande resultat. Låt oss först bara förenkla våra beteckningar en aning. Antag att vi har en formel φ(x). Då är förstås φ(k) resultatet av att ersätta alla fria förekomster av x i φ(x) med k. Om vi nu har en formel ψ skriver vi φ(ψ) i stället för det mer svårlästa φ(g(ψ)). Genomgående slutar vi alltså nu att göra skillnad mellan exempelvis formler och deras gödelnummer. Fixpunktssatsen: För varje formel φ(x) finns en sats δ sådan att PA ` δ ↔ φ(δ). 9 Första ordningens teorier 117 Bevis: Låt Subst(φ, k, γ) vara relationen γ är resultatet av att i φ ersätta alla fria förekomster av variabeln x1 med k. Subst(x, y, z) är uppenbart avgörbar och representeras alltså, enligt representerbarhetslemmat, av en formel σ(x, y, z). Betrakta formeln ∀z(σ(x1 , x1 , z) → φ(z)). (a) Denna formel har ett gödelnummer, k säg. Låt nu δ vara satsen ∀z(σ(k, k, z) → φ(z)). Då är δ resultatet av att i (a), dvs formeln med gödelnummer k, ersätta alla fria förekomster av variabeln x1 med k, dvs Subst(k, k, δ) gäller. Men σ representerar Subst varför PA ` σ(k, k, δ). Av detta följer förstås att PA ` δ → φ(δ). (b) Vidare gäller att PA ` σ(x, y, z) ∧ σ(x, y, z 0 ) → z = z 0 . Detta beror på att ”Resultatet av att . . . ” entydigt bestäms av de två första argumenten i relationen Subst, något som också är bevisbart i PA. Men därmed gäller att PA ` σ(k, k, δ) ∧ φ(δ) → ∀z(σ(k, k, z) → φ(z)), dvs (c) PA ` φ(δ) → δ. Satsen följer nu av (b) och (c). Därmed är vi redo för själva beviset. Själva beviset För att visa Gödels ofullständighetssats formaliserar vi resonemanget i inledningen. Först konstaterar vi att relationen ’y är ett bevis i PA för 118 Första ordningens logik x’ är avgörbar och alltså representeras av en formel P rf (y, x) i PA. Betrakta nu formeln ¬∃yP rf (y, x). Detta är en formel med en fri variabel och det finns, enligt fixpunktssatsen, en sats γ sådan att (g) PA ` γ ↔ ¬∃yP rf (y, γ). Antag att PA ` γ. Då finns ett tal k sådant att PA ` P rf (k, γ), varför i så fall PA ` ∃yP rf (y, γ). Enligt (g) gäller därmed att PA ` ¬γ. Om PA är konsistent gäller alltså att PA 6` γ. Men, om PA är sann är därmed även γ sann och vi har konstruerat en sann sats som inte är bevisbar i PA. En analys av vilka egenskaper hos PA som används i detta resonemang ger följande resultat: Gödels första ofullständighetssats (1930): Antag att T är en sann, axiomatiserbar teori i första ordningens logik som omfattar PA. Då finns en sann talteoretisk sats som inte är bevisbar i T . I själva verket visade Gödel ett något starkare resultat än det vi formulerat ovan och 1936 förstärktes detta ytterligare av J. B. Rosser till Gödel-Rossers ofullständighetssats (1936): För varje konsistent, axiomatiserbar teori T i första ordningens logik som omfattar PA finns en sats % sådan att varken % eller ¬% är bevisbar i T . Bevisidé: (för PA) Låt, enligt fixpunktssatsen, % vara en sats sådan att PA ` % ↔ ∀z(P rf (z, %) → ∃y < zP rf (y, ¬%)). Antag nu att PA är konsistent och resonera enligt följande: Om % är bevisbar finns ett minsta bevis k för %. Eftersom PA är konsistent finns inget bevis mindre än k för ¬%. Därmed gäller att PA ` P rf (k, %) ∧ ∀y < k¬P rf (y, ¬%)), varför PA ` ¬%. Alltså är % inte bevisbar. Antag nu att ¬% är bevisbar. Då finns ett minsta bevis k för ¬%. Men, igen eftersom PA är konsistent, gäller därmed PA ` ∀z (z ≤ k → ¬P rf (z, %)) ∧ (z > k → ∃y < zP rf (y, ¬%)) . Men PA ` ∀z(z ≤ k ∨ z > k) varför PA ` ∀z(¬P rf (z, %) ∨ ∃y < zP rf (y, ¬%)), 9 Första ordningens teorier 119 dvs PA ` %, enligt konstruktionen av %. Alltså bevisar PA inte heller ¬%. Gödels andra ofullständighetssats I beviset för Gödels första ofullständighetssats visade vi att den sats γ som vi konstruerade är obevisbar om PA är konsistent. Att PA är konsistent kan uttryckas med en sats ConPA i det aritmetiska språket, exempelvis genom att låta ConPA vara satsen ¬∃zP rf (z, 0 = 1). Hela beviset för ofullständighetssatsen kan sedan med viss möda visas vara formaliserbart i PA, dvs PA ` ConPA → ¬∃zP rf (z, γ). Lägger vi nu märke till att andra ledet i denna implikation, enligt konstruktionen av γ är bevisbart ekvivalent med γ själv, får vi PA ` ConPA → γ. Av detta kan vi förstås dra slutsatsen att om PA är konsistent, så kan vi inte i PA bevisa att PA är konsistent. Vi har därför följande, något oförsiktigt formulerade, resultat. Gödels andra ofullständighetssats (1932): Om T är en konsistent, axiomatiserbar teori i första ordningens logik som omfattar PA, så gäller T 6` ConT . Speciellt verkar det alltså vara så att ett bevis för att exempelvis elementär talteori är konsistent med nödvändighet måste använda förutsättningar eller metoder som går utanför vad som kan formaliseras i PA. Avgörbarhet Med hjälp av fixpunktssatsen och representerbarhetslemmat är det inte svårt att, på samma sätt som ovan, visa att PA också är oavgörbar. Nu räcker det i själva verket med de första sju axiomen i PA för att bevisa såväl ofullständighet som oavgörbarhet. Om vi låter θ vara konjunktionen av dessa sju axiom, får vi alltså en sats för vilken det inte finns någon algoritm för att avgöra huruvida {θ} ` φ gäller för godtyckliga satser φ. Ett ekvivalent sätt att formulera detta är förstås att det inte finns någon algoritm för att avgöra huruvida satser på formen (θ → φ) 120 Första ordningens logik är logiska sanningar. Därmed kan vi dra slutsatsen att första ordningens logik är oavgörbar, dvs vi har bevisat Church-Turings sats. Begränsar vi lexikonet för PA dels genom att slopa multiplikation och dels genom att slopa addition får vi två teorier som är såväl fullständiga som avgörbara. Det verkar alltså inte vara en tillfällighet att öppna talteoretiska problem ofta uttrycker ett samband mellan just addition och multiplikation. Ett bra exempel på detta är Goldbachs hypotes: Varje jämnt tal större än 2 är summan av två primtal. Denna gissning härrör från mitten av 1700-talet och har i skrivande stund vare sig bevisats eller motbevisats. Den kan kanske till och med vara oavgörbar i PA, men är, vilket är långt ifrån självklart, i så fall sann. Övning 4.1: Låt N vara standardmodellen till PA, dvs den modell vars domän är de naturliga talen och i vilken de ickelogiska symbolerna ges sin naturliga tolkning. Låt vidare T h(N ) vara mängden av satser som är sanna i N . T h(N ) är alltså helt enkelt mängden av alla sanna talteoretiska satser. Visa att denna satsmängd, som teori betraktad, är fullständig men inte axiomatiserbar. Övning 4.2: Dedekind har visat att PA2 , dvs Peanos axiom formulerade i andra ordningens logik utgör en fullständig teori, dvs de logiska konsekvenserna av PA2 är precis alla talteoretiska sanningar. Visa med hjälp av detta att andra ordningens logik inte kan vara fullständig, dvs att det inte går att definiera ett fullständigt och sunt härledningssystem. *Övning 4.3: Utöka PA med ett axiom i L(Q0 ) som uttrycker att alla tal har ändligt många föregångare. Visa att den teori som uppstår är fullständig, dvs att den bevisar alla sanna talteoretiska satser. Drag sedan slutsatsen att L(Q0 ) inte är fullständig. *Övning 4.4: Låt IPA vara Peanos aritmetik men med intuitionistisk logik. Använd övning 8.5.2 för att visa att IPA är konsistent omm PA är konsistent. Detta bevis kan genomföras helt inom ramen för intuitionistisk logik. 10 Mängder Det intuitiva mängdbegreppet är oundgängligt i många filosofiska, semantiska, matematiska och inte minst logiska sammanhang. Vi talar i den här boken om satsmängder, domäner som icketomma mängder, funktioner som avbildar syntaktiska objekt på element i mängder, tolkningar av predikatsymboler som godtyckliga relationer och så vidare. Här skall vi mycket kort visa hur denna begreppsapparat kan definieras i termer av ett enda grundläggande begrepp ’mängd’ och presentera några av detta begrepps egenskaper. 10.1 Naiv mängdteori och Russells paradox Eftersom mängdbegreppet skall fungera som ett basalt begrepp i termer av vilket alla andra begrepp definieras, är det klart att vi inte kan definiera begreppet mängd i termer av något annat än mer grundläggande begrepp. I stället skall vi utgå från de intuitioner vi har och karaktärisera mängder som de objekt som uppfyller ett antal rimliga villkor eller principer. Inom den formella mängdteorin innebär detta att man formulerar ett antal grundläggande axiom i form av en teori i första ordningens logik, men här nöjer vi oss med att informellt beskriva några av de egenskaper mängder har. En första utgångspunkt är att mängder är samlingar av objekt. Vilka objekt vi än har, kan vi bilda den mängd som innehåller just de objekten. Denna mängd är då ett nytt abstrakt objekt. De ursprungliga objekten kallar vi element i den mängd vi bildar och vi säger att de tillhör mängden eller är element i mängden. Att a är ett element i X skriver vi a ∈ X, medan a ∈ / X utläses ’a är inte element i X’. Formellt 122 Första ordningens logik innehåller vårt mängdteoretiska språk bara en enda ickelogisk symbol, ∈, men vi kommer även att införa en hel del förenklande symbolspråk utan att varje gång bry oss om att strikt definiera detta i termer av bara ∈-symbolen. Exempel 1.1: Givet Pompe, Isaac Newton, det lutande tornet i Pisa och talet 27, kan vi bilda den mängd som har dessa fyra objekt som sina element, en mängd som vi betecknar {Pompe, Isaac Newton, det lutande tornet i Pisa, 27}. Vill vi säga att talet 27 tillhör denna mängd, skriver vi 27 ∈ {Pompe, Isaac Newton, det lutande tornet i Pisa, 27}. och vill vi säga att Saturnus inte är ett element i mängden skriver vi Saturnus ∈ / {Pompe, Isaac Newton, det lutande tornet i Pisa, 27}. Vi tar nu fasta på principer som verkar vara implicita i det vi redan har sagt. Den första är att en uppsättning objekt entydigt bestämmer en mängd. Mängder saknar alltså struktur och bestäms bara av vilka element de har. Två olika mängder måste alltså skilja sig åt genom att endera av dem har ett element som den andra saknar. Vi formulerar detta på följande sätt. Extensionalitetsprincipen: X=Y omm ∀x(x ∈ X ↔ x ∈ Y ). Enligt denna princip spelar det ingen roll hur, eller i vilken ordning, elementen i en mängd benämns. {Doctor Watson, Isaac Newton, 27} är alltså samma mängd som {33 , Sherlock Holmes gode vän, gravitationslagens upptäckare}. Den andra principen vi tar fasta på är att vi, givet en uppsättning objekt vilken som helst, kan bilda en mängd som innehåller dessa objekt. Ett sätt att formulera detta är följande. Abstraktionsprincipen: Givet ett villkor φ(x) kan vi bilda mängden av de objekt som satisfierar villkoret. Denna mängd betecknas {x : φ(x)}. 10 Mängder 123 Tanken här är att vi kan formulera villkor som ’x är randig och har långa öron’ och enligt abstraktionsprincipen bilda mängden av alla randiga föremål som har långa öron. Denna mängd betecknar vi med {x : x är randig och har långa öron}, och den har exempelvis zebror som element. Att den mängd som bestäms av ett visst villkor är unikt bestämd av detta villkor följer förstås av extensionalitetsprincipen. Övning 1.2: Vilka av följande satser är sanna? (a) 2 ∈ {2, 4, 6} (b) 2·3 ∈ {2, 4, 6} (c) 5 ∈ {2, 4, 6} (d) 6 − 4 ∈ {2, 4, 6} (e) {x : x är ett jämnt tal mellan 0 och 8} = {2, 4, 6} (f) {x : x är en fyrkantig cirkel} = {x : x 6= x} Övning 1.3: Visa med hjälp av extensionalitets- och abstraktionsprinciperna att det finns exakt en mängd som saknar element. Från extensionalitetsprincipen tillsammans med abstraktionsprincipen följer alla sanna påståenden om mängder, problemet är bara att även alla andra påståenden följer; principerna är nämligen tillsammans inkonsistenta. Sats 1.4: (Russells paradox) Abstraktionsprincipen implicerar en motsägelse. Bevis: Betrakta formeln x ∈ / x, dvs det villkor som uttrycker att x inte är ett element i sig själv. Enligt abstraktionsprincipen gäller då att R = {x : x ∈ / x} en mängd. Nu gäller följande ekvivalenser: R∈R omm R uppfyller villkoret ’x ∈ / x’ omm R∈ / R. Men R ∈ R omm R ∈ / R är en motsägelse. Det är tydligt att abstraktionsprincipen är en alltför liberal mängdbildningsprincip. Vi måste alltså på något sätt begränsa våra möjligheter att bilda mängder. Samtidigt får inte begränsningarna bli så stora att mängdbegreppet blir urvattnat och oanvändbart. Tanken är ju att alla strukturer skall kunna definieras som mängder, vilket förstås kräver ett rikt mängduniversum. I praktiken löser man detta genom att ersätta 124 Första ordningens logik abstraktionsprincipen med ett, i själva verket oändligt, antal axiom som dels styr hur mängder kan bildas och dels lägger restriktioner på elementrelationen. Den direkta motsvarigheten till abstraktionsprincipen är ett axiom som kallas delmängdsaxiomet och som säger följande: Delmängdsaxiomet Givet ett villkor φ(x) och en mängd Y , är {x : φ(x) ∧ x ∈Y} en mängd. Övning 1.5: Försök att genomföra resonemanget i Russells paradox med hjälp av delmängdsaxiomet. Drag slutsatsen att R inte är en mängd. Visa också att klassen av alla mängder inte är en mängd. Klasser som inte är mängder brukar kallas för äkta klasser. I det sista avsnittet nedan ger vi en mycket kort presentation av de övriga axiomen i mängdteorin. Men här nöjer vi oss med att intuitivt motivera existensen av de mängder vi inför och med intuitiva bevis för de påståenden vi gör om dessa. 10.2 Några grundläggande begrepp Vi inför nu ett antal begrepp som alla är direkt definierbara i termer av ∈-relationen. Till att börja med konstaterar vi att våra mängdbildningsprinciper tillåter att vi bildar mängder som saknar element. Exempelvis är {x : x 6= x} en mängd. Eftersom två mängder som saknar element måste vara lika, enligt extensionalitetsprincipen, finns det exakt en sådan mängd. Denna döper vi till den tomma mängden och betecknar den med ett norskt Ö: ∅. Definition 2.1: X är en delmängd till Y , X ⊆ Y , om alla element i X också är element i Y , dvs X⊆Y omm ∀z(z ∈ X → z ∈ Y ). Vidare är X en äkta delmängd till Y , X ⊂ Y , om X ⊆ Y och X 6= Y . Exempel 2.2: Den tomma mängden är en delmängd till alla mängder eftersom ∀z(z ∈ ∅ → z ∈ X) 10 Mängder 125 gäller för alla mängder X. Likaså gäller förstås att alla mängder är delmängder till sig själva. Ingen mängd är dock en äkta delmängd till sig själv och ∅ är en äkta delmängd till X omm X 6= ∅. Övning 2.3: Vilka av följande påståenden är sanna, för alla X, Y och Z? (a) (b) (c) (d) om X ⊆ Y och Y ⊆ Z så X ⊆ Z om X ⊆ Y och Y ⊆ X så X = Y X ⊆ Y eller Y ⊆ X om X ⊂ Y och Y ⊆ Z så X ⊂ Z Givet två mängder X och Y kan vi med delmängdsaxiomet bilda mängden av deras gemensamma element och vi kan också bilda den mängd vars element är elementen i X tillsammans med elementen i Y . Det senare följer inte av delmängdsaxiomet, utan är ett exempel på att abstraktionsprincipen behöver kompletteras med flera mängdbildningsprinciper, men detta bortser vi alltså från här. Definition 2.4: Snittet av X och Y , X ∩ Y , är {z : z ∈ X ∧ z ∈ Y }, medan unionen av X och Y , X ∪ Y , är {z : z ∈ X ∨ z ∈ Y }. Mängder vars snitt är tomt sägs vara disjunkta. Exempelvis gäller att {x : x har varit kung i Sverige} ∩ {x : x dog år 1718} = {Karl XII}, medan {x : 3 < x < 12} ∪ {x : 11 < x < 32} = {x : 3 < x < 32}. Observera att vi inte kan införa precis vilka operationer som helst på mängder. Exempelvis är det inte möjligt att definiera komplementet till en mängd X, {z : z ∈ / X}, eftersom unionen av en mängd och dess komplement i så fall skulle vara klassen av alla mängder, eller till och med klassen av alla objekt överhuvudtaget, vilket vi i övning 1.5 ovan konstaterat inte är en mängd. Övning 2.5: Visa med hjälp av delmängdsaxiomet att vi kan bilda komplementet av Y relativt X, X \ Y , som mängden av de element i X som inte är element i Y . Övning 2.6: Verifiera följande påstående för alla mängder X, Y och Z. (a) X ∪ Y = Y ∪ X (b) X ∩ Y = Y ∩ X 126 (c) (d) (e) (f) (g) (h) (i) (j) (k) Första ordningens logik X ∪X =X ∩X =X X ∪∅=X X ∩∅=∅ X ⊆X ∪Y X ∩Y ⊆X (X ∪ Y ) ∩ Z = (X ∩ Z) ∪ (Y ∩ Z) (X ∩ Y ) ∪ Z = (X ∪ Z) ∩ (Y ∪ Z) (X \ Y ) ∩ (Y \ X) = ∅ (X \ Y ) ∪ (Y \ X) = (X ∪ Y ) \ (X ∩ Y ) 10.3 Strukturerade mängder Inledningsvis hävdade vi, för att motivera extensionalitetsprincipen, att mängder saknar struktur. Vi skall nu visa hur man, trots detta, kan bilda strukturer i mängdteorin. Först inför vi begreppet ordnat par som spelar en central roll i definitionen av relationer och funktioner. När det gäller egenskaper, eller formler med en enda fri variabel, kan vi enkelt bilda mängden av de objekt som har egenskapen, eller mängden av de objekt som satisfierar formeln, men när det gäller flerställiga relationer eller formler med flera fria variabler, behöver vi använda oss av ordnade sekvenser, snarare än bara enstaka objekt. Exempelvis är det naturligt att säga att villkoret ’x är större än y’ satisfieras av det ordnade paret Jupiter och Venus, men inte av det ordnade paret Venus och Jupiter. Eftersom {Jupiter, Venus} = {Venus, Jupiter}, behöver vi konstruera en mer komplicerad mängd som dels bestämmer vilka de två komponenterna i paret är och dels bestämmer ordningen mellan dem. Vi vill alltså definiera mängder (a, b) sådana att (∗) (a, b) = (c, d) omm a = c och b = d. Detta kan göras på flera sätt, men den vanligaste definitionen är följande. Definition 3.1: Givet a och b låter vi det ordnade paret av a och b, (a, b) vara mängden {{a}, {a, b}}. Sats 3.2: Givet definitionen ovan gäller (∗). Bevis: Implikationen från höger till vänster är självklar, så antag att (a, b) = (c, d), dvs att {{a}, {a, b}} = {{c}, {c, d}}. Att dessa två mängder är lika implicerar, enligt extensionalitetsprincipen, att de har samma element, dvs att {a} = {c} och {a, b} = {c, d} 10 Mängder 127 eller att {a} = {c, d} och {a, b} = {c}. Men det förra fallet ger, igen enligt extensionalitetsprincipen, att a = c och b = d, medan det senare ger att a = c = d = b. I vilket fall gäller (∗) och påståendet är bevisat. Vi definierar nu tvåställiga relationer som mängder av ordnade par. Exempelvis kan vi låta relationen ’x föddes före y’ vara {(x, y) : x föddes före y} och konstatera att paret (Karl XII, Oscar II) är element i denna mängd medan paret (Oscar II, Karl XII) inte är det. Med hjälp av ordnade par är det sedan lätt att definiera godtyckligt långa ändliga sekvenser och, generellt, definiera begreppet ’relation’: Definition 3.3: Låt, för varje tal n > 2, den ordnade n-tipeln (x1 , . . . , xn ), vara det ordnade paret ((x1 , . . . , xn−1 ), xn ). Låt, vidare, en n-ställig relation vara en godtycklig mängd av ordnade n-tipler. Normalt brukar man skilja mellan en relation eller egenskap och dess extension, där extensionen till en n-ställig relation är mängden av de ntipler av objekt mellan vilka relationen råder. Exempelvis är egenskapen att vara ett udda tal mellan 40 och 44 inte samma egenskap som att vara ett primtal mellan 40 och 44, även om dessa egenskaper råkar ha samma extension och att vara Konstanze Webers förste make och att vara kompositör till operan Trollflöjten är inte heller samma egenskap, även om bådas extension är {Wolfgang Amadeus Mozart}. Här gör vi inte den skillnaden, utan identifierar egenskaper och relationer med sina extensioner, även om vi ibland använder begreppen med sin vanliga betydelse. Övning 3.4: Ange extensionen till följande relationer i termer av ordnade par, tripler, etc. (a) att vara vän med (b) att vara längre än (a) att ligga mellan (om t ex städer) (a) att ha samma föräldrar som (a) att vara lika lång som (om sträckor i planet som definieras av sina ändpunkter). Övning 3.5: (a) Vilken mängd är den ordnade tripeln (x, y, z)? (b) Visa med induktion att (x1 , . . . , xn ) = (y1 , . . . , yn ) omm xi = yi , för 1 ≤ i ≤ n. 128 Första ordningens logik Ibland vill vi kunna tala om en godtycklig relation mellan elementen i en mängd X eller en godtycklig relation mellan elementen i en mängd X och element i en mängd Y . Det är då praktiskt att införa beteckningar för mängden av alla n-tipler med komponenter ur X eller mängden av alla ordnade par med förstakomponent i X och andrakomponent i Y . Detta gör vi genom att definiera produkten mellan mängder: Definition 3.6: Givet två mängder X och Y är produkten av X och Y , X × Y , mängden av ordnade par med förstakomponent i X och andrakomponent i Y , dvs X × Y = {(x, y) : x ∈ X ∧ y ∈ Y }. Då gäller, för varje n, (. . . ((X1 ×X2 )×X3 )×. . .×Xn ) = {(x1 , . . . , xn ) : xi ∈ Xi för 1 ≤ i ≤ n}. Denna mängd betecknar vi X1 × X2 × X3 × . . . × Xn , utan parenteser och mängden X× . . . × X, med n stycken X, betecknar vi helt enkelt X n . Övning 3.7: Visa, som en illustration till påståendet ovan, att (X1 × X2 ) × X3 = {(x1 , x2 , x3 ) : xi ∈ Xi , för 1 ≤ i ≤ 3}. Definition 3.8: Om R är en tvåställig relation och (x, y) ∈ R implicerar att x ∈ X och y ∈ Y , säger vi att R är en relation från X till Y . Om R är en relation från X till Y är X ∪ Y relationens individområde. Ofta skriver vi xRy i stället för (x, y) ∈ R. Exempelvis är relationen ’x är son till y’ en relation från mängden av manliga personer till mängden av alla människor, medan relationen ’x är y meter lång’ är en relation från mängden av principiellt mätbara föremål till mängden av reella tal. Ofta förutsätter man implicit vilket individområde en relation har. Exempelvis har relationen x < y olika individområden beroende på om man talar om heltal, rationella tal eller reella tal, varför det här strängt taget handlar om tre olika relationer. Relationen ’x är y meter lång’ har egenskapen att relatera varje mätbart föremål till precis ett tal, föremålets längd. Sådana relationer kallas för funktioner: Definition 3.9: En enställig funktion från X till Y är en relation från X till Y sådan att det för varje x ∈ X finns precis ett y ∈ Y sådant att xRy. 10 Mängder 129 Om R är en funktion skriver vi R(x) = y i stället för xRy och säger att y är värdet eller bilden av x under R. Vi använder f , g och h, eventuellt med index, för att beteckna funktioner. Vi skriver f (x) = y i stället för xf y och att f är en funktion från X till Y skriver vi f : X → Y . X är då f :s domän medan {y : ∃x(f (x) = y)} är f :s värdeförråd. Om Y utgör hela värdeförrådet är f surjektiv eller på Y och f är injektiv eller en-entydig om olika objekt ur X avbildas på olika objekt i Y , dvs om f (x) 6= f (x0 ) närhelst x 6= x0 . Slutligen är en bijektion en funktion som är både surjektiv och injektiv. Exempel 3.10: Låt N = {0, 1, 2, . . .} och låt följande vara funktioner från N till N sådana att, för alla n ∈ N , gäller: f1 (n) = n + 1 1, om n är udda f2 (n) = n 2 , om n är jämnt f3 (n) = n f4 (n) = 0. Då är f1 injektiv men inte surjektiv, f2 är surjektiv men inte injektiv, f3 är bijektiv och f4 varken surjektiv eller injektiv. Exempel 3.11: Ibland är det praktiskt att använda sig av oändliga sekvenser (a0 , a1 , a2 , . . .) likväl som av ändliga. Exempelvis använde vi oss av sådana i definitionen av satisfiering. Dessa kan då definieras som funktioner från N = {0, 1, 2, . . .} till en mängd som inkluderar {a0 , a1 , a2 , . . .}: Den oändliga sekvensen (a0 , a1 , a2 , . . .) av element i X definieras som den funktion f : N → X för vilken f (n) = an , för alla n ∈ N . Det är då klart att (a0 , a1 , a2 , . . .) = (b0 , b1 , b2 , . . .) omm ai = bi för alla i ∈ N. Hittills har vi bara definierat enställiga funktioner, dvs funktioner som tar ett argument, men precis som dessa funktioner definieras som tvåställiga relationer, kan n-ställiga funktioner definieras som n + 1-ställiga relationer. Definition 3.12: En n-ställig funktion från X till Y är en delmängd R till X n × Y sådan att det för alla (x1 , . . . , xn ) ∈ X n finns precis ett 130 Första ordningens logik y ∈ Y sådant att (x1 , . . . , xn , y) ∈ R. Domän, värdeförråd etc definieras på samma sätt som för enställiga funktioner. *Övning 3.13: Låt X Y beteckna mängden av funktioner från Y till X (Observera ordningen!) och antag att X är en ändlig mängd med n element och Y är en ändlig mängd med m element. Visa att X × Y har n · m element och att X Y har nm element. Visa speciellt att ∅Y = ∅ om Y 6= ∅ och att ∅X = {∅}, om X 6= ∅. Vad gäller om X = Y = ∅? 10.4 Binära relationer Tvåställiga relationer, eller binära relationer som de ofta kallas, spelar en central roll i många sammanhang. Exempelvis är den vanliga <ordningen mellan tal, en binär relation, liksom relationerna ’härledbarhet’, ’logisk konsekvens’ och ’sanning’. Även elementrelationen och delmängdsrelationen är exempel på binära relationer. Vi räknar nu upp ett antal egenskaper hos binära relationer i vars termer vi sedan skall klassificera några intressanta typer av relationer. Alla relationer i detta avsnittet antas vara binära relationer från X till X. Alla kvantifikatoruttryck ’för alla x . . . ’ etc skall alltså tolkas som ’för alla x ∈ X . . . ’ etc. För enkelhetens skull formulerar vi oss i första ordningens logik. Reflexivitet R är reflexiv om ∀xR(x, x) R är irreflexiv om ∀x¬R(x, x) Exempel 4.1: Relationen ’x är lika gammal som y’ är reflexiv medan ’x är barn till y’ är irreflexiv och ’x är nöjd med y’ varken är reflexiv eller irreflexiv. Symmetri R är symmetrisk om ∀x∀y(R(x, y) → R(y, x)) R är asymmetrisk om ∀x∀y(R(x, y) → ¬R(y, x)) R är antisymmetrisk om ∀x∀y(R(x, y) ∧ R(y, x) → x = y)) Exempel 4.2: Relationen ’x är syskon till y’ är symmetrisk, ’x är barn till y’ är asymmetrisk, ’x ≤ y’ är antisymmetrisk. ’x har hört talas om y’ har ingen av de tre egenskaperna. 10 Mängder 131 Transitivitet R är transitiv om ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)) R är intransitiv om ∀x∀y∀z(R(x, y) ∧ R(y, z) → ¬R(x, z)) Exempel 4.3: Relationen ’x och y är båda delbara med 7’ är transitiv medan ’y = x + 1’ är intransitiv och ’x och y har en gemensam bekant’ varken är transitiv eller intransitiv. Tre typer av binära relationer är särskilt viktiga att känna till: Definition 4.4: R är en ekvivalensrelation om R är reflexiv, symmetrisk och transitiv, R är en sträng ordningsrelation om R är irreflexiv och transitiv och R är en ordningsrelation om R är reflexiv, antisymmetrisk och transitiv. Om xRy eller yRx gäller närhelst x 6= y, så är R total annars är R partiell. Exempel 4.5: Relationerna ’x är längre än y’, ’x är tyngre än y’, ’x är varmare än y’, ’x är snällare än y’, x < y, x ⊂ y är exempel på stränga ordningsrelationer, medan ’x är minst lika lång som y’, ’x är minst lika tung som y’, ’x är minst lika varm som y’, ’x är minst lika snäll som y’, x ≤ y och x ⊆ y är exempel på ordningsrelationer. Av dessa är, med naturligt valda individområden, bara x < y och x ≤ y totala. Övning 4.6: (a) Ge egna exempel på olika typer av relationer och bestäm vilka egenskaper de har. (b) Visa att en ordningsrelation R är total omm ∀x∀y(R(x, y)∨R(y, x)). (c) Visa att om R är en sträng ordningsrelation så är R(x, y) ∨ x = y en ordningsrelation. (d) Visa att om R är en ordningsrelation så är R(x, y) ∧ x 6= y en sträng ordningsrelation. Exempel 4.7: Följande relationer är ekvivalensrelationer: x är lika lång som y’, ’x är lika tung som y’, ’x är lika varm som y’, ’x är lika snäll som y’, x = y, ’x har samma föräldrar som y’, ’x och y är delbara med 7’, ’x och y har lika många element’. Övning 4.8: (a) Visa att om R är en ordningsrelation så är R(x, y) ∧ R(y, x) en ekvivalensrelation. (b) Antag att vi har en mängd {P1 , . . . , Pn } av egenskaper. Låt xRy betyda att x och y är lika med avseende på alla egenskaperna, dvs att Pi (x) ↔ Pi (y) gäller för alla i. Visa att R är en ekvivalensrelation. 132 Första ordningens logik Varje ekvivalensrelation delar in sitt individområde i disjunkta så kallade ekvivalensklasser på ett naturligt sätt. Antag nämligen att vi har en ekvivalensrelation R på en mängd X. För varje x ∈ X låter vi ekvivalensklassen för x, cx vara {y : xRy}. Eftersom R är reflexiv gäller x ∈ cx , varför varje ekvivalensklass är icketom. Det är nu inte svårt att visa att två olika ekvivalensklasser måste vara disjunkta. Mängden av ekvivalensklasser utgör alltså en partition av X, dvs de är icketomma, parvis disjunkta och deras union utgör hela X. Exempelvis har identitetsrelationen alla enhetsmängder {x}, för x ∈ X som sina ekvivalensklasser medan den totala relationen har X som sin enda ekvivalensklass. Exempel 4.9: Låt T vara en teori i första ordningens logik, dvs T är helt enkelt en mängd av satser. För alla satser φ, ψ i T :s språk låter vi φ ≤ ψ betyda att T ` φ → ψ. Då är ≤ en partiell ordning. Låt nu φ ≡ ψ vara relationen φ ≤ ψ ∧ψ ≤ φ. Då är ≡ en ekvivalensrelation med ekvivalensklasser cφ = {ψ : T ` φ ↔ ψ}. Denna relation ”identifierar” alltså de satser som är bevisbart ekvivalenta i T . Vi kan nu definiera en ny ordning mellan ekvivalensklasser med hjälp av den vi införde mellan satser: cφ ≤ cψ omm φ ≤ ψ. Observera att detta är en korrekt definition eftersom alla element inom varje klass är ekvivalenta. Den nya ≤-relationen blir igen en partiell ordning och självklart kommer det att finnas ett största element c1 = {φ : T ` φ} och ett minsta element c0 = {φ : T ` ¬φ}. Låter vi CT vara mängden av ekvivalensklasser kan vi undersöka hur denna struktur beror av T och hoppas att egenskaper hos T avspeglar sig i egenskaper hos CT . Exempelvis gäller att T är fullständig omm CT = {c0 , c1 } och att T är konsistent omm c0 6= c1 . Övning 4.10: Låt CT definieras som i exemplet ovan. Visa att, om c, d ∈ CT så har c och d en största undre begränsning och en minsta övre begränsning, dvs det finns e, e0 ∈ CT sådana att e ≤ c ∧ e ≤ d ∧ ∀x(x ≤ c ∧ x ≤ d → x ≤ e) c ≤ e0 ∧ d ≤ e0 ∧ ∀x(c ≤ x ∧ d ≤ x → e0 ≤ x). Den största undre begränsningen av c och d är unik och brukar betecknas c ∩ d, medan den minsta övre begränsningen, som också är unik, betecknas c ∪ d. Visa också att varje c ∈ CT har ett komplement, dvs att det, för varje c ∈ CT finns c−1 ∈ CT sådant att c ∩ c−1 = c0 och c ∪ c−1 = c1 . En struktur med sådana operationer ∩, ∪ och komplement kallas för en boolesk algebra och CT kallas för lindenbaumalgebran för T . 10 Mängder 133 10.5 Om oändliga mängder Var och en vet vad det betyder att två ändliga mängder har lika många element. Låt oss nu betrakta två oändliga mängder, mängden N = {0, 1, 2, 3, . . .} av naturliga tal och mängden J = {0, 2, 4, . . .} av jämna tal. Har N och J lika många element? Ett naturligt svar är Nej! J uppstår genom att vi tar bort vartannat element ur N . Alltså har N dubbelt så många element som J och har därmed fler element än J. Ett annat naturligt svar är Ja! Om vi ställer upp elementen i N och J parvis på följande sätt 0 0 1 2 2 4 .. . .. . så ser vi att det mot varje element i den ena mängden svarar ett element i den andra mängden. Därför kan ingen av mängderna ha fler element än den andra och de har alltså lika många element. Detta förefaller så förbryllande att man länge trodde att det skulle leda till motsägelser att definiera relationerna ’x har lika många element som y’ och ’x har fler element än y’ för oändliga mängder. Omkring 1870 visade dock Georg Cantor, tysk matematiker vid universitetet i Halle, att det finns ett enkelt och naturligt sätt att göra detta. Cantor skapade därmed en helt ny gren av matematiken, mängdteorin. Idén är att ta fasta på det andra resonemanget ovan. Vi skall sedan se precis var felet ligger i det första. Att ’para ihop’ elementen i en mängd X med elementen i en mängd Y innebär, i termer av funktioner, att det finns en en-entydig funktion från X på Y . Vi gör därför följande definition. Definition 5.1: Två mängder X och Y är liktaliga om det finns en bijektion från den ena på den andra. Observera att om f : X → Y är en bijektion, så är g : Y → X också en bijektion, där g(y) är det unika x för vilket f (x) = y. g brukar kallas 134 Första ordningens logik för inversen till y och betecknas f−1 . Cantors idé bygger på intuitionen att om vi successivt byter ut elementen i en mängd mot andra objekt, så ändras inte antalet element i mängden och existensen av en bijektion f från X till Y svarar mot att vi successivt kan byta ut varje x ∈ X mot f (x) för att till slut erhålla mängden Y . Övning 5.2: Visa att relationen ’x är liktalig med y’ är en ekvivalensrelation. Visa också att alla liktaliga, ändliga mängder har lika många element. Mängder som, liksom J ovan, är liktaliga med N kallar vi uppräkneliga. Att en mängd X är uppräknelig innebär alltså att det finns en bijektion f från N på X, dvs att X = {f (0), f (1), f (2), . . .}. f sägs då vara en uppräkning av X. Frågan är nu om alla oändliga mängder är uppräkneliga. Innan vi besvarar den, skall vi ge ytterligare några exempel på uppräkneliga mängder. Exempel 5.3: Mängden av satser på svenska är uppräknelig. För att se det kan vi först räkna upp alla symboler, inklusive mellanslag, kommatecken, citattecken etc, som får förekomma i en svensk sats i ”bokstavsordning” : A, B, C, . . . , Ö, a, b, c, . . . , ö, ’, , , !, ?, . . . . Vilken ordning vi bestämmer oss för här, spelar ingen som helst roll. Sedan gör vi en lista med alla satser som innehåller en symbol, en lista som gissningsvis blir tom, därefter en lista med alla satser som bara innehåller två symboler, som säkert också blir tom, osv. Vi får då en sekvens av listor med satser enligt: φ00 φ01 φ02 φ03 ... φ10 φ11 φ12 φ13 ... φ20 φ21 φ22 φ23 ... φ30 φ31 φ32 φ33 ... .. . .. . .. . .. . .. . Vi kan sedan räkna upp alla satser genom att exempelvis börja uppe i vänstra hörnet och successivt följa diagonalerna från vänster till höger: φ00 , φ10 , φ01 , φ20 , φ11 , φ02 , φ30 , φ21 , φ12 , ... . 10 Mängder 135 Exempel 5.4: Mängden av alla positiva och negativa heltal är uppräknelig. En uppräkning ges av f (n) = m, om n = 2m . −m, om n = 2m + 1 Men även mängden av alla rationella tal är uppräknelig. Exempelvis kan en uppräkning av de ickenegativa rationella talen åstadkommas på samma sätt som i det förra exemplet genom att utgå från oändligt många listor: 0 1 1 1 2 1 3 1 4 1 5 1 6 1 ... 1 2 3 2 5 2 7 2 9 2 11 2 13 2 ... 1 3 4 3 5 3 7 3 8 3 10 3 11 3 ... 1 4 3 4 5 4 7 4 9 4 11 4 13 4 .. . .. . .. . .. . .. . .. . .. . ... .. . Här består alltså varje rad av en uppräkning av de rationella tal med en viss nämnare som inte förekommer på tidigare rader. En uppräkning av alla bråk ges då av 0, 1 , 2 1, 1 , 3 3 , 2 2, 1 , 4 4 , 3 5 , 2 3, 1 , 5 ... . Den roade läsaren kan själv definiera den funktion som generar listan. Övning 5.5: (a) Givet att f är en uppräkning av de ickenegativa rationella talen, definiera en uppräkning av alla rationella tal. (b) Antag att X och Y är uppräkneliga. Visa att X ∪ Y och X × Y är uppräkneliga. En gissning kunde nu vara att alla oändliga mängder är uppräkneliga. Så är emellertid inte fallet: Låt X vara mängden av alla reella tal mellan 0 och 1, dvs mängden av alla decimaltal på formen 0,71828. . . , 0,141592. . . , 0,414213. . . , 0,6180. . . , 0,57721. . . , 0,167339 , 0,5 osv. Vi bevisar att X inte är uppräknelig. Antag motsatsen. Då finns en uppräkning f av X, dvs 136 Första ordningens logik X = {f (0), f (1), . . .}. För varje k är alltså f (k) ett tal på formen 0,ak0 ak1 ak2 ak3 ak4 ak5 . . . : f (0) = 0, a00 a01 a02 a03 a04 . . . f (1) = 0, a10 a11 a12 a13 a14 . . . f (2) = 0, a20 a21 a22 a23 a24 . . . f (3) = 0, a30 a31 a32 a33 a34 . . . .. . Nu konstruerar vi ett tal b = 0, b0 b1 b2 b3 b4 . . . som inte finns med i listan ovan, dvs ett tal som är element i X, men som inte är med i värdeförrådet till f . Betrakta först a00 . Detta är ett av talen 0 till och med 9. Låt b0 vara ett tal mellan 0 och 9 som skiljer sig från a00 . Betrakta sedan a11 och låt b1 skilja sig från detta. Fortsätt sedan på samma sätt genom hela ”diagonalen”. För att vara specifika, kan vi, för alla k, låta bk = 7, om akk ∈ {0, 1, 2, 3, 4} 2, om akk ∈ {5, 6, 7, 8, 9}. För varje k gäller då att b skiljer sig från f (k) i den k:te decimalen, i själva verket gäller b − f (k) > 10−(k+1) , varför b inte finns med i värdeförrådet till f . Men detta motsäger att f är surjektiv och påståendet är bevisat. Oändliga mängder som inte är uppräkneliga brukar kallas för överuppräkneliga. Helst skulle vi nu vilja kunna säga att X ovan har fler element än N . Det är ju klart att den intuitivt har minst lika många element som N eftersom den exempelvis innehåller de uppräkneligt många talen 0, 0, 1, 0, 01, 0, 001, 0, 0001, 0, 00001, 0, 00001, . . . . För ändliga mängder gäller att X har fler element än Y om X är liktalig med en äkta delmängd till Y , men detta gäller inte för oändliga mängder. Exempelvis är ju N liktalig med J. Den korrekta definitionen är i stället följande. Definition 5.6: Y har fler element än X om det finns en en-entydig funktion från X till Y , men inte från Y till X. 10 Mängder 137 Exempel 5.7: Mängden X av reella tal mellan 0 och 1 har fler element än N : f (n) = 10−n är en en-entydig funktion från N till X. Att det inte finns någon en-entydig funktion från X till N bevisas med precis samma argument som ovan. Cantor bevisade, med väsentligen samma argument som ovan, att det för varje mängd X finns en mängd Y med strikt fler element än X. Y kan i själva verket väljas som potensmängden till X, dvs mängden av alla delmängder till X. Han visade också hur man kan definiera oändliga antal, så kallade kardinaltal och hur man kan definiera de vanliga räkneoperationerna för dessa. För att beteckna oändliga kardinaltal använde han den första bokstaven i det hebreiska alfabetet, ℵ som utäses ’alef’, med index. Det första oändliga kardinaltalet är således ℵ0 , nästa är ℵ1 osv. Observera att det inte bara är naturliga tal som här kan förekomma som index, då det finns betydligt fler än bara uppräkneligt många oändliga kardinaltal. Det är till och med så att antalet oändliga kardinaltal är större än varje kardinaltal. Klassen av kardinaltal är alltså inte en mängd! Cantor visade också att antalet reella tal, liksom antalet reella tal mellan 0 och 1, är 2ℵ0 , men han lyckades inte avgöra vilket index detta tal har som ℵ-tal betraktat. Han kunde visa att 2κ > κ, för alla oändliga kardinaltal κ och gissade, på ganska goda grunder, att 2ℵ0 = ℵ1 . Detta påstående går under namnet kontinuumhypotesen. 1938 bevisade Kurt Gödel att kontinuumhypotesen inte går att motbevisa i den vanliga mängdteorin och 1963 visade Paul Cohen att den inte heller går att bevisa. Än idag finns det inte något allmänt accepterat förslag på mängdteoretiska axiom som avgör kontinuumhypotesen. Låt oss avslutningsvis kasta en blick på vårt inledande argument för att N och J är olika stora. Vi vet nu att både N och J har precis ℵ0 element. Vi vet också att det går alldeles utmärkt att räkna med oändliga kardinaltal, precis som med vanliga heltal. Argumentet visar också att N har såväl 2 · ℵ0 som ℵ0 många element, men detta leder inte till en motsägelse; det råkar nämligen vara så att 2 · ℵ0 = ℵ0 . Att det går att räkna med oändliga antal, innebär nämligen inte att de vanliga räknelagarna gäller. För kardinaltal κ och λ, sådana att minst ett av dem är oändligt, gäller i stället att κ + λ = κ · λ = max{κ, λ}. 138 Första ordningens logik 10.6 Mängdteorin som teori Strax efter sekelskiftet 1900 började flera matematiker och filosofer ta de motsägelser man hade upptäckt inom Cantors mängdteori på allvar. Man insåg då att mängdteorin måste formaliseras om den skulle utgöra en grund för matematisk begreppsbildning, som en teori vilken, förhoppningsvis, kunde bevisas vara konsistent. Grunden till en sådan formalisering lades av Ernst Zermelo, Thoralf Skolem och Abraham Fraenkel. Resultatet blev den axiomatisering av mängdteorin som idag, tyvärr orättvist mot Skolem, går under benämningen Zermelo-Fraenkels mängdteori, ZF . Här ger vi en mycket kort presentation av axiomen i ZF , följd av några allmänna kommentarer. De första axiomen har vi redan stött på, nämligen extensionalitetsaxiomet och delmängdsaxiomet : ∀x∀y(x = y ↔ ∀z(z ∈ x ↔ z ∈ y)) ∀x∃y∀z(z ∈ y ↔ z ∈ x ∧ φ(z)), där φ är en godtycklig formel i det mängdteoretiska språket. Delmängdsaxiomet är alltså egentligen ett axiomschema som utgörs av oändligt många axiom. Som vanligt betecknar vi den mängd som sägs existera i det senare axiomet {z : z ∈ x ∧ φ(z)}. Men vi behöver fler mängdbildningsprinciper och de enklaste av dessa är paraxiomet ∀x∀y∃z∀u(u ∈ z ↔ u = x ∨ u = y), som tillåter oss att bilda mängden {x, y} om x och y är givna, och unionaxiomet ∀x∃y∀z(z ∈ y ↔ ∃u(u ∈ x ∧ z ∈ u)). Unionaxiomet tillåter oss att, givet en mängd x av mängder bilda unionen av alla mängderna i x. Speciellt kan vi bilda unionen av {x, y}, dvs den mängd vi tidigare har betecknat med x ∪ y. Potensmängdsaxiomet är ytterligare en grundläggande mängdbildningsprincip och uttrycker att vi, givet en mängd x, kan bilda mängden av alla delmängder till x. Denna mängd benämns potensmängden till x och betecknas P(x). I formuleringen använder vi delmängdsrelationen som en förkortning: ∀x∃y∀z(z ∈ y ↔ z ⊆ x). 10 Mängder 139 Exempel 6.1: Av de axiom vi hittills har infört följer det att X×Y är en mängd, för alla mängder X och Y . Antag nämligen att X och Y är två givna mängder. Om x ∈ X så gäller förstås att {x} ⊆ X, dvs att {x} ∈ P(X). Om dessutom y ∈ Y , så {x, y} ⊆ X ∪ Y , varför {x, y} ∈ P(X ∪Y ). Men P(X) ⊆ P(X ∪Y ), så {{x}, {x, y}} ⊆ P(X ∪Y ), dvs {{x}, {x, y}} ∈ P(P(X ∪ Y )). Nu drar vi oss till minnes att det ordnade paret (x, y) är just mängden {{x}, {x, y}} och, med införande av förkortningar får vi med delmängdsaxiomet att X × Y = {z : ∃x∃y(x ∈ X ∧ y ∈ Y ∧ z = (x, y)) ∧ z ∈ P(P(X ∪ Y ))}. Övning 6.2: Tänk igenom precis vilka axiom som används var i exemplet ovan. Av de axiom vi infört så här långt följer bara existensen av ändliga mängder. Vi inför därför oändlighetsaxiomet: ∃x(∅ ∈ x ∧ ∀y(y ∈ x → {y} ∈ x). Idén här är förstås att den mängd x som sägs existera innehåller de oändligt många mängderna ∅, {∅}, {{∅}}, {{{∅}}}, {{{{∅}}}}, . . . som element. Problemet är bara att det inte generellt följer av de axiom vi hittills har infört att x 6= {x}. För att garantera detta behöver vi alltså ytterligare ett axiom, regularitetsaxiomet : ∀x(x 6= ∅ → ∃y(y ∈ x ∧ x ∩ y = ∅)). Detta axiom garanterar, tillsammans med mycket annat, att x 6= {x}, för alla mängder x, ty antag motsatsen, dvs antag att det finns en mängd, a, sådan att a = {a}. Eftersom {a} är icketom, finns då ett element y ∈ {a} sådant att y ∩ {a} = ∅. Men det enda elementet i {a} är a och a ∈ a ∩ {a}. Regularitetsaxiomet garanterar alltså att alla mängderna i uppräkningen ovan är olika, varför oändlighetsaxiomet verkligen garanterar att det finns en oändlig mängd. Detta kan i sin tur användas för att visa att exempelvis klassen av naturliga tal, {0, 1, 2, . . .}, är en mängd, där de naturliga talen själva ges en rent mängdteoretisk definition. Denna definition är normalt något annorlunda mot den som Zermelo själv använde 140 Första ordningens logik sig av, vilket gör att oändlighetsaxiomet ofta ges en annan, men snarlik formulering mot den vi har använt här. Det går nu att visa att en stor del av matematiken, exempelvis talteori och stora delar av teorin för reella och komplexa tal, funktioner på dessa mängder etc, går att formalisera i mängdteorin. För vissa delar av matematiken, exempelvis teorin för oändliga kardinaltal, delar av toplologin och generell algebra, behövs dock ytterligare två axiom. Det första av dessa, substitutionsaxiomet , är Fraenkels bidrag till axiomatiseringen: ∀x∃!yφ(x, y) → ∀u∃z∀x(x ∈ u → ∃y(y ∈ z ∧ φ(x, y)). Detta innebär att om φ(x, y) uttrycker ett funktionellt förhållande, så är bilden av en mängd alltid en mängd. Axiomet behövs för att garantera existensen av exempelvis kardinaltal som är större än ℵ0 . Det andra axiomet, urvalsaxiomet , garanterar, bland mycket annat, att alla mängder är liktaliga med något kardinaltal och spelar en väsentlig roll i flera matematiska sammanhang där man studerar oändliga mängder eller klasser av algebraiska strukturer. Här är det enklast att formulera axiomet på ”svenska”: För varje mängd x av icketomma mängder, finns en funktion f som plockar ut precis ett element ur varje mängd i x. För varje y ∈ x gäller alltså att f (y) ∈ y. Urvalsaxiomet var kontroversiellt när det användes av Zermelo och andra i början av 1900-talet, främst på grund av sin ickekonstruktiva karaktär. Även om det går att förstå vad det innebär att välja ur en ändlig mängd eller ur en ordnad mängd, verkar det betydligt svårare att förstå vad det innebär att simultant göra oändligt många val utan att ens ha en regel att följa. Urvalsaxiomet visade sig också ha oväntade följder inom matematiken. Ofta utelämnar man därför urvalsaxiomet ur ZF och anger explicit när det skall ingå. Mängdteorin med urvalsaxiomet benämns då ZFC, där C står för ’choice’. Utelämnar man även substitutionsaxiomet får man Zermelos mängdteori, Z, eller ZC, om man tar med urvalsaxiomet. Som vi har påpekat är det nu fullt möjligt att bedriva matematik inom ramen för ZFC och i själva verket räcker det oftast med ZC. Men vet vi att dessa teorier är konsistenta? Enligt Gödels andra ofullständighetssats, som vi redogjorde för i avsnitt 9.4, går det inte i ZF , och därmed inte heller i någon svagare teori än ZF , som t ex Peanos aritmetik PA, att bevisa att ZF är konsistent. Eftersom mängdteorin samtidigt är den 10 Mängder 141 mest grundläggande teori vi har, verkar vi därmed få nöja oss med intuitiva argument för mängdteorins konsistens och sådana finns också. Vi kan även bevisa den relativa konsistensen mellan olika teorier. Exempelvis bevisade Gödel 1938 att om ZF är konsistent så är ZFC konsistent, ett bevis som i sin tur kan formaliseras redan i PA. Detsamma gäller Cohens bevis från 1963 för att om ZF är konsistent så är ZF + ¬AC konsistent. Vidare kan vi i ZF bevisa att Z är konsistent och att varje ändlig delteori till ZF är konsistent. Man har också en relativt god förståelse för hur modellerna till ZFC kan se ut och, utan överdrift, kan man hävda att det idag råder konsensus om att Zermelo-Fraenkels mängdteori är konsistent. Men, som sagt, något formellt bevis för detta verkar inte vara möjligt att åstadkomma. 142 Första ordningens logik Tips och lösningar Här följer tips och lösningsförslag till flertalet av övningarna i boken. Kapitlet bör dock inte betraktas som ett facit i egentlig mening, utan snarare som ett stöd. Till många av övningarna finns flera korrekta lösningar och mina lösningsförslag kan alltså mycket väl skilja sig från andra, lika korrekta, lösningar. 2.1.3 (a) Ett lämpligt lexikon kanske innehåller symboler för ’syskon till’, ’mor till’, ’far till’ och ’barn till’ i form av tvåställiga predikatsymboler P02 , P12 , P22 , P32 , och individkonstanter som namn på dig och dina närmaste släktingar. √ (b) Exempelvis L = {0, 1, +, −, ·, <, }. 2.3.1 (a) Ingetdera: index saknas (b) Ingetdera: fel ställighet (c) L-formel (d) L-term (e) L-formel (f) Ingetdera: P33 finns inte i L (g) L-formel (h) Ingetdera: term efter implikationspilen 2.3.2 Individvariablerna är L-termer och varje L-formel är uppbyggd med hjälp av logiska symboler från identitetsuttryck på formen xi = xj . 2.3.3 (a) Implikationen från vänster till höger följer direkt av definitionen av L-formel. Antag så, för att visa implikationen från höger till vänster, att L 6⊆ L0 . Då finns en symbol s i L som inte är element i L0 . Om s är en individkonstant är s = s en L-formel som inte är en L0 -formel. Om s är en n-ställig predikatsymbol är s(x1 , . . . , xn ) en sådan formel och 144 Första ordningens logik om s är en n-ställig funktionssymbol är s(x1 , . . . , xn ) = s(x1 , . . . , xn ) en sådan formel. (b) Antag att φ ∈ F mlL ∪ F mlL0 . Då gäller φ ∈ F mlL eller φ ∈ F mlL0 , men i vilket fall gäller φ ∈ F mlL∪L0 . (c) Analogt med (b). (d) Likhet råder omm L ⊆ L0 eller L0 ⊆ L. 2.3.4 Vi nöjer oss med några kommentarer vad gäller (a). Låt T vara en hjälpsymbol. Vi inför, för varje n-ställig funktionssymbol f en regel T T f (T,...,T ) och för varje individkonstant c en regel c . När det gäller variablerna får vi först generera alla index kontextfritt med regler av typen I1 , I I V V . . . I9 , I0 , . . . , I9 och sedan generera variablerna med x0 och xI och komT plettera termerna med V . Här är förstås I och V också hjälpsymboler. Varje variabel xi ersätts alltså med en sekvens xi. Gillar man inte det får man nöja sig med ett ändligt antal variabler, vilket inte är helt lyckat, eller med en grammatik som inte är kontextfri. 3.1.1 (a) A (b) P (c0 ) eller möjligen R(c0 , c1 , c2 ) (c) R(c, d) (d) A eller, med en kvantifikator, ¬∃xR(x, d) (e) P (c), där c betecknar Pompe (f) R(c, d, e) (g) R(c, d) 3.2.1 Eller, inte och och 3.2.3 (a) ¬A3 (b) ¬P (c) eller, med en kvantifikator, ∀x(H(x) → ¬R(c, x)) (c) ¬P (d) eller kanske ¬S(c, d) (d) ¬P (c) (e) Q(c0 ) eller kanske ¬P (c0 ) 3.2.4 De har samma sanningsvärde. 3.2.6 (a) H(3) ∧ H(5) (b) A eller f (c, d) = e (c) P (c) ∧ P (d) Tips och lösningar 145 (d) P (c5 ) ∧ ¬P (c4 ) (e) Q(c, ö) ∧ R(c,å) 3.2.7 R(c, d) 3.2.8 Kanske inte. 3.2.9 ’Antingen A eller B’ kan formaliseras (A ∨ B) ∧ ¬(A ∧ B). 3.2.10 (a) P (b) ∨ Q(b) (b) A ∨ B (c) (A ∨ B) ∧ ¬(A ∧ B) (d) A ∨ (B ∧ C) eller (A ∨ B) ∧ C (e) (A ∨ B) ∧ C 3.2.12 (a) A → B (b) A → B, med A och B som i (a)! (c) (A ∨ B) → C (d) ¬A → ¬B 3.2.13 (a) S → M (b) P (5) ↔ A (c) (H → T (d)) ∧ (¬H → B(d)) (d) (¬S ∧ H(c)) → ¬T (d) (e) A ↔ B (f) A → (B ↔ C) 3.3.5 (a) ∃x(P (x) ∧ R(x)) (b) ∀x(P (x) → (R(x) ∨ Q(x))) (c) ¬∃x(P (x) ∧ S(x)) eller ∀x(P (x) → ¬S(x)) (d) ∀x(K(x) → T (a, x)) eller kanske ∀x(K(x) → ¬T (a, x)) 3.3.7 ∀x ∃y(x = y + y) → ∃y∃z x = y + z ∧ y 6= y · y ∧ z 6= z · z∧ ∀x0 ∀x1 (y = x0 · x1 → (x0 = y ∨ x1 = y))∧ ∀x0 ∀x1 (z = x0 · x1 → (x0 = z ∨ x1 = z)) Observera att det räcker med de två funktionssymbolerna. 3.3.9 Adjektiv kan fungera på olika sätt. Här modifierar ’bra’ substantivet ’lärare’, medan ’röd’, precis som ’bil’ prediceras om objektet. Ett 146 Första ordningens logik rött objekt som är en bil är detsamma som en bil som är röd, medan en bra lärare inte är detsamma som ett bra objekt som är lärare. 3.4.3 ∀x1 . . . ∀xk+1 (φ(x1 ) ∧ . . . ∧ φ(xk+1 ) → (x1 = x2 ∨ . . . ∨ xk = xk+1 )) 3.4.4 (a) ∃x1 ∃x2 (P (x1 ) ∧ P (x2 ) ∧ x1 6= x2 ∧ ∀y(P (y) → y = x1 ∨ y = x2 )) (b) ¬∃x1 ∃x2 ∃x3 (P (x1 ) ∧ P (x2 ) ∧ P (x3 )∧ x1 6= x2 ∧ x1 6= x3 ∧ x2 6= x3 )) (c) ¬∃x1 ∃x2 ∃x3 (P (x1 ) ∧ P (x2 ) ∧ P (x3 ) ∧ x1 6= x2 ∧ x2 6= x3 ∧ x1 6= x3 ∧ ∀y(P (y) → y = x1 ∨ y = x2 ∨ y = x3 )) (d) ∃x H(x)∧ ∃y1 ∃y2 (B(y1 ) ∧ B(y2 ) ∧ R(x, y1 ) ∧ R(x, y2 ) ∧ y1 6= y2 )∧ ∀z(H(z) ∧ ∃y1 ∃y2 (B(y1 ) ∧ B(y2 ) ∧ R(z, y1 ) ∧ R(z, y2 ) ∧ y1 6= y2 ) → z = x) (e) ∃x H(x) ∧ ∃y1 ∃y2 ∃y3 (B(y1 ) ∧ B(y2 ) ∧ B(y3 ) ∧ R(x, y1 )∧ R(x, y2 ) ∧ R(x, y3 ) ∧ y1 6= y2 ∧ y2 6= y3 ∧ y1 6= y3∧ ∀z(B(z) ∧ R(x, z) → z = y1 ∨ z = y2 ∨ z = y3 )) (f) Lycka till! 3.4.5 I formeln är symbolen ’<’ en ickelogisk symbol och kan tolkas som vilken tvåställig relation som helst. 3.5.1 (a) ∀x(J(x) → ∃y(x = y · 2)) (b) ∀x∃yR(y, x) (c) ∃y∀xR(y, x) (d) ∀x(P (x) → ∃y∃z(y 6= z ∧ Q(y, x) ∧ Q(z, x))) (e) ∀x∀y(F (x, y) → Ä(x, y)) (f) ∀x(P (x) → Q(x)) (g) ∃x(S(x) ∧ ¬M (x)) (h) ∃x(S(x) ∧ ¬M (x)) (i) ∀x(P (x) → Q(x)) 3.5.2 (a) R(c) (b) ∀x(P (x) → R(c, x)) (c) ∀x∀y(P (x) ∧ ¬P (y) → R(c, x, y)) 3.5.3 (a) ∀x(V (c, x) → K(x, d)) Tips och lösningar (b) (c) (d) (e) (f) 147 ∀x(K(x, d) → V (c, x)) ¬∃x(V (c, x) ∧ V (d, x)) ∀x(P (x) ∧ Q(x) ↔ x = 2) ∀x0 ∃x1 ∃x2 (x0 = x1 · x2 ∧ ∀x3 x1 6= x3 + x3 ) ∀x(x = 5 ↔ x > 3 ∧ P (x) ∧ ∀y(P (y) ∧ y > 3 → y > x ∨ y = x)) 3.5.4 Denna övning skall tas med en nypa salt: A ↔ B. Om satsen är sann har, enligt vad som uttrycks i satsen, de båda delsatserna olika sanningsvärden. Men då är satsen falsk, eftersom den är en ekvivalens. Alltså är satsen falsk. A är därmed falsk och B sann. 3.5.5 (a) ∀xR(x, x)∧ ∀x∀y(R(x, y) → R(y, x))∧ ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)) (b) ∀x¬R(x, x)∧ ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)) (c) ∀x∀y∀z(R(x, y) ∧ R(x, z) → y = z) 3.5.6 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) (m) (n) ¬∀x(P (x) → Q(x)) ∀x∃yK(x, y) ∧ ∃x∀yK(x, y) A eller kanske ∀x∀y(P (y) → K(x, y)) ∧ ∀y(P (y) → ∀x¬K(y, x)) ∃x1 ∃x2 ∃x3 K(c, x1 ) ∧ K(c, x2 ) ∧ K(c, x3 )∧ S(x1 , d) ∧ S(x2 , d) ∧ S(x3 , d)∧ K(x1 , e) ∧ K(x2 , e) ∧ K(x3 , e) ∧ x1 6= x2 ∧ x2 6= x3 ∧ x1 6= x3 ∧ ∀y(K(c, y) ∧ S(y, d) ∧ K(y, e) → y = x1 ∨ y = x2 ∨ y = x3 ) A0 (Varför?) A1 : ’nästan alla’ kan inte formaliseras i första ordningens logik. A2 : Av samma skäl som ovan. ¬∀x(U (x) → P (x)) ∀x(U (x) → P (x)) A3 : ’ändligt många’ kan inte formaliseras predikatlogiskt. ∃x x > 1000 ∧ ∀y(y > 1000 → y < x ∨ y = x)∧ ∀z(z > 1000 ∧ ∀y(y > 1000 → y < z ∨ y = z) → z = x ∧ ∀x(x > 1000 ∧ ∀y(y > 1000 → y < x ∨ y = x) → U (x)) Detta är Bertrand Russells sätt att analysera bestämda beskrivningar: Satsen analyseras som ’Det finns precis ett minsta tal som är större än 1000 och alla sådana tal är udda’. ∀x(K(x) → S(x)) ¬∀x(K(x) ∧ S(x) → S(x)) S(c) ∧K(c) 148 Första ordningens logik (o) (p) (q) (r) (s) (t) (u) (v) (w) (x) (y) (z) ¬∃x(K(x) ∧ S(x)) ∀x(K(x) ∧ x 6= b → V (x)) (Kan Gustaf vara vit?) ∀x(K(x) → ∃y(H(y) ∧ R(x, y)) ∀x∀y(K(x) ∧ H(y) ∧ B(y) → R(x, y)) ∀x∀y(K(x) ∧ H(y) ∧ B(y, c) → R(x, y)) ∃x(K(x) ∧ ∀y(H(y) → R(x, y))) ¬R(c, d) ∧ H(c) ∀x((x = d ∨ V (x, d)) ∧ A → ¬B(x)) A4 : ’tror att’ är inte sanningsfunktionellt. ∀x(K(x) → ¬∃yV (y, x)) Suck! Instämmer! 4.1.3 (a) ∨ (b) ∨ (c) ∧ 4.1.7 (a) Alla tre variablerna förekommer fritt. (b) Detta är en sats, dvs ingen variabel är fri. (c) Igen en sats. 4.2.3 Med mängden av alla människor som domän kan vi låta c0 M vara Robert Bly, c1 M vara Gunnar Ekelöf, P M = {x : x är snäll}, QM = {(x, y) : y är syster till x} och RM = {(x, y) : x känner y}. Satsen uttrycker då att var och en av de två författarnas gemensamma bekanta har en snäll syster. Väljer vi mängden av naturliga tal som domän kan vi låta c0 beteckna talet 23 och c1 talet 84. Vidare kan vi låta P beteckna egenskapen att vara ett primtal, Q relationen att x är delbart med y och R ≤-relationen. Då uttrycker satsen att alla tal mellan 23 och 84 är delbara med något primtal. 4.2.6 I definitionen av struktur krävs inte att varje objekt skall betecknas av en individkonstant. Risken finns alltså att de objekt som har den egenskap som P betecknar inte har något namn. 4.3.1 ¬∃y∃z(x = y · z ∧ y 6= x ∧ z 6= x) ∧ x 6= x · x 4.3.7 (a) Följande är ekvivalent: M |= ∀x1 (x1 + 0 = x1 )[ā] Tips och lösningar 149 M |= (x1 + 0 = x1 )[ā(1/b)], för varje b ∈ M (x1 + 0)M [ā(1/b)] = x1 M [ā(1/b)], för varje b ∈ M x1 M [ā(1/b)] +M 0M [ā(1/b)] = b, för varje b ∈ M b + 0 = b, för varje b ∈ M Satsen är alltså sann i M. (b) Sann (c) Falsk (d) Sann (e) Sann 4.3.8 (a) Låt φ vara φ(x0 , . . . , xn ). Då är följande ekvivalent: M |= φ M |= φ[ā], för alla a M |= φ[ā(n/bn )], för alla bn ∈ M och alla a M |= ∀xn φ[ā], för alla a .. . (b) M |= ∀x0 . . . ∀xn φ Låt M vara en struktur i vilken P tolkas som en äkta, icketom delmängd till domänen och betrakta formeln P (x). 5.1.9 (a) Antag att M |= ∀xP (x). Då gäller, om a ∈ M , M |= P (x)[a]. Men M är icketom, varför det då finns a ∈ M s.a. M |= P (x)[a]. Alltså M |= ∃xP (x). (b) Låt M |= Γ. Då finns a0 ∈ M sådant att M |= P (y)[a0 ], dvs a0 ∈ PM . Men M |= ∀x(P (x) → Q(x)), så M |= (P (x) → Q(x))[a0 ], varför a0 ∈ PM ger a0 ∈ QM . Därmed finns a ∈ M , nämligen a0 , sådant att M |= Q(z)[a], varför M |= ∃zP (z). 5.1.10 (a) Låt M = {0, 1} och låt P M = {0} och QM = {1}. Då gäller M |= P (x)[0] och M |= Q(x)[1] varför M |= Γ. Men M |6= Q(x)[0] och M |6= P (x)[1], varför M |6= φ. (b) Låt M = {0, 1} och låt P M = {0} och QM = M . Då gäller M |= (P (x) ∨ Q(x))[0], M |= (P (x) ∨ Q(x))[1] och M |= ¬P (y)[1] varför M |= Γ. Men M |= Q(x)[0] och M |= Q(x)[1], varför M |6= φ. (c) Låt M = {0, 1} och låt P M = {0} och QM = ∅. Då gäller M |= P (x)[0] och M |= ¬P (x)[1] varför M |= (P (x) → Q(x))[1]. 150 Första ordningens logik Alltså gäller M |= Γ. Men M |6= Q(x)[0] och M |6= Q(x)[1], varför M |6= φ. (d) Tolka R som <-relationen på en ändlig mängd av naturliga tal. 5.1.11 (a) Logiskt sann (b) Logiskt sann (c) Inte logiskt sann (d) Inte logiskt sann 5.1.12 Båda villkoren är uppfyllda omm φ och ψ är sanna i precis samma strukturer. 5.2.1 {φ}|= φ och {φ} ⊆ Γ om φ ∈ Γ. 5.2.3 Övningen gäller bara ändliga satsmängder, så den ger inte någon generell definition av begreppet logisk konsekvens i termer av logisk sanning. Vi ger dock en sådan senare i texten. 5.3.1 (a) Låt M vara en godtycklig {R}-tolkning och anta att M |= ∀x∀yR(x, y). Då gäller, för alla a, b ∈ M , M |= R(x, y)[a, b]. Då gäller M |= ∀xR(x, y)[b], för alla b ∈ M , varför M |= ∀y∀xR(x, y). Vi har därmed visat att M |= ∀x∀yR(x, y) → ∀y∀xR(x, y). Implikationen åt andra hållet visas på samma sätt. (c) Antag att M |= ∃x∀yR(x, y). Då finns a0 ∈ M så att M |= ∀yR(x, y)[a0 ]. Alltså gäller, för alla a ∈ M , att M |= R(x, y)[a0 , a]. Men då gäller, för alla a ∈ M , att M |= ∃xR(x, y)[a], varför M |= ∀y∃xR(x, y). (i) Antag först att M |= A. Då gäller, för alla a ∈ M , såväl M |= (P (x) → A)[a] som M |= (∃xP (x) → A)[a]. I så fall gäller alltså M |= ∀x(P (x) → A) ↔ (∃xP (x) → A). Om, å andra sidan, M |6= A så M |= ∀x(P (x) → A) omm M |= (P (x) → A)[a], för alla a ∈ M , omm M |6= P (x)[a], för alla a ∈ M , omm M |6= ∃xP (x) omm M |= (∃xP (x) → A). 5.3.2 (c) Låt M |= Γ och antag att M |= P (c). Låt också cM = a. Eftersom M |= P (x)[a] så M |= (Q(x) ∨ R(x))[a]. Men M |6= Q(x)[a]. Alltså M |= R(x)[a], dvs M |= R(c). Alltså gäller M |= φ om M |= Γ. Tips och lösningar 151 Låt M vara en godtycklig {c, P }-struktur och anta att M |= ∀xP (c). Då gäller M |= ∀xP (c)[ā], för alla ā, varför M |= P (c)[ā], för alla ā, dvs M |= P (c). (l) M |= Γ implicerar att M har exakt ett element. (m) Givet M |= Γ, låt M |= (P (x) ∧ Q(x))[a] och låt b = fM (a). Då gäller att a 6= b. (g) 5.3.3 (a) Logiskt sann (b) Inte logiskt sann (c) Inte logiskt sann (d) Inte logiskt sann (e) Inte logiskt sann (f) Logiskt sann (g) Logiskt sann (h) Inte logiskt sann (i) Logiskt sann (j) Inte logiskt sann (k) Logiskt sann 5.3.4 (a) Har modell (b) Har modell (c) Har modell 5.3.7 Använd induktion: Visa först påståendet för atomära formler och visa sedan att om det gäller för φ och ψ så gäller det även för ∀xφ, ∃xφ, ¬φ, (φ ∧ ψ) och så vidare. 6.1.2 Igen använder man induktion: Visa att påståendet gäller för alla formler som förekommer i en härledning genom att först visa påståendet för axiomen och sedan visa att om påståendet gäller för formlerna på rader som föregår en viss rad så gäller det för den raden också. Kontentan av detta blir att påståendet gäller för alla formler i vilken som helst härledning, dvs för alla teorem. Ett multiplikationssystem kan till exempel innehålla xG1Ex som axiom och regeln ’xGy1Ezx får införas om xGyEz är given’. 6.2.5 (a) Tautologi (b) Tautologi (c) Tautologi 152 Första ordningens logik (d) Kontingent (e) Kontingent (f) Kontingent (g) Tautologi 6.4.1 (a) {1} (1) ∀x∀yR(x, y) P {1} (2) ∀yR(c, y) ∀E {1} (3) R(c, d) ∀E {1} (4) ∀xR(x, d) ∀I {1} (5) ∀y∀xR(x, y) ∀I {1} (1) ∃xP (x) (b) P {2} (2) P (c0 ) P {2} (3) ∃yP (y) ∃I {1} (4) ∃yP (y) ∃E (c) {1} (1) ∀x(P (x) → Q(x) ∨ R(x)) P {2} (2) P (c) P {1} (3) P (c) → Q(c) ∨ R(c) ∀E {1, 2} (4) Q(c) ∨ R(c) T {5} (5) ¬Q(c) P {1, 2, 5} (6) R(c) T {1, 5} (7) P (c) → R(c) C (d) {1} (1) ∀x(A ∧ P (x)) P {1} (2) A ∧ P (c) ∀E {1} (3) P (c) T {1} (4) ∀xP (x) ∀I Tips och lösningar (e) {1} (1) ∃x¬Q(x) P {2} (2) ¬Q(c3 ) P {3} (3) ∀x(P (x) ∨ Q(x)) P {3} (4) P (c3 ) ∨ Q(c3 ) ∀E {2, 3} (5) P (c3 ) T {6} (6) ∀x(R(x) → ¬P (x)) P {6} (7) R(c3 ) → ¬P (c3 ) ∀E {2, 3, 6} (8) ¬R(c3 ) T {2, 3, 6} (9) ∃x¬R(x) ∃I {1, 3, 6} (10) ∃x¬R(x) ∃E (f) {1} (1) ∃x(A ∨ P (x)) P {2} (2) A ∨ P (c) P {3} (3) ¬A P {2, 3} (4) P (c) T {2, 3} (5) ∃xP (x) ∃I {2} (6) ¬A → ∃xP (x) C {2} (7) A ∨ ∃xP (x) T {1} (8) A ∨ ∃xP (x) ∃E (g) {1} (1) ∀xP (c) P {1} (2) P (c) ∀E ∅ (3) ∀xP (c) → P (c) C 153 154 Första ordningens logik (h) {1} (1) ∀x(P (x) → Q(x) ∨ R(x)) P {1} (2) P (c) → Q(c) ∨ R(c) ∀E {3} (3) ¬∃y(P (y) ∧ R(y)) P {3} (4) ∀y¬(P (y) ∧ R(y)) Q {3} (5) ¬(P (c) ∧ R(c)) ∀E {1, 3} (6) P (c) → Q(c) T {1, 3} (7) ∀z(P (z) → Q(z)) ∀I (i) {1} (1) ∃x∃y(R(x, y) ∨ R(y, x)) P {2} (2) ∃y(R(c, y) ∨ R(y, c)) P {3} (3) R(c, d) ∨ R(d, c) P {4} (4) R(c, d) P {4} (5) ∃yR(c, y) ∃I {4} (6) ∃x∃yR(x, y) ∃I ∅ (7) R(c, d) → ∃x∃yR(x, y) C {8} (8) R(d, c) P {8} (9) ∃yR(d, y) ∃I {8} (10) ∃x∃yR(x, y) ∃I ∅ (11) R(d, c) → ∃x∃yR(x, y) C {3} (12) ∃x∃yR(x, y) T {2} (13) ∃x∃yR(x, y) ∃E {1} (14) ∃x∃yR(x, y) ∃E {1} (1) ∀xP (x) P {1} (2) P (f (c)) ∀E {1} (3) ∀xP (f (x)) ∀I (j) Tips och lösningar (k) {1} (1) ¬∃x∀y(P (x) ↔ P (y)) P {1} (2) ∀x¬∀y(P (x) ↔ P (y)) Q {1} (3) ¬∀y(P (c) ↔ P (y)) ∀E {1} (4) ∃y¬(P (c) ↔ P (y)) Q {5} (5) ¬(P (c) ↔ P (d)) P {5} (6) P (c) ∨ P (d) T {7} (7) P (c) P {7} (8) ∃xP (x) ∃I ∅ (9) P (c) → ∃xP (x) C {10} {10} (10) (11) P (d) ∃xP (x) P ∃I ∅ (12) P (d) → ∃xP (x) C {5} (13) ∃xP (x) T {5} (14) ¬P (c) ∨ ¬P (d) T {15} (15) ¬P (c) P {15} (16) ∃x¬P (x) ∃I ∅ (17) ¬P (c) → ∃x¬P (x) C {18} (18) ¬P (d) P {18} (19) ∃x¬P (x) ∃I ∅ (20) ¬P (d) → ∃x¬P (x) C {5} (21) ∃x¬P (x) T {5} (22) ¬∀xP (x) Q {5} (23) ∃xP (x) ∧ ¬∀xP (x) T {5} (24) ¬(∃xP (x) → ∀xP (x)) T {1} (25) ¬(∃xP (x) → ∀xP (x)) ∃E ∅ (26) ¬∃x∀y(P (x) ↔ P (y)) → ¬(∃xP (x) → ∀xP (x)) C {27} (27) ∃xP (x) → ∀xP (x) P {27} (28) ∃x∀y(P (x) ↔ P (y)) T 155 156 Första ordningens logik (l) {1} (1) ∃y∀z(P (z) → z = y) P {2} (2) ∀z(P (z) → z = c) P {3} (3) ∃xQ(x) P {4} (4) Q(d) P {5} (5) ∀xP (x) P {5} (6) P (d) ∀E {2} (7) P (d) → d = c ∀E {2, 5} (8) d=c T {2, 4, 5} (9) Q(c) IdE {2, 3, 5} {2, 3, 5} (10) (11) Q(c) Q(d) ∃E IdE {2, 3, 5} (12) ∀xQ(x) ∀I {1, 3, 5} (13) ∀xQ(x) ∃E {1, 5} (14) ∃xQ(x) → ∀xQ(x) C {1} (1) ∃x(P (x) ∧ Q(x)) P {2} (2) ∀x(P (x) → ¬Q(f (x))) P {3} (3) P (c) ∧ Q(c) P {2} (4) P (c) → ¬Q(f (c)) ∀E {5} (5) c = f (c) P {3, 5} (6) P (f (c)) ∧ Q(f (c)) IdE {2, 3, 5} (7) A ∧ ¬A T {2, 3} (8) c = f (c) → A ∧ ¬A C {2, 3} (9) c 6= f (c) T {2, 3} (10) ∃yc 6= y ∃I {2, 3} (11) ∃x∃yx 6= y ∃I {1, 2} (12) ∃x∃yx 6= y ∃E (m) Tips och lösningar 157 (n) {1} (1) ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)) P {1} (2) ∀y∀z(R(c, y) ∧ R(y, z) → R(c, z)) ∀E {1} (3) ∀z(R(c, d) ∧ R(d, z) → R(c, z)) ∀E {1} (4) R(c, d) ∧ R(d, c) → R(c, c) ∀E {5} (5) ∀x¬R(x, x) P {5} (6) ¬R(c, c) ∀E {1, 5} (7) R(c, d) → ¬R(d, c) T {1, 5} (8) ∀y(R(c, y) → ¬R(y, c)) ∀I {1, 5} (9) ∀x∀y(R(x, y) → ¬R(y, x)) ∀I (o) {1} (1) ¬∀x∃yP (x, y) P {1} (2) ∃x¬∃yP (x, y) Q {3} (3) ¬∃yP (c, y) P {3} (4) ∀y¬P (c, y) Q {3} (5) ∃x∀y¬P (x, y) ∃I {1} (6) ∃x∀y¬P (x, y) ∃E (p) {1} (1) ∀x∃yR(x, y) P {1} (2) ∃yR(c, y) ∀E {3} (3) R(c, d) P {4} (4) ∀x∀y∀z(R(x, y) ∧ R(y, z) → R(x, z)) P {4} (5) ∀y∀z(R(c, y) ∧ R(y, z) → R(c, z)) ∀E {4} (6) ∀z(R(c, d) ∧ R(d, z) → R(c, z)) ∀E {4} (7) R(c, d) ∧ R(d, c) → R(c, c) ∀E {8} (8) ∀x∀y(R(x, y) → R(y, x)) P {8} (9) ∀y(R(c, y) → R(y, c)) ∀E {8} (10) R(c, d) → R(d, c) ∀E {3, 4, 8} (11) R(c, c) T {1, 4, 8} {1, 4, 8} (12) (13) R(c, c) ∀xR(x, x) ∃E ∀I 158 Första ordningens logik 6.4.3 (a) Härled (b) Hitta motexempel (c) Hitta motexempel (d) Härled (e) Härled (f) Härled (g) Hitta motexempel (h) Härled (i) Härled (j) Hitta motexempel 7.1.3 (a) Om Γ ` φ så finns en härledning av φ med premisser ur Γ. Om nu Γ ⊆ Γ0 så är premisserna i härledningen element i Γ0 , varför Γ0 ` φ. (b) {1} (1) φ P är en härledning av φ ur {φ}. (c) Varje härledning är ändlig. 7.1.5 En härledning av φ ur Γ kan utökas med några få rader till en härledning av A ∧ ¬A ur Γ ∪ {¬φ} och en härledning av A ∧ ¬A ur Γ∪{¬φ} kan, med hjälp av reglerna C och T , förlängas till en härledning av φ ur Γ. 7.1.7 Vi ger ett exempel: {1} (1) ¬∃xφ(x) P {2} (2) φ(c) P {2} (3) ∃xφ(x) ∃I ∅ (4) φ(c) → ∃xφ(x) C {1} (5) ¬φ(c) T {1} (6) ∀x¬φ(x) ∀I 7.2.7 Låt M vara namnfullständig om varje element i M betecknas av en individkonstant. Då är T h(M) ∃-fullständig om M är namnfullständig. Är detta ett nödvändigt villkor? 7.2.11 Med hjälp av två enställiga predikatsymboler kan man formulera en sats som bara är sann i strukturer med minst 5 element. 7.2.12 Modellen i beviset för modellexistenssatsen duger. Tips och lösningar 159 7.3.2 Imitera beviset ovan, med Γ i stället för {ψ}. 7.3.3 Imitera beviset ovan. 7.3.4 Antag motsatsen och använd kompakthetssatsen på samma sätt som ovan. 7.3.6 Utöka Γ med {cα 6= cβ : α < β < κ+ } och använd kompakthetssatsen. 7.4.2 φ är logiskt sann omm ∅ |= φ. 7.4.3 Låt γ vara konjunktionen av alla satser i Γ. Då gäller Γ |= φ omm |= (γ → φ). 8.1.2 Givet en sats φ ger beviset en övre gräns på hur stor domän en eventuell modell till ¬φ kan ha. Eftersom φ har ändligt lexikon finns det ändligt många sådana modeller och dessa kan genereras effektivt. 8.2.1 (a) ¬Q0 xP (x) (b) Q0 xP (x) (c) ∀x¬Q0 y(x < y) (d) Q0 x(V (x, b) ∧ ¬Q0 yK(y, x)) (e) ∀x¬Q0 y∃z(x = y · z ∧ P (y)) 8.2.2 {¬Q0 x(x = x)} ∪ {ci 6= cj : alla naturliga tal,i, j sådana att i < j}. 8.3.2 Om (a, b) satisfierar ∀X(X(x) → X(y)) i M så b ∈ {a}. 8.3.4 Utnyttja att en mängd M är ändlig om det inte finns en funktion som avbildar M enentydigt på en äkta delmängd till M . För den som inte vill använda urvalsaxiomet: Utnyttja att andra ordningens talteori är kategorisk och ändligt axiomatiserbar. 8.4.4 Detta följer direkt med definition 4.3 (b) och (d). 8.4.9 Vi visar det första påståendet: Antag att M bygger på (M, R), att R är reflexiv och att (M, a) |= A. Då gäller (M, b) |= A, för alla b sådana att aRb. Men aRa gäller. Alltså (M, a) |= A. Antag, å andra sidan, att R inte är reflexiv. Då finns a ∈ M sådan att aRa inte 160 Första ordningens logik gäller. Låt nu A vara sann i precis de b för vilka aRb gäller. Då gäller uppenbarligen (M, a) |= A ∧ ¬A. 8.5.1 Om ` φ och ` ¬φ klassiskt, så ` ¬¬φ och ` ¬¬¬φ intuitionistiskt. 9.1.2 En cirkel är ett objekt c sådant att det finns en punkt m för vilken gäller att (x, m) och (y, m) är kongruenta, för alla x och y som ligger på c. m är cirkelns medelpunkt. 9.1.3 Eftersom axiomen är sanna är alla teorem sanna. Om φ inte är ett teorem, så är ¬φ ett teorem och är därmed sant, varför φ i så fall är falsk. 9.1.4 Vi exemplifierar med den första, och enklaste, deluppgiften. (a) Låt p vara en punkt. Enligt (A1) ligger p på en linje l. Enligt (A2) och (A4) finns en punkt p0 som inte ligger på l och, enligt (A3), finns en linje l0 som går genom p och p0 och som inte kan sammanfalla med l. Svaret på den avslutande frågan är ja; exempelvis utgör en tetraeder en modell till axiomen med sex linjer och fyra punkter. För övningarna i 9.2 och 9.3 hänvisar vi till litteratur inom algebra. 9.4.1 T h(M) är fullständig för alla strukturer M. Vore T h(N ) axiomatiserbar, så skulle det finnas en teori T sådan att de härledbara satserna i T var precis alla sanna talteoretiska satser samtidigt som det skulle finnas en formel P rf 0 (x, y) som representerade ’x är ett bevis i T för y’. 9.4.2 Använd föregående övning. 10.1.2 (a) Sann (b) Sann (c) Falsk (d) Sann (e) Sann (f) Sann 10.1.3 Om x och y saknar element så gäller ∀z(z ∈ x ↔ z ∈ y). 10.1.5 Antag att V , klassen av alla mängder, är en mängd. Enligt delmängdsaxiomet är då R0 = {x : x ∈ V ∧ x ∈ / x} en mängd. Men R0 = R och är inte en mängd. Alltså är V en äkta klass. Tips och lösningar 161 10.2.3 (a) Sant (b) Sant (c) Falskt (d) Sant 10.2.5 X \ Y = {x : x ∈ X och x ∈ / Y }. 10.2.6 Vi visar (a) som illustration: (a) x ∈ X ∪ Y omm x ∈ X eller x ∈ Y omm x ∈ Y eller x ∈ X omm x ∈ Y ∪ X. 10.3.4 Vi illustrerar med (a): (a) {(x, y) : x är vän med y} 10.3.5 (a) {{{{x}, {x, y}}}, {{{x}, {x, y}}, z}} (b) I sats 3.2 visade vi att påståendet gäller för n = 2. Antag nu att det gäller för k < n. Då gäller (x1 , . . . , xn ) = (y1 , . . . , yn ) omm ((x1 , . . . , xn−1 ), xn ) = ((y1 , . . . , yn−1 ), yn ) omm (x1 , . . . , xn−1 ) = (y1 , . . . , yn−1 ) och xn = yn omm xi = yi , för 1 ≤ i ≤ n. Resten av övningarna i avsnitt 10.3, utom den sista, samt övningarna i avsnitt 10.4 följer direkt ur respektive definitioner. 10.5.2 Antag att X har k element och att Y är liktalig med X. Då finns en funktion f sådan att Y = {f (x1 ), . . . , f (xk )}, där X = {x1 , . . . , xk }. Det är alltså uppenbart att Y har k element, dvs lika många som X. 10.5.5 (a) Låt {q0 , q1 , . . .} vara en uppräkning av de ickenegativa rationella talen. Följande är då en uppräkning av alla rationella tal: {0, q0 , −q0 , q1 , −q1 , . . .}. (b) Imitera exempel 5.4. 162 Första ordningens logik Vidare läsning Det finns gott om litteratur att rekommendera för den som vill förkovra sig ytterligare, men jag har valt att bara presentera några böcker av ganska allmän karaktär och hänvisar sedan vidare till litteraturlistorna i dessa. Urvalet är präglat av mina personliga preferenser vad gäller stil och innehåll och en gemensam faktor för samtliga nedanstående böcker är att de kan ge läsaren såväl en läsupplevelse som insikt i ämnet. Att ingen av dem är skriven på svenska är ingen tillfällighet. Följande böcker är allmänna introduktionsböcker i logik. Den första ger en introduktion till olika sätt att definiera avgörbarhet eller beräkningsbarhet, men ger också fördjupande kunskaper om metalogiken för första ordningens logik, Gödels ofullständighetssatser, andra ordningens logik, modal bevisbarhetslogik och en hel del mer. Tyvärr vimlar den av tryckfel, så läs gärna en tidigare utgåva eller sök upp förlagets hemsida för en omfattande erratalista. Den andra är en lingvistiskt orienterad introduktion till logik som på ett klargörande sätt presenterar logikens roll som analysverktyg för studiet av naturliga språk. Den behandlar i två volymer såväl extensionella som intensionala logiker. De två sista är mer matematiskt orienterade och behandlar delar av logiken som har omedelbar relevans för grundläggande matematikstudier. Särskilt Johnstones bok är föredömligt kortfattad och mycket trevlig att läsa. G. Boolos, J. P. Burgess, R. C. Jeffrey, Computability and Logic, Cambridge UP, 2003 (1974) L.T.F. Gamut, Logic, Language, and Meaning, The University of Chicago Press, 1991 P.T. Johnstone, Notes on Logic and Set Theory, Cambridge UP, 1987 (1996) 164 Första ordningens logik E. Mendelson, Introduction to Mathematical Logic, Chapman and Hall, 1997 (1964). När det gäller mängdteori finns en uppsjö av mer eller mindre avancerad litteratur. Här vill jag bara nämna tre böcker i mängden. Den första är rolig för den historiskt intresserade. Den andra är min absoluta favorit bland logikböcker och finns även i engelsk översättning. Den tredje, slutligen, kräver god vana att läsa matematisk text och är svår men innehållsrik. För den som har förkunskaperna och är intresserad av hur modeller till mängdteorin ser ut, är den ett ”måste”. J.W. Warren, Georg Cantor. His Mathematics and Philosophy of the Infinite, Harvard UP, 1979 J.-L. Krivine, Théorie Axiomatique des Ensembles, Presses Universitaires de France, 1972 (1969) K. Kunen, Set Theory. An Introduction to Independence Proofs, North Holland, 1980. För den som är intresserad av studiet av strukturer i allmänhet, så kallad modellteori, finns också flera böcker att välja bland. Den första här är en enkel och lättfattlig introduktion, medan de två andra är mer avancerade och betydligt mer innehållsrika. Den andra är en omfattande klassiker i ämnet och den sista är en förkortad version av en omfattande volym av samma författare. J. Bridge, Beginning Model Theory, Oxford UP, 1977 C.C. Chang, H.J. Kiesler, Model Theory, North Holland 1990 W. Hodges, A Shorter Model Theory, Cambridge UP, 1997. Följande bok vill jag gärna nämna eftersom den tar upp ett aktuellt specialområde inom logiken. Den kräver inga egentliga förkunskaper men vänder sig i första hand till studenter med någon bakgrund inom data- eller systemvetenskap. J. Buckley, E. Eslami, An Introduction to Fuzzy Logic and Fuzzy Sets, Physica-Verlag, 2002 Följande två verk är goda källor för vidare läsning. Båda innehåller ett stort antal artiklar av varierande svårighetsgrad inom olika områden av logiken. J. Barwise (ed), Handbook of Mathematical Logic, North Holland, 1977 Vidare läsning 165 D. Gabbay, F. Guenthner (eds), Handbook of Philosophical Logic, Reidel, 1983. Slutligen vill jag nämna en historiebok och två samlingsvolymer som sammantaget ger en god bild av logikens historia, den moderna logikens utveckling och logikens roll för matematikfilosofin. P. Benacerraf, H. Putnam, Philosophy of Mathematics: Selected Readings, Cambridge UP, 1997 (1964) I.M. Bocheński, A History of Formal Logic, Chelsey Publishing Company, 1970 (1961) J. Van Heijenoort, From Frege to Gödel: A Source Book in Mathematical Logic, 1879 – 1931, Harvard UP, 1967 166 Första ordningens logik Det grekiska alfabetet α A alf a ν N ny β B beta ξ Ξ xi γ Γ gamma o O omikron δ ∆ delta π Π pi E epsilon % R rho ζ Z zeta σ Σ sigma η H eta τ T tau θ Θ theta υ Υ ypsilon ι I iota φ Φ fi κ K kappa χ X chi λ Λ lambda ψ Ψ psi µ M my ω Ω omega 168 Första ordningens logik Index (a, b), 126 ConPA , 119 F mlL , 12 L-formel, 10 L-sats, 30 L-struktur, 32 L-term, 10 L(Q0 ), 120 PA, 112 PA2 , 120 P rf (y, x), 118 T (·), 32 Z, 140 ZC, 140 ZF , 138 ZFC, 140 ā, 35 n-slällig funktion, 129 n-ställig relation, 127 n-tipel, 127 P(x), 138 ∃-fullständig, 75 Γ |= φ, 43 Γ ` φ, 61 ā(i/b), 35 ∩, 125 ·M , 32, 33 ∪, 125 ♦φ, 92 170 Första ordningens logik ∅, 124 ∈, 121 M, 32 M |6= φ[ā], 36 M |= Γ, 43 M |= φ[ā], 36 φ, 92 ∈, / 121 φ(t), 41 φ(x0 , . . . , xn ), 41 |= φ, 43 (M , a) |= φ, 93 \, 125 ⊂, 124 ⊆, 124 ×, 128 tM [ā], 35 {x : φ(x)}, 122 abelsk grupp, 108 abstraktionsprincipen, 122 algebraiskt sluten, 111 allkvantifikator, 8 andra kvantifikatorer, 87 andra ordningens logik, 88 antisymmetrisk, 130 asymmetrisk, 130 atomär L-formel, 11 atomära komponenter, 64 avgörbar teori, 103 avgörbarhet, 83 avgörbarhet, satslogikens, 60 axiom, 103 axiomatiserbar, 103 axiomatisering, 103 Beltrami, Eugenio, 107 bevisbar, 54 bevisbarhetslogik, 97 bijektion, 129 bilden av, 129 binär relation, 130 Index 171 Bolyai, Johann, 107 boolesk algebra, 132 Caesar, 91 Caley, Arthur, 107 Cantor, Georg, 133, 137 Church, Alonzo, 84 Church-Turings sats, 84, 120 Cohen, Paul, 137 Dedekind, Richard, 112 deduktionssatsen, 61, 72 delmängd, 124 delmängdsaxiomet, 124, 138 disjunktion, 8, 18 disjunktionsegenskapen, 99 domän, 32 domänen av f , 129 dynamisk logik, 96 ekvivalens, 8, 20 ekvivalensklass, 132 ekvivalensrelation, 131 element, 121 elliptisk geometri, 107 en-entydig, 129 epistemisk logik, 96 Euklides geometri, 104 existensegenskapen, 99 existenskvantifikator, 8 existentiell kvantifiering, 22 exklusiv disjunktion, 18 extension, 127 extensionalitetsaxiomet, 138 extensionalitetsprincipen, 91, 122 femte postulatet, 104 Fermats sats, 2 fixpunktssatsen, 116 fler element än, 136 flervärd logik, 101 formel, 9 formellt system, 53 Fraenkel, Abraham, 138 172 Första ordningens logik fullständig teori, 103 fullständighetssatsen, 74 funktion, 128 funktionssymbol, 7 fuzzy logic, 101 första ordningens språk, 11 geometri, 104 Goldbachs hypotes, 2, 120 grupp, 108 Gödel, Kurt, 2, 62, 74, 113, 137 Gödel-Rossers ofullständighetssats, 118 gödelnummer, 115 Gödels andra ofullständighetssats, 119 Gödels fullständighetssats, 74 Gödels första ofullständighetssats, 118 Göteborg, 1 Henkin, Leon, 74 Hilbert, David, 2, 60, 105 huvudtecken, 29 hyperbolisk geometri, 107 härledbar, 54, 64 härledning, 54, 62, 64 härledningsregler, 63 ickelogiska symboler, 7 identitetssymbol, 8 implikation, 8, 19 individkonstant, 7 individområde, 128 individvariabel, 8 induktiv definition, 10 injektiv, 129 inklusiv disjunktion, 18 inkonsistent, 71 intensional logik, 90 intensionala kontexter, 91 intransitiv, 131 intuitionistisk logik, 97 irreflexiv, 130 karaktäristik, 110 kardinaltal, 137 Index 173 Klein, Felix, 107 kommatecken, 8 kommutativ grupp, 108 kompakthetssatsen, 81 komplement, 125 komplexa tal, 109 konjunktion, 8, 17 konnektiv, 8, 22 konsistent, 71, 103 kontextfritt system, 56 kontingent, 43, 57 kontinuumhypotesen, 137 kontradiktion, 57, 65 Kripke, Saul, 93 kropp, 109 kvantifikator, 8 kvantifikatoruttryck, 21 Leibniz, Gottfried Wilhelm von, 89 leksaksgeometri, 107 lexikon, 9 lexikon, relationellt, 9 lexikonet för φ, Γ , 41 liktalig, 133 lindenbaumalgebra, 132 Lindenbaums lemma, 76 Lindströms sats, 88 Lobachevsky, Nicholai Ivanovich, 107 logisk konsekvens, 43 logiska symboler, 7, 8 logiskt ekvivalenta, 47 logiskt falsk, 43 logiskt sann, 43 lögnarparadoxen, 113 markörer, 7, 8 materiell ekvivalens, 20 materiell implikation, 19 maximalkonsistent, 75 modallogik, 92 modell, 43 modellexistenssatsen, 74 174 Första ordningens logik modus ponens, 60 monadisk logik, 85 mängdprodukt, 128 möjlig värld, 93 negation, 8, 17 Newtons mekanik, 1 oavgörbar, 84 oavgörbarhet, för PA, 119 omm, 11 ordnat par, 126 ordningsrelation, 131 oändlig sekvens, 129 oändlighetsaxiomet, 139 p-morfism, 95 parallellaxiomet, 104 paraxiomet, 138 parenteser, 8 parenteskonventioner, 30 partiell ordningsrelation, 131 partition, 132 Peanos aritmetik, 112 potensmängd, 137, 138 potensmängdsaxiomet, 138 predikatsymbol, 7 premiss, 62 premissmängd, 62 premissnummer, 62 prenex normalform, 52 primtal, 35, 114 på, 129 ram, 93 reflexiv, 130 regularitetsaxiomet, 139 reguljärt system, 55 relationellt lexikon, 9 relativ konsistens, 141 relativt komplement, 125 representerbarhetslemmat, 115 Riemann, Bernhard, 107 riemanngeometri, 107 Index 175 Rosser, J. B., 118 Russell, Bertrand, 123 Russells paradox, 123 räckvidd, 30 sanning, 36 sanningsfunktionell satsoperator, 16 satisfiering, 35, 36 sats, 30 satslogik, 57 satslogisk konsekvens, 57, 65 satslogiskt kontingent, 65 satsoperator, 16 satssymbol, 7 Saturnus, 122 Scott, Sir Walter, 91 sekvens, 35 Skolem, Thoralf, 138 sluten term, 33 slutna höljet, 37 snitt, 125 struktur, 32 sträng ordningsrelation, 131 substitutionsaxiomet, 140 sundhetssatsen, 72 surjektiv, 129 symmetrisk, 130 symmetriska gruppen, 109 Tarski, Alfred, 36, 105 tautologi, 57, 65 teorem, 54, 103 teori, 103 term, 9 term, sluten, 33 tidslogik, 95 tillgänglighetsrelation, 93 tillhör, 121 tomma mängden, 124 total ordningsrelation, 131 transitiv, 131 Turing, Alan, 84 176 Första ordningens logik tvåställiga relationer, 127 union, 125 unionaxiomet, 138 universell kvantifiering, 22 uppräknelig, 134 uppräkning, 134 urvalsaxiomet, 140 valid, modallogiskt, 93 villkor, 21 vittne, 75 värdeförråd, 129 värdet av, 129 värdet av t i M under ā, 35 Waverley, 91 Zermelo, Ernst, 138 äkta delmängd, 124 äkta klass, 124 överuppräknelig, 136