Grundläggande logik och modellteori

Relevanta dokument
Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

DD1350 Logik för dataloger

Grundläggande logik och modellteori (5DV102)

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

Grundläggande logik och modellteori (5DV102)

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

Grundläggande logik och modellteori

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

En introduktion till predikatlogik

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

Grundläggande logik och modellteori

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Logik och bevisteknik lite extra teori

9. Predikatlogik och mängdlära

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Varför är logik viktig för datavetare?

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

K3 Om andra ordningens predikatlogik

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

Robin Stenwall Lunds universitet

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013

Grundläggande logik och modellteori

Grundläggande logik och modellteori

Lite om bevis i matematiken

Robin Stenwall Lunds universitet

Semantik och pragmatik

F. Drewes Datavetenskapens grunder, VT02. Lite logik

MA 11. Hur starkt de binder. 2 Reella tal 3 Slutledning 4 Logik 5 Mängdlära 6-7 Talteori 8 Diofantiska ekvationer 9 Fördjupning och kryptografi

Om semantisk följd och bevis

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

8. Naturlig härledning och predikatlogik

Grundläggande logik och modellteori

Predikatlogik: Normalformer. Klas Markström

Robin Stenwall Lunds universitet

7, Diskreta strukturer

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

DD1350 Logik för dataloger

Om modeller och teorier

Semantik och pragmatik (Serie 4)

Innehåll. Föreläsning 4-5. Logiska system. Alfabet. Calculus. Well-formed formulas. Vanliga termer i logik Satslogik. Första ordningens predikatlogik

MATEMATIKENS SPRÅK. Avsnitt 1

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Grundläggande logik och modellteori

Semantik och pragmatik

Robin Stenwall Lunds universitet

Semantik och pragmatik (Serie 3)

Föreläsning 3: Ekvationer och olikheter

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52

Robin Stenwall Lunds universitet

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

7, Diskreta strukturer

MA2047 Algebra och diskret matematik

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

10. Mängder och språk

Induktion och rekursion

Hornklausuler i satslogiken

Robin Stenwall Lunds universitet

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Föreläsning 5. Deduktion

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

K2 Något om modeller, kompakthetssatsen

Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander)

Induktion och rekursion

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

Introduktion till predikatlogik. Jörgen Sjögren

Kontinuitet och gränsvärden

Substitution och unifiering

sanningsvärde, kallas utsagor. Exempel på utsagor från pass 1 är

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

Filosofisk logik Kapitel 18. Robin Stenwall Lunds universitet

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter

Grundläggande Logik och Modellteori

13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET.

Primitivt rekursiva funktioner och den aritmetiska hierarkin

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

DD1361 Programmeringsparadigm HT17

MA2047 Algebra och diskret matematik

DD1361 Programmeringsparadigm HT15

Induktion, mängder och bevis för Introduktionskursen på I

Kap. 7 Logik och boolesk algebra

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Block 1 - Mängder och tal

Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm. Axiom som är ekvivalenta med urvalsaxiomet

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

MS-A0409 Grundkurs i diskret matematik I

Filosofisk Logik. föreläsningsanteckningar/kompendium (FTEA21:4) v. 2.0, den 5/ Kompakthet och Löwenheim-skolemsatsen

Första ordningens logik

Transkript:

Grundläggande logik och modellteori Kapitel 8: Predikatlogik Henrik Björklund Umeå universitet 2. oktober, 2014

Första ordningens predikatlogik Signaturer och termer Första ordningens predikatlogik Formler och deras semantik Kvantifierarnas räckvidd, fria variabler Slutna meningar Modell, tautologi, satisfierbar, logisk konsekvens Den här föreläsningen kombinerar introduktionen till första ordningens predikatlogik i bokens (3:e uppl.) kapitel 7 med termer och funktioner i inledningen till kapitel 9. 1 1 Kapitel 5 och 7 respektive i 2:a uppl.

