Grundläggande Logik och Modellteori

Relevanta dokument
Grundläggande logik och modellteori

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

Grundläggande logik och modellteori

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori

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

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

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

Grundläggande logik och modellteori

Föreläsning 5. Deduktion

Grundläggande logik och modellteori (5DV102)

Lite om bevis i matematiken

DD1350 Logik för dataloger

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

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

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

Om semantisk följd och bevis

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

K2 Något om modeller, kompakthetssatsen

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

Logik och bevisteknik lite extra teori

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Logik och modaliteter

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

Grundläggande logik och modellteori

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

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

7, Diskreta strukturer

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

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

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

7, Diskreta strukturer

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

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

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

MATEMATIKENS SPRÅK. Avsnitt 1

DD1350 Logik för dataloger

Om modeller och teorier

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

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

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Primitivt rekursiva funktioner och den aritmetiska hierarkin

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

En introduktion till predikatlogik

9. Predikatlogik och mängdlära

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

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Logik: sanning, konsekvens, bevis

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

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

:1) Vid ett besök på Knarrön (där ju var och en antingen är kung (och

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

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

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

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

Semantik och pragmatik (Serie 3)

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

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

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

KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007

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

En introduktion till logik

Realism och anti-realism och andra problem

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

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

Grundläggande logik och modellteori

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

F. Drewes Datavetenskapens grunder, VT02. Lite logik

PCP-satsen på kombinatoriskt manér

PROV I MATEMATIK Automatateori och formella språk DV1 4p

Explorativ övning 5 MATEMATISK INDUKTION

Semantik och pragmatik

8. Naturlig härledning och predikatlogik

Funktionella beroenden - teori

Tal till Solomon Feferman

Induktion och rekursion

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?

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

10. Mängder och språk

Svar och lösningar, Modul 1.

MS-A0409 Grundkurs i diskret matematik I

MS-A0409 Grundkurs i diskret matematik I

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

Svar till vissa uppgifter från första veckan.

K3 Om andra ordningens predikatlogik

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

Grundläggande logik och modellteori

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

Föreläsning 8: Intro till Komplexitetsteori

Formell logik Föreläsning 1. Robin Stenwall

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?

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

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

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

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

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

Algoritmer, datastrukturer och komplexitet

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Övningshäfte 2: Induktion och rekursion

Semantik och pragmatik

Transkript:

Grundläggande Logik och Modellteori Temporallogik Klas Markström och Lars-Daniel Öhman Institutionen för matematik och matematisk statistik Umeå universitet HT2014 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 1 / 64

Översikt 1 Kort om verifikation 2 Modallogik 3 Modellteori Vad är modellteori Modeller 4 Temporallogik Introduktion Temporal satslogik Temporallogik i linjär tid 5 Deduktion och modelltestning Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 2 / 64

Översikt 1 Kort om verifikation 2 Modallogik 3 Modellteori Vad är modellteori Modeller 4 Temporallogik Introduktion Temporal satslogik Temporallogik i linjär tid 5 Deduktion och modelltestning Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 3 / 64

Formell verifikation Formell verifikation är användandet av formella verktyg från matematik och logik för att visa att ett system (kan vara både mjuk- och hårdvara) gör vad det ska göra (uppfyller vissa givna specifikationer). Verifikation är ett slags bevis för att ett system gör det det ska. Verifikation består vanligtvis av tre delar: Ett språk för att modellera (ej nödvändigtvis logisk modell) systemet Ett språk för att beskriva de egenskaper som ska verifieras En metod för att pröva om systemet uppfyller specifikationen Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 4 / 64

Verifikation abstraktion System Matematisk modell M Specifikation representation Formell specifikation φ Modellprövning: M = φ? Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 5 / 64

Varför verifikation? Varför behövs verifikation? I system som används i kritiska applikationer kan buggar få förödande konsekvenser. Massproducerad hårdvara. Kostnaden för hård- och mjukvarufel kan ibland uppgå till flera miljarder kronor och ibland även mänskliga liv. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 6 / 64

Ariane 5 Exploderade 1996 Orsaken: En typkonvertering från en 64-bitars float till en 16-bitars int. Kostnad: Över 3 miljarder kr. Ariane 5 rocket c Creative Commons Attribution-Share Alike las Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 7 / 64

Några andra kända och (mycket) förödande mjukvarufel FDIV-bugg i Intel Pentium-processorn resulterade att flyttalsdivision ibland kunde ge fel resultat. Kostnad: nästan 500 miljoner USD. Therac-25 - En maskin för strålningsbehandling av cancer-patienter. Felet resulterade i att minst fem patienter miste sina liv. MIM-104 Patriot - Luftvärnsmissil som på grund av en bugg missade att stoppa en SCUD-missil som dödade 28 människor. Ett problem hos AT&T 1990 gjorde att en stor del av det amerikanska telefonnätet var nere under flera timmar. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 8 / 64

Några andra kända och (mycket) förödande mjukvarufel FDIV-bugg i Intel Pentium-processorn resulterade att flyttalsdivision ibland kunde ge fel resultat. Kostnad: nästan 500 miljoner USD. Therac-25 - En maskin för strålningsbehandling av cancer-patienter. Felet resulterade i att minst fem patienter miste sina liv. MIM-104 Patriot - Luftvärnsmissil som på grund av en bugg missade att stoppa en SCUD-missil som dödade 28 människor. Ett problem hos AT&T 1990 gjorde att en stor del av det amerikanska telefonnätet var nere under flera timmar. Tredje världskriget (nästan iaf) - Den 26:e september 1983 indikerade ett sovjetiskt varningssystem felaktigt att USA hade avfyrat fem kärnvapenmissiler mot Sovjetunionen. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 8 / 64

Några andra kända och (mycket) förödande mjukvarufel FDIV-bugg i Intel Pentium-processorn resulterade att flyttalsdivision ibland kunde ge fel resultat. Kostnad: nästan 500 miljoner USD. Therac-25 - En maskin för strålningsbehandling av cancer-patienter. Felet resulterade i att minst fem patienter miste sina liv. MIM-104 Patriot - Luftvärnsmissil som på grund av en bugg missade att stoppa en SCUD-missil som dödade 28 människor. Ett problem hos AT&T 1990 gjorde att en stor del av det amerikanska telefonnätet var nere under flera timmar. Tredje världskriget (nästan iaf) - Den 26:e september 1983 indikerade ett sovjetiskt varningssystem felaktigt att USA hade avfyrat fem kärnvapenmissiler mot Sovjetunionen. Överste Stanislav Petrov valde att ignorera systemet och att inte försöka slå tillbaka med Sovjetiska kärnvapen. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 8 / 64

Exempel där formell verifikation används Utveckling av hårdvarukretsar och processorer - Används av företag som Intel, AT&T, HP, Motorola, Sun, Fujitu-Siemens och NEC. The Compcert verified compiler - En C-kompilator för PowerPC-arkitekturen där det är bevisat att den genererade assemblerkoden är semantiskt ekvivalent med källkoden för det ursprungliga programmet. Extremt säkra operativsystem - För att uppnå den absolut högsta säkerhetsklassificeringen från NSA krävs att ett operativsystem är formellt verifierat, designad och testat. Rymdsonder - NASA har använt modeltestning för flera rymdsonder på senare tid. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 9 / 64

Två olika typer av formell verifikation Bevisbaserad verifikation Systemet beskrivs med en uppsättning formler Γ och specifikationen med en annan formel φ. Metoden går ut på att visa att Γ φ. Modellbaserad verifikation Systemet representeras av en modell M och specifikationen representeras av en formel φ. Metoden går i huvudsak ut på att visa att M satisfierar φ, dvs att M = φ (mer om detta senare). Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 10 / 64

Bevisbaserad verifikation Mycket svårt att helt automatisera (t.o.m. omöjligt enligt Gödels ofullständighetssats) Används vanligtvis för satslogik Om vi arbetar i en logik där Γ φ omm Γ = φ så gäller beviset för alla modeller Kan användas för system med många tillstånd Det finns en stor uppsättning theorem provers Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 11 / 64

Modellbaserad verifikation (modellverifiering) I allmänhet enklare än bevisbaserad verifikation eftersom vi bara tittar på en möjlig modell Lämplig för exempelvis kommunikationsprocesser med ändligt många tillstånd Vanligtvis baserad på någon form av temporallogik Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 12 / 64

Verifikation igen abstraktion System Matematisk modell M Specifikation representation Formell specifikation φ Modellprövning: M = φ? Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 13 / 64

Språkets uttrycksfullhet Vi vill ha ett tillräckligt starkt språk för att kunna uttrycka dels vad systemet gör, och dels vad specifikationen säger Satslogik otillräcklig Predikatlogik starkare, men olämplig modell för ett system som kan röra sig mellan olika states, exempelvis tillstånden hos en Turingmaskin Därför: Modallogik, här den specifika tolkningen temporallogik Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 14 / 64

Översikt 1 Kort om verifikation 2 Modallogik 3 Modellteori Vad är modellteori Modeller 4 Temporallogik Introduktion Temporal satslogik Temporallogik i linjär tid 5 Deduktion och modelltestning Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 15 / 64

Modallogik Modal sats/predikatlogik utgörs i grunden av sats/predikatlogik, tillsammans med två nya enställiga operatorer, och, som utläses növändigt att respektive möjligt att. Exempel P(x) utläses som att Det är möjligt att P(x). De två operatorerna kan definieras i termer av varandra, men kan även definieras separat. Då blir följande en sats. p p p p Modallogik har funnits i någon form sedan klassisk tid ( de gamla grekerna ), men gavs en lyckad formell semantik först 1959 av Kripke. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 16 / 64

Slutledningsregler för modallogik Det är inte självklart vilka slutledningsregler som ska gälla för operatorerna och. Exempelvis gäller ju xp(x) xp(x), men ska p p eller p p gälla? Om p gäller, gäller då p med nödvändighet? Om p gäller med nödvändighet, gäller då p? Det visar sig att denna fråga är förbunden med vilken semantik vi förknippar vår modallogik med. I matematiken är exempelvis alla sanningar nödvändiga sanningar (per definition). I vissa semantiker för modallogik gäller dock inte ens p p. Innan vi går in på det ska vi repetera modellteori för predikatlogik. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 17 / 64

Översikt 1 Kort om verifikation 2 Modallogik 3 Modellteori Vad är modellteori Modeller 4 Temporallogik Introduktion Temporal satslogik Temporallogik i linjär tid 5 Deduktion och modelltestning Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 18 / 64

Vad är modellteori? Modellteori är en gren av matematisk logik som studerar strukturer (modeller) m.h.a. logik. Brukar vanligtvis använda första ordningens predikatlogik. Ligger i gränslandet mellan datavetenskap, matematik, filosofi och logik. Delas ofta in i två olika områden: Ändlig modellteori Oändlig modellteori Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 19 / 64

Varför ska datavetare bry sig om modellteori? Tillämpningar för ändlig modellteori kan bland annat hittas inom Databasteori Komplexitetsteori Teori för formella språk AI Formell verifikation Lästips för intresserade: Elements of Finite Model Theory av Leonid Libkin. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 20 / 64

Vad är en modell? (repetition) I satslogiken kan en modell för en mängd formler intuitivt ses som en tolkning som där formlerna är sanna. Formellt: Om Γ WF(L) så är en modell för Γ en funktion ν : P {T, F} där P är mängden atomer så att ν(φ) = T för alla φ Γ. Mängden av alla modeller för Γ betecknas Mod(Γ). En modell rätt och slätt är helt enkelt funktionen ν från atomerna till sanningsvärdena T och F. I predikatlogiken är det mer komplicerat... Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 21 / 64

Modeller i predikatlogik (repetition) Definition F - mängd funktionssymboler P - mängd predikatsymboler C - mängd konstanter En tolkning J till V = (F, P, C) är följande: A är en mängd av konkreta värden (kallas vanligtvis för universa eller domän och betecknas ibland dom(j )) för varje konstant c C har vi ett konkret element c J A för alla n-ställiga funktionssymboler f F där n > 0 har vi en funktion f J : A n A för alla n-ställiga predikatsymboler P P har vi en mängd P J A n Notation: V brukar ofta kallas för ett vokabulär. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 22 / 64

Modeller forts... Definition Om Φ är en mängd meningar och M en tolkning till ett vokabulär så säger vi att M är en modell till Φ om φ M = 1 för alla φ Φ. Detta skrivs vanligtvis M = Φ. Mängden av alla modeller till Φ skrivs Mod(Φ). Definition Ett vokabulär V tillsammans med en tolkning M kallas för en V-struktur. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 23 / 64

Exempel på en struktur Exempel Låt V = ({sum (2), mult (2) },, {1 s, 2 s, 3 s, 4 s,... }) och tolkningen M vara följande: Universa A = N sum(x, y) = x + y och mult(x, y) = xy 1 s = 1, 2 s = 2,... Observera att man ofta identifierar symbolerna med symbolernas tolkning när man definierar strukturer. Dvs. t.ex. låter symbolen 1 vara talet 1 N och sum(x, y) brukar skrivas x + y (infix notation). Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 24 / 64

Exempel på en modell i predikatlogik Exempel Låt V = (F, P, C) vara som i föregående exempel och betrakta φ = x y(1 + x 2 = y). Är då M en modell till φ? Dvs gäller M = φ? Hur är det med ψ = y x(1 + x 2 = y)? Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 25 / 64

Ännu ett exempel Exempel Låt ({sum (2) }, {prime(x), even(x)}, {1, 2, 3, 4,... }) vara ett vokabulär och betrakta formeln φ = x(even(x) y z(prime(z) prime(y) sum(y, z) = x)) Lämplig modell? Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 26 / 64

Exempel forts... Exempel Betrakta följande struktur M: A = N sum M (x, y) = x + y prime M = mängden av alla primtal even M = mängden av alla jämna tal större än 2 Formeln φ = x(even(x) y z(prime(z) prime(y) sum(y, z) = x)) kan nu utläsas som: Varje jämnt heltal större än tre är summan av två primtal. Är detta sant i M? Dvs gäller det att M = φ? Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 27 / 64

En annan tänkbar modell Exempel En enklare struktur M är följande: A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} sum M (x, y) = x + y mod 13 prime M = mängden av alla primtal i A = {2, 3, 5, 7, 11} even M = mängden av alla jämna tal i A större än 2 = {4, 6, 8, 10, 12} Det är lätt att inse att detta är en modell ty: 4 = 2 + 2, 6 = 3 + 3, 8 = 5 + 3, 12 = 5 + 7 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 28 / 64

Översikt 1 Kort om verifikation 2 Modallogik 3 Modellteori Vad är modellteori Modeller 4 Temporallogik Introduktion Temporal satslogik Temporallogik i linjär tid 5 Deduktion och modelltestning Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 29 / 64

Klassisk logik Sub specie aeternitatis Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 30 / 64

Tid och logik Temporallogik är ett samlingsnamn på olika logiska system där det är möjligt att formellt resonera om utsagor i termer av tid. Betrakta följande exempel: Jag är trött Jag kommer att bli trött Jag har varit trött Jag kommer att vara trött tills jag får vila Jag kommer alltid att vara trött Någon gång i framtiden kommer jag att vara trött Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 31 / 64

Tidens betydelse En formels sanningsvärde är inte något statiskt. Exempel: Idag snöar det, men imorgon snöar det inte. Vi behöver något formalism för att beskriva förändring över tid. Går att göra i predikatlogik, otympligt i praktiska sammanhang. Mer specialiserade formalismer behövs. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 32 / 64

Bakgrund Filosofer har länge använt logik för att resonera om tid. Några exempel är följande: Aristoteles (300-talet f.kr.) William av Ockham (1200-talet) Boole och Peirce (1800-talet) Time has usually been considered by logicians to be what is called extra-logical matter. I have never shared this opinion. But I have thought that logic had not yet reached the state of development at which the introduction of temporal modifications of its forms would not result in great confusion; and I am much of that way of thinking yet. Peirce Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 33 / 64

Den moderna temporallogikens födelse Den moderna temporallogiken utvecklades av Arthur Prior (1914-1969) under 50- och 60-talet. Hans första temporallogik var en linjärtids-temporallogik. Satslogik+temporala konnektiv. På inrådan från Kripke utvecklade han även en förgrenad-tids-temporallogik. Från slutet av 60-talet och framåt var applikationer inom AI en viktig drivkraft. Under slutet av 70-talet började temporallogik utvecklas som ett verktyg för formell verifikation. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 34 / 64

Temporal satslogik (Propositional Temporal Logic) Samma syntax som satslogik, men med ytterligare tre enställiga operatorer: utläses som i nästa tidssteg utläses alltid (eller för all framtid?) utläses så småningom (nu eller någon gång i framtiden?) Syntaktiskt välformade uttryck ges rekursivt på samma sätt som för vanlig satslogik Som vanligt finns det konventioner för att bli av med onödiga parenteser. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 35 / 64

Exempel på PTL Följande är exempel på syntaktiskt korrekta PTL-formler: a p p p p q ( r s) (skickautskrift skrivut) Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 36 / 64

Två olika former av temporallogik Linjärtids-temporallogik - Tiden är deterministisk, varje tidssteg har en unik framtid (tiden kan ses som en linje). Förgrenad-tids-temporallogik - Tiden är icke-deterministisk. Varje tidssteg har flera möjliga framtider (tiden kan ses som ett träd som hela tiden förgrenar sig). Modallogiken ställer inga specifika krav på vilken syn man har på tiden, utan detta specificeras genom semantiken. Fokus här är på linjär tid. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 37 / 64

Semantik, exempel Informellt: Diskret tid. Vid varje given tidpunkt befinner sig systemet i ett givet tillstånd (en möjlig värld ). Transitionerna mellan tillstånden beskrivs av ett transitionssystem (Kripke-struktur). s 0 s 1 p p p q q q s 3 p q s 2 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 38 / 64

Transitionssystem Definition Ett transitionssystem T = (S, ρ, L) är en mängd tillstånd S med en transitionsrelation ρ S S (där (s 1, s 2 ) ρ skrivs s 2 ρ(s 1 )), s i S gäller att s j S s.a. s j ρ(s i ) och L : S 2 P. Tänk en riktad graf där ρ anger vilka övergångar som kan göras i ETT tidssteg. Kallas ofta en Kripke-struktur. s 0 s 1 p p q q s 3 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 39 / 64 s 2

Tolkning Relationen ρ skall tolkas som reachable, eller nåbar, de tillstånd som kan nås från ett givet tillstånd. L anger vilka atomer som är sanna i varje tillstånd L(s 0 ) = {p} L(s 1 ) = {p, q} L(s 2 ) = {q} L(s 3 ) = s 0 s 1 p p q q s 3 s 2 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 40 / 64

Semantik forts. Definition Låt A vara en WFF i PTL och T vara ett transitionssystem. Sanningsvärdet på A m.a.p. T skrivs ν T,s (A) och ges induktivt av: Om p P och A = p så är ν T,s (A) = T omm p L(s). Om A = A så är ν T,s (A) = T omm ν T,s (A ) = F. Om A = A A så är ν T,s (A) = T omm ν T,s (A ) = T eller ν T,s (A ) = T. Om A = A A så är ν T,s (A) = T omm ν T,s (A ) = T och ν T,s (A ) = T. Detta är alltså de regler som gäller i vanlig satslogik. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 41 / 64

Semantik forts. Följande regler tillkommer för temporallogik (modallogik) Definition (forts...) Om A = A så är ν T,s (A) = T omm ν T,s (A ) = T gäller för alla tillstånd s som kan nås med något antal tidssteg där varje övergång är kompatibel med ρ. Om A = A så är ν T,s (A) = T omm ν T,s (A ) = T gäller för något tillstånd s som kan nås med något antal tidssteg där varje övergång är kompatibel med ρ.. Detta skall tolkas som följer: Om jag vill veta om A är sann om jag står i tillstånd s, så måste jag undersöka om A är sann i alla nåbara tillstånd, s. Motsvarande för A är att jag måste hitta något nåbart tillstånd där A är sann. Notera att valueringen L kan ge olika sanningsvärden till atomerna för olika tillstånd. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 42 / 64

Semantik forts. Man kan alltså säga att en modell för en temporallogik är en uppsättning modeller (avbildningen L begränsat till de olika tillstånden), tillsammans med nåbarhetsrelationen ρ. Man kan för predikatlogik göra en liknande definition, där man har en nåbarhetsrelation, och en predikatlogisk modell för varje tillstånd. Man brukar dessutom ha ett särskilt utpekat tillstånd (det nuvarande tillståndet, den faktiska nuvarande världen), och utvärdera utsagors giltighet i relation till detta utpekade tillstånd. Exempel För föregående exempelstruktur gäller s 2 = p, eftersom p är sann i alla tillstånd som kan nås från s 2, men s 2 = p, eftersom p inte är sann i tillstånd s 3. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 43 / 64

Satisfierbarhet Definition En formel A är satisfierbar omm det finns ett transitionssystem T = (S, ρ, L) och ett tillstånd s S så att ν T,s (A) = T. Detta skrivs T, s = A och T säges då vara en modell för A. Definition Om A är sann för alla transitionsystem och alla tillstånd så skriver vi = A. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 44 / 64

Dualitet Theorem = p p Bevis. Bygger på slutledningsreglerna för och. Antag att det finns en tolkning T = (S, ρ) med ett godtyckligt tillstånd s S där s = p och s = p. Då finns ett tillstånd s ρ(s) sådant att s = p, vilket motsäger att det för alla tillstånd s ρ(s) skall gälla att s = p. För omvändningen, antag att det finns en tolkning T = (S, ρ) med ett godtyckligt tillstånd s S sådant att s = p och s = p. Då finns ett tillstånd s ρ(s) sådant att s = p, vilket motsäger s = p. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 45 / 64

Linjärtidstemporallogik Transitionssystemet ger implicit en modell för tiden. Det har även inverkan på vilka formler som är valida. Exempelvis gäller att A A omm transitionsrelationen är transitiv. Vissa transitionssystem är särskilt intressanta. Definition Om T = (S, ρ, L) är ett transitionssystem där varje tillstånd har exakt en efterföljare (d.v.s. om ρ(s) = 1 s S) så kallas logiken för en linjärtidstemporallogik och annars kallas den för en förgrenadtidstemporallogik. Illustration av linjär tid (med loop på varje nod, och transitivt hölje): s 0 p s 1 p s 2 p... Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 46 / 64

Operatorn Next Definition För operatorn gäller slutledningsregeln Om A = A så är ν T,s (A) = T omm ν T,s (A ) = T gäller för något tillstånd s ρ(s). Om ρ(s) är linjär så finns endast ett sådant tillstånd, och vi kan skriva s = ρ(s). Notera likheten mellan denna slutledningsregel och regeln för. Skillnaden är i tolkningen av transitionssystemet. För ska man titta på alla någon gång i framtiden nåbara tillstånd, och för bara på de i ett steg nåbara tillstånden. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 47 / 64

Tablåregler för LTL Alla de gamla reglerna, och dessutom följande: α α 1 α 2 A A A A A A β β 1 β 2 A A A A A A X X 1 A A A A Exempelvis α-regeln A; A, A tolkas som att om A ska gälla så ska A gälla, och A ska gälla. Detta ger en instans av A att kontrollera (nämligen A). Reglerna av typ β ger förgreningar i den semantiska tablån. Notera att X-reglerna är helt nya, och bara har en resulterande komponent. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 48 / 64

Regler för, exempel (p q) ( p q) p q, ( p q) p, ( p q) q, ( p q) Tolkning av den vänstra grenen: I nuvarande tidssteg skall p gälla, och i nästa tidssteg skall p och q gälla. Rutan markerar en bestämd punkt i tiden. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 49 / 64

Regler för (2) (p q) ( p q) p q, ( p q) p, ( p q) q, ( p q) p q p q p, q p, q När man stegar framåt i tiden spelar det inte någon roll vilka atomer som var sanna i steget innan, så de försvinner ur trädet. Jämför med X-reglerna. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 50 / 64

Regler för (3) s 0 p s 1 p q s 0 q s 1 p q s 0 p s 1 p q s 0 q s 1 p q Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 51 / 64

Semantisk tablå för ( (p q) p) ( (p q) p) (p q), p p q, (p q), p p, q, (p q), p p, q, (p q), p p, q, (p q), p Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 52 / 64

Tolkning av ( (p q) p) s 0 p q s 1 p q s 2 p q s 0 p q Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 53 / 64

Exempel l 2 : p, p l 4 : p l 0 : p l 1 : p, p l 3 : p, p l 5 : p, p l 6 : p, p l 7 : p, p To l 2 To l 3 To l 2 To l 3 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 54 / 64

Exempel (forts.) l 2 : p, p l 0 : p l 1 : p, p l 3 : p, p To l 0 To l 1 s 0 p s 1 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 55 / 64

Modal predikatlogik (Ingår inte i kursen) På samma sätt som för satslogik kan predikatlogik utökas med operatorn. Korrekt syntax fungerar på liknande sätt som för modal satslogik, och till tablåer tillkommer några regler. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 56 / 64

Översikt 1 Kort om verifikation 2 Modallogik 3 Modellteori Vad är modellteori Modeller 4 Temporallogik Introduktion Temporal satslogik Temporallogik i linjär tid 5 Deduktion och modelltestning Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 57 / 64

Ett deduktivt system för linjärtidstemporallogik Definition Det deduktiva systemet L har som axiom 0. PC Substitutionsinstanser av giltiga satslogiska formler 1. distribuerar över (A B) ( A B) 2. distribuerar över (A B) ( A B) 3. Expansion för A (A A A) 4. Induktion (A A) (A A) 5. Linjäritet A A och slutledningsregler modus ponens samt A A. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 58 / 64

Ytterligare slutledningsregler A B A B Informell motivering: Om A B är valid, så är den ju sann i alla möjliga världar/tidssteg. Därför gäller att om A så gäller B. Liknande motivering för A B A B och A A A A Den första och den andra slutledningsregeln kallas generalisering, och den tredje kallas induktion. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 59 / 64

Exempel på satser Theorem (Transitivitet) p p. Bevis. 1. p p Expansion 2. p p Expansion 3. p p 2, Induktion 4. p p 1, 3, PC Kommentar: Vid bruk av expansion gäller alla konjunkterna i högerledet, så specifikt gäller en valfri av dem. I sista steget står PC för att vi genom axiomen för lämpligt deduktivt system för satslogik kan sluta oss till A B från A B och B A. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 60 / 64

Sundhet och fullständighet Det deduktiva systemet L är sunt och fullständigt, eller med formell notation: Om L A så = A (sundhet) och om = A så L A (fullständighet). Detta gäller för linjär tid, eftersom de flesta av våra satser bevisats med detta som tyst antagande. Sundhet visas genom att (med antagande om linjär tid) visa att varje axiom och varje slutledningssteg är en valid formel. Därefter kan man använda induktion på bevisets längd (i varje steg tillämpas ju något slutledningssteg eller något axiom). Fullständighet är besvärligare att visa helt vattentätt formellt. I grunden handlar det om att visa att konstruktionen av en semantisk tablå alltid terminerar. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 61 / 64

Modelltestning Avsnitt 12.3 kan läsas som trivia, men ingår inte i kursen. Example (Critical section problem) Utforma ett system som reglerar två processers kritiska fas på följande sätt: Varje process kan stanna för alltid i sin icke-kritiska fas, men om processen ber om att få gå in i sin kritiska fas, så kommer den någon gång att göra det. Varje process som är i sin kritiska fas kommer någon gång att lämna den. Endast en process får vara i sin kritiska fas åt gången. Specifikation: (CS1 CS2), (Set1 CS1) (Set2 CS2) Här skall CSi läsas som att process i är i sin kritiska fas, och Seti läsas som att process i bett om att få gå in i sin kritiska fas. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 62 / 64

Modelltestning (forts.) Kravet på att varje process någon gång ska lämna sitt kritiska tillstånd, (CS1 CS1) är en logisk följd av de två formlerna och behöver inte specificeras separat. Läs avsnitt 12.4 och 12.5 som exempel på specifikation, bevisverifikation och modelltestning av en algoritm (Petersons algoritm som löser detta problem. I modellverifikationen i avsnitt 12.5 utgörs modellen av automaten. Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 63 / 64

Tillståndsdiagram för Petersons algoritm 4. (csp,tryq,1) 1 1. (tryp,tryq,1) 2. (waitp,tryq,1) 3. (tryp,waitq,2) 5. (waitp,waitq,2) 6. (waitp,waitq,1) 8. (csp,waitq,2) 3 8 5 6 9. (waitp,csq,1) 9 2 7. (tryp,csq,2) 10. (tryp,tryq,2) 2 3 Klas Markström och Lars-Daniel Öhman (Umeå universitet) Grundläggande Logik och Modellteori HT2014 64 / 64