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

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

DD1350 Logik för dataloger

DD1350 Logik för dataloger

En introduktion till predikatlogik

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

Logik och bevisteknik lite extra teori

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

Grundläggande logik och modellteori

Föreläsning 5. Deduktion

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

Grundläggande logik och modellteori

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

Grundläggande logik och modellteori (5DV102)

Lite om bevis i matematiken

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

Grundläggande logik och modellteori (5DV102)

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

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

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

Primitivt rekursiva funktioner och den aritmetiska hierarkin

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

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

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

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

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

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

K2 Något om modeller, kompakthetssatsen

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

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Grundläggande logik och modellteori

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

K3 Om andra ordningens predikatlogik

Om semantisk följd och bevis

DD1350 Logik för dataloger. Vad är logik?

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

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

Om modeller och teorier

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

7, Diskreta strukturer

Tentamen i logik 729G06 Programmering och logik

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

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

Grundläggande logik och modellteori

Logik och modaliteter

Grundläggande logik och modellteori

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

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

Predikatlogik: Normalformer. Klas Markström

Diskret matematik: Övningstentamen 1

Övningshäfte 2: Induktion och rekursion

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

7, Diskreta strukturer

9. Predikatlogik och mängdlära

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Hur man skriver matematik

Semantik och pragmatik

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

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Föreläsningsanteckningar och övningar till logik mängdlära

Föreläsning 9: NP-fullständighet

En introduktion till logik

Algoritmer, datastrukturer och komplexitet

, S(6, 2). = = = =

Semantik och pragmatik

Logik: sanning, konsekvens, bevis

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

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

INDUKTION OCH DEDUKTION

Övningshäfte 1: Logik och matematikens språk

Algoritmer, datastrukturer och komplexitet

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 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

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

Kap. 7 Logik och boolesk algebra

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

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

PCP-satsen på kombinatoriskt manér

Semantik och pragmatik (Serie 4)

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

10. Mängder och språk

Algoritmer, datastrukturer och komplexitet

(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.

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

MS-A0409 Grundkurs i diskret matematik I

Formell logik Föreläsning 1. Robin Stenwall

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18:00

MS-A0409 Grundkurs i diskret matematik I

Induktion och rekursion

Föreläsning 8: Intro till Komplexitetsteori

Datorprogram, algoritmer och Turing-maskiner

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Induktion och rekursion

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar I. v. 2.0, den 24/4 2013

2 Matematisk grammatik

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

Transkript:

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

Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4}, A B = { (1,3), (1,4), (2,3), (2,4) } Ex: N N är mängden av alla par av naturliga tal.

Binära relationer En binär relation över A är en delmängd av A A. Ex: < (mindre än) är en binär relation över N: < = { (0,1), (0,2), (1,2), (0,3), (1,3), (2,3),... } Ex: Grafen nedan kan ses som relationen {(a,b), (b,a)} a b

n-ställiga relationer En binär relation består av par. Allmänt kan en mängd n-tupler, där alla komponenter är hämtade ur samma mängd A, ses som en relation över A n. Ex: plus = { (x,y,z) N 3 x+y = z } = = { (0,0,0), (0,1,1), (1,0,1), (1,1,2), (0,2,2),... }

Funktioner En funktion kan ses som en specialfall av en relation. Om F är en binär relation över A, där för varje a A finns det max ett b A sådant att (a,b) F, så är F en funktion. Oftast skriver man då F(a)=b (som ni är vana vid). Mer generellt kan varje funktion f : A n A beskrivas som en (n+1)-ställig relation över A. Ex: plus på föregående bild.

Unära relationer Unära (1-ställiga) relationer kallas ibland för egenskaper. I stället för att skriva { (a), (b), (c),... } så skriver vi helt enkelt { a, b, c,... }

Dagens ämne Vi har utökat naturlig deduktion till att även gälla predikatlogik (fö 5). Vi vill nu definiera en semantik (modellteori) till predikatlogiken. För satslogik kunde vi definiera en semantik med hjälp av sanningsvärdestabeller (fö 3). Naturlig deduktion för satslogik är sund och fullständig gentemot denna semantik. Kan vi göra något liknande för predikatlogik?

Inledande exempel Är följande formel sann? x y( x+y = y+x ) Svar ja om vi tänker oss addition över heltal. Svar nej om vi tänker oss konkatenering av strängar. (Symbolen + används i Java i bägge betydelserna.) dvs en formel kan vara sann i en modell och falsk i en annan.

Modeller En modell till en predikatlogiska formel Φ specificerar: en mängd A (universum, alla objekt vi talar om) ett element i A för varje konstant i Φ en funktion f : A n A för varje funktionssymbol (med n argument) i Φ en n-ställig relation över A för varje predikatsymbol (med n argument) i Φ

Modeller, exempel T.ex. Φ = x y ( U(x) U(y) U(x+y) ) Låt M vara följande modell: A = N = { 0, 1, 2, } + = addition U(x) = udda = {1, 3, 5,... } Då är Φ sann i M, eftersom summan av två udda tal är jämn (icke udda). Detta skrivs M = Φ

Modeller, exempel T.ex. Φ = x y ( U(x) U(y) U(x+y) ) Låt M 2 vara följande modell: A = { strängar över {a,b} } + = konkatenering av strängar U(x) = strängen x har udda längd = {a, b, aaa, aab,... } Då är Φ sann i M 2, eftersom om man lägger två strängar av udda längd efter varandra får man en sträng av jämn längd. Alltså: M 2 = Φ