Klassikern { Alla människor är dödliga. Sokrates ären människa.} = Sokrates är dödlig. Satslogik är inte adekvat för att uttrycka det här eftersom det handlar om objekt (t ex Sokrates) och deras egenskaper (vara människa, vara dödlig). Satslogik handlar bara om förhållanden mellan primitiva påståenden. De må prata om objekt och egenskaper men det berör inte semantiken: Satslogiskt är slutsatsen ovan lika med {p, q} = r vilket självklart är fel. Vad som egentligen ska uttryckas är parametriserade förhållanden: (1) För alla objekt x gäller Människa(x) Dödlig(x), vilket i synnerhet ger (1 ) Människa(Sokrates) Dödlig(Sokrates). (2) Dessutom gäller Människa(Sokrates), alltså pga (1 ) och mha modus ponens Dödlig(Sokrates).

Signaturer och termer En signatur är en trippel T = (V, K, F) bestående av uppräkningsbara mängder V, K, och F av variabler, konstanter och funktionssymboler. Varje funktionssymbol f F har en ställighet arity(f ), som är ett naturligt tal > 0. Mängderna V, K och F ska vara disjunkta. För att tydliggöra att en symbol f antas ha ställighet n (dvs arity(f ) = n) skrivs ibland f (n). Definition: Mängden terms(t) av alla termer över T är den minsta mängden av träd sådan att (i) V K terms(t) och (ii) om träden t 1,..., t n terms(t) och det finns en funktionssymbol f (n) F så finns trädet nedan i terms(t). f t 1... t n

Termer som strängar Som i satslogiken skriver vi ofta träden i terms(t) som strängar. T.ex., med signaturen T = (, {b}, {f (3), g (1) }) har vi i terms(t) f b g g b g b denna skriver vi som strängen f (b, g(g(b)), g(b)) Notera att vi vanligtvis inte använder infix-syntax i termerna.

Uppgift 1 Vilka av följande tripplar är signaturer? (a) (, {c 1, c 2, c 3 }, {f (1) i i N}) (b) ({x i i R}, {c j j R}, {+ (2), (1), (2), (2), / (2) }) (c) ({x i i N}, {2, 3, 5, 7, 11}, {f (2) k k Q} )

Lösning 1 Trippel (a) är en signatur. Definitionen förbjuder inte att en variabel-, konstanteller funktionsmängd är tom eller oändlig. Däremot krävs att mängderna är uppräkningsbara, vilket hindrar oss från att använda de reella talen som index så (b) är ingen signatur, men det är däremot (c).

Uppgift 2 Om T = ({x i i N}, {π, 1}, {+ (2), (1), (2) }) är en signatur, vilka av följande strängar tillhör då terms(t)? (a) x 2 (c) x 2 + π (e) + ( (π, x 0 ), 1) (b) π (d) + (x 2, π) (f) (+(x 100, x 200 ))

Lösning 2 I första definitionen av T var det bara (c) som inte tillhörde mängden termer över T, eftersom alla funktioner skrivs som prefix om inte annat uttryckligen sägs.

Uppgift 3 Låt T = (V, K, F) vara en signatur där V = {x 1, x 2,...}, K = {1, 0, π}, och F = {+ (2), (2), (2), (1) }. Vilka av följande strängar tillhör då terms(t)? (a) x 1 (e) +(1, +(1, x 4 ), x 4 ) (b) π (f) +(π, x 7 ) (c) c (g) (x 1, (π)) (d) (x 1, 0) (h) ( ( ( (1))), (π, 1))

Lösning 3 (a) Ok, ty x 1 V (e) Inte ok, då + kräver exakt två argument. (b) Ok, ty π K (f) Ok. (c) Inte ok, ty c V K (g) Ok, det finns en funktion (1). (d) Ok. (h) Ok.

