• No results found

Grundläggande logik och modellteori

N/A
N/A
Protected

Academic year: 2022

Share "Grundläggande logik och modellteori"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

Grundläggande logik och modellteori

Inledning till modellteori och modellprövning

Jonas Hägglund

Department of mathematics Umeå university

Våren 2011

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 1 / 25

(2)

Dagens föreläsning

1 Innehåll på resten av kursen

2 Verifikation

Varför verifikation?

Formella metoder för verifikation

3 Modellteori

Vad är modellteori Modeller

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

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 3 / 25

(4)

Varför verifikation?

Creative Commons Attribution-NonCommercial, www.xkcd.orgc

(5)

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.

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 5 / 25

(6)

Ariane 5

Ariane 5 rocket c Creative Commons Attribution-Share Alike

Exploderade 1996 Orsaken: En typkonvertering från en 64-bitars float till en 16-bitars int.

Kostnad: Över 3 miljarder kr.

(7)

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.g.a. 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.

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 7 / 25

(8)

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.g.a. 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.

(9)

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

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

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 8 / 25

(10)

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

(11)

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

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 10 / 25

(12)

Modellbaserad verifikation (modellverifiering)

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

(13)

Modellprövning

System

Matematisk modell M

Specifikation

Formell specifikation φ

Modellprövning: M |= φ?

abstraktion representation

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 12 / 25

(14)

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.

(15)

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

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 14 / 25

(16)

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

Mer om detta senare i kursen

Lästips för intresserade: Elements of Finite Model Theory av Leonid Libkin.

(17)

Vad är en modell? (repetition)

I satslogiken kan enmodell 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(Γ).

I predikatlogiken är det mer komplicerat...

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 16 / 25

(18)

Modeller i predikatlogik (repetition)

Definition

F - mängd funktionssymboler P - mängd predikatsymboler C - mängd konstanter

Entolkning J till V = (F , P, C) är följande:

A 6= ∅ ä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 cJ ∈ A för alla n-ställiga funktionssymboler f ∈ F där n > 0 har vi en funktion fJ :An→ A

för alla n-ställiga predikatsymboler P ∈ P har vi en mängd PJ ⊂ An

Notation: V brukar ofta kallas för ettvokabulär.

(19)

Modeller forts...

Definition

Om Φ är en mängd meningar och M en tolkning till ett vokabulär så säger vi att M är enmodell 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.

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 18 / 25

(20)

Exempel på en struktur

Example

Låt V = ({sum(2),mult(2)}, ∅, {1s,2s,3s,4s, . . . })och tolkningen M vara följande:

Universa A = N

sum(x , y ) = x + y och mult(x , y ) = xy 1s =1, 2s=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).

(21)

Exempel på en modell i predikatlogik

Example

Låt V = (F , P, C) vara som i föregående exempel och betrakta φ = ∀x ∃y (1 + x2=y ) . Är då M en modell till φ? Dvs gäller M |= φ?

Hur är det med ψ = ∀y ∃x (1 + x2=y )?

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 20 / 25

(22)

Ännu ett exempel

Example

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?

(23)

Exempel forts...

Example

Betrakta följande struktur M:

A = N

sumM(x , y ) = x + y

primeM=mängden av alla primtal

evenM=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 |= φ?

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 22 / 25

(24)

En annan tänkbar modell

Example

En enklare struktur M0 är följande:

A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}

sumM0(x , y ) = x + y mod 13

primeM0 =mängden av alla primtal i A = {2, 3, 5, 7, 11}

evenM0 =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

(25)

Sammanfattning av dagens föreläsning

Vad är verifikation och varför behövs det.

Olika typer av verifikation Väldigt kort om modellteori Modeller i predikatlogik

Jonas Hägglund (Umeå university) Grundläggande logik och modellteori VT 2011 24 / 25

(26)

Nästa föreläsning

Introduktion till temporallogik Linjärtids-temporallogik (LTL)

Syntax Semantik

Introduktion till modellprövning

References

Related documents

Om handlingar kommer in till myndigheten i annan form än papper, som fax eller e-post, och skrivs ut på papper av myndigheten, ska de framstäl- las med papper och skrivmedel

Hittills saknas studier på inkubatorerna som en fristående aktör med en egen institutionell logik, och syftet med denna explorativa studie är att undersöka svenska

undersökningar av de olika själsfunktionerna. Med hänsyn till vad psykologien gjort på detta område vore det särdeles orimligt att jämföra den med botaniken före Linné. Men må

 Atomära satser uttrycker enkla sakförhållandet: att någonting har en viss egenskap eller att flera objekt står i en viss relation till varandra..  De atomära satserna i FOL

Studenten har förstått och kan redogöra för vilken roll logiska grundantaganden spelar för hur enskilda teorier eller argument skall värderas?. Studenten har en insikt i och

z Är en variabel eller en logisk produkt av två eller flera variabler. z Exempel: A, A’,

e) Ge exempel på ett rationellt tal som inte tillhör talmängden Z. Naturliga tal, möjligtvis med undantag av talet 0, är enkla att koppla till vardagslivet. De används

Detta är inte att jämställa med intern styrning och kontroll, som i Umeå kommuns riktlinjer för intern styrning och kontroll definieras enligt följande:.. Med intern styrning