Grundläggande logik och modellteori

Relevanta dokument
Grundläggande Logik och Modellteori

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

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

DD1350 Logik för dataloger

DD1350 Logik för dataloger

Grundläggande logik och modellteori

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

Om semantisk följd och bevis

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

Föreläsning 5. Deduktion

Lite om bevis i matematiken

Grundläggande logik och modellteori (5DV102)

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

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.

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

Grundläggande logik och modellteori

En introduktion till predikatlogik

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

Grundläggande logik och modellteori (5DV102)

Primitivt rekursiva funktioner och den aritmetiska hierarkin

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

K2 Något om modeller, kompakthetssatsen

Grundläggande logik och modellteori

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

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Om modeller och teorier

Grundläggande logik och modellteori

Logik och bevisteknik lite extra teori

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

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

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

DEL I. Matematiska Institutionen KTH

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

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

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

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

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

7, Diskreta strukturer

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

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

9. Predikatlogik och mängdlära

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

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

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

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

BER AKNINGSBARHET F OR DATALOGER. Kent Petersson. Institutionen for Datavetenskap Goteborgs Universitet / Chalmers Goteborg, Sweden

Föreläsning 2. Operativsystem och programmering

Semantik och pragmatik

7, Diskreta strukturer

K3 Om andra ordningens predikatlogik

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

Algebra I, 1MA004. Lektionsplanering

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

Logik och modaliteter

3 differensekvationer med konstanta koefficienter.

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

DEL I. Matematiska Institutionen KTH

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Grundläggande logik och modellteori

Algoritmer, datastrukturer och komplexitet

Semantik och pragmatik (Serie 4)

Algoritmer, datastrukturer och komplexitet

DD1361 Programmeringsparadigm HT15

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Robin Stenwall Lunds universitet

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?

Matematikens Element. Vad är matematik. Är detta matematik? Anders Fällström Institutionen för matematik och matematisk statistik Umeå universitet

Robin Stenwall Lunds universitet

Kapitel 2: De hela talen

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

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

Efternamn förnamn pnr årskurs

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

1. (3p) Ett RSA-krypto har de offentliga nycklarna n = 33 och e = 7. Dekryptera meddelandet 5. a b c d e. a a b c d e

MATEMATIKENS SPRÅK. Avsnitt 1

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

Datavetenskapligt program, 180 högskolepoäng

ANDREAS REJBRAND Matematik Numeriska serier. Andreas Rejbrand, april /29

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?

Tal till Solomon Feferman

DD1361 Programmeringsparadigm HT17

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

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Algebra och talteori MMGL31. Repetition. Idag. Föreläsning 9 VT FLS och primtalstestning. Carmichaeltal. Rabin-Miller test.

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Några satser ur talteorin

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

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

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

Matematik 5 Kap 2 Diskret matematik II

Algoritmer, datastrukturer och komplexitet

DEL I. Matematiska Institutionen KTH

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

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

Realism och anti-realism och andra problem

Explorativ övning 5 MATEMATISK INDUKTION

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

Transkript:

Modeller och uttrycksfullhet hos predikatlogik Department of mathematics Umeå university Föreläsning 10

Dagens föreläsning 1 Innehåll på resten av kursen 2 Varför verifikation? Formella metoder för verifikation 3

Följande kommer att tas upp på de kommande föreläsningarna Modeller och modellteori Modellprövning Verktyg, NuSMV Algoritmer Temporallogik Linjärstids-temporallogik (LTL) Förgrenad-tids temporallogik (CTL)

Varför verifikation? Formella metoder för verifikation Varför behövs verifikation? I system som används i kritiska applikationer kan buggar få förödande konsekvenser. Kostnaden för hård- och mjukvarufel kan ibland uppgå till flera miljarder kronor och ibland även mänskliga liv.

Ariane 5 Innehåll på resten av kursen Varför verifikation? Formella metoder för verifikation

Pentium Innehåll på resten av kursen Varför verifikation? Formella metoder för verifikation Här var det en serie från Userfriendly.org som jag valde att inte ta med i denna handout. Den går att hitta på www.userfriendly.org för den som är intresserad.

Varför verifikation? Formella metoder för verifikation Några kända (mycket) förödande mjukvarufel FDIV-bugg i Intel Pentium-processorn Ariane 5 - Rymdraket som exploderade 1996. Kostnad c:a 7 miljarder 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.g.a. en bugg missade att stoppa en SCUD-missil som dödade 28 människor.