Modeller, exempel T.ex. Φ = x y ( U(x) U(y) U(x+y) ) Låt M 3 vara följande modell: A = N = { 0, 1, 2, } + = addition U(x) = x har ett udda antal siffror = {0, 1,...,9, 100, 101,... } Då är Φ falsk i M 3, eftersom t.ex. 1 och 2 har udda antal siffror, men 1+2=3 också har ett udda antal siffror. Detta skrivs M 3 = Φ

En ändlig modell T.ex. Φ = x y ( U(x) U(y) U(x+y) ) Låt M 4 vara följande modell: A = { 0, 1 } + = (addition modulo 2, xor ) U(x) = udda = {1} Då är Φ sann i M 4, eftersom 1 1=0, och 0 är jämnt (icke udda). Alltså: M 4 = Φ

Rekursiv evaluering (def 2.18) För att evaluera om en formel är sann eller ej i en viss modell kan man rekursivt evaluera alla dess delformler. T.ex. för att avgöra om M = Φ 1 Φ 2 ska vi avgöra om M = Φ 1 och M = Φ 2. För detaljer, se def 2.18 i boken.

Jämför satslogik I satslogiken är en modell en valuering, dvs en rad i sanningstabellen, t.ex. { p:f, q:t }. (se fö 3). Om det finns n variabler i den satslogiska formeln ϕ, så finns det 2 n rader i sanningstabellen för ϕ. I predikatlogiken finns däremot oändligt många modeller till varje formel.

Slutna och öppna formler En sluten formel (= en sats, eng. sentence) är en formel utan fria variabler, t.ex. x (U(x)). Given en modell M, så är en sats sann eller falsk i M. En öppen formel innehåller fria variabler, t.ex. U(x). För att kunna veta om U(x) är sann eller falsk i M måste vi veta vad x är bundet till. Därför införs begreppet omgivning (def 2.17), vilket är en funktion från variabler till värden, t.ex. [x!a]. Detta är inte svårt men blir rätt tekniskt. I denna kurs kommer vi fokusera på slutna formler.

Logisk konsekvens Formeln ψ är en logisk konsekvens av φ 1, φ 2,, φ n om ψ är sann i alla modeller i vilka φ 1, φ 2,, φ n är sanna. Detta skrivs φ 1, φ 2,, φ n = ψ (Vi förutsätter att φ 1, φ 2,, φ n, ψ är slutna formler).

Sundhet och fullständighet Precis som för satslogik kan man visa: Naturlig deduktion är ett sunt och fullständigt bevissystem för predikatlogik dvs φ 1, φ 2,, φ n ψ omm φ 1, φ 2,, φ n = ψ Detta visades 1929 av den österrikiske logikern Kurt Gödel. Kurt Gödel (1906-1978)

Sundhet, följder Predikatlogikens sundhet har några intressanta följder: Om ψ inte är en logisk konsekvens av φ 1, φ 2,, φ n så finns det heller inget bevis för ψ utifrån premisserna φ 1, φ 2,, φ n. Dvs om vi kan hitta ett enda sätt att tolka symbolerna i formlerna så att φ 1, φ 2,, φ n blir sanna, men ψ falsk, så kan vi inte bevisa φ 1, φ 2,, φ n ψ. Ett (1) motexempel räcker!

Validitet och satisfierbarhet En formel är valid om den är sann i alla modeller. Exempel: x ( P(x) \/ P(x)) En formel är satisfierbar om den är sann i någon modell. Exempel: x ( P(x)) En formel är osatisfierbar om den är falsk i alla modeller. Exempel: x ( P(x) /\ P(x))

(1) Alla valida formler ψ ϕ (2) ϕ ψ (3) Alla osatisfierbara formler (1) + (2) + (3) = Alla predikatlogiska formler som finns (1) + (2) = Alla satisfierbara formler Om ϕ är valid så är ϕ osatisfierbar Om ψ är varken valid eller osatisfierbar, så gäller samma sak även för ψ

Oavgörbarhet Predikatlogiken är oavgörbar. Detta visades av Alan Turing 1936. dvs det finns inget datorprogram som alltid terminerar och svarar ja exakt när Φ är valid, och nej annars. Alan Turing (1912-1954) Man kan visa detta genom att, givet ett program P, generera en formel Φ som är valid omm P terminerar. Eftersom termineringsproblemet är oavgörbart (se fö 6) så måste då även validitetsproblemet vara oavgörbart.

Men kan vi alltid hitta ett bevis? Om nu Φ är valid, kan vi alltid hitta ett bevis för Φ? I princip ja: mängden av predikatlogiska bevis är en rekursivt uppräkningsbar mängd (se fö 6). Vi kan helt enkelt (i teorin) generera (allt längre och längre) bevis. Till slut kommer vi hitta ett bevis för Φ. Om däremot = Φ så kommer bevissökningen att aldrig terminera.

Brist på bevis motbevis Om vi har försökt 1 timme (1 dag/1 år/...) att försöka hitta ett bevis men misslyckats, kan vi då fastslå att det inte finns något bevis? Svar nej: Vissa teorem kan ha extremt långa och/eller svårfunna bevis., t.ex. Fermats sista sats : n ( n>2 x y z(x n +y n =z n )) Formuleringen är kort men beviset är på 109 sidor matematisk text (motsvarar säkert miljontals sidor bevis i naturlig deduktion).

Brist på motexempel bevis Om vi har försökt 1 timme (1 dag/1 år/...) att försöka hitta ett motexempel men misslyckats, kan vi då fastslå att det finns ett bevis? Svar nej: t.ex. Eulers förmodan : x y z w (x 4 +y 4 +z 4 = w 4 ) vilket är felaktigt. Minsta motexemplet är dock stort: 95800 4 + 217519 4 + 414560 4 = 422481 4