Första ordningens predikatlogik Definition: En första ordningens predikatlogik (kort predikatlogik) är en trippel L = (R, C, T) där R är en mängd av relationssymboler där varje p R har en ställighet arity(p) 0, C är mängden av konnektiv, vanligen en delmängd av {,,,,,,,,,,, } (samma som i satslogiken, med och tillagda). T är en signatur. Det krävs att alla symbolmängder är disjunkta. Om inget annat sägs antas att C = {,,,,,,,, }.

Uppgift 4 Vilka av följande tripplar är predikatlogiker? (a) (b) ({p (0), q (1), r (1), s (2) }, {,,, }, ({x i i N}, {c 1 }, {f (10) 1, f (1) 2, f (1) 3 })) ({p (0), q (0), r (0) }, {,,,,,, }, (,, )) (c) ({= (2), < (2), > (2) }, {,,,, }, ({x, y, z}, {, }, { (2), (1), (2) }))

Lösning 4 Att (a) är en predikatlogik är det ganska lätt att se. Även (b) är en predikatlogik, men eftersom möjligheten att skriva termer inte kan utnyttjas, och eftersom allkvantor och existenskvantor saknas bland konnektiven, så motsvarar (b) mer eller mindre en vanlig satslogik. I det tredje fallet, dvs (c), tittar vi inte längre på någon predikatlogik eftersom mängderna av variabler, konstanter och konnektiv inte disjunkta.

Välformade formler Bortsett från kvantifierarna består den enda skillnaden mellan välformade formler i predikatlogiken och satslogiken i atomerna som är odelbara symboler i satslogiken numera blir atomära formler. x Definition Låt L = (R, C, T) vara en predikatlogik. A En atomär formel är ett träd med någon rot p (n) R och barnträd t 1,..., t n terms(t). Dvs, trädet vi skulle skriva p(t 1,..., t n ). Mängden av atomära formler skrivs atoms(l). Mängden WF(L) av välformade formler (kort formler) definieras som i satslogiken, med två ändringar. Atomära formler istf. atomer: atoms(l) WF(L). (2) och (2) har alltid en variabel som vänster barn. T.ex., för x V och A WF(L) finns trädet till vänster. Vi skriver dessa ( x)(a) och ( x)(a). Övriga konnektiv bildar träd och skrivs som vanligt.

Exempel Med V = {x, y, z}, K = {a, b}, F = {f (2), g (1) } och R = {q (2), r (0), s (1) } är följande en wff: q(f (g(a), x), b) ( x)(s(g(f (a, f (y, y)))) (r() s(x))) Alla termer är understrukna i blått och alla atomära formler i rött.

Uppgift 5 Om L = ({p (0), q (1), r (2) }, {,,,,,,,, }, ({x, y, z}, {c 1, c 2 }, {f (2) 1, f (2) 2 })) är en predikatlogik, vilka av följande strängar tillhör då WF(L)? (a) p() (f) r(f 2 (c 1, c 2 )) (b) f 1 (x, y) (g) p() r(f 2 (c 1, c 2 ), z) (c) r(z, z) (h) ( y)(( x)( r(f 1 (x, y), c 2 ))) (d) ( x)(q(x)) (i) f 2 (c 1, y) p() (e) x q(x) (j) ( x)(q(y))

Lösning 5 (a) Ja, p tar inga argument och är en välformad formel i sig själv. (b) Nej, bara en term är inte en välformad formel. (c) Ja. (d) Ja. (e) Nej, parenteser saknas. Jämför med (d). (f) Nej, r kräver två argument, inte ett. (g) Ja, nu har r fått ytterligare ett argument. (h) Ja. Fortfarande helt ok. (i) Nej, alla termer måste vara inneslutna i relationer. (j) Ok, men lite meningslöst att binda x men inte utnyttja bindningen.

Tolkningar (0) Vad krävs för att en satslogisk formel skall kunna tilldelas ett sanningsvärde? p (q r) Vad krävs för att en predikatlogisk formel skall kunna tilldelas ett sanningsvärde? r(f (x, y), a) (p(g(x, y), b) (z)(q(f (x, y)) q(z)))

