Formale Systeme

Werbung
Formale Systeme
Prof. P.H. Schmitt
Fakultät für Informatik
Universität Karlsruhe (TH)
Winter 2006/2007
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
1 / 37
Themen
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
2 / 37
Wiederholung
Aussagenlogik
Prädikatenlogik
Reduktionssysteme
Logik zweiter Stufe
Modale Logik
Büchi Automaten
LTL
Modellprüfung (model checking)
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
3 / 37
Aussagenlogik
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
4 / 37
Was Sie wissen sollten
Aussagenlogik, Syntax und Semantik
Definitionen der logischen Grundbegriffe beherrschen
Definition der verschiedenen Normalformen
Craigscher Interpolationssatz
Gegebene Formeln in Normalformen transformieren
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
5 / 37
Kurze konjunktive Normalform
Lösung zu Aufgabe 2.63 im Skript
Rechenfehler in einer der letzten drei Umformungen.
Gesucht war die KNF für
A = ((A1 ∧ A2 ) ∨ (A1 ∧ A3 )) ∨ ¬(A2 ∧ A3 )
Wir führen die neuen aussagenlogischen Atome Q1 , Q2 , Q3 , Q4 ein.
((A1 ∧ A2 ) ∨ (A1 ∧ A3 ) ∨¬ (A2 ∧ A3 )
| {z } | {z }
| {z }
Q1
|
Q2
{z
Q4
|
Q3
}
{z
A
}
Korrigierte Version auf dem Server.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
6 / 37
Kurze konjunktive Normalform
Beispiel
Bestimmen Sie die KNF für A = ¬(A1 → A2 ) ∧ ¬A1
Es muß nur ein neues Atom Q eingeführt werden mit
Q ↔ (¬A1 ∨ A2 )
A ↔ (¬Q ∧ ¬A1 )
Die vorgeschriebenen Umformungen liefern
¬A ∨ ¬Q
¬A ∨ ¬A1
Q ∨ A1 ∨ A
¬Q ∨ ¬A ∨ A2
A1 ∨ Q
¬A2 ∨ Q
Aber diese Formelmenge ist erfüllbar mit
I (Q) = 1, I (A) = 0, I (A1 ) = I (A2 ) = bel
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
7 / 37
Kurze konjunktive Normalform
Beispiel (Forts.)
Was ist schief gelaufen?
Hier die korrekte Lösung:
¬A ∨ ¬Q
¬A ∨ ¬A1
Q ∨ A1 ∨ A
A
Prof. P.H. Schmitt
¬Q ∨ ¬A ∨ A2
A1 ∨ Q
¬A2 ∨ Q
Formale Systeme
Winter 2006/2007
8 / 37
Was Sie wissen sollten
Aussagenlogik, Kalküle
Resolutionskalkül, Tableaukalkül, Davis-Putnam Verfahren
für kleinen Beispiele Ableitungen finden können
Beweisidee für den Korrektheits- und Vollständigkeitsbeweis des
Resolutions- und des Tableaukalküls wiedergeben.
Tableauregeln aus Wahrheitstafeln konstruieren.
Definition von Hornklausel kennen, Erfüllbarkeitstest für Hornklauseln
durchführen können.
Einfache Anwendungen durch aussagenlogische Formeln formalisieren
können.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
9 / 37
Prädikatenlogik
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
10 / 37
Was Sie wissen sollten
Prädikatenlogik, Syntax und Semantik
Definition der Formeln und der Strukturen für PK1
Begriff der Substitution kennen und anwenden können.
Den Begriff Unifikation kennen und den Unifikator einfacher Terme
berechnen können.
Die logischen Grundbegriffe beherrschen
Einfache semantische Tautologien erkennen können
Definition der verschiedenen Normalformen
Gegebene Formeln in Normalformen transformieren
Die Aussage des Substitutionslemmas kennen
Den Satz von Herbrand kennen
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
11 / 37
Was Sie wissen sollten
Prädikatenlogik, Kalküle
Resolutions- und Tableaukalkül kennen und einfache Beweise in diesen
Kalkülen ausführen können
Beweisidee für den Korrektheits- und Vollständigkeitsbeweis des
Tableaukalküls wiedergeben.
Einfache Sachverhalte in PL1 formalisieren können
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
12 / 37
Reduktionssysteme
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
13 / 37
Was Sie wissen sollten
Wichtigsten Eigenschaften von Reduktionssystemen und die
Zusammenhänge zwischen ihnen kennen
Gerichtete Termersetzungssystem kennen und kleine Beispiel rechnen
können.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
14 / 37
Logik zweiter Stufe
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
15 / 37
Was Sie wissen sollten
Logik zweiter Stufe
Formeln in der Logik zweiter Stufe lesen und interpretieren können
einfache Sachverhalte durch Formeln der Logik zweiter Stufe
formalisieren können
Unterschiede in der Ausdrucksstärke zur Logik erster Stufe benennen
können
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
16 / 37
OCL
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
17 / 37
Was Sie wissen sollten
grundlegende Konzepte von OCL kennen
einfache OCL Ausdrücke lesen und in prädikatenlogische Formeln
übersetzen können
einfache Sachverhalte in OCL formalisieren können
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
18 / 37
Vereinfachende Schreibweisen
Korrektur zu Folie 31
context
inv:
inv:
inv:
inv:
Die letzte
Person
- - alle constraints sind äquivalent
fleet –>collect(v:Vehicle | v.colour) –>asSet() –>size() = 1
fleet –>collect(v | v.colour) –>asSet() –>size() = 1
fleet –>collect(colour) –>asSet() –>size() = 1
fleet.colour –>asSet() –>size() = 1
Abkürzung ist nur erlaubt für ’collect’
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
19 / 37
Übersetzung OCL ⇒ PK1
Erläuterung zum Skript, Abschnitt 6.3
Customer
program→size = card→select( valid = true ) → size
∀x( isCustomer(x) →
size({y | cp(x, y )}) = size({y | cards(x, y ) ∧ valid(y )}))
Um alle OCL Ausdrücke übersetzen zu können braucht man eine
mehrsortige Prädikatenlogik. Z.B. kommen die Sorten Customer , Program,
N aber auch set(Customer ), set(Program) etc. vor.
size ist dann eine Funktion von der Sorte set(Program) nach N.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
20 / 37
Übersetzung OCL ⇒ PK1
Fortsetzung
Customer
program→size = card→select( valid = true ) → size
∀x( isCustomer(x) →
size({y | cp(x, y )}) = size({y | cards(x, y ) ∧ valid(y )}))
Die mehrsortige Prädikatenlogik enthält eine Symbol ∈ für die
Elementrelation für alle sinnvolle Sortierungen, insbesondere gibt es ∈ mit
der Sortierung Program ∈ set(Program).
{y | cp(x, y )} wird behandelt wie eine Funktion c von Customer nach
set(Program) mit dem Axiom
∀y (y ∈ c(x) ↔ cp(x, y ))
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
21 / 37
Modale Logik
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
22 / 37
Was Sie wissen sollten
Definition von Syntax und Semantik (Kripke Strukturen) beherrschen.
Allgemeingültige Formeln erkennen können, auch für
Allgemeingültigkeit relativ zu Kripke Strukturen mit Einschränkungen
and die Zugänglicheitsrelation R.
Für einfache Eigenschaften von R charakterisierende Formeln finden.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
23 / 37
Charakterisierbarkeit
Behauptung
Die Klasse der Kripke Rahmen mit irreflexiver Zugänglichkeitsrelation ist
nicht charakterisierbar.
Beweisidee
Abgenommen es gäbe eine modallogische Formel A, die irreflexive Rahmen
charakterisiert. D.h. für einen Kripke Rahmen (S, R) gilt
für alle v gilt (S, R, v ) |= A
gdw
R ist irreflexiv
Wir konstruieren Kripke Rahmen (S, R) und (S ∗ , R ∗ ), mit
(S, R) ist nicht irreflexiv, (S ∗ , R ∗ ) ist irreflexiv
für jede Interpretation v gibt es v ∗ , so daß für jede modallogische
Formel B gilt
(S, R, v ) |= B gdw (S ∗ , R ∗ , v ∗ ) |= B
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
24 / 37
Beweisidee
Fortsetzung
Zu (S, R, v ) definieren wir (S ∗ , R ∗ , v ∗ ):
S∗
R ∗ (g i , hj )
R ∗ (g i , g j )
v ∗ (g i , p)
=
gdw
gdw
=
{g i | g ∈ S, i ∈ {1, 2}}
R(g , h)&i, j ∈ {1, 2}
falls g 6= h
R(g , g )&i 6= j
v (g , p)
Für jedes g ∈ S seien g 1 , g 2 zwei neue, verschiedene Welten.
Offensichtlich ist R ∗ , v ∗ ) stets irreflexiv.
Man kann zeigen, daß für jede Formel F gilt
(R ∗ , v ∗ ) |= F gdw (R ∗ , v ∗ ) |= F
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
25 / 37
Büchi Automaten
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
26 / 37
Was Sie wissen sollten
Definition eines Büchi-Automaten kennen
Einen Büchi-Automaten der eine vorgegebene Sprache akzeptiert
konstruieren können.
Zu einem gegebenen Büchi-Automaten die akzeptierte Sprache
bestimmen können.
Abschlußeigenschaften ω-regulärer Mengen kennen.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
27 / 37
Büchi Automat ⇒ Müller Automat
Korrektur
Sei
B = (S, V , s0 , δ, F )
eine Büchi Automat, dann ist
M = (S, V , s0 , δ, F)
ein Müller Automat mit
Lω (B) = Lω (M)
wobei
F = {S 0 ⊆ S | S 0 ∩ F 6= ∅}
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
28 / 37
LTL
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
29 / 37
Was Sie wissen sollten
LTL-Formeln lesen können
Einfache temporale Eigenschaften in LTL formalisieren können.
Zusammenhang zwischen LTL und Büchi Automaten kennen.
Konzept der LTL Modellprüfung kennen.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
30 / 37
Notation für Semantik
...
ξ |= A
ξ |= ♦A
...
...
gdw
gdw
...
...
für alle n ∈ N gilt ξn |= A
es gibt ein n ∈ N mit ξn |= A
...
Wobei ξn für das bei n beginnende Endstück von ξ steht, i.e.
ξn (m) = ξ(n + m).
Alternative
...
(ξ, i) |= A
(ξ, i) |= ♦A
...
...
gdw
gdw
...
Prof. P.H. Schmitt
...
für alle j ∈ N mit i ≤ j gilt (ξ, j) |= A
es gibt ein j ∈ N mit i ≤ j und (ξ, j) |= A
...
Formale Systeme
Winter 2006/2007
31 / 37
Allgemeines
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
32 / 37
Häufig gestellte Frage
Ist es erlaubt, jede einigermaßen verbreitete Notation zu verwenden,
solange man an einem aktuellen Informatik Lehrbuch nachweisen kann,
daß es diese Notation gibt?
Antwort
Bitte, halten Sie sich an die in der Vorlesung und im Skriptum verwendete
Notation.
Wir werden bei der Korrektur der Klausur versuchen flexibel zu sein. Das
heißt aber nicht, daß wir alles akzeptieren können.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
33 / 37
Häufig gestellte Frage
Werden in der Klausur Definitionen abgefragt wurden.
Antwort
In der Regel werden Definitionen nicht direkt abgefragt, sondern Aufgaben
gestellt, die voraussetzen, daß man die Definition kennt.
Sie können mit Ankreuzaufgaben im Wert von 12 Punkten aus 60 rechnen.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
34 / 37
Häufig gestellte Frage
In alten Klausuren kommen fast ausschließlich Tableau - und
Resolutionskalkül vor. Ist der Sequenzenkalkül usgeschlossen?
Antwort
Ja, es werden keine Klausuraufgaben zum Sequenzenkalkül in der Prädikatenlogik gestellt.
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
35 / 37
Häufig gestellte Frage
Wie kann man Prädikaten- und Funktionssymbole in einer
Aufgabenstellung auseinanderhalten?
Antwort
In des meisten Fällen ist das explizit in der Signatur Σ vorgegeben.
Diese Information kann man in den meisten Fällen auch erschließen.
.
(f (a, g (y )) ∧ u(p(x), q)) → (a = m(r ) ∨ ¬s(0, 0))
Prädikatszeichen:
Funktionszeichen:
Prof. P.H. Schmitt
f (−, −) , u(−, −), s(−, −)
a, q, r , 0, g (−), p(−), m(−),
Formale Systeme
Winter 2006/2007
36 / 37
ENDE
Prof. P.H. Schmitt
Formale Systeme
Winter 2006/2007
37 / 37
Herunterladen