Formell verifikation Innehåll på resten av kursen Varför verifikation? Formella metoder för 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). Består vanligtvis av tre delar: Ett språk för att modellera systemet Ett språk för att beskriva de egenskaper som ska verifieras En metod för att pröva om systemet uppfyller specifikationen

Varför verifikation? Formella metoder för verifikation 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).

Bevisbaserad verifikation Varför verifikation? Formella metoder för verifikation Mycket svårt att helt automatisera (t.o.m. omöjligt enligt Gödels ofullständighetssats). Används vanligtvis för FO. 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.

Varför verifikation? Formella metoder för verifikation Modellbaserad verifikation (modellprövning) I allmänhet enklare än bevisbaserad verifikation eftersom vi bara tittar på en möjlig modell. Lämplig för t.ex. kommunikationsprocesser med ändligt många tillstånd. Vanligtvis baserad på någon form av temporallogik (i den här kursen kommer CTL och LTL att gås igenom).

Modellprövning Innehåll på resten av kursen Varför verifikation? Formella metoder för verifikation abstraktion System Matematisk modell M Specifikation representation Formell specifikation φ Modellprövning: M = φ?

Varför verifikation? Formella metoder för verifikation 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 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.

? ä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

Vad är en modell? Innehåll på resten av kursen I satslogiken är en modell en funktion ν : P {T, F} där P är mängden atomer. Om P = n har vi 2 n möjliga modeller. I predikatlogiken är det mer komplicerat...

Modeller i predikatlogik (repetition) Definition F - mängd funktionssymboler P - mängd predikatsymboler En modell M till (F, P) är följande: A är en mängd av konkreta värden (kallas vanligtvis för universa) för varje 0-ställig funktionssymbol f F har vi ett konkret element f M A för alla n-ställiga funktionssymboler f F där n > 0 har vi en funktion f M : A n A för alla n-ställiga predikatsymboler P P har vi en mängd P M A n

Exempel på en modell i predikatlogik Example Funktionssymboler: F = {sum(x, y)} Predikatsymboler: P = {prime(x), even(x)} Vill studera formeln x(even(x) y z(prime(z) prime(y) sum(y, z) = x)) Lämplig modell?

Exempel forts... Innehåll på resten av kursen Example En tänkbar modell 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. Observera att detta är en oändlig modell!

En annan tänkbar modell Example En enklare modell M är följande: A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} sum M (x, y) = x + y 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 formeln är sann i denna modell ty: 4 = 2 + 2, 6 = 3 + 3, 8 = 5 + 3, 12 = 5 + 7

Miljö Innehåll på resten av kursen För fria variabler behöver vi en funktion som mappar dessa mot konkreta värden i universat A när vi ska undersöka om formeln uppfyller modellen. Definition En miljö för ett universa A är en funktion l : var A. Om l(x) = a skriver vi l[x a].

Definition av M = φ Definition Givet en modell M för (F, P) och en miljö l så definierar vi M = l φ (utläses φ är sann i M med respekt på miljön l) rekursivt på följande sätt: Om φ = P(t 1, t 2,..., t n ) och l(t 1 ) = a 1,..., l(t n ) = a n så gäller M = l φ om (a 1,..., a n ) P M M = l ψ gäller omm M = l[x a] ψ för alla a A. M = l ψ gäller omm M = l[x a] ψ för någon a A. M = l ψ gäller omm M = l ψ inte gäller. M = l ψ 1 ψ 2 gäller omm M = l ψ 1 och M = l ψ 2 gäller. M = l ψ 1 ψ 2 gäller omm M = l ψ 1 eller M = l ψ 2 gäller. M = l ψ 1 ψ 2 gäller omm M = l ψ 2 alltid gäller då M = l ψ 1 gäller.

M = φ forts... Innehåll på resten av kursen Om M = l φ gäller oavsett valet av miljö l skriver vi bara M = φ. Detta gäller alltid om φ saknar fria variabler. Definition Om Γ är en mängd formler i predikatlogik och φ är en annan formel i samma logik så gäller Γ = φ omm M = l ψ gäller för alla modeller M, miljöer l och ψ Γ.

Exempel på tavlan Innehåll på resten av kursen

Sammanfattning av dagens föreläsning Vad är verifikation och varför behövs det. Olika typer av verifikation Modeller i predikatlogik

Nästa föreläsning Innehåll på resten av kursen Introduktion till temporallogik Linjärtids-temporallogik (LTL) Syntax Semantik