Tolkningar (1) I satslogiken är tolkningens enda syfte att tilldela varje atom ett sanningsvärde. I predikatlogiken har atomerna blivit ersatta med relationssymboler som tar termer som argument. Semantiskt sett betecknar varje term ett objekt. Mängden av alla objekt som ligger till grund för tolkningen måste definieras (tolkningens domän). Istället för att ha ett unikt sanningsvärde tolkas relationssymbolerna som relationer (eller predikat) vars sanningsvärde beror på argumenten. Termernas värde beror i sin tur på tolkningen av konstanter och funktionssymboler.

Tolkningar (2) Definition Låt L = (R, C, T) vara en predikatlogik där T = (V, K, F). En tolkning J av L består av följande komponenter: En icke tom men i övrigt godtycklig mängd dom(j), tolkningens domän. En n-ställig relation R J dom(j) n för varje relationssymbol R (n) R. Relationen R J betraktas som ett predikat R J : dom(j) n {F, T } som tar objekt d 1,..., d n dom(j) som argument och returnerar sanningsvärdet T om (d 1,..., d n ) R J och F annars. Ett objekt a J dom(j) för varje konstant a K. En n-ställig funktion f J : dom(j) n dom(j) för varje funktionssymbol f (n) F. Observera att tolkningen inte specificerar variablernas värden!

Exempel Låt A = r(f (x, y), a) (p(g(x, y), b) (z)(q(f (x, y)) q(z))) vara en predikatlogisk formel, och låt J vara en tolkning där... domänen är heltalen, r är >, p är <, q är IsPrime, a är 5, b är 10, f är +, och g är. Då översätter J formeln A till ((x + y) > 5) (((x y) < 10) (z)(isprime(x + y) isprime(z))). Men! A s sanningsvärde beror fortfarande på valet av x och y.

Värderingar Under en given tolkning J betecknar varje term ett objekt. Förutsättningen är dock att varje variabel tilldelas ett värde. Det är precis det en J-värdering gör. Definition: Låt L = (R, C, T) vara en predikatlogik och J en tolkning av L. En funktion w : terms(t) dom(j) är en J-värdering om (i) w(a) = a J för alla konstanter a i T och (ii) w(f (t 1,..., t n )) = f J (w(t 1 ),..., w(t n )) för alla termer f (t 1,..., t n ) terms(t). Alltså: w(x) får väljas fritt för variabler x V. w är entydigt fastlagt genom värdena w(x) för varje x V. En nyttig notation är w x=d för x V och d dom(j) som betecknar J-värderingen där w x=d (x) = d och w x=d (y) = w(y) för alla y V \ {x}.

Exempel Vi utgick ifrån den predikatlogiska formeln A = r(f (x, y), a) (p(g(x, y), b) (z)(q(f (x, y)) q(z))) och valde tolkningen J där... domänen är heltalen, r är >, p är <, q är IsPrime, a är 5, b är 10, f är +, och g är. Formeln A översattes då till ((x + y) > 5) (((x y) < 10) (z)(isprime(x + y) isprime(z))). Om vi därefter väljer en J-värdering w som tilldelar x värdet 8, y värdet 1 och z värdet 7 får vi t.ex. att w(x + y) = (8 + 1) = 9, och w(z) = 7, så nu har alla termer ett värde.

Semantiken för formler Varje J-värdering leder till ett sanningsvärde för en given formel formelns semantik. Definitionen nedan rättar sig efter Alfred Tarski. Definition: Låt L vara en predikatlogik. En J-värdering w för L utvidgas till en funktion w : WF(L) {F, T } så här: (i) För alla atomära formler A = R(t 1,..., t n ) w(a) = R J (w(t 1 ),..., w(t n )). (ii) För alla variabler x och alla formler A definieras w(( x)(a)) = T omm w x=d (A) = T för alla d dom(j) w(( x)(a)) = T omm w x=d (A) = T för något d dom(j) (iii) För alla övriga konnektiv är definitionen den som också användes i satslogiken (med w istället för v).

