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