Was ist Model Checking?
|
|
- Beate Ziegler
- vor 6 Jahren
- Abrufe
Transkript
1 Was ist Model Checking? 1 Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems [Clarke, Schlingloff: Model Checking, in Handbook of Automated Reasoning, Band II, S , 2001] Erläuterung: Reaktives System Korrektheitseigenschaften Verifikation Automatische Technik Sicherheitskritisch 1
2 Was ist Model Checking? 1 Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems Reaktives System: besteht aus Komponenten, die miteinander und der Systemumgebung interagieren z.b. Schaltungen, Betriebssysteme, World-Wide Web, Protokolle System muss nicht terminieren im Gegensatz zu funktional (oder transformationell) beschreibbaren Systemen mit klarem Ein/Ausgabe-Verhalten 2
3 Was ist Model Checking? 1 Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems Korrektheitseigenschaften: i.d. Regel temporale Eigenschaften des gewünschten Verhaltens ein System erfüllt diese Eigenschaften, wenn jeder Ablauf des Systems sie erfüllt diese Eigenschaften werden in einer temporalen Logik beschrieben als sog. Kripke-Modell Systemkorrektheit = Wahrheit von logischen Formeln in Modellen (daher der Name Model Checking ) 3
4 Was ist Model Checking? 1 Verifikation: Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems formales Verfahren, benötigt: Modellierungssprache zur Systembeschreibung: System wird als (endlicher) Zustandsübergangsgraph modelliert Spezifikationssprache zur Formulierung der Eigenschaften: Eigenschaften werden in einer temporalen Aussagenlogik spezifiziert Verfahren (Kalkül) für den Verifikationsprozess: Suchverfahren, das den Zustandsübergangsgraph exploriert und die Eigenschaften in jedem Zustand überprüft 4
5 Was ist Model Checking? 1 Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems Automatische Technik: im Gegensatz zu Verfahren wie z.b. Interaktives Theorembeweisen: allgemeinerer, ausdrucksstärkerer Ansatz, benötigt aber Interaktionen hochqualifizierter menschlicher Experten Eigentlicher Verifikationsprozess ist voll automatisiert und prüft i.a. alle möglichen Systemzustände (setzt Endlichkeit des Zustandsraumes voraus) Verifikationsverfahren terminiert (theoretisch) immer und zeigt, ob das Systemmodell die Eigenschaft erfüllt; falls nicht, liefert das Verfahren ein Gegenbeispiel 5
6 Was ist Model Checking? 1 Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems Sicherheitskritisch: Sicherheit im Sinne von safety (nicht security ) Die Anzahl und die Komplexität sicherheitskritischer Anwendungen nimmt ständig zu Fehler in solchen Anwendungen sind teuer (z.b. ARIANE-5, Pentium) 6
7 Was ist Model Checking? 1 Model checking is an automatic technique for verifying correctness properties of safety-critical reactive systems [Clarke, Schlingloff: Model Checking, in Handbook of Automated Reasoning, Band II, S , 2001] Erläuterung: Reaktives System Korrektheitseigenschaften Verifikation Automatische Technik Sicherheitskritisch 7
8 Rechnergestützte ( computer-aided ) Verifikation 2 Allgemeiner formaler Ansatz zur Verifikation: Bildung eines mathematischen Modells des Systems Korrektheitsaussage ist eine mathematisch beweisbare oder widerlegbare Behauptung Alternative Ansätze zur formalen Verifikation: Testen Simulation bieten keine Korrektheitsgarantie und sind u.u. nur eingeschränkt anwendbar 8
9 Bedeutung der formalen Verifikation 3 Zunehmende Verbreitung sicherheitskritischer HW und SW-Systeme: Beispiele: Elektronischer Handel, Telefonnetze, Luftverkehrskontrolle, Medizinische Instrumente, Agentensysteme, Autonome Systeme,... Erhöhte Sicherheitsstandards (z.t. vom Gesetzgeber) Haftungsproblematik Zunehmende Komplexität der Systeme: Vergrösserung der Wahrscheinlichkeit subtiler Fehler Testen und Simulation reichen nicht mehr aus und sind zu zeitaufwendig Grosse Menge an Verifikationsaufgaben erfordert automatische Unterstützung 9
10 Methoden der formalen Verifikation 4 Model Checking-Paradigma vs. Interaktives Theorembeweisen: Verifikations-Aufgaben werden in einer möglichst ausdrucksstarken Sprache formuliert (z.b. Logik höherer Ordnung) Experte führt einen mathematischen Beweis der Korrektheit unter Zuhilfenahme eines interaktiven Beweisers, der die vorgegebenen Schritte des Experten auf Korrektheit überprüft, leichte Teilaufgaben mit Hilfe vorgegebener Heuristiken (Taktiken) zu lösen versucht, aber i.a. unvollständig ist 10
11 Methodologie der Verifikation beim Model Checking 5 Abstraktes Modell Spezifikation Modifiziere Verifikationstool Teste nächste Gegenbeispiel Korrektheit 11
12 Ein Beispiel aus der Anwendung 6 Futurebus+ Protokoll zur Cache-Kohärenz (IEEE 1994) Sichert Konsistenz der Daten in hierarchischen Systemen aus vielen Prozessoren und Caches, die durch Busse verbunden sind Grundidee der Kohärenzsicherung: Alle Caches beobachten alle Bus-Transaktionen Zur Performanzsteigerung ist Splitten von Transaktionen erlaubt, d.h.: Beenden einer Transaktion kann verzögert und Bus freigegeben werden Zwischenzeitlich Ausführung lokaler Aktionen Zur Beendigung der Transaktion explizite Meldung an Bus 12
13 Verifikation des Futurebus+ Protokolls 7 Automatische Verifikation mit Model Checker SMV Standard spezifiziert mögliche Zustände der Cache-Daten in jedem Prozessor und den Zustandswechsel in jeder Transaktion Besteht aus ca. 300 sog. Attributen, d.h. im Wesentlichen: Boolesche Variablen und Regeln zu ihrer Modifikation Modellierung des Problems in SMV: zur Formulierung der Attribute ca Codezeilen in SMV-Sprache Formulierung benützt Abstraktionen SMV erstellt automatisch interne Repräsentation des Modells (BDDs) Korrektheitseigenschaften formuliert in temporaler Logik (CTL) SMV findet automatisch Fehler im Standard 13
14 Fehlerszenario im Futurebus+ Protokoll 8 P 1 Bus P 2 invalid read-shared invalid data1 shared-unmod data1 exclusive data2 exclusive invalid invalidate data1 data1 data1 data2 read-mod data1 invalid invalid data1 shared-unmod Behebung des Fehlers: P 1 muss in Zustand shared-unmod gehen, wenn er die read-mod- Transaktion splitted 14
15 Anwendungen des Model Checking 9 Hardware-Verifikation Schaltungen, Pipelines, und Protokolle Verwendung als Debugging-Werkzeug Interne Verifikations-Gruppen in Firmen wie ATT, Fujitsu, Lucent, IBM, Intel, Motorola, Siemens Passt zum Design-Ablauf: Simulation, Synthese, Verifikation Software-Verifikation Modellierung auf höherer Abstraktionsebene eher unüblich Anwendungen: Protokolle, Telekommunikation Kontrollsysteme Beginnende Anwendungen: Luftfahrtkontrolle, Robotik 15
16 Beschränkungen des Model Checking 10 Geeignet für Kontroll-intensive Anwendungen mit interessanten Interaktionen zwischen Komponenten Komplexitätsproblematik für grössere Anwendungen: Problemklassen u.u. NP-hart, PSPACE-hart, EXPTIME-hart Falsifikation anstatt Verifikation: liefert Fehlerdiagnose aber keinen nachprüfbaren Beweis der Korrektheit (Problem der Korrektheit des Model Checkers) Allgemeine Modellierungsproblematik: Nicht das System, sondern sein Modell wird verifiziert Modellierungsproblematik für nicht als endliche Zustandssysteme beschreibbare Anwendungen: Abstraktion nicht automatisch 16
17 Modellierung reaktiver Syteme 11 Hauptziele der Modellierung: Kontrolle und Interaktion keine komplexen Datenstrukturen, keine aufwendige Datenmanipulation explizite Konstrukte für Nichtdeterminismus Modellierung von System und Umgebung Modellierung auf verschiedenen Abstraktionsebenen Einfache Operatoren und präzise mathematische Semantik Mathematische Modellierungswerkzeuge ω-automaten Temporale Logik 17
18 Korrektheitsanforderungen an reaktive Syteme 12 Zwei Haupttypen von Korrektheitsanforderungen Universeller Typus: Ein bestimmter Zustand tritt nie auf Beispiel: Niemals gleichzeitig grün für zwei Ampeln auf kreuzenden Strassen Existenzieller Typus: Ein bestimmter Zustand wird schliesslich immer erreicht Beispiel: Jede intakte Ampel schaltet nach endlicher Zeit auf grün. 18
19 Aussagenlogik 13 Syntax der Aussagenlogik Gegeben eine Menge P von Aussagenvariablen. Die (Formeln der) Aussagenlogik für P sei(en) definiert durch: P L(P) := P (P L P L) Andere Konnektive ausser und seien wie üblich als Abkürzungen definiert: A := (A ), :=, A B := ( A B), A B := ( A B), A B := ((A B) (B A)). Die Präzedenz der Operatoren sei wie folgt festgelegt:,,,,. Evtl. werden Klammern eingespart und der Parameter P. Beispiel: stack1 is empty stack1 is empty stack2 is empty 19
20 Semantik der Aussagenlogik 14 Interpretation Gegeben eine Aussagenlogik P L(P). Eine Interpretation für P L(P) ist ein Paar U, ι wobei das Universum U = {true, false} und die Belegung ι eine Abbildung ι : P U ist. Fortsetzung einer Interpretation auf Formeln Induktiv definiert wie folgt: I erfüllt p P, geschrieben I = p, gdw ι(p) = true, I =, I = (A B) gdw I = A oder I = B. 20
21 Bedeutung der Aussagenlogik 15 Zentrale Rolle in der Komplexitätstheorie Erfüllbarkeitsproblem ist NP-vollständig. Dennoch gibt es heute leistungsfähige Entscheidungsverfahren Wichtig als Problem-Spezifikationssprache Für Hardware-Verifikation, Planungsprobleme Zunehmend für weitere Bereiche via effizienter Übersetzungsverfahren Für das Model Checking Erfüllung einer Formel durch eine Interpretation ist effizient entscheidbar Reine Aussagenlogik reicht i.a. nicht zur Modellierung reaktiver Systeme 21
22 Prädikatenlogik für Transitionssysteme 16 Explizite Modellierung von Transitionssystemen Syntax der Prädikatenlogik für Transitionssysteme Erweiterung der aussagenlogischen Variablen um eine Argumentstelle für Zeitpunkte, explizite Beschreibung von Zustandsübergängen Gegeben eine Menge P von 1-stelligen Prädikaten, eine Menge T von Zustandsvariablen, eine Menge R von 2-stelligen Transitionsprädikaten, und sei R + = R {, <, =}. Die (Formeln der) Prädikatenlogik für Transitionssysteme für P, T und R sei(en) definiert durch: F OL(P, T, R) := P(T ) (F OL F OL) R + (T, T ) T F OL Analoge Abkürzungen wie in der Aussagenlogik, evtl. Infixnotation, sowie ta := t A, t t := t < t t = t, etc. 22
23 Prädikatenlogik für Transitionssysteme 17 Semantik der Prädikatenlogik für Transitionssysteme Gegeben eine Prädikatenlogik für Transitionssysteme F OL(P, T, R). Interpretation ist ein Paar U, ι mit Universum U: nichtleere Menge von Zeitpunkten Belegung ι ist eine Funktion mit folgenden Eigenschaften: für alle p P : ι(p) U, für alle R R : ι(r) U U, ι(=) := { s, s s U}, die Gleichheit, ι( ) := {ι(r) R R}, die Transitionsrelation, ι(<) ist die transitive Hülle von ι( ), die Erreichbarkeitsrelation. Weiterhin sei V : T U, eine Variablenzuweisung. Im Model Checking: I, V, hier auch geschrieben: I V, heisst Modell 23
24 Prädikatenlogik für Transitionssysteme 18 Fortsetzung einer Interpretation und Variablenzuweisung auf Formeln Induktiv definiert wie folgt: I V erfüllt p(t) P, geschrieben I V = p(t), gdw V(t) ι(p), I V =, I V = (A B) gdw I V = A oder I V = B, I V = R(t 0, t 1 ) gdw V(t 0 ), V(t 1 ) ι(r), I V = ta gdw es ein V gibt, das sich von V höchstens in t unterscheidet und I V = A gilt; I erfüllt A, geschrieben I = A, gdw für alle V gilt: I V = A. Wenn I V = A und A eine geschlossene Formel ist, dann gilt: I = A. Wenn I = A und t 1,..., t n die freien Variablen in A sind, dann gilt: I = t 1 t n A. 24
25 Prädikatenlogik für Transitionssysteme 19 Beispiele für Formeln der Prädikatenlogik für Transitionssysteme 1. stack is empty(t 0 ) t 1 (put(t 0, t 1 ) stack is empty(t 1 )) Auf den leeren Stack kann etwas gelegt werden. 2. t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 ))) Jede Anfrage wird irgendwann beantwortet. 3. t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 )) t 3 ((t 1 < t 3 t 3 < t 2 ) request(t 3 )))) Keine Anfrage wird gelöscht, bevor sie beantwortet ist. 25
26 Prinzip des Model Checking 20 Formale Repräsentation des Verhaltens eines Transitionssystems als Modell (I V ) einer logischen Sprache L (z.b. der Prädikatenlogik für Transitionssysteme) Formale Repräsentation der Eigenschaften eines Transitionssystems als Formel A der Sprache L (z.b. der Prädikatenlogik für Transitionssysteme) Formales Überprüfen einer Eigenschaft des Transitionssystems Formales prüfen, ob das Modell die Formel A erfüllt: I V = A? Falls das Universum U des Modells endlich ist, lässt sich aus der Definition der Semantik direkt ein Entscheidungsverfahren gewinnen. 26
27 Modellierung eines Ampel-Verkehrs-Systems 21 1-stellige Zustandsprädikate: P = {ampel rot, ampel gruen, verkehr f liesst, verkehr steht} 2-stellige Transitionsprädikate: R = {ampel schaltet, verkehrsf luss wechselt} System-Modell als Transitionsgraph ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht 27
28 Interpretation I = U, ι des Ampel-Verkehrs-Systems 22 ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht Universum U = {s 1, s 2, s 3, s 4 } Belegung ι:ι(ampel rot) = {s 1, s 2 }, ι(ampel gruen) = {s 3, s 4 }, ι(verkehr steht) = {s 2, s 3 }, ι(verkehr fliesst) = {s 1, s 4 }, ι(ampel schaltet) = { s 2, s 3, s 4, s 1 }, ι(verkehrsfluss wechselt) = { s 1, s 2, s 3, s 4 } 28
29 Eigenschaften des Ampel-Verkehrs-Systems 23 Beispiele für Systemspezifikationen und ihre Verifikation 1. Die Ampel steht (immer) entweder auf rot oder auf grün. A = t(ampel rot(t) ampel gruen(t)) Erfüllt das System die Eigenschaft, d.h. gilt I = A? Beweis: I = A gdw für alle Variablenzuweisungen V für U gilt: I V = (ampel rot(t) ampel gruen(t)) gdw für alle V gilt: entweder V(t) ι(ampel rot) oder V(t) ι(ampel gruen), d.h. gdw ι(ampel rot) ι(ampel gruen) = U und ι(ampel rot) ι(ampel gruen) = 29
30 Eigenschaften des Ampel-Verkehrs-Systems Die Ampel steht (von jedem Zustand aus) irgendwann auf grün. A = t t (t t ampel gruen(t )) Beweis: I = A gdw für alle Variablenzuweisungen V für U gilt: I V = A = t (t t ampel gruen(t )); Fall 1 (von 4): V(t) = s 1 : I V = A gdw es gibt ein V mit V (v) = V(v) für alle v t und I V = (t t ampel gruen(t )); wähle ein solches V mit z.b. V (t ) = s 3 ; dann gilt: (i) V (t), V (t ) ι( ) und damit I V = (t t ) und (ii) I V = ampel gruen(t ); Damit gilt die Behauptung für V(t) = s 1. Die anderen Fälle gehen analog. 30
31 Beziehungen zwischen Spezifikationsformeln 25 Beziehungen zwischen F OL-Formeln Gegeben zwei Formeln A und B einer Prädikatenlogik für Transitionssysteme (F OL(P, T, R)): A impliziert B, geschrieben A = B, gdw jedes Modell, das A erfüllt, auch B erfüllt, A impliziert B schwach gdw jede Interpretation, die A erfüllt, auch B erfüllt, A und B heissen äquivalent gdw sie sich gegenseitig implizieren, A und B heissen schwach äquivalent gdw sie sich gegenseitig schwach implizieren. 31
32 Beziehungen zwischen Spezifikationsformeln A = t t (t t ampel gruen(t )) B = t (t t ampel gruen(t )) A impliziert B, aber B impliziert A lediglich schwach. A und B sind nicht äquivalent, aber schwach äquivalent. Interpretation des Ampel-Verkehrs-Systems, die A und B erfüllt: ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht 32
33 Beziehungen zwischen Spezifikationsformeln A = t t (t t ampel gruen(t )) B = t (t t ampel gruen(t )) A impliziert B, aber B impliziert A lediglich schwach. A und B sind nicht äquivalent, aber schwach äquivalent. Interpretation des Ampel-Verkehrs-Systems, die weder A noch B erfüllt: ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht 33
34 Beziehungen zwischen Spezifikationsformeln A = t t (t t ampel gruen(t )) B = t (t t ampel gruen(t )) A impliziert B, aber B impliziert A lediglich schwach. A und B sind nicht äquivalent, aber schwach äquivalent. Modell des Ampel-Verkehrs-Systems, das B, aber nicht A erfüllt: ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht V(t) = s 3 34
35 Beziehungen zwischen Spezifikationsformeln t t 1 t 2 (t t 1 ampel rot(t 1 ) t 1 t 2 ampel schaltet(t 1, t 2 ) ampel gruen(t 2 )) t t 1 t 2 (t t 1 ampel rot(t 1 ) ampel schaltet(t 1, t 2 ) ampel gruen(t 2 )) In der Prädikatenlogik für Transitionssysteme sind beide Formeln äquivalent. Beweis: t 1 t 2 ampel schaltet(t 1, t 2 ) und ampel schaltet(t 1, t 2 ) sind äquivalent, und in der Prädikatenlogik erhält die Ersetzung von äquivalenten Teilformeln die Äquivalenz. 35
36 Die Bedeutung der Sprache F OL 28 Eigenschaften und Rolle der Sprache F OL relativ ausdrucksstarke Modellierungs- und Spezifikationssprache dafür hohe Komplexität der Verifikation geeignet als Vergleichsbasis für die i.a. ausdrucksschwächeren temporalen Logiken hier auch benutzt zur Veranschaulichung von Modellierungs- und Spezifikationsproblemen 36
37 Ein nichtdeterministisches Ampel-Verkehrs-Systems 29 ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht Universum U = {s 1, s 2, s 3, s 4 } Belegung ι:ι(ampel rot) = {s 1, s 2 }, ι(ampel gruen) = {s 3, s 4 }, ι(verkehr steht) = {s 2, s 3 }, ι(verkehr fliesst) = {s 1, s 4 }, ι(ampel schaltet) = { s 2, s 3, s 4, s 1 }, ι(verkehrsfluss wechselt) = { s 1, s 2, s 3, s 4 } 37
38 Ein nichtdeterministisches Ampel-Verkehrs-Systems 29 ampel rot verkehr fliesst s 1 s 2 verkehrsfluss wechselt ampel rot verkehr steht ampel schaltet ampel schaltet ampel gruen verkehr fliesst s ampel gruen 4 verkehrsfluss wechselt s 3 verkehr steht Universum U = {s 1, s 2, s 3, s 4 } Belegung ι:ι(ampel rot) = {s 1, s 2 }, ι(ampel gruen) = {s 3, s 4 }, ι(verkehr steht) = {s 2, s 3 }, ι(verkehr fliesst) = {s 1, s 4 }, ι(ampel schaltet) = { s 2, s 3, s 4, s 1, s 3, s 2, s 1, s 4 }, ι(verkehrsfluss wechselt) = { s 1, s 2, s 3, s 4 } 38
39 Dynamik von Transitionssystemen 30 Darstellung deterministischen Verhaltens Das zeitliche Verhalten eines deterministischen Transitionssystems mit einem Anfangszustand lässt sich als Funktion w : N U darstellen, wobei N = N oder ein endliches Anfangsstück von N. Dynamik deterministischer Ampel-Verkehrs-Systeme: Ursprüngliches System mit Anfangszustand s 1 : s 1 s s 2 3 s 4 s 1 s s 2 3 s 4 System von S. 27 (unten) mit Anfangszustand s 3 : s 3 s s 4 1 s 2 39
40 Dynamik nichtdeterministischer Transitionssysteme 31 Darstellung nichtdeterministischen Verhaltens Das zeitliche Verhalten eines beliebigen (nichtdeterministischen) Transitionssystems mit einem Anfangszustand lässt sich als mit Zuständen markierter (u.u. unendlicher) Baum darstellen. Der Berechnungsbaum entsteht durch Auffalten des Transitionsgraphen. Intendierte Systemeigenschaften können Zustände oder ganze Pfade eines Berechnungsbaumes betreffen, z.b.: 1. Es ist (vom Anfangszustand aus) ein Zustand erreichbar, in dem die Ampel grün ist und der Verkehr fliesst. 2. Von jedem erreichbaren Zustand, in dem die Ampel rot ist, ist ein Zustand erreichbar, in dem die Ampel grün ist. 3. Es gibt einen Pfad, auf dem die Ampel immer grün ist bis sie rot ist. 4. Auf jedem Pfad kommt unendlich oft ein Zustand vor, in dem die Ampel grün ist (der Verkehr fliesst). 40
41 Dynamik nichtdeterministischer Transitionssysteme 32 Dynamik des nichtdeterministischen Ampel-Verkehrs-Systems von S. 38 (unten) mit Anfangszustand s 1 : s 1 s 4 s 2 s 3 s 1 s 2 s 4 Transitionsgraph Berechnungsbaum Welche der Eigenschaften erfüllt das System? s 3 s 1 s 2 s 2 s 4 s 4 41
42 Dynamik nichtdeterministischer Transitionssysteme 32 Dynamik des nichtdeterministischen Ampel-Verkehrs-Systems von S. 38 (unten) mit Anfangszustand s 1 : s 1 s 4 s 2 s 3 Transitionsgraph s 1 s 2 s 4 s 3 s 1 Berechnungsbaum s 2 1. Es ist (vom Anfangszustand aus) ein Zustand erreichbar, in dem die Ampel grün ist und der Verkehr fliesst. s 2 s 4 s 4 42
43 Dynamik nichtdeterministischer Transitionssysteme 32 Dynamik des nichtdeterministischen Ampel-Verkehrs-Systems von S. 38 (unten) mit Anfangszustand s 1 : s 1 s 4 s 2 s 3 Transitionsgraph s 1 s 2 s 4 s 3 s 1 Berechnungsbaum s 2 2. Von jedem erreichbaren Zustand, in dem die Ampel rot ist, ist ein Zustand erreichbar, in dem die Ampel grün ist. s 2 s 4 s 4 43
44 Dynamik nichtdeterministischer Transitionssysteme 32 Dynamik des nichtdeterministischen Ampel-Verkehrs-Systems von S. 38 (unten) mit Anfangszustand s 1 : s 1 s 4 s 2 s 3 Transitionsgraph s 1 s 2 s 4 s 3 s 1 Berechnungsbaum s 2 3. Es gibt einen Pfad, auf dem die Ampel immer grün ist bis sie rot ist. gibt einen Pfad, auf dem die Ampel immer grün ist bis si s 2 s 4 s 4 44
45 Dynamik nichtdeterministischer Transitionssysteme 32 Dynamik des nichtdeterministischen Ampel-Verkehrs-Systems von S. 38 (unten) mit Anfangszustand s 1 : s 1 s 4 s 2 s 3 Transitionsgraph s 1 s 2 s 4 s 3 s 1 Berechnungsbaum s 2 4a. Auf jedem Pfad kommt unendlich oft ein Zustand vor, in dem die Ampel grün ist. s 2 s 4 s 4 45
46 Dynamik nichtdeterministischer Transitionssysteme 32 Dynamik des nichtdeterministischen Ampel-Verkehrs-Systems von S. 38 (unten) mit Anfangszustand s 1 : s 1 s 4 s 2 s 3 Transitionsgraph s 1 s 2 s 4 s 3 s 1 Berechnungsbaum s 2 4b. Auf jedem Pfad kommt unendlich oft ein Zustand vor, in dem der Verkehr fliesst. s 2 s 4 s 4 46
47 Modellierung asynchroner Systeme 33 Asynchrone Systeme: Systeme aus Komponenten, die unabhängig voneinander Zustandsänderungen bewirken können Modellierungsparadigma Interleaving-Semantik: Zu jeder Zeit ändert sich genau eine Komponente Beispiel: Jede Komponente ist im 0 oder 1-Zustand. Jede Komponente kann den Zustand der anderen um den eigenen Wert erhöhen (+) oder vermindern ( ) modulo 2. k k 3 k 2 47
48 Kombinatorisches Grundproblem des Model Checking 34 Explosion des Zustandsraumes Transitionsgraph bzw. Modell simuliert nicht direkt die Komponenten und Interaktionen des modellierten Systems, sondern die gesamten Systemzustände und deren Änderung Hinzufügung von Komponenten lässt Zustandsraum explodieren k k 3 k 2 k k 2 k 4 + k 3 48
49 Tableaus für die Logik F OL 35 Sei I, V ein Modell mit Universum U = {t 1,..., t n } und F eine Formel der Prädikatenlogik für Transitionssysteme Bearbeite einen mit Erfülltheitsproblemen markierten Baum Markiere Wurzel des Baumes mit dem Problem I, V = A Je nach dominierendem logischem Symbol, dem Typ der Formel ( oder ), und der Beziehung ( = oder =) expandiere den Baum rekursiv nach den folgenden Auswertungs- bzw. Dekompositionsregeln Propagiere die Werte zur Wurzel zurück Arbeite den Baum im Tiefenverfahren durch (Backtracking) 49
50 Tableau-Regeln für die Logik F OL 36 Regel für quantorenfreie Formeln Falls die Formel keine Quantoren enthält, prüfe aussagenlogisch, ob das momentane Modell die Formel erfüllt oder nicht Regeln für das Konnektiv Positive -Regel: Negative -Regel: I, V = (A B) I, V = A oder I, V = B gdw I, V = (A B) I, V = A und I, V = B gdw 50
51 Tableau-Regeln für die Logik F OL 37 Regeln für den Quantor Positive -Regel: I, V[t/s 1 ] = ta I, V[t/s 1 ] = A oder oder I, V[t/s n ] = A gdw Negative -Regel: I, V[t/s 1 ] = ta I, V[t/s 1 ] = A und und I, V[t/s n ] = A gdw dabei bezeichne V[t/s] := (V \ { t, V(t) }) { t, s }), d.h. die Modifikation der Variablenzuweisung V, die t auf den Zustand s abbildet 51
52 Komplexität des Model Checking für F OL 38 Worst-Case Abschätzung für das Tableauverfahren Maximale Tiefe des Tableaus = quantorielle Tiefe q der Formel F, d.h. maximale logische Schachtelungstiefe eines Quantors in F : q < F Maximale Anzahl der Blätter des Tableaus: O(max( U, 2) q Zeitbedarf für Auswertung der Blattprobleme: jeweils linear in I V + F Zeitbedarf für Dekomposition und Rückgabe: jeweils linear in max( U, 2) Platzbedarf: I V + F Komplexität des Modell-Erfüllungsproblems für F OL: Allgemeines Problem ist PSPACE-vollständig, für Formeln mit begrenzter quantorieller Tiefe in P (polynomiell) 52
53 Optimierungen von Tableauverfahren 39 Partielle Evaluierung Heuristische Selektion der Unterprobleme Lemmas und Schnitte Intelligentes Backtracking 53
54 Modale und temporale Aussagenlogik 40 Keine explizite Verwendung von Zustandsvariablen t Elementaraussagen nullstellig wie in der Aussagenlogik: stack is empty bedeutet: der Keller ist jetzt leer. Feste Einbettung der Transitionsrelation(en) in die Logik durch neue logische Konnektive, z.b. (notwendig), (möglich) oder die temporalen X (next), F (Future), G (Globally, always), U (Until) (Temporale) Lesart modaler bzw. temporaler Formeln: stack is empty oder X stack is empty bedeutet: es gibt einen unmittelbaren Folgezustand, in dem der Keller leer ist. stack is empty: Keller ist in jedem unmittelbaren Folgezustand leer. F stack is empty: es gibt erreichbaren Zustand, in dem Keller leer ist. G stack is empty: Keller ist in jedem erreichbaren Zustand leer. stack1 is empty U stack2 is empty: es gibt erreichbaren Zustand, in dem Keller 2 leer ist und Keller 1 ist in allen Zwischenzuständen leer. 54
55 Modale Aussagenlogik 41 Syntax der modalen Aussagenlogik Gegeben eine Menge P von Aussagenvariablen. Die (Formeln der) modalen Aussagenlogik für P sei(en) definiert durch: ML(P) := P (ML ML) ML Andere aussagenlogische Konnektive wie üblich als Abkürzungen definiert sowie A := A Präzedenz der Operatoren: {,, },,,,. 55
56 Modale Aussagenlogik 42 Semantik der modalen Aussagenlogik Pioniere: Kripke, Kanger, Hintikka (Kripke-)Rahmen: Paar U, wobei U nichtleere Menge (möglicher Welten) und U U, die Übergangsrelation (Kripke-)Struktur I für eine modale Aussagenlogik M L(P): Tripel U,, ι wobei U, ein Rahmen und ι eine Funktion P 2 U, d.h. eine Belegung wie in der Prädikatenlogik für Transitionssysteme (Kripke-)Modell I s für ML(P): Quadrupel U,, ι, s wobei U,, ι, s eine Struktur für P und s U, der Referenzpunkt 56
57 Modale Aussagenlogik 43 Erfülltheit von Formeln der modalen Aussagenlogik Kripke-Modell I s = U,, ι, s erfüllt p P, geschrieben I s = p, gdw s ι(p), I s =, I s = (A B) gdw I s = A oder I s = B, I s = A gdw es ein s U gibt mit s s (d.h. s, s ) und I s = A, I = A, gdw für alle s gilt: I s = A. 57
58 Systemmodellierung mittels Modallogik 44 Ein Kripke-Rahmen U, : U = {s 1, s 2, s 3, s 4 }, = { s 1, s 2, s 1, s 3, s 1, s 4, s 2, s 3, s 2, s 4, s 3, s 4 } s 2 s 1 s 4 s 3 Eine Kripke-Struktur I für P = {stack1 }{{ is empty }, stack2 }{{ is empty }, stack3 }{{ is empty } }: e 1 e 2 e 3 Rahmen wie oben sowie ι(e 1 ) = {s 2, s 3, s 4 }, ι(e 2 ) = {s 3, s 4 }, ι(e 3 ) = {s 4 } Dann gelten z.b.: I s 1 = e 2, aber I s 2 = e 2 ; I s 1 = e 2 e 3, aber I s 1 = ( e 3 e 3 ) I s 1 = (e 1 e 2 e 3 ); I s 4 = 58
59 Modallogik vs. Prädikatenlogik 45 Ausdrucksstärke der (aussagenlogischen) Modallogik Formel der Prädikatenlogik für Transitionssysteme F OL: stack is empty(t 0 ) t 1 (put(t 0, t 1 ) stack is empty(t 1 )) entspricht in Modallogik M L (unter Unterschlagung des Transitionstyps): stack is empty stack is empty Zur Modellierung von Transitionstypen Erweiterung der Modallogik zur Multimodallogik F OL-Formel: t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 ))) hat keine natürliche Entsprechung in Modallogik M L Erweiterung der Modallogik um ausdrucksstärkere Operatoren 59
60 Multimodale Aussagenlogik 46 Syntax der multimodalen Aussagenlogik Gegeben eine Menge P von Aussagenvariablen und eine Menge R von Übergangsvariablen Die (Formeln der) multimodalen Aussagenlogik für P und R sei(en) definiert durch: ML(P, R) := P (ML ML) R ML Andere aussagenlogische Konnektive wie üblich als Abkürzungen definiert sowie [R]A := R A Präzedenz der Operatoren: {, R, [R]},,,, 60
61 Multimodale Aussagenlogik 47 Semantik der multimodalen Aussagenlogik (Kripke-)Rahmen für eine multimodale Aussagenlogik M M L(P, R): Paar U, ρ wobei U nichtleere Menge (möglicher Welten) und ρ : R 2 U U, die Übergangsbelegung (Kripke-)Struktur I für MML(P, R): Tripel U, ρ, ι wobei U, ρ ein Rahmen und ι eine Funktion P 2 U, d.h. eine Belegung wie in der modalen Aussagenlogik (Kripke-)Modell I s für MLL(P, R): Quadrupel U, ρ, ι, s wobei U, ρ, ι, s eine Struktur für MLL(P, R) und s U, der Referenzpunkt 61
62 Multimodale Aussagenlogik 48 Erfülltheit von Formeln der multimodalen Aussagenlogik Kripke-Modell I s = U, ρ, ι, s erfüllt p P, geschrieben I s = p, gdw s ι(p), I s =, I s = (A B) gdw I s = A oder I s = B, I s = R A gdw es ein s U gibt mit s, s ρ(r) und I s = A, I = A, gdw für alle s gilt: I s = A. 62
63 Systemmodellierung mittels Modallogik 49 Ein Kripke-Rahmen U, : U = {s 1, s 2, s 3, s 4 }, = { s 1, s 2, s 1, s 3, s 1, s 4, s 2, s 3, s 2, s 4, s 3, s 4 } s 2 s 1 s 4 s 3 Eine Kripke-Struktur I für P = {stack1 }{{ is empty }, stack2 }{{ is empty }, stack3 }{{ is empty } }: e 1 e 2 e 3 Rahmen wie oben sowie ι(e 1 ) = {s 2, s 3, s 4 }, ι(e 2 ) = {s 3, s 4 }, ι(e 3 ) = {s 4 } Dann gelten z.b.: I s 1 = e 2, aber I s 2 = e 2 ; I s 1 = e 2 e 3, aber I s 1 = ( e 3 e 3 ) I s 1 = (e 1 e 2 e 3 ); I s 4 = 63
64 Multimodallogik vs. Prädikatenlogik 50 Ausdrucksstärke der (aussagenlogischen) Multimodallogik Formel der Prädikatenlogik für Transitionssysteme F OL: stack is empty(t 0 ) t 1 (put(t 0, t 1 ) stack is empty(t 1 )) entspricht in Multimodallogik M M L: stack is empty put stack is empty F OL-Formel: t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 ))) hat keine natürliche Entsprechung in Multimodallogik M M L Erweiterung der Multimodallogik um ausdrucksstärkere Operatoren 64
65 Verallgemeinerung der Modallogik 51 Semantik der verallgemeinerten Modallogik Semantik wie in der Modallogik mit folgenden Modifikationen bei der Erfülltheit von Formeln: I s = X A gdw es ein s U gibt mit s s und I s = A, I s = F + A gdw es ein s U gibt mit s < s und I s = A, I s = F A gdw es ein s U gibt mit s s und I s = A Dabei sei < die transitive Hülle von, die Erreichbarkeitsrelation Weitere Operatoren als Abkürzungen definiert X A := X A entspricht A G + A := F + A G A := F A 65
66 Ausdrucksstärke generalisierter Modallogiken 52 Generalisierte Modallogik vs. Prädikatenlogik Formel der Prädikatenlogik für Transitionssysteme F OL: t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 ))) entspricht in der verallgemeinerten Modallogik EML mit Operatormenge O = {X, F +, F }: G (request F + acknowledge) (man beachte, dass (G := F ) Relative Ausdrucksstärke zwischen generalisierten Modallogiken Der Operator F ist redundant in der generalisierten Modallogik EML mit O = {X, F +, F }, denn F A ist äquivalent zu A F + A Der Operator F + ist ebenfalls redundant in dieser Logik, denn F + A ist äquivalent zu X F A F kann in jeder generalisierten Modallogik durch F + definiert werden, aber nicht umgekehrt. 66
67 Ausdrucksstärke generalisierter Modallogiken 53 Definition relativer Ausdrucksstärke: Gegeben zwei generalisierte Modallogiken EML 1 und EML 2 (mit gemeinsamem P): EML 2 ist so ausdrucksstark wie EML 1, wenn es zu jeder Formel A 1 in EML 1 eine äquivalente Formel A 2 in EML 2 gibt. Satz: Die Logik L 1 := EML mit O = {F } ist nicht so ausdrucksstark wie L 2 := EML mit O = {F + }. Beweis: Wir zeigen, dass es zur Formel F + ( := p p) keine äquivalente Formel in L 1 gibt. Betrachte dazu zwei Kripke-Modelle M 1 = {s}, 1, ι, s und M 2 = {s}, 2, ι, s mit 1 =, 2 = { s, s }. Es gilt: M 1 = F + und M 2 = F +. Man zeigt nun (durch Induktion über den Formelaufbau) für alle L 1 -Formeln A, dass M 1 = A gdw M 2 = A. 67
68 Ausdrucksstärke generalisierter Modallogiken 54 Ausdrucksstärke generalisierter Modallogiken vs. Prädikatenlogik Formel der Prädikatenlogik für Transitionssysteme F OL: t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 )) t 3 ((t 1 < t 3 t 3 < t 2 ) request(t 3 )))) (keine Anfrage wird gelöscht, bevor sie beantwortet ist) kann in keiner generalisierten Modallogik ausgedrückt werden, da in letzterer keine Aussagen über Intervalle möglich sind. Temporallogik im engeren Sinne Einführung nichtmodaler 2-stelliger (Intervall-)Operatoren wie U (Until) stack1 is empty U stack2 is empty bedeutet: Es gibt einen erreichbaren Zustand, in dem Keller 2 leer ist und Keller 1 ist in allen Zwischenzuständen leer. 68
69 Lineare Temporale Logik 55 Syntax der linearen temporalen Logik Gegeben eine Menge P von Aussagenvariablen. Die (Formeln der) linearen temporalen Logik für P sei(en) definiert durch: LT L(P) := P (LT L LT L) (LT L U + LT L) (LT L U LT L) Andere aussagenlogische Konnektive wie üblich sowie Unless A W + B := ( B U + (A B)) Präzedenz der Operatoren:,,,,, U LT L ermöglicht die Formulierung von Intervallaussagen 69
70 Lineare Temporale Logik 56 Semantik der linearen temporalen Logik Semantik wie in der Modallogik mit folgenden Modifikationen bei der Erfülltheit von Formeln: I s = A U + B gdw es ein s U gibt mit s < s und I s = B und für alle s U mit s < s < s gilt: I s = A I s = A U B gdw es ein s U gibt mit s < s und I s = B und für alle s U mit s < s < s gilt: I s = A Natürliche Modelle Ein Modell U,, ι, s heisst natürlich wenn < eine lineare Ordnung mit kleinstem Element s ist. 70
71 Lineare Temporale Logik 57 Ausdrucksstärke von LT L Operatoren der generalisierten Modallogik können durch U + ausgedrückt werden: X A (äquivalent) ( U + A) F + A ( U + A) U ermöglicht Vergangenheitsbezüge auszudrücken Formel der Prädikatenlogik für Transitionssysteme F OL: t 1 ((t 0 t 1 request(t 1 )) t 2 (t 1 < t 2 acknowledge(t 2 )) t 3 ((t 1 < t 3 t 3 < t 2 ) request(t 3 )))) (keine Anfrage wird gelöscht, bevor sie beantwortet ist) entspricht in LTL: G (request (request U + acknowledge)) 71
72 Relative Ausdrucksstärke von F OL 58 Multimodallogiken, generalisierte aussagenlogische Modallogiken sowie die temporale Logik LT L können als Fragmente der Prädikatenlogik für Transitionssysteme angesehen werden Es genügen F OL-Formeln mit höchstens einer freien Variable Bei nichtparametrisierten Operatoren reicht weiterhin die Beschränkung auf F OL-Formeln mit einem Transitionsprädikat Äquivalenzsatz: Für jede Formel A aus LT L oder einer generalisierten Modallogik gibt es eine F OL-Formel A mit höchstens einer freien Variablen t und einem Transitionsprädikat derart, dass für jedes Kripke-Modell U,., ι, s und jede Variablenbelegung V mit V(t) = s gilt: wobei ι( ) =.. U,., ι, s = A gdw U, ι, V = A 72
73 Relative Ausdrucksstärke von F OL 59 Sog. Standardübersetzung F von Formeln der generalisierten Modallogik und der linearen temporalen Logik LT L in F OL F(p) := p(t) für alle atomaren Formeln F( ) := F((A B)) := (F(A) F(B)) F(XA) := t (t t F(A)[t/t ]) F(F + A) := t (t < t F(A)[t/t ]) F(F A) := t (t t F(A)[t/t ]) F(AU + B) := t (t < t F(B)[t/t ] t (t < t < t F(A)[t/t ])) F(AU B) := t (t < t F(B)[t/t ] t (t < t < t F(A)[t/t ])) t, t seien Variablen, die nicht in der jeweiligen Formel vorkommen 73
74 Standardübersetzung in F OL 60 Beispiele für die Standardübersetzung F((( ack U req) U + ack)) = t 1 (t < t 1 ack(t 1 ) t 2 (t < t 2 < t 1 F(( ack U req))[t/t 2 ])) = t 1 (t < t 1 ack(t 1 ) t 2 (t < t 2 < t 1 t 3 (t 3 < t 2 req(t 3 ) t 4 (t 3 < t 4 < t 2 ack(t 4 ))))) F(G (req F ack)) = F( F (req F ack)) t 1 (t t 1 req(t 1 ) F(F ack)[t/t 1 ]) = t 1 (t t 1 req(t 1 ) t 2 (t 1 t 2 ack(t 2 ))) 74
75 Übersetzung von Multimodallogiken in F OL 61 Übersetzung von Multimodallogiken in F OL ist möglich Erweiterung der Standardübersetzung F um die Regel F( R A) := t (R(t, t ) F(A)[t/t ]) Äquivalenzsatz für Multimodallogiken: Für jede Formel A aus einer Multimodallogik gibt es eine F OL-Formel A mit höchstens einer freien Variablen t derart, dass für jedes Kripke-Modell U, ρ, ι, s und jede Variablenbelegung V mit V(t) = s gilt: U, ρ, ι, s = A gdw U, ρ ι, V = A. 75
76 Standardübersetzung in F OL 62 Weitere Einschränkungen von F OL sind möglich Verschärfung der Äquivalenzsätze Für LT L- Formeln: es gibt äquivalente F OL-Formeln mit höchstens drei verschiedenen Variablen Für Formeln der Modallogik: es gibt äquivalente F OL-Formeln mit höchstens zwei verschiedenen Variablen (guarded fragment der Prädikatenlogik) Konsequenzen Bestimmte 2-stellige Operatoren wie U können nicht in der Modallogik ausgedrückt werden F OL-Eigenschaften, die mehr als 3 Variablen wesentlich benötigen, können nicht in LT L (temporaler Logik) ausgedrückt werden 76
77 Standardübersetzung in F OL 63 Einsparung durch Wiederverwendung von Variablen Beispiele F((( ack U req) U + ack)) = t 1 (t < t 1 ack(t 1 ) t 2 (t < t 2 < t 1 t 3 (t 3 < t 2 req(t 3 ) t 4 (t 3 < t 4 < t 2 ack(t 4 ))))) t 1 (t < t 1 ack(t 1 ) t 2 (t < t 2 < t 1 t(t < t 2 req(t) t 1 (t < t 1 < t 2 ack(t 1 ))))) F(G (req F ack)) t 1 (t t 1 req(t 1 ) t 2 (t 1 t 2 ack(t 2 ))) t 1 (t t 1 req(t 1 ) t(t 1 t ack(t))) 77
78 Ausdrucksgrenzen der temporalen Aussagenlogik 64 Eine Eigenschaft mit inhärent vier verschiedenen Variablen: Vom Startzustand aus sind drei verschiedene Zustände erreichbar, die untereinander verbunden sind : t 1 t 2 t 3 (t < t 1 t < t 2 t < t 3 t 1 < t 2 t 1 < t 3 t 2 < t 3 ) Ein Kripke-Rahmen U,, der die Formel erfüllt (d.h. dessen sämtliche Modelle die Formel erfüllen): U = {s 1, s 2, s 3, s 4 } = { s 1, s 2, s 1, s 3, s 1, s 4, s 2, s 3, s 2, s 4, s 3, s 4 } s 2 s 1 s 4 s 3 Es gibt keine äquivalente F OL-Formel mit weniger als vier verschiedenen Variablen. 78
79 Einschränkungen an Rahmen und Modelle 65 Natürliche Modelle: Ein Kripke-Modell U,, ι, s gdw < eine lineare Ordnung mit kleinstem Element s ist, d.h. dessen Rahmen U, isomorph ist zu den natürlichen Zahlen bzw. einem Anfangsstück der natürlichen Zahlen 0, 1, 2, 3,... und der Nachfolgerfunktion wobei s der 0 entspricht. Falls man sich auf natürliche Modelle beschränkt, lässt sich die F OL-Formel ausdrücken durch: t 1 (t < t 1 t 2 (t 1 < t 2 t 3 (t 2 < t 3 ))) t 1 (t < t 1 t(t 1 < t t 1 (t < t 1 ))) das äquivalent ist zu einer generalisierten Modallogik-Formel: F + F + F + 79
80 Relative Ausdrucksstärke von LT L 66 Satz: LT L ist für natürliche Modelle so ausdrucksstark wie F OL mit einer freien Variablen und einem Transitionsprädikat. Original-Beweis von Kamp [1968] sehr kompliziert, vereinfachter Beweis von Gabbay [1989] benutzt Separierungseigenschaft Eine temporallogische bzw. LT L-Formel heisst: zukunftsbezogen gdw wenn sie den Operator U nicht enthält, vergangenheitsbezogen gdw wenn sie den Operator U + nicht enthält, separiert gdw wenn sie eine junktorenlogische Kombination zukunftsoder vergangenheitsbezogener Formeln ist. Eine Logik hat die Separierungseigenschaft (für eine Klasse K von Modellen) gdw für jede Formel der Logik eine (bzgl. aller Modelle in K) äquivalente separierte Formel der Logik existiert. 80
81 Relative Ausdrucksstärke von LT L 67 Hilfssatz: LT L hat die Separierungseigenschaft für natürliche Modelle. Zentrale Idee des Beweises: Für alle natürlichen Modelle M gilt z.b.: M = F + (A G B) G B B (B U + A) Beobachtung: Die Separierungs-Transformation kann zu einer nichtelementaren Verlängerung der Formel führen. Hilfssatz: Falls eine temporale Logik die Separierungseigenschaft für eine Klasse von Modellen K hat, dann ist sie so ausdrucksstark wie F OL mit einer freien Variablen und einem Transitionsprädikat. Satz: Es gibt eine Folge von F OL-Formeln derart, dass die Länge der entsprechenden kürzesten äquivalenten LT L-Formeln nicht durch eine elementare Funktion der Länge der F OL-Formeln beschränkt werden kann. D.h. obwohl LT L auf natürlichen Modellen dieselbe Ausdruckskraft wie F OL hat, hat es nicht dieselbe Ausdruckskürze oder -bündigkeit. 81
82 Berechnungsbäume und Pfade 68 Formulierung von Systemeigenschaften höherer Ordnung Eigenschaften von Abläufen (d.h. Ausführungsfolgen) eines (nichtdeterministischen) Computerprogramms oder Systems Modellierung aller Abläufe als Berechnungsbaum s 1 p s 2 s 3 82
83 Berechnungsbäume und Pfade 69 Insbesondere interessant: Aussagen über bestimmte Pfade im Berechnungsbaum eines Systems Gegeben (die Übergangsrelation) ein(es) Transitionssystem(s), d.h. ein Kripke-Rahmen U, Pfad π in einem Kripke-Rahmen U, oder einer Kripke-Struktur U,, ι : endliche oder unendliche Folge von Zuständen s 0, s 1, s 2,... wobei jeweils s i s i+1 (Folge: Funktion N S mit N N und 0 < i N i 1 N) s-pfad: Pfad π mit π(0) = s Maximaler Pfad π : N U: für alle i N gilt: wenn es ein s U gibt mit π(i) s, dann ist i + 1 N (d.h. ein maximaler Pfad ist entweder unendlich oder sein letzter Zustand ist ein Endpunkt in ) Pfad in einem Kripke-Modell U,, ι, s : s-pfad in U,. 83
84 Berechnungsbaum-Logik (Computation Tree Logic) 70 Syntax der Berechnungsbaum-Logik Gegeben eine Menge P von Aussagenvariablen. Die (Formeln der) Berechnungsbaum-Logik (Computation Tree Logic) für P sei(en) definiert durch: CT L(P) := P (CT L CT L) E(CT L U + CT L) A(CT L U + CT L) CT L ermöglicht die Formulierung von Aussagen über alle maximalen Berechnungspfade CT L wird normalerweise auf Baummodellen interpretiert, d.h. Modellen, bei denen die transitive Hülle < der Transitionsrelation eine partielle Ordnung mit einem kleinsten Element ist 84
85 Berechnungsbaum-Logik (Computation Tree Logic) 71 Semantik der Berechnungsbaum-Logik Semantik wie in der Modallogik, d.h. eine Struktur ist ein Triple I = U, ι und ein Modell ist ein Paar I, s mit s U Definition der Erfülltheit von neuen CT L-Formeln: I s = E(A U + B) gdw es ein s U gibt mit s < s und I s = B und für alle s U mit s < s < s gilt: I s = A entspricht genau der Semantik von (A U + B) I s = A(A U + B) gdw wenn alle maximalen Pfade π, die in s beginnen, ein s enthalten mit s < s und I s = B und für alle s mit s < s < s gilt: I s = A 85
86 Berechnungsbaum-Logik (Computation Tree Logic) 72 Weitere als Abkürzungen definierte Operatoren EXB := E( U + B) AXB := A( U + B) EXB := AX B AXB := EX B EF + B := E( U + B) AF + B := A( U + B) s > s : I s = t B max. Pfade π : s > s auf π : I s = t B EG + B := AF + B AG + B := EF + B max. Pfad π : s > s auf π : I s = t B s > s : I s = t B E(AU B) := (B A E(AU + B)) A(AU B) := (B A A(AU + B)) EF B := (B EF + B) AF B := (B AF + B) EG B := (B EG + B) AG B := (B AG + B) E(AW + B) := A( BU + (A B)) A(AW + B) := E( BU + (A B)) 86
87 Berechnungsbaum-Logik (Computation Tree Logic) 73 Wichtige Zusammenhänge zwischen den Operatoren A(AU + B) A(AW + B) AF + B = E( BU + (A B)) AF + B A(AU + B) E( BU + (A B)) EG + B EU + und AF + reichen als Basis-Operatoren aus und EU + und AG + reichen als Basis-Operatoren aus (günstig für formale Beweise und Algorithmen) E(AW + B) E(AU + B) EG + B Aber keine negationsfreie duale Charakterisierung von AW + und EU + 87
88 Beispiele von CT L-Spezifikationsformeln 74 Typische Korrektheitseigenschaften eines reaktiven Systems Es ist ein Zustand erreichbar, in dem started gilt, aber ready nicht: EF + (started ready) Jede Anfrage wird irgendwann beantwortet: AG (request AF + acknowledge) Auf jedem Ast des Berechnungsbaums ist der Stack unendlich oft leer: AG AF + stack is empty Von jedem Zustand s aus ist ein restart-zustand erreichbar oder s ist selbst ein restart-zustand: AG EF restart 88
89 Vergleich der Ausdrucksstärke von CT L und LT L 75 Beschränkung auf zukunftsbezogenes Fragment der LT L Direkter Vergleich schwierig, da intendierte Modelle unterschiedlich Auf natürlichen Modellen (Bäumen mit Verzweigungsgrad 1) sind EU + und AU + gleichbedeutend Auf echten Baummodellen ist AU + nicht in LT L ausdrückbar Deshalb: Vergleich auf von allgemeinen Kripke-Modellen generierten natürlichen bzw. Baummodellen 89
90 Generierte spezielle Modelle 76 Generierte natürliche Modelle Gegeben ein beliebiges Kripke-Modell M = U,, ι, s. Ein Modell M = U,, ι, s heisst ein direkt von M generiertes natürliches Modell gdw U ein maximaler Pfad π : N U in M ist mit π(0) = s, := { i, π(i), i + 1, π(i + 1) : 0 < i + 1 N}, ι (p) = { i, s U : s ι(p)}, s = 0, s. Folgen-Gültigkeit bzw. -Erfülltheit Eine LT L-Formel A heisst Folgen-gültig in (oder Folgen-erfüllt von) einem Kripke-Modell M, geschrieben M = s A, gdw A von allen direkt von M generierten natürlichen Modellen erfüllt wird. 90
91 Generierte spezielle Modelle 77 Generierte Baum-Modelle Gegeben ein beliebiges Kripke-Modell M = U,, ι, s. Sei K, der von M erzeugte Berechnungsbaum (K Knotenmenge, K K Kantenmenge), l die Knotenmarkierungsfunktion K U, d.h. k k gdw l(k) l(k ); weiterhin sei ι (p) = {k K : l(k) ι(p)}, und k die Wurzel von K. Dann ist das Modell M = K,, ι, k das direkt von M generierte Baummodell. Baum-Gültigkeit bzw. -Erfülltheit Eine CT L-Formel A heisst Baum-gültig in (oder Baum-erfüllt von) einem Kripke-Modell M, geschrieben M = t A, gdw A vom von M generierten Baummodell erfüllt wird. 91
92 Vergleich der Ausdrucksstärke von CT L und LT L 78 Vergleich der relativen Ausdrucksstärke von LT L bzw. CT L über die generierten natürlichen bzw. Baummodelle beliebiger Kripke-Modelle Satz: Es gibt eine LT L-Formel A, für die es keine CT L-Formel A gibt derart, dass für jedes Kripke-Modell M gilt: M = s A gdw M = t A. Beispiel: A = F + G + p (ist z.b. s t Q 1 F + Q 2 G + p mit Q i {A, E}; unterscheidende Modelle: {s, s }, { s, s, s, s }, { p, {s} }, s} bzw. {s, s }, { s, s, s, s }, { p, {s } }, s}) Satz: Es gibt eine CT L-Formel A, für die es keine LT L-Formel A gibt derart, dass für jedes Kripke-Modell M gilt: M = t A gdw M = s A. Beispiel: A = AG + EF + p (ist z.b. t s G + F + p; unterscheidendes Modell: {s, s }, { s, s, s, s, s, s }, { p, {s } }, s}) LT L und CT L haben unterschiedliche Ausdrucksstärke und keine der beiden Logiken subsumiert die andere 92
93 Die volle Berechnungsbaum-Logik CT L 79 Syntax der vollen Berechnungsbaum-Logik CT L Gegeben eine Menge von aussagenlogischen Variablen P. Zwei Typen von Formeln: Zustandsformeln und Pfadformeln definiert durch simultane Induktion: 1. jede aussagenlogische Variable P und sind Zustandsformeln, 2. Wenn B eine Pfadformel ist, dann ist EB eine Zustandsformel, 3. jede Zustandsformel ist eine Pfadformel, 4. Wenn A und B Pfadformeln sind, dann sind auch (A B) und (AU + B) Pfadformeln. Die Menge der Formeln der vollen Berechnungsbaum-Logik CT L (P) für P besteht aus allen Zustandsformeln. Definierter Operator: AB := E B CT L subsumiert sowohl die CT L als auch das zukunftsbezogene Fragment der LT L. 93
94 Die volle Berechnungsbaum-Logik CT L 80 Semantik der vollen Berechnungsbaum-Logik CT L Semantik basiert auf der Semantik der Modallogik, d.h. eine Struktur ist ein Triple I = U, ι und ein Modell ist ein Paar I, s mit s U Ein Pfadmodell ist ein Paar I, π, geschrieben I π, wobei π ein maximaler Pfad in I ist Gegeben ein Pfad π mit einer Länge i, der Suffixpfad π i von π und i sei wie folgt definiert: π i (j) = π(i + j), d.h. π i = { j, s : i + j, s π}. 1. I s = EB gdw es einen maximalen s-pfad π in I gibt und I π = B 2. I π = p P gdw I π(0) = p 3. I π = 4. I π = (A B) gdw I π = A oder I π = B 5. I π = (AU + B) gdw es ein i > 0 gibt und I πi = B und für alle 0 < j < i gilt: I πj = A 94
95 Die volle Berechnungsbaum-Logik CT L 81 Beispiele für CT L -Formeln Auf jedem maximalen Pfad gibt es einen Zustand, ab dem p immer gilt: AF G p Disjunktion der kritischen Formeln für LT L und CT L: F + G + p AG + EF + p Ausdrucksstärke der vollen Berechnungsbaum-Logik CT L CT L subsumiert CT L und zukunftsbezogenes Fragment der LT L. Ausdrucksstärke der CT L entspricht Erweiterung der Logik F OL um Quantifikation über Pfade, der Monadischen Logik zweiter Stufe. Komplexität von CT L Model Checking ist PSPACE-vollständig. Erfüllbarkeit ist vollständig für doppelt exponentielle Zeit. 95
96 Model Checking Probleme 82 Zwei Typen von Model Checking Problemen Standard oder Initiales Model Checking Universelles Model Checking Allgemein gegeben sind (für Logiken mit einer Transitionsrelation) eine beliebige Kripke-Struktur I = U,, ι, eine Formel A in einer Temporallogik L, ein Erfülltheitsbegriff = für L Initiales Model Checking: Weiterhin gegeben ein Referenzpunkt s U, gilt: I s = A? Universelles Model Checking: Gilt I s = A für alle s U? 96
97 Model Checking Verfahren 83 Zwei reine Typen von Model Checking Verfahren Top-down oder lokales vs. bottom-up oder globales Model Checking Top-down oder lokale Model Checking Verfahren Rekursives Lösen von Erfülltheitsproblemen der Form I s = F durch lokale Dekomposition unter Ausnutzung der Struktur I, d.h. Exploration eines Tableaus mit Wurzelmarkierung I s = A (A initiale Formel) I.A. zusätzliche Benutzung dynamischer Programmierungstechniken zur Vermeidung der wiederholten Lösung gleicher Probleme Bottom-up oder globale Model Checking Verfahren F I bezeichne die Menge aller Zustände s U mit I s = F. Berechnen und speichern aller Mengen F I, wobei F Teilformel von A Kompositionelles Vorgehen beginnend bei atomaren Teilformeln Abschliessendes Prüfen, ob Referenzpunkt s A I bzw. A I = U 97
98 Bottom-up Model Checking für die Modallogik 84 Gegeben: Kripke-Struktur I = U,, ι und Formel A der Modallogik ML Universelles bottom-up Model Checking für die Modallogik Für alle Teilformeln F von A beginnend mit den atomaren Formeln: Setze I := Falls F atomare Formel p, setze F I := ι(p) Falls F = (B C), setze F I := (U \ B I ) C I Falls F = B, setze F I := {s U : es gibt ein s B I und s s } Effizienz- und Komplexitätsbetrachtungen Berechne ( B) I durch Zurückverfolgen der Kanten aus B I Speichere alle Zwischenwerte F I Verfahren quadratisch in ( I + A ) Effiziente Repräsentation und Operationen auf Mengen erforderlich 98
99 Bottom-up Model Checking für CT L 85 CT L mit Basis-Operatoren EU + und EG + Wir betrachten eine Variante der CT L mit den beiden temporalen Basis- Operatoren EU + und EG +, die ausreichen um jede CT L-Formel äquivalent auszudrücken, da aus A(AU + B) E( BU + (A B)) AF + B und AF + B EG + B folgt, dass A(AU + B) E( BU + (A B)) EG + B. Semantik von EG + I s = EG + B gdw es einen maximalen s-pfad gibt, auf dem für alle s > s gilt, dass I s = B 99
100 CT L-Model Checking 86 Intendierte Semantik des CT L-Model Checking Eigenschaften beliebiger Transitionssysteme sollen modelliert werden Welche Semantik, Standard-Semantik ( =) oder Baum-Semantik ( = t )? = = t, betrachte dazu E(p U + q) in folgender Kripke-Struktur: s 1 p s 2 s 4 q s 3 I s 1 = t E(p U + q), aber I s 1 = E(p U + q), da s 1 < s 4 < s 3 und I s 4 = p Intendierte Semantik ist die Baumsemantik = t 100
1. Einführung in Temporallogik CTL
1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen
MehrZeitlogik. Hardware Verifikation. Zeitlogik und Verifikation. Helmut Veith,
Zeitlogik und Verifikation Helmut Veith, veith@dbai.tuwien.ac.at 58801-18431 Abteilung f. Datenbanken und AI Zeitlogik Klassische Logik ist ungeeignet, die Dynamik veränderlicher Systeme zu beschreiben.
MehrTableaukalkül für Aussagenlogik
Tableaukalkül für Aussagenlogik Tableau: Test einer Formel auf Widersprüchlichkeit Fallunterscheidung baumförmig organisiert Keine Normalisierung, d.h. alle Formeln sind erlaubt Struktur der Formel wird
Mehr4. Alternative Temporallogiken
4. Alternative Temporallogiken Benutzung unterschiedlicher Temporallogiken entsprechend den verschiedenen Zeitbegriffen LTL: Linear Time Logic Ähnlich der CTL, aber jetzt einem linearen Zeitbegriff entspechend
MehrModel Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg
Model Checking I Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Model Checking I 1 / 22 1 Inhalt 2 Model
MehrGrundlagen der Logik
Grundlagen der Logik Denken Menschen logisch? Selektionsaufgabe nach Watson (1966): Gegeben sind vier Karten von denen jede auf der einen Seite mit einem Buchstaben, auf der anderen Seite mit einer Zahl
MehrAlgorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen
Algorithmen für OBDD s 1. Reduziere 2. Boole sche Operationen 1 1. Reduziere siehe auch M.Huth und M.Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge Univ.Press, 2000
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Marc Spisländer Josef Adersberger Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 10. November 2008 Inhalt Nachlese
MehrNichtklassische Logiken
Nichtklassische Logiken Peter H. Schmitt pschmitt@ira.uka.de UNIVERSITÄT KARLSRUHE Sommersemester 2004 P. H. Schmitt: Nichtklassische Logiken p.1 Inhalt Wiederholung P. H. Schmitt: Nichtklassische Logiken
Mehr2.1 Lineare Temporallogiken: LTL
2.1 Lineare Temporallogiken: LTL N bezeichne die Menge der nicht-negativen ganzen Zahlen (inklusive der Null). Sei Σ ein Alphabet. Ein endliches Wort ü b e r Σ ist eine endliche Folge a 1 a 2...a n,sodassa
MehrResearch Collection. Bounded Model Checking was kommt danach? Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2000
Research Collection Other Conference Item Bounded Model Checking was kommt danach? Author(s): Biere, Armin Publication Date: 2000 Permanent Link: https://doi.org/10.3929/ethz-a-004242422 Rights / License:
MehrAussagenlogik. Spezifikation und Verifikation Kapitel 1. LTL und CTL Syntax & Semantik. Aussagenlogik: Syntax. Aussagenlogik: Syntax (Alternative)
Spezifikation und Verifikation Kapitel 1 Aussagenlogik LTL und CTL & Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben Eine abzählbare Menge V = {x 1, x 2,...} von aussagenlogischen Variablen
MehrDie Prädikatenlogik erster Stufe: Syntax und Semantik
Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,
MehrFormale Verifikation von Software. 10. Juli 2013
Formale Verifikation von Software 10. Juli 2013 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?
MehrZusammenfassung des Stoffes zur Vorlesung Formale Systeme
Zusammenfassung des Stoffes zur Vorlesung Formale Systeme Max Kramer 13. Februar 2009 Diese Zusammenfassung entstand als persönliche Vorbereitung auf die Klausur zur Vorlesung Formale Systeme von Prof.
MehrFormale Verifikation von Software. 8. Juli 2015
Formale Verifikation von Software 8. Juli 2015 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 2 28.04.2015 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Organisatorisches Termine Donnerstags: 30.04.2015 nicht
MehrComputergestützte Modellierung und Verifikation
Computergestützte Modellierung und Verifikation Vorlesung mit Übungen SS 2007 Prof. F. von Henke mit Dr. H. Pfeifer Inst. für Künstliche Intelligenz Organisatorisches Vorlesung: Mi 14 16 Raum 3211 Do 14
MehrZusammenfassung. Definition. 1 (x i ) 1 i n Sequenz von Registern x i, die natürliche Zahlen beinhalten. 2 P ein Programm. Befehle: 1 x i := x i + 1
Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele Georg Moser Michael Schaper Manuel Schneckenreither Eine Registermaschine (RM)
MehrKapitel 1.1. Aussagenlogik: Syntax. Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1
Kapitel 1.1 Aussagenlogik: Syntax Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1 Übersicht 1.1.1 Die Sprache der Aussagenlogik 1.1.2 Explizite vs. implizite Definitionen 1.1.3
MehrFormale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln
Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem
MehrLogic in a Nutshell. Christian Liguda
Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung
MehrTHEORETISCHE INFORMATIK UND LOGIK
Rückblick: Logelei Wir kehren zurück auf das Inselreich mit Menschen von Typ W (Wahrheitssager) und Typ L (Lügner). THEORETISCHE INFORMATIK UND LOGIK 14. Vorlesung: Modelltheorie und logisches Schließen
MehrFormale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik
Formale Grundlagen der Informatik 1 Kapitel 19 & Frank Heitmann heitmann@informatik.uni-hamburg.de 23. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/25 Motivation Die ist eine Erweiterung
MehrEinführung in die Logik
Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3
MehrWas bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =
Was bisher geschah (Klassische) Aussagenlogik: Aussage Wahrheitswerte 0 (falsch) und 1 (wahr) Junktoren Syntax Semantik Stelligkeit Symbol Wahrheitswertfunktion wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min
MehrTHEORETISCHE INFORMATIK UND LOGIK
THEORETISCHE INFORMATIK UND LOGIK 14. Vorlesung: Modelltheorie und logisches Schließen Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 31. Mai 2017 Rückblick: Logelei Wir kehren zurück auf
MehrKapitel 1. Aussagenlogik
Kapitel 1 Aussagenlogik Einführung Mathematische Logik (WS 2012/13) Kapitel 1: Aussagenlogik 1/17 Übersicht Teil I: Syntax und Semantik der Aussagenlogik (1.0) Junktoren und Wahrheitsfunktionen (1.1) Syntax
MehrAussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37
Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/37 Modellierungsaufgabe Es gibt drei Tauben und zwei Löcher. Jede Taube soll in
MehrEntscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln
Vorlesung Letz WS 2002/2003 TU München: Logikbasierte Entscheidungsverfahren Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln INHALTE Die Bernays-Schönfinkel-Klasse bzw. Datenlogik-Formeln
Mehrabgeschlossen unter,,,, R,
Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen
MehrKurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik
Kurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik Fragen Seite Punkte 1. Was ist die Mathematische Logik? 3 2 2. Was sind die Aussagenlogik und die Prädikatenlogik? 5 4 3. Was sind Formeln,
MehrFormale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 14.
Formale Logik PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg Wintersemester 16/17 Sitzung vom 14. Dezember 2016 Die formale Sprache der Prädikatenlogik: Zeichen Benutzt werden
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 4. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der Aussagenlogik:
MehrLogik erster Stufe FO
Logik erster Stufe FO Sonderstellung als die Logik für die Grundlegung der Mathematik natürliche Semantik (Tarski) und große Ausdrucksstärke vollständige Beweiskalküle (Gödelscher Vollständigkeitssatz)
Mehr- SMT und DPLL(T ) Entscheidungsverfahren mit Anwendungen in der Softwareverifikation.
SMT und DPLL(T ) Entscheidungsverfahren mit Anwendungen in der Softwareverifikation STEPHAN FALKE INSTITUT FÜR THEORETISCHE INFORMATIK (ITI) 0 KIT 6. Universität Mai 2013 des S. Landes Falke Baden-Württemberg
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 3. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.16 Syntax der Aussagenlogik:
MehrGrundbegriffe aus Logik und Mengenlehre. Prädikatenlogik
Grundbegriffe aus Logik und Mengenlehre Prädikatenlogik wohlverstandene Grundlagen, eine formale Sprache zur Beschreibung statischer und dynamischer Gesichtspunkte eines Unternehmens syntaktisch und semantisch
Mehrtl Revision: 1.37 Lese [a] f als für alle a-nachfolger des momentanen Zustandes gilt f
Temorale Logik Gebrauch in der Informatik geht auf A. Pnueli zurück 1 Vereinfachte Hennessy-Milner Logik (HML) zunächst betrachten wir HML als Bs. für Temorale Logik für LTS 2 Häufig zur Sezifikation von
MehrKapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1
Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter
MehrEinführung in LTL unter MAUDE. Maschine!es Beweisen Einführung in LTL Seit# 1
Einführung in LTL unter MAUDE Mashine!es Beweisen Einführung in LTL Seit# 1 Verifikation eines Systems System- Verhalte% System- Spezifikatio% Mashine!es Beweisen Einführung in LTL Seit# 2 Verifikation
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung
MehrWas ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie
Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf
Mehr3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik
Deduktionssysteme der Aussagenlogik, Kap. 3: Tableaukalküle 38 3 Tableaukalküle 3.1 Klassische Aussagenlogik 3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik Ein zweites Entscheidungsverfahren
MehrWas bisher geschah: klassische Aussagenlogik
Was bisher geschah: klassische Aussagenlogik Syntax Symbole und Struktur Junktoren: t, f (nullstellig), (einstellig),,,, (zweistellig) aussagenlogische Formeln AL(P) induktive Definition: IA atomare Formeln
MehrEntscheidungsverfahren für die Software-Verifikation. 4 - BDDs
Entscheidungsverfahren für die Software-Verifikation 4 - BDDs Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen) Boolesche
MehrAutomaten, Spiele und Logik
Automaten, Spiele und Logik Woche 13 11. Juli 2014 Inhalt der heutigen Vorlesung Linearzeit Temporale Logik (LTL) Alternierende Büchi Automaten Nicht-Determinisierung (Miyano-Ayashi) Beschriftete Transitionssysteme
MehrZusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung
Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Wenn das Kind schreit, hat es Hunger Das Kind schreit Also, hat das Kind Hunger Christina Kohl Alexander Maringele
MehrAussagenlogik. Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle
Aussagenlogik Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 22 Einführendes Beispiel
MehrZusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung
Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele Georg Moser Michael Schaper Manuel Schneckenreither Institut für Informatik
MehrDe Morgan sche Regeln
De Morgan sche Regeln Durch Auswerten der Wahrheitswertetabelle stellen wir fest, dass allgemeingültig ist; ebenso (p q) p q (p q) p q. Diese beiden Tautologien werden als die De Morgan schen Regeln bezeichnet,
MehrBeweisen mit Semantischen Tableaux
Beweisen mit Semantischen Tableaux Semantische Tableaux geben ein Beweisverfahren, mit dem ähnlich wie mit Resolution eine Formel dadurch bewiesen wird, dass ihre Negation als widersprüchlich abgeleitet
MehrBeachte: Mit n = 0 sind auch Konstanten Terme.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik ohne Gleichheit Syntax und Semantik 107 Terme Ab sofort wird Signatur τ als festgelegt angenommen. Sei V = {x, y,...} Vorrat
Mehr4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik
Theorie der Informatik 3. März 2014 4. Prädikatenlogik I Theorie der Informatik 4. Prädikatenlogik I 4.1 Motivation Malte Helmert Gabriele Röger 4.2 Syntax der Prädikatenlogik Universität Basel 3. März
Mehr1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II)
1. Motivation Modelchecking V. Ein Modelchecker: NuSMV Motivation und Hintergrund Modellierung Eigenschaften Anwendung Wir kennen jetzt die Grundlagen des Modelcheckings, auch wenn uns noch ganz wesentliche
MehrSyntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch
Formale der Informatik 1 Kapitel 15 Folgerbarkeit, Äquivalenzen und Normalformen Frank Heitmann heitmann@informatik.uni-hamburg.de 8. Juni 2015 Syntax Definition (Syntax der Aussagenlogik) Mit AS AL sei
MehrGrundlagen der Theoretischen Informatik
FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski
MehrFormale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik
Formale Grundlagen der Informatik 1 Kapitel 17 & Frank Heitmann heitmann@informatik.uni-hamburg.de 6. & 7. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/43 Motivation Die ist eine Erweiterung
MehrKapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik
Kapitel 1.5 und 1.6 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2010/11) Kapitel 1.5 und 1.6: Kalküle 1 /
MehrPrädikatenlogik: modelltheoretische Semantik
Einführung in die Logik - 6 Prädikatenlogik: modelltheoretische Semantik Modelltheoretische / Denotationelle Semantik der Prädikatenlogik Ein Modell ist... ein künstlich geschaffenes Objekt, das die Struktur
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Sommersemester 2018 Ronja Düffel 14. März 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis
MehrLogik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14
Logik Logik Vorkurs Informatik Theoretischer Teil WS 2013/14 30. September 2013 Logik > Logik > logische Aussagen Logik Logik > Logik > logische Aussagen Motivation Logik spielt in der Informatik eine
MehrLogik I. Symbole, Terme, Formeln
Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v
MehrAussagenlogische Testspezifikation
Seminar Spezifikationsbasierter Softwaretest Aussagenlogische Testspezifikation Peer Hausding (10.06.2006) 1 Gliederung Einführung Begriffe Test Modellspezifikation AutoFocus Transformation Spezifikation
MehrLogik Vorlesung 3: Äquivalenz und Normalformen
Logik Vorlesung 3: Äquivalenz und Normalformen Andreas Maletti 7. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen
MehrErsetzbarkeitstheorem
Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen
MehrSyntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4
Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)
MehrResolutionsalgorithmus
112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:
MehrBisher. Wiederholung NFA Modellierung durch NFA Kripke-Struktur
Bisher Wiederholung NFA Modellierung durch NFA Kripke-Struktur Model-Checking Modell beschrieben durch Kripke-Struktur A Spezifikation ϕ in einer Temporallogik Verifikation: Nachweis, dass die Struktur
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation
Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de Mit der Aussagenlogik lassen sich einfache Verknüpfungen zwischen (atomaren) Gebilden ausdrücken
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
Mehr5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:
MehrKapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls
Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer
MehrResolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:
Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht
MehrLogik Vorlesung 7: Grundlagen Prädikatenlogik
Logik Vorlesung 7: Grundlagen Prädikatenlogik Andreas Maletti 5. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 1. Einführung Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Formale Logik Ziel Formalisierung und Automatisierung rationalen
MehrSchlussregeln aus anderen Kalkülen
Was bisher geschah Klassische Aussagenlogik: Syntax Semantik semantische Äquivalenz und Folgern syntaktisches Ableiten (Resolution) Modellierung in Aussagenlogik: Wissensrepräsentation, Schaltungslogik,
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 6: Formale Logik Einführung schulz@eprover.org Formale Logik Ziel Formalisierung und Automatisierung rationalen Denkens Rational richtige Ableitung von
MehrMODEL CHECKING 2 - AUTOMATEN
MODEL CHECKING 2 - AUTOMATEN Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Model Checking 2 System (Hardware/ Software) Model Checking, Formalisierung, Beweis Übersetzung in Logik Gewünschte
MehrBeschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung
Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Sommersemester 2017 Thomas Schneider AG Theorie der künstlichen Intelligenz (TdKI) http://tinyurl.com/ss17-bl Beschreibungslogik SoSe 2017 7
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel
Motivation Formale Grundlagen der Informatik 1 Kapitel 17 & Frank Heitmann heitmann@informatik.uni-hamburg.de 6. & 7. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/43 Die ist eine Erweiterung
MehrBerechenbarkeitstheorie 19. Vorlesung
1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:
MehrMathematische und logische Grundlagen der Linguistik. Kapitel 3: Grundbegriffe der Aussagenlogik
Mathematische und logische Grundlagen der Linguistik Kapitel 3: Grundbegriffe der Aussagenlogik Grundbegriffe der Aussagenlogik 1 Die Aussagenlogik ist ein Zweig der formalen Logik, der die Beziehungen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 18: Logik Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/35 Überblick Formeln in Prädikatenlogik erster Stufe Theorien und
MehrAllgemeingültige Aussagen
Allgemeingültige Aussagen Definition 19 Eine (aussagenlogische) Formel p heißt allgemeingültig (oder auch eine Tautologie), falls p unter jeder Belegung wahr ist. Eine (aussagenlogische) Formel p heißt
MehrMathematische und logische Grundlagen der Linguistik. Mathematische und logische Grundlagen der Linguistik. Karl Heinz Wagner. Hier Titel eingeben 1
Grundbegriffe der Aussagenlogik 1 Mathematische und logische Grundlagen der Linguistik Kapitel 3: Grundbegriffe der Aussagenlogik Die Aussagenlogik ist ein Zweig der formalen Logik, der die Beziehungen
MehrBeispiel Aussagenlogik nach Schöning: Logik...
Beispiel Aussagenlogik nach Schöning: Logik... Worin besteht das Geheimnis Ihres langen Lebens? wurde ein 100-jähriger gefragt. Ich halte mich streng an die Diätregeln: Wenn ich kein Bier zu einer Mahlzeit
MehrFormale Systeme. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft
Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017 Aussagenlogik: Tableaukalku l KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft
MehrFormale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik
Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de 23. Mai 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/42 Literaturhinweis Literaturhinweis
Mehr1.1 Motivation. Theorie der Informatik. Theorie der Informatik. 1.1 Motivation. 1.2 Syntax. 1.3 Semantik. 1.4 Formeleigenschaften. 1.
Theorie der Informatik 19. Februar 2014 1. Aussagenlogik I Theorie der Informatik 1. Aussagenlogik I Malte Helmert Gabriele Röger Universität Basel 19. Februar 2014 1.1 Motivation 1.2 Syntax 1.3 Semantik
Mehr3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?
3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? A. Gegeben eine kontextfreie Grammatik G. Gibt es ein
MehrTHEORETISCHE INFORMATIK UND LOGIK
THEORETISCHE INFORMATIK UND LOGIK 13. Vorlesung: Prädikatenlogik: Syntax und Semantik Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 26. Mai 2017 Komplexität und Spiele NP ist eine typische
MehrKapitel 1.2. Aussagenlogik: Semantik. Mathematische Logik (WS 2011/12) Kapitel 1.2: Aussagenlogik: Semantik 1 / 57
Kapitel 1.2 Aussagenlogik: Semantik Mathematische Logik (WS 2011/12) Kapitel 1.2: Aussagenlogik: Semantik 1 / 57 Übersicht 1.2.1 Interpretationen der al. Formeln 1.2.2 Zentrale semantische Begriffe 1.2.3
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 5 8.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge
MehrErfüllbarkeit von Formelmengen
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik Kompaktheit 75 Erfüllbarkeit von Formelmengen bisher nur Erfüllbarkeit einzelner Formeln betrachtet erweitere Begriff auf Mengen
MehrWie komme ich von hier zum Hauptbahnhof?
NP-Vollständigkeit Wie komme ich von hier zum Hauptbahnhof? P Wie komme ich von hier zum Hauptbahnhof? kann ich verwende für reduzieren auf Finde jemand, der den Weg kennt! Alternativ: Finde eine Stadtkarte!
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 9. Prädikatenlogik Syntax und Semantik der Prädikatenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 06.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax (Formeln) Semantik Wertebelegungen/Valuationen/Modelle
MehrLogik für Informatiker
Logik für Informatiker 3. Prädikatenlogik Teil 3 12.06.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Semantik Semantik geben bedeutet für logische Systeme,
MehrInduktive Definitionen
Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive
Mehr