Exempel Alltså: Den predikatlogiska formeln A = r(f (x, y), a) (p(g(x, y), b) (z)(q(f (x, y)) q(z))) blir under tolkningen J och J-värderingen w = {(x, 8), (y, 1), (z, 7)} till ((8 + 1) > 5) (((8 1) < 10) (z)(isprime(8 + 1) isprime(z))). vilket som helhet har sanningsvärdet T!

Kvantifierarnas räckvidd, fria variabler Räckvidden för en kvantifierare i en wff ( x)(a) eller ( x)(a) omfattar alla förekomster av x i delformeln A med undantag av de som i sin tur tillhör en delformel av A på formen ( x)(a ) eller ( x)(a ). Variablerna inom räckvidden för en kvantifierare är alltså de som kvantifieraren syftar på. (Konceptet liknar räckvidden för en variabel i ett programspråk med lexikalisk räckvidd.) ( x)((r(x) ( x)(q(x, y) )) ( y)(q(f (x), y) }{{}}{{} ) ) r(x) }{{} En (förekomst av en) variabel är bunden om den ligger inom räckvidden för någon kvantifierare och fri annars. I exemplet är alla blå variabler fria och de övriga är bundna.

Meningar En (sluten) mening är en formel som inte innehåller fria variabler. Antag att en tolkning J har valts. En mening har då alltid ett unikt sanningsvärde. En formel A med en fri variabel x är däremot ett parametriserat påstående vars sanningsvärde beror på x:s värde (alltså på J-värderingen w(x) av x). I en databas skulle J motsvara databasens innehåll och A skulle specificera en förfrågan (query). Systemets uppgift vore att finna och returnera alla objekt d dom(j) som uppfyller w x=d (A) = T. Om flera variabler x 1,..., x n är fria så returneras alla (d 1,..., d n ) dom(j) n som uppfyller w x1 =d 1 x n=d n (A) = T.

En mening har ett unikt sanningsvärde Sats: Låt A vara en mening i en predikatlogik L och J en tolkning. För alla J-värderingar v, w gäller v(a) = w(a). Med andra ord, meningens semantik beror endast på J. Det formella beviset kan delas upp i två steg: Steg 1: För varje term t, om v(x) = w(x) för alla variabler x som förekommer i t så gäller v(t) = w(t). Steg 2: För varje formel B, om v(x) = w(x) för alla variabler x som förekommer fritt i B så gäller v(b) = w(b). I båda steg används induktion över termens respektive formelns struktur. De för oss intressantaste fallen är B = ( x)(b ) och B = ( x)(b ). Pga teoremet används i fortsättningen i samband med meningar notationen A J istället för v(a) (och v specificeras inte).

Exempel I formeln nedan är en tolkning redan vald. ( x)(((x > 1) är_udda(x)) ( är_primt(x + 1))) Det är nu ganska lätt att se att det inte spelar någon roll vilken värdering man väljer, eftersom sanningsvärdet av formeln A ges av följande: w(( x)(a)) = T omm w x=d (A) = T för alla d dom(j) w(( x)(a)) = T omm w x=d (A) = T för något d dom(j).

Modell, tautologi, satisfierbarhet, följd Låt A vara en mening och U en mängd av meningar i en predikatlogik L och J en tolkning. Följande begrepp definieras på ett liknande sätt som i satslogiken: J är en modell av A om A J = T. J är en modell av U om B J = T för varje B U. Mängden av alla modeller av A och U skrivs Mod(A) respektive Mod(U). A är satisfierbar om Mod(A). A är en tautologi om Mod(A) är mängden av alla tolkningar. U = A om Mod(U) Mod(A), alltså om varje modell av U också är en modell av A.