Vorlesung Logiksysteme

Werbung
Vorlesung Logiksysteme
Sommer 2015 – v14
Martin Mundhenk
Univ. Jena, Institut für Informatik
2. Juli 2015
0.0.1
Ein paar einführende Worte
I
Logik heißt korrekte Schlüsse ziehen . . .
(Aristoteles, 300 v.Chr.)
I
Aussagenlogik ist auch nur Rechnen . . .
(Boole, Mitte 19.Jhdt)
I
Alles Formale ist Logik . . .
(Frege, Peano, Russell um 1900)
0.0.2
Logik in der Informatik
Turing zeigt 1936 die Unentscheidbarkeit des
Gültigkeitsproblems der Prädikatenlogik.
Shannon zeigt 1937, dass Aussagenlogik zur Beschreibung und
Optimierung elektromagnetischer Schaltungen benutzt werden kann.
Newell, Simon, Robinson entwickeln in den 1950ern erste Algorithmen
zur logischen Deduktion und wenden sie auf KI-Probleme an.
Cook zeigt 1972 die NP-Vollständigkeit des
Erfüllbarkeitsproblems der Aussagenlogik.
0.0.3
Logikanwendungen in der Informatik
I
Entwurf und Verifikation digitaler Schaltkreise
I
Beschreibung komplexer Systeme
I
Verifikation der Korrektheit von Programmen
I
Datenbanken
I
Künstliche Intelligenz
I
Logisches Programmieren
Inhalt dieser Vorlesung
I
Was wird betrachtet?
1. Aussagenlogik
2. Nicht-klassische Aussagenlogiken
I
I
I
Modallogik
Temporale Logik
Wie wird es betrachtet?
Schwerpunkt auf Beweissystemen und deren Vollständigkeit
I
I
I
Wie lassen sich gültige Formeln formal beschreiben?
Wie lassen sich formale Beschreibungen zu Algorithmen umbauen?
Ziel: Verständnis der Vollständigkeitsbeweise
und Befähigung zum selbständigen Führen “kleiner” Beweise
Zitate
Edsger W. Dijkstra:
Informatik = VLSAL
(Very Large Scale Application of Logics)
Georg Gottlob:
Informatik ist die Fortsetzung der Logik mit anderen Mitteln.
0.0.6
Formalien zur Vorlesung/Übung
I
Termine:
montags 16:15–17:45 Uhr
mittwochs 16:15–17:45 Uhr
Logik-Sprechstunde freitags 10-12 Uhr (oder n.V.)
I
Zulassungsvoraussetzung zur Prüfung:
ausreichende Bearbeitung der schriftlichen Übungsaufgaben
mit wöchentlicher Abgabe mittwochs und
aktive Teilnahme an den Übungen.
I
Modulprüfung:
mündliche Prüfung
(Termin wird noch bekanntgegeben)
0.0.7
Vorlesung Logiksysteme
Sommer 2015
1. Klassische Aussagenlogik
2. Modale Aussagenlogik
3. Temporale Logik
0.0.1
1 Klassische Aussagenlogik
1. Klassische Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Algorithmen
Frege-Kalkül
Natürliches Schließen
Vergleich von Beweis-Kalkülen
1 Grundbegriffe Aussagenlogik
1. Klassische Aussagenlogik
Grundbegriffe
Sprache (Formeln)
Semantik (Belegungen und die Erfüllungsrelation)
Erfüllbarkeit und Gültigkeit
Äquivalenz und adäquate Formelmengen
Semantische Folgerung
Algorithmische Fragen
Tableau-Kalkül
Algorithmen
Frege-Kalkül
Natürliches Schließen
Vergleich von Beweis-Kalkülen
[Literatur:
Schöning: Logik für Informatiker
((fast) jedes Logikbuch)]
1.1 Grundbegriffe
Wir werden die Grundbegriffe der Aussagenlogik definieren:
I
aussagenlogische Formeln
I
Belegungen für Formeln
I
Erfüllung einer Formel durch eine Belegung
I
Erfüllbarkeit, Gültigkeit und Äquivalenz von Formeln
I
semantische Folgerung
Syntax: Formeln
Definition 1.1 (die Sprache der Aussagenlogik: Formeln)
Eine atomare Formel (kurz: Atom) hat die Form Ai für i = 0, 1, 2, . . .
(Aussagenlogische) Formeln sind induktiv definiert wie folgt.
1. Die Konstanten ⊥ (falsum) und > (verum) und alle Atome
sind Formeln.
2. Für alle Formeln α ist ¬α (Negation von α) ebenfalls eine Formel.
Für alle Formeln α und β sind
(α ∧ β) (Konjunktion von α und β, logisches Und ),
(α ∨ β) (Disjunktion von α und β, logisches Oder ) und
(α → β) (Implikation von α und β, logische Folgerung )
ebenfalls Formeln.
(3. Es gibt keine anderen Formeln.)
Semantik: Belegung und Erfüllungsrelation
Definition 1.2 (Belegung)
Eine Belegung B ist eine Menge B ⊆ {A0 , A1 , A2 , . . .} von Atomen.
Definition 1.3 (Erfüllungsrelation
)
Sei B eine Belegung, α und β seien Formeln.
Die Relation zwischen Belegungen und Formeln ist wie folgt definiert.
B
>
B
Ai gdw. Ai ∈ B, für atomare Formeln Ai
B
und
B 6
¬α gdw. B 6
⊥
α
B
(α ∧ β) gdw. B
α und B
β
B
(α ∨ β) gdw. B
α oder B
β
(α → β) gdw. B 6
α oder B
β
B
Erfüllbarkeit, Gültigkeit
Für “B
α” sagt man “B erfüllt α”.
Für Formelmengen Γ bedeutet B Γ (“B erfüllt Γ”),
dass B ϕ für alle ϕ ∈ Γ gilt.
Definition 1.4 (erfüllbar, gültig)
1. Eine Formel heißt erfüllbar,
wenn es eine Belegung gibt, die sie erfüllt.
Anderenfalls heißt die Formel unerfüllbar (oder Kontradiktion).
2. Wenn α von jeder Belegung erfüllt wird,
dann heißt α gültig (oder Tautologie, Schreibweise:
α).
1.1.5
Abkürzende Schreibweisen
A, B, C , . . . oder . . . für A0 , A1 , A2 , . . .
(α ↔ β) für ((α → β) ∧ (β → α))
(
n
V
i=1
n
W
(
αi ) für (. . . ((α1 ∧ α2 ) ∧ α3 ) ∧ . . . ∧ αn )
αi ) für (. . . ((α1 ∨ α2 ) ∨ α3 ) ∨ . . . ∨ αn )
i=1
1.1.6
Äquivalente Formeln
Die Formeln (A ∧ B) und ¬(¬A ∨ ¬B) werden von den gleichen
Belegungen erfüllt.
I
Die Belegungen ∅, {A} und {B} erfüllen beide Formeln nicht.
I
Die Belegung {A, B} erfüllt beide Formeln.
I
Jede andere Belegung entspricht für die Atome A und B einer der
obigen Belegungen.
Definition 1.5 (semantisch äquivalent)
Formeln α und β heißen (semantisch) äquivalent (α ≡ β),
falls für jede Belegung B gilt: B α genau dann, wenn B
β.
1.1.7
Lemma 1.6 (nützliche Äquivalenzen)
Idempotenz:
(α ∧ α) ≡ α
(α ∨ α) ≡ α
Kommutativität:
(α ∧ β) ≡ (β ∧ α)
(α ∨ β) ≡ (β ∨ α)
Absorption:
(α ∧ (α ∨ β)) ≡ α
(α ∨ (α ∧ β)) ≡ α
Doppelnegation:
¬¬α ≡ α
deMorgan’s Regeln:
¬(α ∧ β) ≡ (¬α ∨ ¬β)
¬(α ∨ β) ≡ (¬α ∧ ¬β)
Tautologieregeln:
(α ∧ >) ≡ α
(α ∨ >) ≡ >
Kontradiktionsregeln:
(α ∧ ⊥) ≡ ⊥
(α ∨ ⊥) ≡ α
1.1.8
(Fortsetzung von Lemma 1.6)
Negation von Konstanten:
¬⊥ ≡ >
Gesetz des ausgeschlossenen Dritten:
(α ∨ ¬α) ≡ >
¬> ≡ ⊥
(α ∧ ¬α) ≡ ⊥
Implikation:
(α → β) ≡ (¬α ∨ β)
Assoziativität:
((α ∧ β) ∧ γ) ≡ (α ∧ (β ∧ γ))
((α ∨ β) ∨ γ) ≡ (α ∨ (β ∨ γ))
Distributivität:
(α ∧ (β ∨ γ)) ≡ ((α ∧ β) ∨ (α ∧ γ))
(α ∨ (β ∧ γ)) ≡ ((α ∨ β) ∧ (α ∨ γ))
Vereinfachende Schreibweise:
“überflüssige” Klammern können weggelassen werden.
Äquivalentes Umformen
Satz 1.7 (Äquivalentes Ersetzen ergibt äquivalente Formel)
Sei ϕ eine Formel mit der Teilformel α,
und β sei äquivalent zu α.
Sei ϕ0 eine Formel, die aus ϕ entsteht,
wenn ein Vorkommen der Teilformel α durch β ersetzt wird.
Dann sind ϕ und ϕ0 äquivalent.
Beispiel:
ϕ
α
β
ϕ0
=
=
=
=
(B → (A ∧ (A ∨ B)))
(A ∧ (A ∨ B))
A
(B → A)
Die semantische Äquivalenz von Formeln lässt sich jetzt
syntaktisch durch äquivalentes Umformen verifizieren
(da ≡ eine Äquivalenzrelation ist).
Beispiel 1: (A → B) ≡ (¬B → ¬A)
(A → B) ≡
≡
≡
≡
(¬A ∨ B)
(¬A ∨ ¬¬B)
(¬¬B ∨ ¬A)
(¬B → ¬A)
(Implikation)
(Doppelnegation)
(Kommutativität)
(Implikation)
1.1.11
Beispiel 2: ((A ∧ B) → C ) ≡ (A → (B → C ))
((A ∧ B) → C )
≡ (¬(A ∧ B) ∨ C )
≡ ((¬A ∨ ¬B) ∨ C )
≡ (¬A ∨ (¬B ∨ C ))
≡ (¬A ∨ (B → C ))
≡ (A → (B → C ))
(Implikation)
(deMorgan)
(Assoziativität)
(Implikation)
(Implikation)
Allgemeiner gilt:
n
^
i=1
Ai → B ≡ (A1 → (A2 → (· · · → (An → B) · · · )))
Beispiel 3: (⊥ → ⊥) ≡ >
(⊥ → ⊥)
≡ (¬⊥ ∨ ⊥) (Implikation)
≡ (> ∨ ⊥)
(Negation von Konstanten)
≡ >
(Kontradiktionsregel)
Beispiel 4: ¬α ≡ (α → ⊥) für jede Formel α
¬α
≡ (¬α ∨ ⊥) (Kontradiktionsregel)
≡ (α → ⊥) (Implikation)
Lemma 1.8 (⊥ und → sind adäquat)
Für jede aussagenlogische Formel ϕ gibt es eine äquivalente Formel ϕ0 ,
die nur Atome, ⊥ und → enthält.
Beweis: mittels Induktion über den Formelaufbau der Formel ϕ.
Was ist zu zeigen?
Induktionsanfang (IA) – zu zeigen ist:
Für jede aussagenlogische Formel ϕ,
die ⊥, > oder ein Atom ist,
gibt es eine äquivalente Formel ϕ0 , die nur Atome, ⊥ und → enthält.
Fall 1: ϕ = ⊥. Sei ϕ0 = ϕ. Dann gilt ϕ0 ≡ ϕ,
und ϕ0 besteht nur aus Atomen, ⊥ und →.
Fall 2: ϕ = >. Sei ϕ0 = (⊥ → ⊥). Dann gilt ϕ0 ≡ ϕ (Beispiel 3),
und ϕ0 besteht nur aus Atomen, ⊥ und →.
Fall 3: ϕ = Ai . Sei ϕ0 = ϕ. Dann gilt ϕ0 ≡ ϕ, und . . .
1.1.14
Was noch zu zeigen bleibt:
Für alle aussagenlogischen Formeln α und β gilt:
wenn α und β äquivalente Formeln besitzen,
die nur aus Atomen, ⊥ und → bestehen,
dann gibt es auch für ¬α, (α ∧ β), (α ∨ β) und (α → β)
äquivalente Formeln,
die nur aus Atomen, ⊥ und → bestehen.
Daraus wird:
Induktionsvoraussetzung:
α und β besitzen äquivalente Formeln α0 bzw. β 0 ,
die nur aus Atomen, ⊥ und → bestehen.
und
Induktionsschluss – zu zeigen ist:
¬α, (α ∧ β), (α ∨ β) und (α → β) besitzen äquivalente Formeln,
die nur aus Atomen, ⊥ und → bestehen.
Induktionsvoraussetzung (IV):
α und β besitzen äquivalente Formeln α0 bzw. β 0 ,
die nur aus Atomen, ⊥ und → bestehen.
Induktionsschluss (IS) – zu zeigen ist:
¬α, (α ∧ β), (α ∨ β) und (α → β) besitzen äquivalente Formeln,
die nur aus Atomen, ⊥ und → bestehen.
Fall 1: ϕ = ¬α.
Es gilt:
¬α
≡ ¬ α0
(IV und Satz 1.7)
≡ (α0 → ⊥)
(Beispiel 4)
Sei also ϕ0 = (α0 → ⊥). Dann gilt ϕ0 ≡ ϕ,
und in ϕ0 kommen gemäß IV nur Atome, ⊥ und → vor.
Fall 2: ϕ = (α ∧ β).
Es gilt: (α ∧ β) ≡
≡
≡
≡
≡
≡
(α0 ∧ β 0 )
(¬¬ α0 ∧ ¬¬ β 0 )
¬(¬ α0 ∨ ¬ β 0 )
((¬ α0 ∨ ¬ β 0 ) → ⊥)
((α0 → ¬ β 0 ) → ⊥)
((α0 → (β 0 → ⊥)) → ⊥)
(IV und Satz 1.7)
(Doppelnegation und Satz 1.7)
(deMorgan’s Regel)
(Beispiel 4)
(Implikation und Satz 1.7)
(Beispiel 4 und Satz 1.7)
Sei also ϕ0 = ((α0 → (β 0 → ⊥)) → ⊥). Dann gilt ϕ0 ≡ ϕ,
und in ϕ0 kommen gemäß IV nur Atome, ⊥ und → vor.
Fall 3: ϕ = (α ∨ β).
Es gilt:
(α ∨ β)
≡ (α0 ∨ β 0 )
(IV und Satz 1.7)
≡ (¬¬ α0 ∨ β 0 )
(Doppelnegation und Satz 1.7)
≡ (¬ α0 → β 0 )
(Implikation)
≡ ((α0 → ⊥) → β 0 )
(Beispiel 4 und Satz 1.7)
Sei also ϕ0 = ((α0 → ⊥) → β 0 ). Dann gilt ϕ0 ≡ ϕ,
und in ϕ0 kommen gemäß IV nur Atome, ⊥ und → vor.
Fall 4: ϕ = (α → β).
Sei ϕ0 = (α0 → β 0 ). Dann gilt ϕ0 ≡ ϕ (IV und Satz 1.7),
und in ϕ0 kommen gemäß IV nur Atome, ⊥ und → vor.
X
Satz 1.9 (Adäquate Mengen von Verknüpfungszeichen)
Für jede aussagenlogische Formel gibt es äquivalente Formeln, die nur
die folgenden Bestandteile haben.
1. Atome und die Verknüpfungszeichen ⊥ und →, oder
2. Atome und die Verknüpfungszeichen ¬ und ∧, oder
3. Atome und die Verknüpfungszeichen ¬ und ∨, oder
4. Atome und die Verknüpfungszeichen ¬ und →.
Anders ausgedrückt:
Eine Menge V von Verknüpfungszeichen heißt adäquat,
wenn es zu jeder Formel eine äquivalente Formel gibt, die nur
Verknüpfungszeichen aus V besitzt.
{⊥, →}, {¬, ∧}, {¬, ∨} und {¬, →} sind adäquat.
{∧} ist adäquat, wobei B α∧β gdw. B 6 α oder B 6 β.
Semantische Folgerung
Definition 1.10 (Semantische Folgerung)
Formel ϕ ist eine semantische Folgerung aus der Formelmenge Γ
wenn jede Belegung, die Γ erfüllt, ebenfalls ϕ erfüllt.
(D.h.: . . . wenn für jede Belegung B gilt: wenn B
Γ, dann B
(Γ
ϕ.)
Schreibweisen:
I Mengenklammern und Vereinigungszeichen lässt man gerne weg:
ϕ oder Γ, α
ϕ.
z.B. schreibt man α1 , . . . , αn
I Statt ∅
ϕ schreibt man
ϕ.
Lemma 1.11 (
verallgemeinert
Sei ϕ eine Formel. Dann gilt:
)
ϕ genau dann, wenn
ϕ.
ϕ),
Lemma 1.12 (Eigenschaften von Prämissen)
Die folgenden Aussagen sind äquivalent
für alle n ∈ N und i = 1, 2, . . . , n + 1.
1. α1 , . . . , αn
ϕ
2. α1 , . . . , αi−1
(αi → (αi+1 → . . . (αn → ϕ) . . .))
3. α1 , . . . , αi−1
(
n
V
αj ) → ϕ
j=i
Insbesondere gelten also folgende Äquivalenzen zu 1.–3. :
I
I
(α1 → (α2 → . . . (αn → ϕ) . . .))
n
V
(( αi ) → ϕ)
i=1
Zentrale algorithmische Fragen
Entscheidungsprobleme
I
Erfüllbarkeit (Satisfiability)
gegeben: Formel ϕ
gefragt: ist ϕ erfüllbar ?
I
Gültigkeit (Validity, Tautology)
gegeben: Formel ϕ
gefragt: ist ϕ gültig ?
I
Unerfüllbarkeit (Unsatisfiability)
gegeben: Formel ϕ
gefragt: ist ϕ unerfüllbar ?
1.1.21
Zentrale algorithmische Fragen
Entscheidungsprobleme
I
Folgerung (Consequence)
gegeben: endl. Formelmenge S, Formel ϕ
gefragt: gilt S
ϕ?
I
Äquivalenz (Equivalence)
gegeben: Formeln α und ϕ
gefragt: gilt α ≡ ϕ ?
I
Formelauswertung (Model checking)
gegeben: Formel ϕ und Belegung B
gefragt: ist B ϕ ?
1.1.22
Reduzierbarkeiten
Beziehungen zwischen den Fragen:
I Folgerung reduziert zu Gültigkeit:
ϕ gdw.
(α1 ∧ . . . ∧ αn ) → ϕ
α1 , . . . , α n
gdw. (α1 ∧ . . . ∧ αn ) → ϕ ist gültig
I
Gültigkeit reduziert zu Unerfüllbarkeit:
ϕ ist gültig gdw. ¬ϕ ist unerfüllbar
I
Unerfüllbarkeit reduziert zu Äquivalenz:
ϕ ist unerfüllbar gdw. ϕ ≡ ⊥
I
Äquivalenz reduziert zu Folgerung:
α ≡ ϕ gdw. α ϕ und ϕ α
Diese vier Probleme sind also “gleich schwierig”.
Ein Algorithmus für eines von ihnen liefert direkt
einen “gleichschnellen” Algorithmus für die anderen Probleme.
1.1.23
Komplexität der zentralen Fragen
Formelauswertung
NC1
P
P
PSPACE
Aussagenlogik
Intuitionistische Logik
Modallogik
Temporale Logik LTL
Erfüllbarkeit
NP
NP
PSPACE
PSPACE
Gültigkeit
coNP
PSPACE
PSPACE
PSPACE
NP
NC1
P
PSPACE
coNP
parallel
superschnell
polynomielle Zeit
polynomieller Platz
deterministisch nicht-determ.
langsam
schnell
1.1.24
1.2 Der aussagenlogische Tableau-Kalkül
1. Klassische Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Tableau-Beweise
Korrektheit
Vollständigkeit
Algorithmen
Frege-Kalkül
Natürliches Schließen
Vergleich von Beweis-Kalkülen
[Literatur:
Priest: An introduction to non-classical logic
Nerode, Shore: Logic for applications]
1.2 Der aussagenlogische Tableau-Kalkül
Ein Beweis-Kalkül liefert ein syntaktisches Verfahren zum Nachweis der
Gültigkeit von Formeln.
Die Beweise, die er liefert, sollen korrekt und vollständig sein.
I
korrekt: es können nur gültige Formeln bewiesen werden
I
vollständig: alle gültigen Formeln können bewiesen werden
Der Tableau-Kalkül ist ein einfacher Beweis-Kalkül, der auf der
Zerlegung von Formeln basiert. Wir werden
I
den Tableau-Kalkül definieren und
I
seine Korrektheit und Vollständigkeit beweisen.
1.2.2
Ein erstes Beispiel
(A ∨ B) ∧ (¬A ∨ ¬B)
Ein (semantisches) Tableau ist ein Baum,
dessen Knoten mit Formeln markiert sind.
Man beginnt mit einem Baum, der nur aus einer Wurzel besteht.
Die Knoten werden expandiert und die Markierungen dabei in ihre
Bestandteile zerlegt “bis auf die Literale”.
Die Expansion ist durch Expansionsregeln bestimmt.
Ein erstes Beispiel
(A ∨ B) ∧ (¬A ∨ ¬B)
Expansionsregeln für ∧ und ∨:
α∧β :
•
α
β
Ein (semantisches) Tableau ist ein Baum,
dessen Knoten mit Formeln markiert sind.
Man beginnt mit einem Baum, der nur aus einer Wurzel besteht.
Die Knoten werden expandiert und die Markierungen dabei in ihre
Bestandteile zerlegt “bis auf die Literale”.
Die Expansion ist durch Expansionsregeln bestimmt.
Ein erstes Beispiel
(A ∨ B) ∧ (¬A ∨ ¬B)
Expansionsregeln für ∧ und ∨:
A∨B
α∧β :
•
¬A ∨ ¬B
α
β
Ein (semantisches) Tableau ist ein Baum,
dessen Knoten mit Formeln markiert sind.
Man beginnt mit einem Baum, der nur aus einer Wurzel besteht.
Die Knoten werden expandiert und die Markierungen dabei in ihre
Bestandteile zerlegt “bis auf die Literale”.
Die Expansion ist durch Expansionsregeln bestimmt.
Ein erstes Beispiel
(A ∨ B) ∧ (¬A ∨ ¬B)
Expansionsregeln für ∧ und ∨:
A∨B
α∧β :
•
¬A ∨ ¬B
α
α∨β :
•
α
β
β
Ein (semantisches) Tableau ist ein Baum,
dessen Knoten mit Formeln markiert sind.
Man beginnt mit einem Baum, der nur aus einer Wurzel besteht.
Die Knoten werden expandiert und die Markierungen dabei in ihre
Bestandteile zerlegt “bis auf die Literale”.
Die Expansion ist durch Expansionsregeln bestimmt.
Ein erstes Beispiel
(A ∨ B) ∧ (¬A ∨ ¬B)
A
Expansionsregeln für ∧ und ∨:
A∨B
α∧β :
•
¬A ∨ ¬B
α
B
α∨β :
•
α
β
β
Ein (semantisches) Tableau ist ein Baum,
dessen Knoten mit Formeln markiert sind.
Man beginnt mit einem Baum, der nur aus einer Wurzel besteht.
Die Knoten werden expandiert und die Markierungen dabei in ihre
Bestandteile zerlegt “bis auf die Literale”.
Die Expansion ist durch Expansionsregeln bestimmt.
Ein erstes Beispiel
Expansionsregeln für ∧ und ∨:
(A ∨ B) ∧ (¬A ∨ ¬B)
A∨B
α∧β :
•
¬A ∨ ¬B
α
A
¬A
B
¬B
¬A
α∨β :
•
α
β
β
¬B
Ein (semantisches) Tableau ist ein Baum,
dessen Knoten mit Formeln markiert sind.
Man beginnt mit einem Baum, der nur aus einer Wurzel besteht.
Die Knoten werden expandiert und die Markierungen dabei in ihre
Bestandteile zerlegt “bis auf die Literale”.
Die Expansion ist durch Expansionsregeln bestimmt.
Ein erstes Beispiel
Expansionsregeln für ∧ und ∨:
(A ∨ B) ∧ (¬A ∨ ¬B)
A∨B
α∧β :
•
¬A ∨ ¬B
α
A
¬A
B
¬B
¬A
α∨β :
•
α
β
β
¬B
Wenn alle Knoten expandiert sind,
dann gibt es für jede erfüllende Belegung der Wurzel-Formel einen Pfad,
auf dem die Belegung alle Formeln erfüllt,
und jeder nicht-widersprüchliche Pfad bestimmt
erfüllende Belegungen der Wurzel-Formel.
Erfüllende Belegungen: {A} und {B}
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
¬(A ∧ (¬A ∨ B))
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
¬(A ∧ (¬A ∨ B))
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(A ∧ (¬A ∨ B))
¬A
¬(¬A ∨ B)
¬(α ∧ β) :
•
¬α
¬β
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
¬(A ∧ (¬A ∨ B))
¬A
¬(¬A ∨ B)
¬(α ∨ β) :
•
¬α
¬β
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
¬(α ∨ β) :
•
¬α
¬(A ∧ (¬A ∨ B))
¬A
¬(¬A ∨ B)
¬¬A
¬B
¬β
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
¬(A ∧ (¬A ∨ B))
¬A
¬(α ∨ β) :
•
¬¬β :
•
¬α
β
¬(¬A ∨ B)
¬¬A
¬B
¬β
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
¬(A ∧ (¬A ∨ B))
¬A
¬(α ∨ β) :
•
¬¬β :
•
¬α
β
¬β
¬(¬A ∨ B)
¬¬A
¬B
A
Erfüllende Belegungen: ∅, {A} und {B}
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
¬(A ∧ (¬A ∨ B))
¬A
¬(α ∨ β) :
•
¬¬β :
•
¬α
β
¬β
¬(¬A ∨ B)
¬¬A
¬B
A
Erfüllende Belegungen: ∅, {A} und {B}
Disjunktive Normalform: ¬A ∨ (A ∧ ¬B)
1.2.4
Ein zweites Beispiel
¬(A ∧ (¬A ∨ B)) wird expandiert zu
Expansionsregeln für ¬:
¬(α ∧ β) :
•
¬α
¬β
¬(A ∧ (¬A ∨ B))
¬A
¬(α ∨ β) :
•
¬¬β :
•
¬α
β
¬β
¬(¬A ∨ B)
¬¬A
¬B
A
Erfüllende Belegungen: ∅, {A} und {B}
Disjunktive Normalform: ¬A ∨ (A ∧ ¬B) ≡ ¬A ∨ ¬B
1.2.4
Die Expansionsregeln
Typ 1:
Typ 2:
α∧β :
•
¬(α ∨ β) :
•
¬(α → β) :
•
¬¬α :
•
α
¬α
α
α
β
¬β
¬β
¬(α ∧ β) :
•
¬α
¬β
α∨β :
•
α
α→β:
•
β
¬α
β
Expansion eines Knotens v mit Markierung ϕ in einem Tableau heißt:
für jeden Pfad, auf dem v vorkommt:
hänge die durch die Expansionsregel für ϕ bezeichneten Knoten
an das Ende des Pfades an.
In der Expansionsregel steht • für den letzten Knoten im Pfad.
Knoten mit Markier. ⊥, ¬⊥, >, ¬>, Ai und ¬Ai werden nicht expandiert.
1.2.5
Tableaux
Ein Tableau ist ein Baum, dessen Knoten mit Formeln markiert sind.
Er entsteht durch wiederholte Expansion von Knoten.
Definition 1.13 (Tableau)
Sei ϕ eine aussagenlogische Formel.
1. Ein Knoten, der mit ϕ markiert ist, ist ein Tableau für ϕ.
2. Sei v ein Knoten in einem Tableau für ϕ,
der expandiert werden kann.
Durch Expansion von v entsteht ein weiteres Tableau für ϕ.
1.2.6
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
¬A
A→C
B→C
A∨B
A∨B
¬C
¬C
C
×
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
¬A
A
×
A→C
B→C
A∨B
A∨B
¬C
¬C
C
×
B
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
¬A
A
×
A→C
B→C
A∨B
A∨B
¬C
¬C
C
×
¬B
C
×
B
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
¬A
A
×
A→C
B→C
A∨B
A∨B
¬C
¬C
¬B
C
×
B
A
C
×
B
×
1.2.7
Systematischer Aufbau eines Tableaus
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
¬A
A→C
B→C
A∨B
A∨B
¬C
¬C
¬B
C
×
A
B
×
Erfüllende Belegungen: {B} und {A}
A
C
×
B
×
1.2.7
Definition 1.14 (Eigenschaften von Pfaden und Tableaux)
Ein Pfad durch ein Tableau heißt widersprüchlich, wenn
er ⊥, ¬> oder zwei widersprüchliche Formeln α und ¬α enthält.
Ein Tableau heißt geschlossen,
wenn jeder Knoten auf allen nicht-widersprüchlichen Pfaden,
auf denen er liegt, expandiert wurde.
(Widersprüchliche Pfade müssen nicht weiter expandiert werden.)
Ein Tableau heißt widersprüchlich,
wenn alle Pfade durch das Tableau widersprüchlich sind.
Lemma 1.15 (endliche Tableaux reichen)
Für jede Formel α gibt es ein geschlossenes Tableau mit ≤ 2|α| Pfaden.
Beweis: Übungsaufgabe.
1.2.8
Definition 1.16 (Tableau-beweisbar)
Eine Formel α heißt Tableau-beweisbar (Schreibweise: Tab α),
falls ¬α ein widersprüchliches Tableau besitzt.
Beispiel:
Tab
(A → (B → A))
¬(A → (B → A))
A
¬(B → A)
B
¬A
×
1.2.9
Definition 1.16 (Tableau-beweisbar)
Eine Formel α heißt Tableau-beweisbar (Schreibweise: Tab α),
falls ¬α ein widersprüchliches Tableau besitzt.
Beispiel:
Tab
(((A → B) ∧ (B → C )) → (A → C ))
¬(((A → B) ∧ (B → C )) → (A → C ))
(A → B) ∧ (B → C )
¬(A → C )
A→B
B→C
A
¬C
¬A
×
B
¬B
×
C
×
1.2.9
Korrektheit und Vollständigkeit
Der Tableau-Kalkül unterteilt die Menge aller Formeln
in beweisbare und nicht-beweisbare Formeln.
Sind die Tableau-beweisbaren Formeln genau die gültigen Formeln?
Diese Frage besteht aus zwei Teilen:
1) Ist jede Tableau-beweisbare Formel gültig? (Korrektheit des TK)
2) Ist jede gültige Formel Tableau-beweisbar? (Vollständigkeit des TK)
Zur Beantwortung der Frage braucht man einen Zusammenhang
zwischen Tableaux und Belegungen.
Definition 1.17 (ein Erfüllungsbegriff für Pfade)
Sei A eine Belegung. Ein Pfad durch ein Tableau heißt A-treu,
wenn A jede Formel auf dem Pfad erfüllt.
1.2.10
Bsp: Ein Tableau mit einem {B}-treuen Pfad
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
Wir werden zwei Eigenschaften A-treuer Pfade beweisen:
1.) Wenn ein Tableau einen A-treuen Pfad hat,
dann behält es auch einen nach der Expansion eines Knotens.
1.2.11
Bsp: Ein Tableau mit einem {B}-treuen Pfad
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
Wir werden zwei Eigenschaften A-treuer Pfade beweisen:
2.) Wenn ein geschlossenes Tab. einen nicht-widersprüchlichen Pfad hat,
dann gibt es eine Belegung A, zu der er A-treu ist.
1.2.11
Zur Korrektheit . . .
Man betrachtet eine Belegung A, die die Wurzel eines Tableaus erfüllt,
und verfolgt die Entwicklung eines A-treuen Pfades beim Aufbau
des Tableaus.
Wenn auf einem A-treuen Pfad ein Knoten expandiert wird,
dann wird der A-treue Pfad verlängert.
Lemma 1.18 (Expansion erhält A-Treue)
Sei ϕ eine Formel mit B ϕ.
Dann besitzt jedes Tableau für ϕ einen B-treuen Pfad.
Beweis: mittels Induktion über den Aufbau eines Tableaus für ϕ.
1.2.12
IA: Das Tableau T ist ein mit ϕ markierter Knoten p1 .
Dann ist dieser Knoten der einzige Pfad durch T , und er ist B-treu.
IV: Ein bel. festes Tableau T für ϕ besitzt einen B-treuen Pfad.
IS: T 0 entsteht aus T durch Expansion eines Knotens.
Sei π = p1 , p2 , . . . , pk ein B-treuer Pfad durch das Tableau T .
Fall 1: T 0 entsteht aus T durch Expansion eines Knotens,
der nicht auf π liegt.
Dann ist π ein B-treuer Pfad durch T 0 .
Fall 2: T 0 entsteht aus T durch Expansion eines Knotens pi auf π.
Es werden alle möglichen Expansionen betrachtet.
1.2.13
Wir beginnen mit den Expansionen vom Typ 1.
Fall 2.1: pi = α ∧ β.
α∧β :
•
α
β
Dann ist π 0 = p1 , p2 , . . . , pk , α, β ein Pfad durch T 0 .
Laut Voraussetzung erfüllt B die Formeln p1 , . . . , pk .
Da B α ∧ β, folgt B α und B β (Semantik von ∧).
Also ist π 0 ein B-treuer Pfad durch T 0 .
Fall 2.2: pi = ¬(α ∨ β) – ähnlich wie Fall 2.1
Fall 2.3: pi = ¬(α → β) – ähnlich wie Fall 2.1.
Fall 2.4: pi = ¬¬α – ähnlich wie Fall 2.1.
1.2.14
Es folgen die Expansionen vom Typ 2.
Fall 2.5: pi = α ∨ β.
Dann sind π10 = p1 , p2 , . . . , pk , α und
π20 = p1 , p2 , . . . , pk , β Pfade durch T 0 .
α∨β :
Laut Voraussetzung erfüllt B die Formeln p1 , . . . , pk .
•
Da B α ∨ β, folgt B α oder B β (Semantik von ∨).
α
β
Also ist π10 ein B-treuer Pfad durch T 0
oder π20 ist ein B-treuer Pfad durch T 0 .
Fall 2.6: pi = ¬(α ∧ β) – ähnlich wie Fall 2.5.
Fall 2.7: pi = (α → β) – ähnlich wie Fall 2.5.
X
Lemma 1.19 (Korrektheit des Tableau-Kalküls)
Wenn
Tab
α, dann
α.
Beweis: wir zeigen die Kontraposition:
wenn α nicht gültig ist, dann ist α nicht Tableau-beweisbar,
d.h. wenn ¬α erfüllbar ist, dann ist α nicht Tableau-beweisbar.
Sei ¬α erfüllbar.
Dann gibt es eine Belegung B mit B ¬α.
Gemäß Lemma 1.18 hat jedes Tableau für ¬α einen B-treuen Pfad.
Kein B-treuer Pfad ist widersprüchlich.
Also besitzt jedes Tableau für ¬α einen nicht-widersprüchlichen Pfad.
Folglich gibt es kein widersprüchliches Tableau für ¬α.
D.h. α ist nicht Tableau-beweisbar.
X
1.2.16
Zur Vollständigkeit . . .
Man betrachtet die Belegung A,
die die Atome auf einem nicht-widersprüchlichen Pfad π bilden,
und zeigt, dass der Pfad π A-treu ist.
Lemma 1.20 (Pfad bestimmt Belegung)
Sei T ein Tableau und π ein nicht-widersprüchlicher Pfad durch T ,
auf dem jeder Knoten expandiert ist.
Dann gibt es eine Belegung A, so dass π A-treu ist.
Beweis:
Sei π = p1 , p2 , . . . , pm ein solcher Pfad (wir fassen die pi als Formeln auf).
Sei Aπ die Belegung, die genau aus den Atomen auf dem Pfad besteht.
Wir zeigen induktiv, dass Aπ pi für i = m, m − 1, . . . , 1.
IA: zu zeigen: Aπ
pm .
Da (1) pm = Ai mit Ai ∈ Aπ ,
oder (2) pm = ¬Ai mit Ai 6∈ Aπ
oder (3) pm = > oder pm = ¬⊥,
folgt Aπ pm .
IV: Aπ
pj , Aπ
pj+1 , . . . , Aπ
(da π nicht widersprüchlich ist)
pm (für ein bel. festes j > 1)
1.2.18
IS: zu zeigen: Aπ pj−1 .
Es muss nachgeschaut werden, wie pj−1 aussieht.
Fall 1: pj−1 ist ein Literal oder pj−1 = > oder pj−1 = ¬⊥.
Dann gilt Aπ pj−1 wie bereits im IA gezeigt.
Fall 2: pj−1 = α ∧ β.
α∧β :
Da jeder Knoten auf π expandiert ist,
•
gibt es i ≥ j mit pi = α und pi+1 = β.
α
Da Aπ α und Aπ β (gemäß IV),
folgt Aπ α ∧ β (gemäß der Semantik von ∧).
β
Fall 6: pj−1 = ¬(α ∧ β).
Dann gibt es i ≥ j mit pi = ¬α oder pi = ¬β.
¬(α ∧ β) :
Da Aπ pi (IV), folgt Aπ ¬α ∨ ¬β (Semantik von ∨),
•
und mit ¬α ∨ ¬β ≡ ¬(α ∧ β)
¬α
¬β erhalten wir Aπ ¬(α ∧ β).
Die übrigen Fälle gehen entsprechend.
X
1.2.19
Lemma 1.21 (Vollständigkeit des Tableau-Kalküls)
Wenn
α, dann
Tab
α.
Beweis: Wir zeigen die Kontraposition.
Sei α nicht Tableau-beweisbar.
Dann gibt es für ¬α ein geschlossenes Tableau T¬α (Lemma 1.15),
das nicht widersprüchlich ist.
Also gibt es einen nicht-widersprüchlichen Pfad π durch T¬α ,
auf dem jeder Knoten expandiert ist.
Nach Lemma 1.20 gibt es eine Belegung, die jede Formel auf π erfüllt.
Da ¬α am Anfang von π steht, ist ¬α erfüllbar.
D.h. α ist nicht gültig.
X
1.2.20
Vollständigkeitssatz für den Tableau-Kalkül
Satz 1.22 (Vollständigkeitssatz für den Tableau-Kalkül)
Sei α eine aussagenlogische Formel.
α ist gültig genau dann, wenn α Tableau-beweisbar ist,
d.h.
α genau dann, wenn Tab α.
Beweis: folgt aus Lemmas 1.19 und 1.21.
I
“Gültigkeit” ist über Belegungen definiert: semantisch.
I
“Tableau-Beweisbarkeit” ist über Formeln definiert: syntaktisch.
1.3 Algorithmen aus dem Tableau-Kalkül
Aus dem Beweis des Vollständigkeitssatzes für den aussagenlogischen
Tableau-Kalkül ergibt sich:
Folgerung 1.23
Sei α eine aussagenlogische Formel.
α ist erfüllbar genau dann, wenn es ein geschlossenes Tableau für α
gibt, das einen nicht-widersprüchlichen Pfad hat.
Wir betrachten im Folgenden Erfüllbarkeitstests.
Erinnerung: α ist erfüllbar gdw. ¬α ist nicht gültig.
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
{A → C , A ∨ B, ¬C }
¬A
A
×
¬C
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
B→C
A∨B
{A → C , A ∨ B, ¬C }
¬A
A
×
¬C
¬B
C
×
B
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
B→C
A∨B
{A → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
A
×
B
¬C
¬B
C
×
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
B→C
A∨B
¬C
{¬A, A ∨ B, ¬C }
A
×
B
¬B
C
×
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
B→C
A∨B
¬C
{¬A, A ∨ B, ¬C }
A
×
{¬A, B, ¬C }
¬B
C
×
A
C
×
B
×
1.3.23
Algorithmische Umsetzung des Tableau-Aufbaus
Pfade werden durch Mengen von Formeln, die auf ihnen noch nicht expandiert
wurden, dargestellt.
B→C
A∨B
¬C
¬B
C
×
A
×
{¬A, B, ¬C }
A
C
×
B
×
1.3.23
Typen von Tableau-Knoten
In Tableaux für Aussagenlogik gibt es zwei Typen von Regeln.
Typ 1: Markierung α ∧ β, ¬(α ∨ β), ¬(α → β), ¬¬α:
es werden Knoten mit allen Zerlegungsformeln
angehängt
•
α
α ∧ β hat Zerlegungsformeln α und β,
β
¬(α ∨ β) hat Zerlegungsformeln ¬α und ¬β etc.
•
α
β
Typ 2: Markierung α ∨ β, α → β, ¬(α ∧ β):
es wird zu zwei Knoten mit jeweils einer
Zerlegungsformel verzweigt
Algorithmische Umsetzung
Wenn man Pfade durch Mengen zu zerlegender Formeln ausdrückt,
dann hat ein Expansionsschritt folgende Wirkung:
I
für eine Formel vom Typ 1 (α ∧ β, ¬(α ∨ β), ¬(α → β), ¬¬α):
ersetze sie durch alle ihre Zerlegungsformeln;
z.B wenn α ∧ β ∈ S, dann wird S := (S − {α ∧ β}) ∪ {α, β}
I
für eine Formel vom Typ 2 (α ∨ β, α → β, ¬(α ∧ β)):
ersetze sie nichtdeterministisch nur durch eine ihrer
Zerlegungsformeln;
z.B. wenn α ∨ β ∈ S, dann entscheide nichtdeterministisch,
ob mit S := (S − {α ∨ β}) ∪ {α}
oder mit S := (S − {α ∨ β}) ∪ {β} weitergemacht wird.
. . . aus Verzweigung im Tableau wird Nichtdeterminismus . . .
1.3.25
Methode zum Bestimmen der
Zerlegungsformeln
Methodenaufruf zerlege(ϕ,i) ergibt die i-te Zerlegungsformel von ϕ.
Methode zerlege (Formel ϕ, Index i)
falls i = 1 dann
(∗ bestimme die erste Zerlegungsformel ∗)
falls ϕ ∈ {α ∧ β, α ∨ β, ¬(α → β), ¬¬α} dann return α
falls ϕ ∈ {¬(α ∧ β), ¬(α ∨ β), α → β} dann return ¬α
sonst
(∗ bestimme die zweite Zerlegungsformel ∗)
falls ϕ ∈ {α ∧ β, α ∨ β, α → β} dann return β
falls ϕ ∈ {¬(α ∧ β), ¬(α ∨ β), ¬(α → β)} dann return ¬β
Erfüllbarkeitstest gemäß Tableau-Kalkül
für aussagenlogische Formeln als nichtdeterministischer Algorithmus
Eingabe ϕ
S := {ϕ}
(∗ ϕ ist eine aussagenlogische Formel ∗)
solange S eine Formel vom Typ 1 oder 2 enthält
und nicht widersprüchlich ist wiederhole
{
falls S eine Formel ψ vom Typ 1 enthält dann
(∗ ersetze ψ durch alle ihre Zerlegungsformeln ∗)
S := (S − ψ) ∪ {zerlege(ψ, 1), zerlege(ψ, 2)}
sonst sei ψ eine Formel vom Typ 2 in S
(∗ ersetze ψ durch eine ihrer Zerlegungsformel, die nichtdeterministisch gewählt wurde ∗)
wähle nichtdeterministisch b ∈ {1, 2}
S := (S − ψ) ∪ {zerlege(ψ, b)}
}
(∗ S ist widersprüchlich oder enthält nur noch Literale ∗)
falls S nicht widersprüchlich ist
dann akzeptiere
sonst verwirf
(∗ S ist erfüllende Belegung von ϕ ∗)
Grobe Analyse des Tableau-Algorithmus
für Aussagenlogik
Der Algorithmus simuliert das Tableau-Verfahren.
Jeder (nichtdeterministische) Berechnungspfad
entspricht einem Pfad durch das Tableau.
Die Menge S enthält stets die Knoten-Markierungen auf dem Pfad,
die noch nicht zerlegt wurden.
Da jede Formel der Länge n höchstens 2n Teilformeln besitzt,
läuft der nichtdeterministische Algorithmus in polynomieller Zeit.
Aufgrund der Korrektheit und Vollständigkeit des Tableau-Kalküls
zeigt der Algorithmus,
dass das Erfüllbarkeitsproblem der Aussagenlogik in NP ist.
Entspechend ist das Gültigkeitsproblem der Aussagenlogik in coNP.
1.3.28
Jedes Tableau bestimmt einen Formelmengenbaum
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
{A → C , A ∨ B, ¬C }
{B → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{C , A ∨ B, ¬C } {¬B, A ∨ B, ¬C } {C , A ∨ B, ¬C }
×
×
{¬A, A, ¬C } {¬A, B, ¬C }
{¬B, A, ¬C } {¬B, B, ¬C }
×
×
Jede Menge repräsentiert einen Präfix eines Pfades durch das Tableau.
1.3.29
Erfüllbarkeitstest gemäß Tableau-Kalkül
für aussagenlogische Formeln als rekursive Methode
mittels Tiefensuche durch den Formelmengenbaum
Methode suche(Formelmenge S) {
falls S widersprüchlich ist dann return 0
falls S eine Formel ψ vom Typ 1 enthält
(∗ S ist widersprüchlich ∗)
(∗ ersetze ψ durch alle ihre Zerlegungsformeln ∗)
return suche((S − ψ) ∪ {zerlege(ψ, 1), zerlege(ψ, 2)})
sonst: falls S eine Formel ψ vom Typ 2 enthält
(∗ ersetze ψ durch eine ihrer Zerlegungsformel, die nichtdet. gewählt wurde ∗)
return max suche((S − ψ) ∪ {zerlege(ψ, b)})
b∈{1,2}
sonst: (∗ S ist nicht widersprüchlich und enthält nur noch Literale ∗)
return 1
(∗ S ist erfüllende Belegung von ϕ ∗)
}
Hauptprogramm
(liefert Ergebnis 1, falls ϕ erfüllbar ist, und Erg. 0 sonst)
Eingabe Formel ϕ
Ausgabe suche({ϕ})
1.3.30
1.4 Ein klassischer Beweis-Kalkül:
der Frege-Kalkül
1. Klassische Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Algorithmen
Frege-Kalkül
Axiome, Regeln und Beweise
Das Deduktionstheorem
Korrektheit
Vollständigkeit
Ähnliche Theorien
Natürliches Schließen
Vergleich von Beweis-Kalkülen
[Literatur: Mendelson: Introduction to Mathematical Logic]
1.4.1
Gottlob Frege (1848-1925) war Professor in Jena und gilt als
Gründungsvater der formalen Logik.
Der (nach ihm benannte) Frege-Kalkül ist ein Beweis-Kalkül, der auf
dem strukturellen Aufbau von Formeln basiert. Wir werden
I
den Frege-Kalkül definieren und
I
seine Korrektheit und Vollständigkeit beweisen.
1.4.2
Ein Frege-Kalkül
Definition 1.24 (Herleitbarkeit von Formeln im Frege-Kalkül)
Der Frege-Kalkül dient zur Herleitung von Formeln aus Axiomen.
1. Die Elemente des Frege-Kalküls sind
die aussagenlogischen Formeln aus Atomen, ⊥ und →
(¬α ist abkürzende Schreibweise für α → ⊥; > ist Abkürzung für ¬⊥).
2. Die Axiome Ax des Frege-Kalküls sind für alle Formeln α, β, ϕ:
(A1) α → (β → α)
(A2) (α → (β → ϕ)) → ((α → β) → (α → ϕ))
(A3) ((¬β) → (¬α)) → (((¬β) → α) → β)
3. Die einzige Schlussregel des Frege-Kalküls ist modus ponens (MP):
aus α und α → β kann man in einem Schritt β herleiten.
α
α→β
Das wird auch beschrieben durch
.
β
(Fortsetzung von Definition 1.24)
4. Eine Herleitung einer Formel α im Frege-Kalkül ist eine Folge
α1 , α2 , . . . , α` von Formeln, an deren Ende α(= α` ) steht und
deren Elemente folgende Eigenschaften haben (für i = 1, 2, . . . , `):
I
I
αi ist ein Axiom, oder
es gibt αa , αb mit a, b < i, aus denen αi in einem Schritt mit
modus ponens hergeleitet werden kann
(d.h. es gibt a, b < i mit αb = αa → αi ).
(Statt Herleitung verwendet man gerne auch Beweis.)
5. Formel α ist ein Theorem des Frege-Kalküls (Schreibweise:
wenn es eine Herleitung von α im Frege-Kalkül gibt.
Fre
α),
Ein Beweis für B → B im Frege-Kalkül
α1 =
B → ( (B → B) → B )
Axiom (A1)
α2 = ( B → ( (B → B) → B )) → (( B → (B → B) ) → ( B → B ))
Axiom (A2)
α3 = (B → (B → B)) → (B → B) MP mit α1 und α2
α4 =
B →(B → B )
α5 = B → B
Axiom (A1)
MP mit α4 und α3
Nimmt man statt B eine beliebige Formel β,
dann hat man einen Beweis für β → β für alle β.
Also: für alle Formeln β gilt: Fre β → β.
1.4.5
Lemma 1.25
Fre
β→β
für jede Formel β.
Beweis:
Wir zeigen, dass β → β im Frege-Kalkül herleitbar ist.
(1)
(2)
(3)
(4)
(5)
β → ((β → β) → β)
(A1)
(β → ((β → β) → β)) → ((β → (β → β)) → (β → β)) (A2)
(β → (β → β)) → (β → β) MP (1), (2)
β → (β → β)
(A1)
β→β
MP (4), (3)
X
1.4.6
Definition 1.26 (Verallgemeinerung des Herleitungsbegriffs)
Sei Γ eine Menge von Formeln.
Γ Fre α bedeutet “α ist im Frege-Kalkül beweisbar, wenn Formeln
aus Γ wie Axiome benutzt werden können”
Lemma 1.27 (TRANS)
{α → β, β → γ}
Fre
α→γ
für alle Formeln α, β, γ.
Beweis:
(1) β → γ
(2) (β → γ) → (α → (β → γ))
(3) α → (β → γ)
(4) (α → (β → γ)) → ((α → β) → (α → γ))
(5) (α → β) → (α → γ)
(6) α → β
(7) α → γ
Hypothese
(A1)
MP (1), (2)
(A2)
MP (3), (4)
Hypothese
MP (6), (5)
X
1.4.7
Werkzeuge zum Vereinfachen von Beweisen
Satz 1.28 (Deduktionstheorem (DT))
Sei Γ eine Menge von Formeln, α und β seien Formeln.
Dann gilt: Γ ∪ {α} Fre β genau dann, wenn Γ Fre α → β.
Beweis:
⇐: Sei Γ Fre α → β.
Dann gibt es folgenden Beweis mit Hypothesen aus Γ ∪ {α}.
)
(1)
...
..
..
hier steht der Beweis für Γ Fre α → β
.
.
(k)
α→β
(k + 1) α
Hypothese
(k + 2) β
MP (k + 1), (k)
Damit folgt Γ ∪ {α}
Fre
β.
⇒: Wir führen einen Induktionsbeweis über die Länge `
eines Beweises α1 , . . . , α` von β aus Γ ∪ {α}.
IA ` = 1: dann ist β ∈ Ax ∪ Γ ∪ {α}.
Zu zeigen ist nun: Γ
Fre
α → β.
Fall 1: β ∈ Ax ∪ Γ: (1) β
Hyp. aus Γ oder Axiom
(2) β → (α → β) (A1)
(3) α → β
MP (1),(2)
Also folgt Γ Fre α → β.
Fall 2: β = α: es gilt Fre β → β für jede Formel β (Lemma 1.25).
Also gilt auch Γ Fre β → β, d.h. hier Γ Fre α → β.
Das sind alle Möglichkeiten für β, und stets folgt Γ
Fre
α → β.
1.4.9
IV: Sei β eine Formel.
Wenn Γ ∪ {α} Fre β mittels einem Beweis aus ` ≤ k Schritten,
dann folgt Γ Fre α → β.
IS ` = k + 1: α1 , . . . , αk+1 sei Beweis von β
Zu zeigen ist: es gilt Γ
Fre
(= αk+1 )
aus Γ ∪ {α}.
α → β.
Fall 1: β ∈ Ax ∪ Γ ∪ {α}. Dann folgt Γ
Fre
α → β wie im IA.
1.4.10
Fall 2: β entsteht mit MP aus αi und αj (i, j ≤ k).
Dann ist αj = αi → β.
Nach IV gilt Γ Fre α → (αi → β) und Γ
Folgender Beweis zeigt Γ Fre α → β.
(1)
..
.
(s)
(s + 1)
..
.
(m)
...
..
.
α → αi
α → αi .
)
Beweis für
Γ Fre α → (αi → β) gemäß IV
)
Beweis für
Γ Fre α → αi gemäß IV
α → (αi → β)
...
..
.
Fre
(m + 1) (α → (αi → β)) → ((α → αi ) → (α → β)) (A2)
(m + 2) (α → αi ) → (α → β) MP (s), (m + 1)
(m + 3) α → β
MP (m), (m + 2)
X
1.4.11
Bsp.: Anwendung des Deduktionstheorems
zur Vereinfachung von Beweisen
Lemma 1.29 (ex falso quod libet)
Fre
¬α → (α → β)
für alle Formeln α und β.
Beweis:
(1) α
(2) α → (¬β → α)
(3) ¬β → α
(4) ¬α
(5) ¬α → (¬β → ¬α)
(6) ¬β → ¬α
(7) (¬β → ¬α) → ((¬β → α) → β)
(8) (¬β → α) → β
(9) β
(10) α → β
(11) ¬α → (α → β)
Hyp
(A1)
MP (1),(2)
Hyp
(A1)
MP (4),(5)
(A3)
MP (6),(7)
MP (3),(8) (Nun ist {α, ¬α} Fre β bewiesen.)
DT (1),(9) (Nun ist {¬α} Fre α → β bew.)
DT (4),(10) (Nun ist Fre ¬α → (α → β) bew.)
X
1.4.12
Vereinfachte Schreibweise für Hypothesenmengen:
Mengenklammern und ∪ weglassen . . .
Lemma 1.30 (MID)
α → (β → γ), β
Fre
α→γ
für alle Formeln α, β, γ.
Beweis:
(1)
(2)
(3)
(4)
α → (β → γ)
β→γ
γ
α→γ
Hyp
DT (1)
DT (2)
DT (3)
(Nun ist α → (β → γ)
Fre
α → (β → γ) bewiesen.)
(Nun ist α → (β → γ), α
Fre
β → γ bewiesen.)
(Nun ist α → (β → γ), α, β
(Nun ist α → (β → γ), β
Fre
Fre
γ bewiesen.)
α → γ bewiesen.)
X
1.4.13
Bewiesene Formeln (Theoreme) können in Beweisen benutzt werden.
Mit Hypothesen bewiesene Formeln können wie Regeln benutzt werden.
Lemma 1.30
α → (β → γ), β
Fre
α→γ
kann als Regel MID
α → (β → γ)
α→γ
β
benutzt werden.
Lemma 1.31
Fre
¬¬β → β
für alle Formeln β.
Beweis:
(1) (¬β → ¬¬β) → ((¬β → ¬β) → β)
(2) ¬β → ¬β
(3) (¬β → ¬¬β) → β
(4) ¬¬β → (¬β → ¬¬β)
(5) ¬¬β → β
(A3)
Lemma 1.25
Lemma 1.30 MID (1),(2)
(A1)
Lemma 1.27 TRANS (4), (3)
1.4.14
Folgerung 1.32
Fre
⊥→α
für alle Formeln α.
Beweis:
(1) (⊥ → ⊥) → (⊥ → α) Lemma 1.29
(2) ⊥ → ⊥
Lemma 1.25
(3) ⊥ → α
MP (2),(1)
1.4.15
Lemma 1.33 (Verallgemeinerung von TRANS)
Für k ≥ 1 und alle Formeln α1 , . . . , αk , β, γ gilt
α1 → (α2 → (. . . → (αk → β) . . .)), β → γ Fre α1 → (α2 → (. . . → (αk → γ). . .)).
Beweis mittels Induktion über k.
IA k = 1: für k = 1 ist die Behauptung gleich TRANS (Lemma 1.27).
IV: die Behauptung gilt für k.
=:ψ
z
}|
{
IS: zu zeigen: α1 → (α2 → (. . . → (αk+1 → β) . . .)), β → γ Fre
α1 → (α2 → (. . . → (αk+1 → γ) . . .))
(1)
(2)
(3)
(4)
(5)
ψ, β → γ
ψ, β → γ
ψ, β → γ, α1
ψ, β → γ, α1
ψ, β → γ
Fre
Fre
Fre
Fre
Fre
β →γ
α1 → (α2 → (. . . → (αk+1 → β) . . .))
α2 → (. . . → (αk+1 → β) . . .)
α2 → (. . . → (αk+1 → γ) . . .)
α1 → (α2 → (. . . → (αk+1 → γ) . . .))
Hyp
Hyp
DT
IV (3),(1)
DT
X
“Wichtige” Theoreme von Fre
Satz 1.34
Für alle Formeln α, β, γ gilt:
1.
Fre
α→α
(Lemma 1.25)
2.
Fre
¬¬α → α
(Lemma 1.31)
3.
Fre
α → ¬¬α
4.
Fre
¬α → (α → β)
5.
Fre
(¬β → ¬α) → (α → β)
6.
Fre
(α → β) → (¬β → ¬α)
7.
Fre
α → (¬β → (¬(α → β)))
8.
Fre
(α → β) → ((¬α → β) → β)
(Lemma 1.29)
(3)
(1)
(2)
(3)
(4)
(5)
Fre
α → ¬¬α
(¬¬¬α → ¬α) → ((¬¬¬α → α) → ¬¬α) (A3)
¬¬¬α → ¬α
Satz 1.34(2)
(¬¬¬α → α) → ¬¬α
MP (1),(2)
α → (¬¬¬α → α)
(A1)
α → ¬¬α
TRANS (4),(3)
1.4.18
(5)
(1)
(2)
(3)
(4)
(5)
(6)
Fre
(¬β → ¬α) → (α → β)
¬β → ¬α
(¬β → ¬α) → ((¬β → α) → β)
(¬β → α) → β
α → (¬β → α)
α→β
(¬β → ¬α) → (α → β)
Hyp
(A3)
MP (1),(2)
(A1)
TRANS (4),(3)
DT Hyp (1),(5)
(6)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Fre
(α → β) → (¬β → ¬α)
α→β
¬¬α → α
¬¬α → β
β → ¬¬β
¬¬α → ¬¬β
(¬¬α → ¬¬β) → (¬β → ¬α)
¬β → ¬α
(α → β) → (¬β → ¬α)
Hyp
Satz 1.34(2)
TRANS (2),(1)
Satz 1.34(3)
TRANS (3),(4)
Satz 1.34(5)
MP (5),(6)
DT Hyp (1), (7)
1.4.20
(7)
Fre
(i) α, α → β
α → (¬β → ¬(α → β))
Fre
β
gilt offensichtlich
(ii)
Fre
α → ((α → β) → β)
(iii)
Fre
((α → β) → β) → (¬β → ¬(α → β))
(iv)
Fre
α → (¬β → ¬(α → β))
folgt aus (i) mit DT (2mal)
Satz 1.34(6)
folgt aus (ii) und (iii) mit TRANS
1.4.21
(8)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
Fre
(α → β) → ((¬α → β) → β)
α→β
¬α → β
(α → β) → (¬β → ¬α)
¬β → ¬α
(¬α → β) → (¬β → ¬¬α)
¬β → ¬¬α
(¬β → ¬¬α) → ((¬β → ¬α) → β)
(¬β → ¬α) → β
β
(¬α → β) → β
(α → β) → ((¬α → β) → β)
Hyp
Hyp
Satz 1.34(6)
MP (1),(3)
Satz 1.34(6)
MP (2),(5)
(A3)
MP (6),(7)
MP (4),(7)
DT Hyp (2), (9)
DT Hyp (1), (10)
1.4.22
Gottlob Frege (1848-1925)
Grundgesetze der Arithmetik (1893, 1902)
Gottlob Frege (1848-1925)
Grundgesetze der Arithmetik (1893, 1902)
Auf dem Weg zum Korrektheitslemma
Lemma 1.35 (Alle Axiome des Frege-Kalküls sind gültig)
Für alle Formeln α, β und ϕ gilt
1. α → (β → α) ist gültig,
2. (α → (β → ϕ)) → ((α → β) → (α → ϕ)) ist gültig und
3. (¬β → ¬α) → ((¬β → α) → β) ist gültig.
Beweis: Sei A eine Belegung. Wir zeigen A γ für jedes Axiom γ.
zu (A1): Es gilt
A α → (β → α) ⇔ A 6 α oder A β → α
⇔ A 6 α oder A 6 β oder A α
Da A 6 α oder A
α, folgt A
α → (β → α).
zu (A2): Es gilt
A (α → (β → ϕ)) → ((α → β) → (α → ϕ))
⇔ A 6 α → (β → ϕ) oder A 6 α → β oder A 6 α oder A ϕ
⇔ A 6 α oder A ϕ oder (A α und A β und A 6 ϕ)
oder (A α und A 6 β)
Da jede Kombination von Erfüllungen von α, β und ϕ diesen Ausdruck
erfüllt, folgt A (α → (β → ϕ)) → ((α → β) → (α → ϕ)).
zu (A3): Es gilt
A
(¬β → ¬α) → ((¬β → α) → β)
⇔ A 6 ¬β → ¬α oder A 6 ¬β → α oder A β
⇔ [A ¬β und (A 6 α oder A 6 ¬α)] oder A β
⇔ [A 6 β und (A 6 α oder A α)] oder A β (∗)
Offensichtlich ist die letzte Aussage (∗) gültig. Folglich gilt die äquivalente
Aussage A (¬β → ¬α) → ((¬β → α) → β).
Da A beliebig gewählt wurde,
folgt A γ für jede Belegung A und jedes Axiom γ.
X
1.4.25
Lemma 1.36 (Korrektheit von
Fre
)
Sei α eine Formel. Aus Fre α folgt
α.
D.h. jedes Theorem von Fre ist eine gültige Formel.
Beweis: Induktion über die Länge ` des Beweises von α.
IA ` = 1: dann ist α ein Axiom.
Da jedes Axiom gültig ist (Lemma 1.35), folgt α.
IV: die Behauptung gilt für Formeln mit Beweisen der Länge ` ≤ k.
IS ` = k + 1: falls α ein Axiom ist, dann ist α gültig (Lemma 1.35).
Sonst entsteht α mit MP aus αi und αj = αi → α (mit i, j ≤ k).
αi und
αi → α.
Nach IV gilt
Dann muss auch
α gelten (das hatten wir mal als Übungsaufgabe).
X
Lemma 1.37 (Verallgemeinerung der Korrektheit von
Sei α eine Formel und Γ eine Formelmenge. Aus Γ
Der Beweis geht entsprechend dem von Lemma 1.36.
Fre
Fre
)
α folgt Γ
α.
Der Weg zum Vollständigkeitslemma . . .
I
I
Wir wollen Lemma 1.50 zeigen:
wenn α (“α ist gültig”), dann
Fre
α (“α ist beweisbar”).
Dazu zeigen wir “wenn Fre
6 α, dann 6 α” wie folgt:
6
Fre
1.42
α ⇒
{¬α} Fre
6 ⊥, d.h. {¬α} ist konsistent
1.46
⇒ es gibt eine Menge Γ∗ ⊇ {¬α}, die
maximal bezgl. Konsistenz ist und aus negierten und
nicht-negierten Teilformeln von α besteht
{z
|
α-maximal konsistent
}
1.49
⇒ es gibt eine erfüllende Belegung für dieses Γ∗ ⊇ {¬α}
⇒ es gibt eine erfüllende Belegung für {¬α}
⇒ 6 α
1.4.27
Konsistente Formelmengen
Definition 1.38 (konsistente Formelmenge)
Eine Formelmenge Γ heißt konsistent, falls Γ Fre
6 ⊥.
Beispiel 1.39
Die leere Formelmenge ∅ ist konsistent (d.h. Fre
6 ⊥).
Bew.: Aus ∅ 6
⊥ folgt ∅ Fre
6 ⊥ (Korrektheitslemma 1.36).
X
Beispiel 1.40
Wenn Ai , ¬Ai ∈ Γ (für ein i), dann ist Γ nicht konsistent (d.h. Γ
Also ist die Menge aller Formeln nicht konsistent.
Bew.: sei Ai , ¬Ai ∈ Γ.
Dann gilt Γ Fre Ai und Γ
Mit MP folgt Γ Fre ⊥.
Fre
¬Ai , d.h. Γ
Fre
Fre
⊥).
Ai → ⊥.
X
1.4.28
Eigenschaften nicht-konsistenter Mengen
Beispiel 1.41
Sei Γ nicht konsistent. Dann gilt
1. Γ
Fre
α für alle Formeln α, und
2. Γ ist unerfüllbar – d.h. A 6 Γ für alle Belegungen A.
Beweis:
1.) Es gilt Fre (⊥ → ⊥) → (⊥ → α) (Satz 1.34(4)),
und mit Fre ⊥ → ⊥ (Lemma 1.25) und MP folgt
Mit Γ Fre ⊥ folgt Γ Fre α.
Fre
⊥ → α.
2.) Aus Γ Fre ⊥ folgt Γ ⊥ (Korrektheitslemma 1.37).
Da A 6 ⊥ für jede Belegung A, folgt A 6 Γ für jedes A.
X
Schritt 1: aus
6
Fre
α folgt {¬α} Fre
6 ⊥
Lemma 1.42 (Nicht-Herleitbarkeit und Konsistenz)
Sei α eine Formel.
Wenn Fre
6 α , dann ist {¬α} konsistent.
Beweis: wir zeigen die Kontraposition:
wenn {¬α}
Aus {¬α}
und mit
Fre
Fre
Fre
⊥
(d.h. {¬α} ist nicht konsistent),
⊥ folgt
Fre
¬¬α
dann
Fre
α.
(DT 1.28),
¬¬α → α (Satz 1.34(2)) und MP folgt
Fre
α.
X
1.4.30
Schritt 2: Maximal konsistente Mengen
Definition 1.43 (maximal konsistente Mengen)
Eine konsistente Menge Γ heißt maximal konsistent,
wenn keine echte Obermenge von Γ konsistent ist.
Definition 1.44 (Teilformeln und deren Negationen)
Tf(α) ist die Menge aller Teilformeln der Formel α.
Tfn(α) = Tf(α) ∪ {¬β | β ∈ Tf(α)}
ist die Menge aller Teilformeln von α und deren Negationen.
Definition 1.45 (maximale Konsistenz relativ zu einer Formel)
Sei α eine Formel.
Eine konsistente Menge Γ ⊆ Tfn(α) heißt α-maximal konsistent,
wenn keine Menge A mit Γ ( A ⊆ Tfn(α) konsistent ist.
Lemma 1.46 (Konsistente Mengen können maximiert werden)
Sei α eine Formel.
Jede konsistente Teilmenge von Tfn(α) besitzt eine α-maximal
konsistente Obermenge.
Beweis: Sei Γ ⊆ Tfn(α) eine konsistente Formelmenge.
Sei ϕ1 , ϕ2 , ϕ3 , . . . , ϕm eine Aufzählung aller Formeln in Tfn(α).
Definiere Γ0 , Γ1 , . . . , Γm wie folgt.
Γ0 := Γ
(
Γi ∪ {ϕi+1 },
Γi+1 :=
Γi ,
falls Γi ∪ {ϕi+1 } konsistent ist
sonst
Wir zeigen nun, dass Γm α-maximal konsistente Obermenge von Γ ist.
1.) Für i = 0, 1, 2, . . . , m gilt:
Γi ist konsistente Obermenge von Γ und Γi ⊆ Tfn(α).
Das folgt (induktiv) direkt aus der Definition von Γi .
2.) Γm ist α-maximal konsistent:
Zu zeigen: für jedes ϕr ∈ Tfn(α) − Γm ist Γm ∪ {ϕr } nicht konsistent.
Sei ϕr eine Formel in Tfn(α) − Γm .
Dann ist Γr −1 ∪ {ϕr } nicht konsistent,
und folglich ist auch Γm ∪ {ϕr } nicht konsistent.
X
1.4.33
Schöne Eigenschaften maximal konsistenter Mengen
Lemma 1.47 (Abgeschlossenheit unter Herleitbarkeit)
Sei α eine Formel, β ∈ Tfn(α) und Γ eine Formelmenge.
Wenn Γ α-maximal konsistent ist und Γ Fre β, dann β ∈ Γ.
Beweis:
Wir zeigen die äquivalente Aussage:
wenn Γ Fre β und β 6∈ Γ, dann ist Γ nicht konsistent.
Sei Γ
Fre
β und β 6∈ Γ.
Aus β 6∈ Γ folgt Γ ∪ {β} Fre ⊥
und damit Γ Fre ¬β (DT 1.28).
Mit Γ
Fre
β folgt Γ
Fre
(da Γ α-maximal konsistent und β ∈ Tfn(α) ist)
⊥, d.h. Γ ist nicht konsistent.
X
1.4.34
Schöne Eigenschaften maximal konsistenter Mengen
Lemma 1.48
Sei Γ α-maximal konsistent und (β → γ) ∈ Tfn(α).
Dann gilt (β → γ) ∈ Γ genau dann, wenn β 6∈ Γ oder γ ∈ Γ.
(⇐):
(1) Sei γ ∈ Γ. Dann folgt Γ Fre γ.
Mit Axiom (A1) Fre γ → (β → γ) und MP folgt Γ
und mit (1.47) dann β → γ ∈ Γ.
Fre
β→γ
(2) Sei β 6∈ Γ. Dann gilt Γ, β Fre ⊥, und mit DT (1.28) folgt Γ
Mit Fre ¬β → (β → γ) (1.34(4)) folgt Γ Fre β → γ
und mit (1.47) dann β → γ ∈ Γ.
(⇒): Sei β → γ ∈ Γ und β ∈ Γ. Dann folgt Γ Fre β → γ und Γ
Daraus erhalten wir Γ Fre γ und damit γ ∈ Γ (1.47).
Fre
Fre
¬β.
β.
X
1.4.35
Schritt 3: Erfüllbarkeit konsistenter Mengen
Lemma 1.49
Sei α eine Formel. Jede konsistente Teilmenge von Tfn(α) ist erfüllbar.
Beweis:
Sei ∆ ⊆ Tfn(α) konsistent.
Dann besitzt ∆ eine α-maximal konsistente Obermenge Γ ⊇ ∆
(Lemma 1.46).
Definiere die Belegung AΓ = Γ ∩ {A0 , A1 , A2 , . . .} aller Atome in Γ.
Behauptung
Für jedes β ∈ Tfn(α) gilt: AΓ
β genau dann, wenn β ∈ Γ.
Behauptung
Für jedes β ∈ Tfn(α) gilt: AΓ
β genau dann, wenn β ∈ Γ.
Beweis mittels Induktion über den Formelaufbau von β:
IA: Fall 1: β = Ai : es gilt
AΓ Ai gdw. Ai ∈ AΓ gdw. Ai ∈ Γ ∩ {A0 , A1 , . . .} gdw. Ai ∈ Γ
Fall 2: β = ⊥: AΓ 6 ⊥ und ⊥ 6∈ Γ, da Γ konsistent ist.
IV: AΓ
ϕ gdw. ϕ ∈ Γ, und AΓ
IS: zu zeigen: für β = ϕ → ψ gilt AΓ
ψ gdw. ψ ∈ Γ.
β gdw. β ∈ Γ.
Es gelten folgende Äquivalenzen:
AΓ β gdw. AΓ 6 ϕ oder AΓ ψ
gdw. ϕ 6∈ Γ oder ψ ∈ Γ
gdw. ϕ → ψ ∈ Γ, also β ∈ Γ
Damit ist die Behauptung bewiesen.
Mit der Behauptung folgt AΓ
(Semantik von →)
(IV)
(Lemma 1.48)
Γ und wg. Γ ⊇ ∆ auch AΓ
∆.
X
1.4.37
Schritt 4 und Schritt 5, und alles zusammen
Lemma 1.50 (Vollständigkeitslemma für
Fre
)
Sei α eine Formel. Wenn
Fre
α.
α, dann folgt
Beweis: wir zeigen die Kontraposition.
Gelte Fre
6 α.
Dann ist {¬α} konsistent (Lemma 1.42)
und folglich auch erfüllbar (Lemma 1.49).
Also gibt es eine erfüllende Belegung A für ¬α,
d.h. es gibt eine Belegung A mit A ¬α.
Für diese Belegung A gilt A 6 α.
Also ist α nicht gültig, d.h. 6 α.
X
1.4.38
Das Vollständigkeitslemma kann auch allgemeiner mit Hypothesen
formuliert werden.
Lemma 1.51 (Verallgemeinertes Vollständigkeitslemma für
Sei Γ eine Formelmenge und α eine Formel.
Aus Γ α folgt Γ Fre α.
Der Beweis geht “im Prinzip” wie bei der Formulierung ohne
Hypothesen.
Fre
)
Der Vollständigkeitssatz für den
Frege-Kalkül
Satz 1.52 (Vollständigkeitssatz für
Fre
Sei α eine Formel.
α genau dann, wenn
Fre
α.
)
Beweis: Folgt aus Lemmas 1.36 und 1.50.
Satz 1.53 (Verallgemeinerter Vollständigkeitssatz für
X
Fre
)
Sei Γ eine Formelmenge und α eine Formel.
Γ Fre α genau dann, wenn Γ α.
Beweis: Folgt aus Lemmas 1.37 und 1.51.
X
1.4.40
Ähnliche Theorien I
Die Auswahl der Axiome in diesem Frege-Kalkül stammt aus dem Buch von
Mendelson und hat das Ziel, den Beweis des Vollständigkeitssatzes technisch einfach
zu machen.
Eine Theorie von Kleene (1952) hat Modus Ponens und die folgenden Axiome
(für Formeln mit Operatoren →, ∧, ∨ und ¬).
1. α → (β → α)
2. (α → (β → γ)) → ((α → β) → (α → γ))
3. (α ∧ β) → α und (α ∧ β) → β
4. α → (β → (α ∧ β))
5. α → (α ∨ β) und β → (α ∨ β)
6. (α → γ) → ((β → γ) → ((α ∨ β) → γ))
7. (α → β) → ((α → ¬β) → ¬α)
8. ¬¬α → α
Durch Weglassen des letzten Axioms (Doppelnegationsgesetz)
erhält man eine Theorie für die intuitionistische Logik.
Ähnliche Theorien II
Eine Theorie, die auf Arbeiten von Frege basiert,
hat Modus Ponens und die folgenden Axiome
(für Formeln mit Operatoren → und ¬).
1. α → (β → α)
2. (α → (β → γ)) → ((α → β) → (α → γ))
3. (α → (β → γ)) → (β → (α → γ))
4. (α → β) → (¬β → ¬α)
5. α → ¬¬α
6. ¬¬α → α
1.5 Natürliches Schließen
1. Klassische Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Algorithmen
Frege-Kalkül
Natürliches Schließen
Formeln und Schlussregeln
Vollständigkeit und Korrektheit
Schlussregeln für ∧ und ∨
Vergleich von Beweis-Kalkülen
Wir geben eine kurze und eher informelle Einführung.
[Literatur:
van Dalen: Logic and Structure]
Natürliches Schließen
Während der Frege-Kalkül einige Axiome und nur eine Schlussregel hat,
haben wir beim Natürlichen Schließen
mehrere Schlussregeln und “keine richtigen Axiome”.
Wir betrachten zunächst nur Formeln aus
I Atomen,
I dem Konstantensymbol ⊥ (“falsum”,
I dem Verknüpfungszeichen →.
A6
⊥ für alle Belegungen A)
und
¬α ist jetzt abkürzende Schreibweise für α → ⊥ . . .
Wir schauen uns erstmal etwas informell die Schlussregeln an.
1.5.2
Schlussregeln für die Implikation
Die Implikations-Elimination sieht aus wie der modus ponens.
α
α→β
(→ E )
β
Die Implikations-Introduktion ohne und mit Auflösung einer Hypothese.
[α]
..
β
.
(→ I )
α→β
β
(→ I )
α→β
Beweise werden als Bäume dargestellt,
die mit Hypothesen beginnen (Blätter)
und an deren Wurzel die bewiesene Formel steht.
Statt Kanten werden waagerechte Striche
für Anwendungen von Schlussregeln gezeichnet.
1.5.3
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
Nat
A → (B → A))
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
Nat
A → (B → A))
A
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
A
B →A
Nat
A → (B → A))
(→ I )
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
[A]1
B →A
Nat
A → (B → A))
(→ I )
A → (B → A)
(→ I )1
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
[A]1
B →A
Nat
α
(→ I )
A → (B → A)
A → (B → A))
(→ I )1
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
[A]1
B →A
Nat
α
(→ I )
A → (B → A)
A → (B → A))
β→α
(→ I )1
(→ I )
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beispiele für Beweise: (A1)
Ein Beweis für A → (B → A) (d.h.
[A]1
B →A
Nat
[α]1
(→ I )
A → (B → A)
A → (B → A))
β→α
(→ I )1
(→ I )
(→ I )1
α → (β → α)
Damit sind alle Axiome (A1) des Frege-Kalküls Fre bewiesen.
[α]
..
.
Die Implikations-Regeln:
β
α→β
(→ I )
β
α→β
(→ I )
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
Die Implikations-Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
α
(α → (β → γ)) → ((α → β) → (α → γ))
α→β
Die Implikations-Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
α→β
α
(→ E )
β
Die Implikations-Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
α→β
α
(→ E )
α → (β → γ)
α
β
Die Implikations-Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
α→β
α
(→ E )
α → (β → γ)
α
β→γ
β
Die Implikations-Regeln:
β
α→β
(→ I )
(→ E )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
α→β
α
α → (β → γ)
α
(→ E )
β→γ
β
(→ E )
(→ E )
γ
Die Implikations-Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
α→β
[α]1
α → (β → γ)
[α]1
(→ E )
β→γ
β
(→ E )
(→ E )
γ
α→γ
Die Implikations-Regeln:
β
α→β
(→ I )
(→ I )1
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
[α]1
[α → β]2
α → (β → γ)
[α]1
(→ E )
β→γ
β
(→ E )
(→ E )
γ
α→γ
(→ I )1
(α → β) → (α → γ)
Die Implikations-Regeln:
β
α→β
(→ I )
(→ I )2
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis von (A2)
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
[α]1
[α → β]2
[α → (β → γ)]3
[α]1
(→ E )
β→γ
β
(→ E )
(→ E )
γ
α→γ
(→ I )1
(α → β) → (α → γ)
(→ I )2
(→ I )3
(α → (β → γ)) → ((α → β) → (α → γ))
Die Implikations-Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
β
(→ E )
1.5.5
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
Die Regeln:
β
α→β
(→ I )
d.h.
Nat
(erste Hälfte)
α → ((α → ⊥) → ⊥)
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
α
¬α
Die Regeln:
β
α→β
(→ I )
d.h.
Nat
(erste Hälfte)
α → ((α → ⊥) → ⊥)
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
α
¬α
⊥
Die Regeln:
β
α→β
(→ I )
d.h.
Nat
(erste Hälfte)
α → ((α → ⊥) → ⊥)
(→ E )
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
α
[¬α]1
⊥
¬¬α
α→β
Nat
α → ((α → ⊥) → ⊥)
(→ E )
(→ I )1
Die Regeln:
β
d.h.
(erste Hälfte)
(→ I )
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
[α]2
[¬α]1
⊥
¬¬α
Die Regeln:
α→β
Nat
α → ((α → ⊥) → ⊥)
(→ E )
(→ I )1
α → ¬¬α
β
d.h.
(erste Hälfte)
(→ I )
(→ I )2
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
[α]2
[¬α]1
⊥
¬¬α
Die Regeln:
α→β
Nat
α → ((α → ⊥) → ⊥)
α→⊥
α
(→ E )
(→ I )1
α → ¬¬α
β
d.h.
(erste Hälfte)
(→ I )
(→ I )2
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
[α]2
[¬α]1
⊥
¬¬α
Die Regeln:
α→β
Nat
α → ((α → ⊥) → ⊥)
α→⊥
α
(→ E )
⊥
(→ I )1
α → ¬¬α
β
d.h.
(→ I )
(erste Hälfte)
(→ E )
(→ I )2
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
[α]2
[¬α]1
⊥
¬¬α
Die Regeln:
α→β
Nat
α → ((α → ⊥) → ⊥)
(→ I )
[α → ⊥]1
α
(→ E )
⊥
(→ I )1
α → ¬¬α
β
d.h.
(erste Hälfte)
(α → ⊥) → ⊥
(→ I )2
(→ E )
(→ I )1
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Beweis-Beispiel: Doppelnegation
Nat
α → ¬¬α
[α]2
[¬α]1
⊥
¬¬α
Die Regeln:
α→β
Nat
α → ((α → ⊥) → ⊥)
[α]2 [α → ⊥]1
(→ E )
⊥
(→ I )1
α → ¬¬α
β
d.h.
(→ I )
(α → ⊥) → ⊥
(→ I )2
(erste Hälfte)
(→ E )
(→ I )1
α → ((α → ⊥) → ⊥)
(→ I )2
[α]
..
.
β
α→β
(→ I )
α
α→β
(→ E )
β
1.5.6
Schlussregeln für ⊥
Ex falso quod libet
⊥
(⊥)
α
Reductio ad absurdum
[¬α]
..
.
⊥
(RAA)
α
(“(→ I ) mit Doppelnegationsregel”)
1.5.7
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
Die Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
α
(RAA)
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
¬¬α
¬α
Die Regeln:
β
α→β
(→ I )
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
¬¬α
¬α
⊥
Die Regeln:
β
α→β
(→ I )
(→ E )
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
¬¬α
[¬α]1
⊥
α
Die Regeln:
β
α→β
(→ I )
(→ E )
(RAA)1
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
[¬¬α]2
[¬α]1
⊥
α
(RAA)1
¬¬α → α
Die Regeln:
β
α→β
(→ I )
(→ E )
(→ I )2
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
[¬¬α]2
[¬α]1
⊥
α
β
α→β
(→ I )
α→⊥
(RAA)1
¬¬α → α
Die Regeln:
(α → ⊥) → ⊥
(→ E )
(→ I )2
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
[¬¬α]2
[¬α]1
⊥
α
β
α→β
(→ I )
α→⊥
⊥
(RAA)1
¬¬α → α
Die Regeln:
(α → ⊥) → ⊥
(→ E )
(→ E )
(→ I )2
[α]
..
.
β
α→β
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
[¬¬α]2
[¬α]1
⊥
α
β
α→β
(→ I )
⊥
(RAA)1
¬¬α → α
Die Regeln:
(α → ⊥) → ⊥
(→ E )
α
(→ I )2
[α]
..
.
β
α→β
[α → ⊥]1
(→ E )
(→ RAA)1
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis-Beispiel: Doppelnegation
Nat
(zweite Hälfte)
¬¬α → α
[¬¬α]2
[¬α]1
⊥
α
β
α→β
(→ I )
⊥
(RAA)1
¬¬α → α
Die Regeln:
[(α → ⊥) → ⊥]2
(→ E )
α
(→ I )2
α→β
(→ E )
(→ RAA)1
((α → ⊥) → ⊥) → α
[α]
..
.
β
[α → ⊥]1
(→ I )2
[¬α]
..
.
(→ I )
α
α→β
β
(→ E )
⊥
(RAA)
α
1.5.8
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
¬β → α
¬β
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
¬β → α
¬β
(→ E )
α
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
¬β → α
¬β
(→ E )
¬β → ¬α
¬β
α
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
¬β → α
¬β
α
(→ E )
¬β → ¬α
¬α
¬β
(→ E )
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
¬β → α
¬β
(→ E )
α
⊥
¬β → ¬α
¬α
¬β
(→ E )
(→ E )
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
¬β → α
[¬β]1
(→ E )
¬β → ¬α
¬α
α
⊥
β
[¬β]1
(→ E )
(→ E )
(RAA)1
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
[¬β → α]2
[¬β]1
¬β → ¬α
(→ E )
¬α
α
⊥
β
[¬β]1
(→ E )
(→ E )
(RAA)1
(¬β → α) → β
(→ I )2
1.5.9
Beweis von (A3)
Nat
(¬β → ¬α) → ((¬β → α) → β)
[¬β → α]2
[¬β]1
[¬β → ¬α]3 [¬β]1
(→ E )
¬α
α
⊥
β
(→ E )
(→ E )
(RAA)1
(¬β → α) → β
(→ I )2
(¬β → ¬α) → ((¬β → α) → β)
(→ I )3
1.5.9
Natürliches Schließen – formaler
Anders als beim Frege-Kalkül geht es beim Natürlichen Schließen nicht
um das Herleiten von Formeln, sondern um das Herleiten von
Sequenten.
Definition 1.54 (Sequent)
Ein Sequent ist ein Paar Γ I ϕ,
wobei Γ eine Formelmenge und ϕ eine Formel ist.
Statt Γ ∪ {α} I ϕ schreiben wir vereinfachend Γ, α I ϕ etc.
Wir können nun die Regeln des Natürlichen Schließens als Regeln für
Sequenten aufschreiben – dadurch wird das bisher etwas schwammige
“Auflösen von Hypothesen” klar definiert.
Natürliches Schließen
1. Die Elemente des Natürlichen Schließens sind Sequenten aus
Formeln aus Atomen, ⊥ und →.
2. Die Axiome des Natürlichen Schließens sind Sequenten α I α für
alle Formeln α.
3. Die Schlussregeln des Natürlichen Schließens sind für
Formelmengen Γ, ∆ und Formeln α, β:
Γ, β I α
ΓIβ→α
(→ I )
Γ, ¬β I ⊥
ΓIβ
“Γ, ∆” steht für Γ ∪ ∆.
ΓIα ∆Iα→β
(→ E )
Γ, ∆ I β
(RAA)
ΓIα
Γ, β I α
(Hyp)
4. Eine Herleitung eines Sequenten Γ I α mittels Natürlichem
Schließen ist eine Folge Γ1 I α1 , Γ2 I α2 , . . . , Γ` I α` von
Sequenten, an deren Ende Γ I α(= Γ` I α` ) steht und deren
Elemente folgende Eigenschaften haben
(für i = 1, 2, . . . , `):
I
I
Γi I αi ist ein Axiom, oder
es gibt Γa I αa und ggf. Γb I αb mit a, b < i, aus denen Γi I αi
in einem Schritt mit einer Schlussregel hergeleitet werden kann.
(Statt Herleitung verwendet man gerne auch Beweis.)
5. Formel α ist ein Theorem des Natürlichen Schließens
(Schreibweise: Nat α), wenn es eine Herleitung von I α mittels
Natürlichem Schließen gibt.
Allgemeiner schreiben wir Γ Nat α, wenn es eine Herleitung von
Γ I α mittels Natürlichem Schließen gibt.
1.5.12
Nat
α → (β → α)
(1)
α I
(2) α, β I
(3)
α I
(4)
I
formal
α
α
(Hyp)(1)
β→α
(→ I )(2)
α → (β → α) (→ I )(3)
1.5.13
Nat
α → ¬¬α
(1)
α I
(2)
¬α I
(3) α, ¬α I
(4)
α I
(5)
I
formal
α
¬α
⊥
(→ E )(1), (2)
¬¬α
(→ I )(3)
α → ¬¬α (→ I )(4)
1.5.14
Nat
¬¬α → α
(1)
¬α I
(2)
¬¬α I
(3) ¬α, ¬¬α I
(4)
¬¬α I
(5)
I
formal
¬α
¬¬α
⊥
(→ E )(1), (2)
α
(RAA)(3)
¬¬α → α (→ I )(4)
1.5.15
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
formal
(1)
α I α
(2)
α→β I α→β
(3)
α, α → β I β
(4)
α → (β → γ) I α → (β → γ)
(5)
α, α → (β → γ) I β → γ
(6) α, α → (β → γ), α → β I γ
(7)
α → (β → γ), α → β I α → γ
(8)
α → (β → γ) I (α → β) → (α → γ)
(9) I (α → (β → γ)) → ((α → β) → (α → γ))
(→ E )(1), (2)
(→ E )(1), (4)
(→ E )(3), (5)
(→ I )(6)
(→ I )(7)
(→ I )(8)
1.5.16
Nat
(¬β → ¬α) → ((¬β → α) → β))
formal
(1)
¬β I ¬β
(2)
¬β → ¬α I ¬β → ¬α
(3)
¬β, ¬β → ¬α I ¬α
(4)
¬β → α I ¬β → α
(5)
¬β, ¬β → α I α
(6) ¬β, ¬β → ¬α, ¬β → α I ⊥
(7)
¬β → ¬α, ¬β → α I β
(8)
¬β → ¬α I (¬β → α) → β
(9)
I (¬β → ¬α) → ((¬β → α) → β)
(→ E )(1), (2)
(→ E )(1), (4)
(→ E ), (3)(5)
(RAA)(6)
(→ I )(7)
(→ I )(8)
1.5.17
Zusammenfassung der bisherigen Resultate
Satz 1.55
Für alle Formeln α, β und γ gilt:
1.
Nat
α → (β → α)
2.
Nat
(α → (β → γ)) → ((α → β) → (α → γ))
3.
Nat
(¬β → ¬α) → ((¬β → α) → β)
4.
Nat
¬¬α → α
5.
Nat
α → ¬¬α
Vollständigkeit von
Nat
durch Umwandlung von Fre-Beweisen zu Nat-Beweisen
(1)
(2)
(3)
(4)
(5)
(α → ((α → α) → α)) → ((α → (α → α)) → (α → α))
α → ((α → α) → α)
α → (α → α)
(α → (α → α)) → (α → α)
α→α
[α]1 [α → (α → α)]2
(→ E )
α→α
[α]1
[α → ((α → α) → α)]3
(Beweisidee)
(A2)
(A1)
(A1)
MP (2), (1)
MP (3), (4)
(→ E )
(α → α) → (→
α E)
α
α→α
(→ I )1
[α]4
(→ I )2
(α → (α → α)) → (α → α)
(→ I )3
(α → ((α → α) → α)) → ((α → (α → α)) → (α → α))
(→ I )
(α → α) → α
(→ I )4
α → ((α → α) → α)(→ E )
(α → (α → α)) → (α → α)
[α]5
(→ I )
α→α
α → (α → α)
(→ I )5
(→ E )
α→α
1.5.19
Vollständigkeit von
Nat
Lemma 1.56 (Vollständigkeitslemma für
Sei α eine Formel.
Aus
α folgt
Nat
Nat
)
α.
Beweis:
Sei α gültig.
Dann gilt Fre α (Lemma 1.36).
Also gibt es eine Herleitung β1 , β2 , . . . , β` von α gemäß Fre .
Dann ist I β1 , I β2 , . . . , I β` eine Herleitung von I α mittels
Natürlichem Schließen mit folgenden Begründungen.
I Wenn βi ein Axiom des Frege-Kalküls ist, dann gilt I βi gemäß
Satz 1.55).
I Wenn βi aus βa und βb (a, b < i) mittels MP entsteht, dann
entsteht I βi aus I βa und I βb mittels (→ E ).
Also ist I α herleitbar mittels Natürlichem Schließen, d.h. Nat α.
X
Korrektheit von
Nat
durch Umwandlung von Nat-Beweisen in Fre-Beweise
Beispiel zur Umwandlung eines
(1)
¬α I
(2)
¬¬α I
(3) ¬α, ¬¬α I
(4)
¬¬α I
(5)
I
(1)
¬α
(2)
¬¬α
(3) ¬α, ¬¬α
(4a)
¬¬α
(4b)
¬¬α
(4)
¬¬α
(5)
Nat
-Beweises in einen
(Beweisidee)
Fre
-Beweis:
¬α
¬¬α
⊥
(→ E )(1), (2)
α
(RAA)(3)
¬¬α → α (→ I )(4)
Fre
Fre
Fre
Fre
Fre
Fre
Fre
¬α
¬¬α
⊥
¬α → ⊥
¬¬α → α
α
¬¬α → α
(Hyp)
(Hyp)
MP(1), (2) und Vereinigung der Hypothesenmengen
DT(3)
Satz 1.34(2)
MP(4a), (4b)
DT(4)
1.5.21
Korrektheit von
Nat
Lemma 1.57 (Korrektheitslemma für
Sei α eine Formel.
Wenn
Nat
α, dann
Nat
Fre
)
α.
Beweis:
Sei Γ1 I α1 , . . . , Γ` I α` eine Herleitung von I α mittels Natürlichem
Schließen.
Behauptung 1
Für j = 1, 2, . . . , ` gilt Γj
Fre
αj .
Wir beweisen die Behauptung mittels Induktion über j.
IA: Γ1 I α1 ist α1 I α1 . Es gilt offensichtlich α1
IV: Γi
Fre
αi gilt für i = 1, 2, . . . , j.
Fre
α1 .
IS: zu zeigen: Γj+1
Fre
αj+1 .
Fall 1: Γj+1 I αj+1 ist αj+1 I αj+1 .
αj+1
Fre
αj+1 gilt offensichtlich.
Fall 2: Γj+1 I αj+1 ensteht aus Γa I αa mittels (→ I ).
Dann ist αj+1 = β → αa und Γj+1 ∪ {β} = Γa .
Nach IV gilt Γa Fre αa , also Γj+1 , β Fre αa .
Mit DT folgt Γj+1 Fre β → αa , also Γj+1 Fre αj+1 .
Fall 3: Γj+1 I αj+1 ensteht aus Γa I αa und Γb I αb mittels (→ E ).
Dann ist Γj+1 = Γa ∪ Γb und αb = αa → αj+1 .
Nach IV gilt Γa Fre αa und Γb Fre αb .
Da Γj+1 ⊇ Γa und Γj+1 ⊇ Γb , gilt ebenso Γj+1 Fre αa und Γj+1
Mit MP folgt dann Γj+1 Fre αj+1 .
Fre
αb .
1.5.23
Fall 4: Γj+1 I αj+1 ensteht aus Γa I αa mittels (RAA).
Dann ist Γj+1 ∪ {¬αj+1 } = Γa und αa = ⊥.
Nach IV gilt Γa Fre ⊥, d.h. Γj+1 , ¬αj+1 Fre ⊥.
Mit DT folgt Γj+1 Fre ¬¬αj+1 .
Mit Fre ¬¬αj+1 → αj+1 (Satz 1.34(2)) und MP folgt Γj+1
Fre
αj+1 .
Fall 5: Γj+1 I αj+1 ensteht aus Γa I αa mittels (Hyp).
Dann ist αj+1 = αa und Γj+1 = Γa ∪ {β}.
Nach IV gilt Γa Fre αa , d.h. Γa Fre αj+1 .
Da Γj+1 ⊇ Γa , folgt ebenso Γj+1 Fre αj+1 .
Damit ist die Behauptung bewiesen.
Also gilt Γ` Fre α` , d.h. Fre α.
X
1.5.24
Vollständigkeitssatz für
Satz 1.58 (Vollständigkeitssatz für
Nat
Nat
Nat
)
ist korrekt und vollständig für gültige Formeln.
D.h. für alle Formeln α gilt
Nat
α gdw.
Beweis: folgt aus Lemmas 1.56 und 1.57.
α.
X
1.5.25
Schlussregeln für ∧ und ∨
Die Schlussregeln für ∧ sind recht intuitiv.
α
β
α∧β
α∧β
(∧I )
α∧β
(∧E )
α
(∧E )
β
Die für ∨ nicht sofort . . .
α
α∨β
(∨I )
β
α∨β
(∨I )
α∨β
[α] [β]
..
..
.
.
ϕ ϕ
(∨E )
ϕ
1.5.26
Nat
α ∨ ¬α
α
1.5.27
Nat
α ∨ ¬α
α
α ∨ ¬α
(∨I )
1.5.27
Nat
α ∨ ¬α
α
α ∨ ¬α
(∨I )
¬(α ∨ ¬α)
⊥
(→ E )
1.5.27
Nat
α ∨ ¬α
[α]1
α ∨ ¬α
(∨I )
¬(α ∨ ¬α)
⊥
¬α
(→ E )
(→ I )1
1.5.27
Nat
α ∨ ¬α
[α]1
α ∨ ¬α
(∨I )
¬(α ∨ ¬α)
⊥
¬α
α ∨ ¬α
(→ E )
(→ I )1
(∨I )
1.5.27
Nat
α ∨ ¬α
[α]1
α ∨ ¬α
(∨I )
¬(α ∨ ¬α)
⊥
¬α
α ∨ ¬α
(→ E )
(→ I )1
(∨I )
¬(α ∨ ¬α)
⊥
(→ E )
1.5.27
Nat
α ∨ ¬α
[α]1
α ∨ ¬α
(∨I )
[¬(α ∨ ¬α)]2
(→ E )
⊥
¬α
α ∨ ¬α
(→ I )1
(∨I )
[¬(α ∨ ¬α)]2
⊥
α ∨ ¬α
(→ E )
(RAA)2
1.5.27
Nat
((α ∧ β) ∨ γ) → (α ∨ γ) ∧ (β ∨ γ)
[α ∧ β]1
α
(∨I )
[(α ∧ β) ∨ γ]3 α ∨ γ
[α ∧ β]2
(∧E )
[γ]1
(∧E )
β
(∨I )
α∨γ
(∨E )1
(∨I )
[(α ∧ β) ∨ γ]3 β ∨ γ
α∨γ
[γ]2
(∨I )
β∨γ
(∨E )2
β∨γ
(∧I )
(α ∨ γ) ∧ (β ∨ γ)
(→ I )3
((α ∧ β) ∨ γ) → ((α ∨ γ) ∧ (β ∨ γ))
1.5.28
Die ∨-Elimination
lässt sich auch mit → und ⊥ aufschreiben
[α] [β]
..
..
.
.
¬α → β
ϕ ϕ
(∨E )
ϕ
und als Abkürzung für folgendes ansehen.
[α]1
[β]2
..
..
.
.
ϕ [¬ϕ]3
ϕ [¬ϕ]3
(→ E )
(→ E )
⊥ (→ I )
⊥ (→ I )
1
2
¬α → β
¬α (→ E )
¬β
β
(→ E )
⊥ (RAA)
3
ϕ
1.5.29
Lemma 1.59 (Simulation von Resolutionsschritten in Nat)
Jeder Resolutionsschritt lässt sich durch eine konstante Anzahl von
Beweisschritten in Nat simulieren; genauer gesagt: die Herleitung
α ∨ Ai , β ∨ ¬Ai Nat α ∨ β geht mit 6 Schritten.
[Ai ]2
[¬Ai ]1
⊥
(→ E )
(⊥)
β ∨ ¬Ai
[α]2
α ∨ Ai
α∨β
[β]1
β
(∨E )1
β
(∨I )
α∨β
α∨β
(∨I )
(∨E )2
Wenn α oder/und β leer sind, geht es noch einfacher . . .
1.5.30
Vergleich von Beweis-Kalkülen
1. Klassische Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Algorithmen
Frege-Kalkül
Natürliches Schließen
Vergleich von Beweis-Kalkülen
Einerseits lassen sich Beweise in verschiedenen Beweis-Kalkülen ineinander
überführen, andererseits gibt es Formeln, die in einem Kalkül nur lange Beweise,
in einem anderen dagegen auch kurze Beweise haben.
Das führt zu einer Hierarchie von Beweis-Kalkülen.
[Literatur:
Urquhart: The complexity of propositional proofs.]
1.6.1
Was haben wir gemacht?
Wir haben gesehen,
wie man Beweise eines Kalküls in Beweise eines anderen Kalküls
umwandeln kann.
Das kann man auch abstrakt betrachten.
Definition 1.60 (Polynomielle Simulation zwischen Beweis-Kalkülen)
Beweis-Kalkül X lässt sich durch Beweis-Kalkül Y p-simulieren,
falls es eine polynomiell berechenbare Funktion q gibt,
so dass für alle Beweise π in X und alle Formeln α gilt:
wenn π ein Beweis von α in X ist,
dann ist q(π) ein Beweis von α in Y .
Eigenschaften von Simulationen
Wir haben zwei p-Simulationen gezeigt.
Lemma 1.61
1. Nat lässt sich durch Fre p-simulieren.
2. Fre lässt sich durch Nat p-simulieren.
Wir haben Simulationen zum Nachweis von Korrektheit und
Vollständigkeit benutzt.
Lemma 1.62 (informell)
Kalkül X lasse sich durch Kalkül Y p-simulieren.
1. Wenn X vollständig ist, dann ist Y vollständig.
2. Wenn Y korrekt ist, dann ist X korrekt.
Polynomielle Beweis-Kalküle
Ein polynomieller Beweis-Kakül hat kurze (d.h. polynomiell lange)
Beweise für alle beweisbaren Formeln.
Definition 1.63 (Polynomieller Beweis-Kalkül)
Ein polynomieller Beweis-Kalkül für eine Sprache L ⊆ Σ∗ ist eine
Funktion f : Σ∗ → L und ein Polynom p mit folgenden Eigenschaften.
1. f ist in polynomieller Zeit berechenbar.
2. Für jedes y ∈ L gibt es ein π mit f (π) = y und |π| ≤ p(|y |).
Satz 1.64 (Cook, Reckhow (1979))
Die folgenden Aussagen sind äquivalent.
1. Es gibt einen polynomiellen Beweis-Kalkül für gültige al. Formeln.
2. NP = coNP.
1.6.4
Eine Hierarchie der Beweis-Kalküle
Nat.Schließen
Frege-Kalkül
=
Cutting planes
keine polynomiellen Beweis-Kalküle
=
Legende:
C
=
Baum-Resolution
A
=
Resolution
C p-simuliert D nicht
A p-simuliert B
D
B
==
=
Tableau
Wahrheitstafeln
1.6.5
Weitere offene Fragen
Ein Beweis-Kalkül heißt p-optimal,
wenn er jeden Beweis-Kalkül p-simuliert.
Gibt es einen p-optimalen Beweis-Kalkül für gültige al. Formeln?
Satz 1.65 (Messner, Torán (1998))
I
I
Wenn es einen p-optimalen Beweis-Kalkül für gültige al. Formeln gibt,
dann besitzt UP vollständige Probleme.
Wenn NEE=EE,
dann gibt es einen p-optimalen Beweis-Kalkül für gültige al. Formeln.
UP ist die Teilklasse von NP, deren Sprachen von nichtdet. polynomialzeit TMen
akzeptiert werden, die bei jeder Eingabe höchstens einen akzeptierenden
Berechnungspfad haben (U=unique) . . . man glaubt nicht, dass sie vollständige
Probleme hat . . .
n
EE ist DTIME (2O(2 ) ), und NEE die nichtdeterministische Variante davon . . .
1.6.6
2.1 Grundbegriffe
2. Modale Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Frege-Kalkül
Algorithmen
Literatur: Priest: An introduction to non-classical logic.
Kreuzer, Kühling: Logik für Informatiker.
2.1.1
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ϕ
genau dann, wenn
alle Nachfolger von s erfüllen ϕ
s
A
B, C
C
A
A, B
A, C
M
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ϕ
genau dann, wenn
alle Nachfolger von s erfüllen ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s
M, s
K
K
C
(B ∨ A)
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ϕ
genau dann, wenn
alle Nachfolger von s erfüllen ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s K
M, s K
M, s 6 K
M, s K
C
(B ∨ A)
B
¬B
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ϕ
genau dann, wenn
alle Nachfolger von s erfüllen ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s K
M, s K
M, s 6 K
M, s K
M, s K
M, s K
C
(B ∨ A)
B
¬B
C ∧ ¬B
A
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ♦ϕ
genau dann, wenn
mind. ein Nachfolger von s erfüllt ϕ
s
A
B, C
C
A
A, B
A, C
M
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ♦ϕ
genau dann, wenn
mind. ein Nachfolger von s erfüllt ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s
K
♦B
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ♦ϕ
genau dann, wenn
mind. ein Nachfolger von s erfüllt ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s
M, s
K
K
♦B
♦C
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ♦ϕ
genau dann, wenn
mind. ein Nachfolger von s erfüllt ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s K
M, s K
M, s 6 K
♦B
♦C
♦A
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ♦ϕ
genau dann, wenn
mind. ein Nachfolger von s erfüllt ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s K
M, s K
M, s 6 K
M, s K
♦B
♦C
♦A
♦♦(A ∧ ¬B)
Einführendes Beispiel zur Modallogik
Modallogische Formeln haben zusätzliche einstellige Operatoren: und ♦ .
Formelbeispiele: A,
♦(A ∨ ¬B), (♦(A ∧ ♦¬(B ∨ C )) ∧ A)
Semantik: Graph M aus Belegungen (=Kripke-Modell)
Welt s erfüllt ♦ϕ
genau dann, wenn
mind. ein Nachfolger von s erfüllt ϕ
s
A
B, C
C
A
A, B
A, C
M
M, s K
M, s K
M, s 6 K
M, s K
M, s K
♦B
♦C
♦A
♦♦(A ∧ ¬B)
¬¬B
Modallogik formal: Formeln
Definition 2.1 (modallogische Formel)
Eine atomare Formel hat die Form Ai für i = 0, 1, 2, . . .
Modallogische Formeln sind induktiv definiert wie folgt.
1. Alle atomaren Formeln, ⊥ und > sind Formeln.
I Für jede Formel α ist ¬α eine Formel.
2.
I
I
Für jede Formel α sind α sowie ♦α Formeln.
Für alle Formeln α und β sind (α ∧ β), (α ∨ β) sowie (α → β)
ebenfalls Formeln.
Beispiel:
♦¬♦(A1 ∨ (A3 ∧ (A3 ∧ A5 )))
2.1.4
Modallogik formal: (Kripke-)Semantik
Definition 2.2 (Kripke-Modell)
Ein Kripke-Modell M = (W , R, ξ) besteht aus
I
einem gerichteten Graph (W , R)
mit Knotenmenge W (Welten), W 6= ∅,
Kantenmenge R ⊆ W × W , und
I
einer Belegung ξ(w ) ⊆ {A0 , A1 , A2 , . . .} für jede Welt w ∈ W
(d.h. ξ : W → P({A0 , A1 , A2 , . . .})).
Konkrete Kripke-Modelle werden gerne graphisch angegeben.
2.1.5
Definition 2.3 (Erfüllungsrelation
K
)
Sei M = (W , R, ξ) ein Kripke-Modell,
w ∈ W sei eine Welt von M, α und β seien modale Formeln.
Die Erfüllungsrelation K zwischen Modellen, Welten und Formeln ist
wie folgt definiert.
M, w
M, w
M, w
M, w
M, w
M, w
M, w
M, w
K
K
K
K
K
>
und
M, w 6 K ⊥
Ai
gdw. Ai ∈ ξ(w )
¬α
gdw. M, w 6 K α
α∧β
gdw. M, w
α∨β
gdw. M, w
K
K
α und M, w
α oder M, w
K
K
β
β
K
α → β gdw. M, w 6 K α oder M, w
K
α
gdw. für alle t ∈ W mit (w , t) ∈ R : M, t
K
♦α
gdw. es gibt ein t ∈ W mit (w , t) ∈ R : M, t
K
β
K
α
K
α
2.1.6
Definition 2.4 (Verallgemeinerungen von
K
)
1. Sei M = (W , R, ξ) ein Kripke-Modell.
M K α bedeutet, dass M, w K α für jedes w ∈ W .
2.
K
α bedeutet, dass M
K
α für jedes Kripke-Modell M
( α ist gültig“).
”
3. Sei G = (W , R) ein Graph.
G K α bedeutet, dass M K α für jede Belegung ξ und jedes
Kripke-Modell M = (W , R, ξ).
2.1.7
Formelauswertung
mit Dynamischem Programmieren
für alle Teilformeln α in aufsteigender Reihenfolge wiederhole:
markiere jede Welt, die α erfüllt . . .
s
A
teste M, s K ♦A:
1.) markiere mit A
2.) markiere mit ♦A
3.) entscheide M, s K ♦A
A
A
A
2.1.8
Formelauswertung
mit Dynamischem Programmieren
für alle Teilformeln α in aufsteigender Reihenfolge wiederhole:
markiere jede Welt, die α erfüllt . . .
s
A A
A
A
teste M, s K ♦A:
1.) markiere mit A
2.) markiere mit ♦A
3.) entscheide M, s K ♦A
A A
A A
A A
2.1.8
Formelauswertung
mit Dynamischem Programmieren
für alle Teilformeln α in aufsteigender Reihenfolge wiederhole:
markiere jede Welt, die α erfüllt . . .
s
A
♦A
♦A A
♦A
teste M, s K ♦A:
1.) markiere mit A
2.) markiere mit ♦A
3.) entscheide M, s K ♦A
♦A A A
♦A A A
A
♦A
2.1.8
Formelauswertung
mit Dynamischem Programmieren
für alle Teilformeln α in aufsteigender Reihenfolge wiederhole:
markiere jede Welt, die α erfüllt . . .
s
A
♦A ♦A
♦A A
♦A
teste M, s K ♦A:
1.) markiere mit A
2.) markiere mit ♦A
3.) entscheide M, s K ♦A
♦A A A
A A
A
Rechenzeit: Anzahl Teilformeln · Anz.Welten · Anz.Welten
Formelauswertung für Modallogik geht in polynomieller Rechenzeit.
2.1.8
Lemma 2.5 (Wichtige Eigenschaften der modalen Operatoren)
1.
2.
3.
4.
5.
6.
7.
8.
9.
K
(α → β) → (α → β)
K
(α → β) → (♦α → ♦β)
K
♦(α → β) ↔ (α → ♦β)
K
¬α ↔ ♦¬α
K
(α ∧ (α → β)) → β
K
(α ∧ β) ↔ (α ∧ β)
K
(α ∨ β) → (α ∨ β)
K
(♦α ∨ ♦β) ↔ ♦(α ∨ β)
K
♦(α ∧ β) → (♦α ∧ ♦β)
und
K
¬♦α ↔ ¬α
2.1.9
Definition 2.6 (äquivalente Formeln)
Modallogische Formeln α und β heißen äquivalent (α ≡ β),
falls für jedes Kripke-Modell M und jede Welt w von M gilt:
M, w K α gdw. M, w K β.
Lemma 2.7 (adäquate Verknüfungszeichen für Modallogik)
Für jede modallogische Formel gibt es eine äquivalente Formel,
die nur aus Atomen, ⊥, → und besteht.
2.1.10
2.2 Der Tableau-Kalkül für Modallogik
2. Modale Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Frege-Kalkül
Algorithmen
Mit dem Tableau-Kalkül beweist man die Gültigkeit von Formeln.
[Literatur:
Priest: An introduction to non-classical logic.
Nerode, Shore: Logic for applications.]
2.2.1
Die Konstruktion eines Tableaus . . .
. . . entspricht in der Aussagenlogik einer systematischen Suche
nach einer erfüllenden Belegung der Startformel.
Entsprechend soll in der Modallogik nach einem Kripke-Modell
gesucht werden, das die Startformel in einer Welt erfüllt.
Grundlegende Beobachtung: es reicht, “Baum-Modelle” zu betrachten.
2.2.2
Tableau für A → ♦A
als einführendes Beispiel (stimmt nicht ganz genau . . .)
s A → ♦A
s ¬A
s ♦A
(s, u)
s ♦¬A
uA
(s, t)
t ¬A
2.2.3
Tableau für A → ♦A
als einführendes Beispiel (stimmt nicht ganz genau . . .)
s A → ♦A
s ¬A
s ♦A
(s, u)
s ♦¬A
uA
(s, t)
t ¬A
Aus den nicht-wid.Pfaden ergeben sich folgende Modelle:
s
t
2.2.3
Tableau für A → ♦A
als einführendes Beispiel (stimmt nicht ganz genau . . .)
s A → ♦A
s ¬A
s ♦A
(s, u)
s ♦¬A
uA
(s, t)
t ¬A
Aus den nicht-wid.Pfaden ergeben sich folgende Modelle:
s
t
s
A
u
2.2.3
Der Tableau-Kalkül für Modallogik
Der Tableau-Kalkül für Aussagenlogik wird erweitert.
Beim aussagenlogischen Tableau-Kalkül geht es darum,
für eine Formel einen Pfad durch das Tableau zu finden,
der einer erfüllenden Belegung entspricht.
Beim modallogischen Tableau-Kalkül soll ein Pfad π durch das Tableau
gefunden werden,
der einem erfüllenden Kripke-Modell (Wπ , Rπ , ξπ ) und
einer Welt s darin entspricht, in der die Formel erfüllt wird.
Dazu werden die Tableaux erweitert.
1. Markierungen der Knoten haben die Form w α mit Welt w und
Formel α. Wπ ist die Menge aller Welten, die auf Pfad π vorkommen.
Der Startknoten des Tableaus für α wird mit s α markiert.
2. Die Kanten des Tableaus werden teilweise mit Kanten zwischen Welten
markiert. Rπ ist die Menge aller Kantenmarkierungen auf dem Pfad π.
2.2.4
Die angepassten alten“ Expansionsregeln
”
Typ 1:
v α∧β :
•
v ¬(α ∨ β) :
•
v ¬(α → β) :
•
v ¬¬α :
•
v α
v ¬α
v α
v α
v β
v ¬β
v ¬β
Typ 2:
v ¬(α ∧ β) :
•
v ¬α v ¬β
v α∨β :
•
v α
v β
v α→β:
•
v ¬α
v β
2.2.5
Expansionsregeln für ♦ und , Teil I
Typ 3:
v ♦α :
•
(v , w )
w α
v ¬α :
•
(v , w )
w ¬α
wobei w eine Welt ist, die bisher nicht im Tableau vorkommt.
2.2.6
Expansionsregeln für ♦ und , Teil II
-Abschlussregel:
Für jeden Pfad π durch das Tableau,
alle Knoten auf π mit Markierungen v β oder v ¬♦β (v beliebig),
(1) die gerade durch eine Expansion vom Typ 1 oder 2 angehängt wurden
und für die es eine Kante (v , w ) auf π gibt,
oder
(2) falls gerade eine neue Kante (v , w ) durch eine Expansion vom Typ 3
zu π hinzugefügt wurde,
führe die folgenden Expansionen durch:
v β :
•
v ¬♦β :
•
w β
w ¬β
2.2.7
Tableau für ¬(A → ♦A)
s ¬(A → ♦A)
s A
s ¬♦A
2.2.8
Tableau für ¬(A → ♦A)
s ¬(A → ♦A)
s A
s
s ¬♦A
Erfüllendes Modell:
2.2.8
Tableau-Beweisbarkeit
Ein Pfad durch ein Tableau heißt widersprüchlich, wenn er Markierungen
t α und t ¬α für eine Welt t und eine Formel α enthält,
oder wenn er eine Markierung t ⊥ oder t ¬> enthält.
Geschlossene Tableaux und widersprüchliche Tableaux sind wie in der
Aussagenlogik definiert.
Definition 2.8 (Tableau-beweisbar)
Eine modallogische Formel α ist Tableau-beweisbar
(Schreibweise:
falls ¬α ein widersprüchliches Tableau besitzt.
Tab
α),
2.2.9
Tab
(A → B) → (A → B)
s ¬((A → B) → (A → B))
s (A → B)
s ¬(A → B)
s A
s ¬B
(s, t)
t ¬B
tA→B
tA
t ¬A
×
tB
×
2.2.10
Zum Beweis des Korrektheitslemmas . . .
. . . gehen wir im Prinzip genauso vor wie bei der Aussagenlogik,
müssen aber die dort verwendeten Ideen anpassen.
In der Aussagenlogik hatten wir:
I
Wenn α von Belegung A erfüllt wird, dann gibt es einen Pfad
durch das Tableau, auf dem jede Formel von A erfüllt wird.
Das erfordert in der Modallogik mehr Aufwand.
s A → ♦A
s ¬A
(s, t)
t ¬A
s ♦A
(s, u)
uA
Modelle aus dem Tableau:
A
ein weiteres erfüllendes Modell:
A
2.2.11
Zum Beweis des Korrektheitslemmas . . .
s A → ♦A
s ¬A
(s, t)
t ¬A
s ♦A
(s, u)
uA
Modelle aus dem Tableau:
A
ein weiteres erfüllendes Modell:
A
Definition 2.9 (Treue eines Tableau-Pfades zu einem Modell)
Sei M = (U, S, ξ) ein Kripke-Modell und T ein modales Tableau.
Ein Pfad π durch T heißt M-treu, falls es eine Abbildung f : Wπ → U
gibt, so dass
1. für jede Knotenmarkierung v α auf π gilt M, f (v )
K
α, und
2. für jede Kantenmarkierung (a, b) auf π gilt (f (a), f (b)) ∈ S.
2.2.11
Lemma 2.10 (Expansion erhält M-Treue)
Sei ϕ eine modallogische Formel,
M ein Kripke-Modell mit Welt s und M, s K ϕ.
Sei T ein modales Tableau für ϕ,
und T 0 entstehe aus T durch Expansion eines Knotens.
Falls T einen M-treuen Pfad besitzt, dann besitzt auch T 0 einen.
Beweis:
Sei T ein modales Tableau für ϕ, und M = (U, S, ξ).
Sei π ein M-treuer Pfad durch T (mit Welten Wπ und Kanten Rπ )
und fπ : Wπ → U die zugehörige Abbildung.
Falls T 0 aus T durch Expansion eines Knotens entsteht, der nicht auf π
liegt, dann bleibt π ein M-treuer Pfad durch T 0 .
2.2.12
Entstehe T 0 also durch Expansion eines Knotens u ψ auf π.
Fall 1: es wird eine Expansion vom Typ 1 oder 2 ausgeführt.
Dann entsteht aus π ein längerer Pfad π 0 mit Wπ0 = Wπ ,
und wir definieren fπ0 := fπ .
Es kann wie im aussagenlogischen Fall (Beweis von Lemma 1.18)
argumentiert werden, dass π 0 M-treu ist.
Fall 2: es wird eine Expansion vom Typ 3 ausgeführt,
d.h. ψ = ♦α bzw. ψ = ¬β.
Wir betrachten die Expansion des Knoten u ♦α auf π –
für die Expansion von u ¬α ist die Argumentation entsprechend
(da ♦α ≡ ¬¬α).
Dann entsteht Pfad π 0 aus π durch Anhängen von u 0 α
mit Wπ0 = Wπ ∪ {u 0 } und Rπ0 = Rπ ∪ {(u, u 0 )}.
Da π M-treu ist, gilt M, fπ (u) K ♦α.
Gemäß der Semantik von ♦
gibt es ein v ∈ U mit (fπ (u), v ) ∈ S und M, v
K
α.
Definiere fπ0 : Wπ0 → U wie fπ erweitert um fπ0 (u 0 ) := v .
Wir zeigen nun, dass π 0 M-treu mittels fπ0 ist.
1.) Für alle Knoten w γ auf π gilt M, fπ0 (w ) K γ,
da w ∈ Wπ , π M-treu ist und fπ0 auf Wπ wie fπ ist.
Für u 0 α auf π 0 gilt M, fπ0 (u 0 )
K
α, da fπ0 (u 0 ) = v .
2.) (fπ0 (a), fπ0 (b)) ∈ S für alle (a, b) ∈ Rπ , und (fπ0 (u), fπ0 (u 0 )) ∈ S.
Also ist der expandierte Pfad π 0 M-treu.
[Ende von Fall 2]
2.2.14
Abschließend wird der -Abschluss durchgeführt.
Dabei entsteht ein längerer Pfad π 00 aus π 0 mit Wπ00 = Wπ0 .
Wir definieren fπ00 := fπ0 .
Wir zeigen nun, dass π 00 M-treu mittels fπ00 ist.
1.) Für alle Knoten w γ auf π 0 gilt M, fπ00 (w )
K
γ
gemäß Fall 1 und 2.
2.) Für “neue Knoten” w α auf π 00
gibt es einen Knoten v α (bzw. v ¬♦β mit α = ¬β) auf π 0 .
Also gilt M, fπ00 (v ) K α (bzw. M, fπ00 (v ) K ¬♦β) nach 1.).
Gemäß Semantik folgt M, v 0
K
α für alle v 0 mit (fπ00 (v ), v 0 ) ∈ S.
Da (fπ0 (v ), fπ0 (w )) ∈ S und damit (fπ00 (v ), fπ00 (w )) ∈ S,
folgt M, fπ00 (w ) K α.
Also ist π 00 ebenfalls M-treu.
X
2.2.15
Lemma 2.11 (Korrektheitslemma für
Tab
)
Sei α eine modallogische Formel.
Wenn Tab α, dann ist α gültig.
Beweis:
Wir beweisen die Kontraposition.
Sei α nicht gültig, d.h. ¬α ist erfüllbar.
Dann gibt es ein Kripke-Modell M0 mit Welt s, so dass M0 , s K ¬α.
Das Tableau aus einen Knoten s ¬α
hat dann einen M0 -treuen Pfad (aus dem einen Knoten).
Jedes Tableau für ¬α hat einen solchen Knoten als Wurzel.
Nach Lemma 2.10 hat jedes Tableau für ¬α einen M0 -treuen Pfad.
Also gibt es kein widersprüchliches Tableau für ¬α, d.h. Tab
6
¬α. X
2.2.16
Lemma 2.12 (Pfad bestimmt Modell)
Sei T ein modales Tableau für eine Formel ϕ, und π ein nichtwidersprüchlicher Pfad durch T , auf dem jeder Knoten expandiert ist.
Dann gilt für das Kripke-Modell Mπ = (Wπ , Rπ , ξπ )
mit ξπ (w ) = {Ai | w Ai kommt auf π vor }:
für jede Markierung v α auf π gilt Mπ , v K α.
Beweis: sei π ein solcher Pfad mit der Knotenfolge π1 , . . . , π` .
Wir zeigen induktiv, dass die Behauptung für jedes πi gilt.
IA: i = `. (D.h. wir betrachten den Knoten π` am Ende von π.)
Fall 1: π` hat Markierung v >, v ¬⊥ oder v L für ein Literal L.
Es gilt Mπ ,v K >, Mπ ,v K ¬⊥, und Mπ , v K L
aufgrund der Definition von ξπ und der Nicht-Widersprüchlichkeit von π.
Fall 2: π` ist ein Knoten mit Markierung v β bzw. v ¬♦β.
Da π` nicht expandiert werden musste, hat v keinen Nachfolger in Rπ .
Also gilt M, v K β bzw. M, v K ¬♦β.
Eine andere Markierung kann π` nicht haben.
2.2.17
IV: Für πk , πk+1 , . . . , π` mit πi = vi αi gilt Mπ , vi
K
αi .
IS: πk−1 habe Markierung v α. Zu zeigen ist: Mπ , v K α.
Fall 1: v α wird nicht expandiert, d.h.
α ist >, ¬⊥, ein Literal,
oder α = β bzw. α = ¬♦β und v hat keinen Nachfolger in Rπ .
Dann geht die Argumentation wie im IA.
Fall 2: v α wird nach einer Regel vom Typ 1 oder 2 expandiert.
Dann wird α “klassisch” aussagenlogisch expandiert und die
Argumentation ist wie im aussagenlogischen Fall (Beweis zu 1.20).
Fall 3: v α wird nach einer Regel vom Typ 3 expandiert,
d.h. α = ♦β bzw. α = ¬γ.
Dann gibt es ein πj mit Markierung t β bzw. t ¬γ,
so dass j > k − 1 und (v , t) ∈ Rπ .
Nach IV gilt Mπ , t K β bzw. Mπ , t K ¬γ,
und daraus folgt Mπ , v K α.
2.2.18
Fall 4: v α wird mit der -Abschlussregel expandiert.
Dann ist α = β bzw. α = ¬♦γ.
Für jedes t ∈ Wπ und jede Kante (v , t) ∈ Rπ gilt:
Es gibt ein πj mit j > k − 1 und Markierung t β bzw. t ¬γ.
Nach IV gilt dann für jedes t ∈ Wπ und jede Kante (v , t) ∈ Rπ :
Mπ , t K β bzw. Mπ , t K ¬γ.
Also folgt Mπ , v
K
β bzw. Mπ , v
K
¬♦γ, d.h. Mπ , v
K
α.
X
2.2.19
Lemma 2.13 (Vollständigkeit des modalen Tableau-Kalküls)
Sei α eine modallogische Formel.
Wenn α gültig ist, dann Tab α.
Beweis:
Wir beweisen die Kontraposition.
Sei Tab
6
α.
Dann besitzt ¬α kein widersprüchliches Tableau.
Da jedes Tableau zu einem endlichen geschlossenen Tableau erweitert
werden kann,
besitzt ¬α ein endliches nicht-widersprüchliches geschlossenes Tableau.
Also enthält das Tableau einen nicht-widersprüchlichen Pfad, auf dem
jeder Knoten expandiert ist.
Nach Lemma 2.12 ist dieser Pfad M-treu für ein Modell M.
Folglich gibt es in M eine Welt s mit M, s K ¬α.
Also ist α nicht gültig.
X
Zusammenfassung: der Vollständigkeitssatz
Satz 2.14 (Vollständigkeitssatz für den modalen Tableau-Kalkül)
Für alle modallogischen Formeln α gilt:
α ist gültig
genau dann, wenn
jedes geschlossene Tableau für ¬α widersprüchlich ist.
Beweis:
Folgt aus Lemmas 2.11 und 2.13.
X
2.3 Ein Frege-Kalkül für Modallogik
2. Modale Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Frege-Kalkül
Algorithmen
Mit dem Frege-Kalkül beweist man die Gültigkeit von Formeln.
[Literatur:
Halpern & Moses: A guide to completeness and complexity of modal logic.]
Definition 2.15 (der Frege-Kalkül)
1. Die Elemente des Frege-Kalküls sind modallogische Formeln aus
Atomen, ⊥, → und .
2. Die Axiome des Frege-Kalküls sind für alle Formeln α, β, ϕ:
(A1) α → (β → α)
(A2) (α → (β → ϕ)) → ((α → β) → (α → ϕ))
(A3) (¬β → ¬α) → ((¬β → α) → β)
(K) (α → β) → (α → β)
3. Die Schlussregeln sind
MP modus ponens: aus α und α → β kann man β herleiten.
Gen Generalisierung: aus α kann man α herleiten.
α
α→β
β
α
α
4. Herleitungen sind definiert wie üblich.
5. Γ Fre α, falls es eine Herleitung der Formel α
mit Hypothesen aus der Formelmenge Γ im Frege-Kalkül gibt.
2.3.2
Lemma 2.16
Für alle modallogischen Formeln α gilt
1.
2.
Fre
¬¬α → ¬¬α und
Fre
¬¬α → ¬¬α.
Beweis:
(1)
(2)
(3)
(4)
(5)
(6)
α → ¬¬α
(α → ¬¬α)
(α → ¬¬α) → (α → ¬¬α)
α → ¬¬α
¬¬α → α
¬¬α → ¬¬α
(Teil 2 ist Übungsaufgabe.)
(Theorem)
Gen (1)
(K)
MP (2), (3)
(Theorem)
TRANS (5), (4)
X
2.3.3
Das Deduktionstheorem von
(1)
(2) α
(3) α
Fre
Fre
Fre
α→α
α
α
(geht wie bei
Fre
Fre
geht nicht bei
Fre
)
(Anwendung des DT “von rechts nach links” geht wie bei
(Gen liefert einen nicht-korrekten Sequenten, da α
Man kann bei Beweisen in
Fre
das Deduktionstheorem von
Fre
)
α)
Fre
benutzen,
wenn man Gen nur auf Sequenten ohne Hypothesen anwendet.
2.3.4
Der Rest vom Deduktionstheorem
Satz 2.17
Sein Γ eine Menge modallogischer Formeln, α und β seien
modallogische Formeln.
1. Falls Γ
Fre
α → β, dann auch Γ ∪ {α}
Fre
β.
2. Falls Γ ∪ {α} Fre β mittels einer Herleitung ohne Verwendung der
Schlussregel Gen, dann Γ Fre α → β.
Der Beweis geht wie im aussagenlogischen Fall.
2.3.5
Lemma 2.18 (Verallgemeinerung von (K))
Für jedes k ≥ 1 und alle Formeln α1 , . . . , αk , β gilt
(α1 → (α2 → (α3 → . . . (αk → β) . . .))) →
Fre
(α1 → (α2 → (α3 → . . . (αk → β) . . .)))
Beweis mittels Induktion über k.
IA k = 1: für alle α1 , β ist (α1 → β) → (α1 → β) Axiom (K). X
IV: für beliebiges festes k und alle Formeln α1 , . . . , αk , β gilt
(α1 → (α2 → (α3 → . . . (αk → β) . . .))) →
Fre
(α1 → (α2 → (α3 → . . . (αk → β) . . .))).
IS:
(1)
(2)
(3)
Fre
(α1 → (α2 → (α3 → . . . (αk+1 → β) . . .))) →
(α1 → (α2 → (α3 → . . . (αk+1 → β) . . .)))
(α1 → (α2 → (α3 → . . . (αk+1 → β) . . .))), α1 Fre
(α2 → (α3 → . . . (αk+1 → β) . . .))
Fre
(α2 → (α3 → (α4 → . . . (αk+1 → β) . . .))) →
(α2 → (α3 → (α4 → . . . (αk+1 → β) . . .)))
(K)
(DT)
(IV)
(4) (α1 → (α2 → (α3 → . . . (αk+1 → β) . . .))), α1 Fre
α2 → (α3 → . . . (αk+1 → β) . . .) (MP 2,3)
(5)
Fre
(α1 → (α2 → (α3 → . . . (αk+1 → β) . . .))) →
(α1 → (α2 → (α3 → . . . (αk+1 → β) . . .)))
Da Gen nicht benutzt wurde, ist die Anwendung des
Deduktionstheorems korrekt.
(DT)
X
2.3.7
Korrektheit von
Fre
für Modallogik
Lemma 2.19 (Korrektheitslemma für
Fre
)
Sei α eine modallogische Formel.
Aus Fre α folgt K α.
Beweis:
Wir erweitern den Beweis des Korrektheitslemmas für Fre (1.36)
von “Belegung A erfüllt α” auf “Kripke-Modell M erfüllt α in Welt u”.
Die Argumentation im Beweis von Lemma 1.36 geht damit genauso.
Zusätzlich muss folgendes gezeigt werden.
1. Im Induktionsanfang muss gezeigt werden, dass (K) gültig ist.
2. Im Induktionsschluss muss die Korrektheit der Regel Gen gezeigt
werden.
2.3.8
zu 1.) Erweiterung des Induktionsanfangs:
Wir zeigen die Gültigkeit von (K).
Sei M = (W , R, ξ) ein Kripke-Modell und u ∈ W .
M, u
K
(α → β) → (α → β)
⇔ M, u 6 K (α → β) oder M, u 6 K α oder M, u
K
β
⇔ ∃v , (u, v ) ∈ R : M, v 6 K α → β oder ∃v , (u, v ) ∈ R : M, v 6 K α
oder M, u
K
β
⇔ ∃v , (u, v ) ∈ R : ((M, v
oder M, u
K
K
α und M, v 6 K β) oder M, v 6 K α)
β
⇔ ∃v , (u, v ) ∈ R : (M, v 6 K β oder M, v 6 K α)
oder M, u
K
β
⇔ ∃v , (u, v ) ∈ R : M, v 6 K α oder M, u 6 K β oder M, u
⇔ M, u
K
β oder M, u 6 K β
(wahre Aussage)
K
β
(X)
2.3.9
zu 2.) Erweiterung des Induktionsschritts für Gen:
Sei
α
α
die im letzten Beweisschritt benutzte Regel.
Zu zeigen ist: wenn α gültig ist, dann ist auch α gültig.
d.h. M, u
Sei α gültig,
K
α für alle M und u.
Wähle M = (U, R, ξ) und v ∈ U beliebig.
Da M, u
K
α für alle u mit (v , u) ∈ R,
folgt M, v
K
α.
Da M und v beliebig gewählt wurden, ist α gültig.
X
2.3.10
Der Weg zum Vollständigkeitslemma für
Fre
Ziel:
Aus
6
Fre
α folgt 6 K α
(d.h. es gibt ein Mα mit Mα 6 K α).
Vorgehen:
1. Konstruktion von Mα aus maximal-konsistenten Mengen.
2. Finden einer Welt uα mit Mα , uα
K
¬α.
2.3.11
Ein Konsistenzbegriff für
Fre
Die Nützlichkeit des Konsistenzbegriffs für Fre beruht auf der
Benutzbarkeit des Deduktionstheorems (siehe z.B. Beweis von Lemma 1.42).
Deshalb brauchen wir für Fre einen anderen.
Definition 2.20 (
Fre
-Konsistenz )
Eine modallogische Formelmenge A heißt Fre -konsistent,
falls für jede endliche Teilmenge {α1 , . . . , αk } von A gilt:
6
Fre
α1 → (α2 → (. . . → (αk → ⊥) . . .))
Bemerkungen:
(a)
α1 → (α2 → (... → (αk → ⊥)...)) gdw.
Fre
für alle Permutationen der Indizes.
(b) Eine aussagenlog. Menge ist
Fre
Fre -konsistent
αi1 → (αi2 → (... → (αik → ⊥)...))
gdw. sie
Fre
-konsistent ist.
Lemma 2.21
Wenn Γ Fre
6
α , dann ist Γ ∪ {¬α}
Fre
-konsistent.
Beweis (Kontraposition):
Sei Γ ∪ {¬α} nicht
Fre
-konsistent.
Dann folgt Fre α1 → (α2 → (. . . → (αk → ⊥) . . .))
für eine Formelmenge {α1 , . . . , αk } ⊆ Γ ∪ {¬α}.
Fall 1: ¬α 6∈ {α1 , . . . , αk }.
Mit (DT) folgt {α1 , . . . , αk }
|
{z
}
Fre
⊥.
⊆Γ
Mit
Fre
⊥ → α (1.32) und MP erhalten wir Γ
Fre
α.
Fall 2: ¬α ∈ {α1 , . . . , αk }. O.B.d.A. sei ¬α = αk .
Dann haben wir Fre α1 → (α2 → (. . . → (¬α → ⊥) . . .)).
Mit (DT) folgt {α1 , . . . , αk } Fre ¬α
→ ⊥}, und
| {z
|
{z
}
⊆Γ
mit
Fre
¬¬α
¬¬α → α (1.31) und MP erhalten wir schließlich Γ
Fre
α.
X
2.3.13
Maximal
Fre
-konsistente Mengen
Der Begriff maximal konsistenter Mengen wird aus der Aussagenlogik
übernommen.
Definition 2.22 (maximale Konsistenz)
Eine Formelmenge Γ heißt maximal Fre -konsistent,
falls jede echte Obermenge von Γ nicht Fre -konsistent ist.
Sei α eine modallogische Formel.
Eine konsistente Menge ∆ ⊆ Tfn(α) heißt α-maximal Fre -konsistent,
wenn keine Menge Γ mit ∆ ( Γ ⊆ Tfn(α) Fre -konsistent ist.
2.3.14
Eigenschaften maximal
Fre
-konsistenter Mengen
Lemma 2.23
Sei α eine modallogische Formel.
Jede Fre -konsistente Menge Γ ⊆ Tfn (α)
besitzt eine α-maximal Fre -konsistente Obermenge.
Beweis: wie im aussagenlogischen Fall (Lemma 1.46).
X
2.3.15
Max. konsist. Mengen sind wie Welten in Modellen
Lemma 2.24
Sei α eine modallogische Formel und A sei α-maximal Fre -konsistent.
Für jedes ϕ ∈ Tf (α) gilt: entweder ϕ ∈ A oder ¬ϕ ∈ A.
Beweis: Sei A α-maximal Fre -konsistent,
und es gibt ein ϕ ∈ Tf (α) mit ϕ, ¬ϕ 6∈ A oder ϕ, ¬ϕ ∈ A.
Fall (1): ϕ, ¬ϕ 6∈ A.
Dann sind A ∪ {ϕ} und A ∪ {¬ϕ} nicht Fre -konsistent,
und es folgt Fre α1 → (α2 → (. . . → (αk−1 → ¬ϕ) . . .))
und Fre ¬ϕ → (β1 → (β2 → (. . . → (βq−1 → ⊥) . . .))) für αi , βj ∈ A.
Mit der Verallgemeinerung von TRANS (1.33) folgt
α1 → (. . . → (αk−1 → (β1 → (. . . → (βq−1 → ⊥) . . .))) . . .).
Fre
Also ist A nicht Fre -konsistent: Widerspruch zur Voraussetzung.
Fall (2): ϕ, ¬ϕ ∈ A.
Wegen Fre ¬ϕ → ¬ϕ (1.25) ist A nicht konsistent: Widerspruch.
X
Lemma 2.25
Sei α eine modallogische Formel und A sei α-maximal Fre -konsistent.
Für jedes β → γ ∈ Tf (α) gilt: β → γ ∈ A gdw. β 6∈ A oder γ ∈ A.
Beweis:
Sei A α-maximal
Fre
-konsistent.
“⇒”:
Sei β → γ ∈ A und β ∈ A. Zu zeigen: γ ∈ A.
Annahme: γ 6∈ A.
Da γ ∈ Tf(α), ist ¬γ ∈ A (Lemma 2.24).
Mit Fre β → (¬γ → ¬(β → γ)) (Satz 1.34(7))
folgt, dass A nicht konsistent ist: Widerspruch zur Annahme.
Also folgt γ ∈ A.
“⇐”:
(1) Sei β 6∈ A. Zu zeigen: β → γ ∈ A.
Ann.: β → γ 6∈ A.
Dann ist ¬β ∈ A und ¬(β → γ) ∈ A (Lemma 2.24).
Aus Fre ¬β → (β → γ) (Satz 1.34(4))
folgt Fre ¬β → ¬¬(β → γ) (mit Satz 1.34(3) und (TRANS)).
Also ist A nicht konsistent: Widerspruch zur Voraussetzung.
Damit folgt β → γ ∈ A.
(2) Sei γ ∈ A. Zu zeigen: β → γ ∈ A.
Ann.: β → γ 6∈ A. Dann ist ¬(β → γ) ∈ A (Lemma 2.24).
Aus Fre γ → (β → γ) (A1)
folgt Fre γ → ¬¬(β → γ) (mit Satz 1.34(3) und (TRANS)).
Also ist A nicht konsistent: Widerspruch zur Voraussetzung.
Damit folgt β → γ ∈ A.
X
2.3.18
Vollständigkeit von
Fre
für Modallogik
Lemma 2.26 (Vollständigkeitslemma für
Sei ϕ eine modallogische Formel. Falls
6
Fre
Fre
)
ϕ, dann 6 K ϕ.
Beweis:
Wir zeigen:
aus
6
Fre
ϕ folgt,
dass es ein Modell Mϕ mit einer Welt uϕ gibt, so dass Mϕ , uϕ 6 K ϕ.
2.3.19
Zuerst konstruieren wir das gesuchte Modell Mϕ = (C , R, ξ) wie folgt.
1. C = die Menge aller ϕ-maximal
-konsistenten Teilmengen
von Tfn(ϕ).
Jede Welt w ist also eine Menge von modallogischen Formeln.
Fre
2. (u, v ) ∈ R genau dann, wenn {α | α ∈ u} ⊆ v
3. ξ(w ) = {Ai | Ai ∈ w }
(für alle u, v ∈ C ).
(für jedes w ∈ C ).
2.3.20
Beobachtung
Für alle α ∈ Tfn (ϕ) und u ∈ C gilt: Mϕ , u
K
α genau dann, wenn α ∈ u.
Beweis mittels Induktion über den Formelaufbau.
IA: α ist Atom oder ⊥: Beobachtung gilt wg. der Definition von C und ξ.
IV: für bel. festes β, γ und alle u ∈ C gilt:
Mϕ , u K β gdw. β ∈ u, und Mϕ , u
K
γ gdw. γ ∈ u.
IS: Fall 1: α = β → γ:
β→γ∈u
gdw.
gdw.
gdw.
β 6∈ u oder γ ∈ u
Mϕ , u 6 K β oder Mϕ , u
Mϕ , u K β → γ
(Lemma 2.25)
K
γ
(IV)
(Semantik von →)
Fall 2: α = β:
(1) β ∈ u
⇒
⇒
⇒
für alle v ∈ C , (u, v ) ∈ R : β ∈ v
für alle v ∈ C , (u, v ) ∈ R : Mϕ , v
Mϕ , u K β
(Definition von R)
K
β
(IV)
(Semantik von )
2.3.21
(2) Mϕ , u
K
β
⇒
für alle v ∈ C , (u, v ) ∈ R : Mϕ , v
⇒
für alle v ∈ C , {α | α ∈ u} ⊆ v : β ∈ v
|
{z
}
K
β
(Semantik von )
(Def. von R, und IV)
=:Au
⇒
jede ϕ-maximal
⇒
Au ∪ {¬β} ist nicht
⇒
Gen
⇒
2.18
⇒
Fre
-konsistent
α1 → (α2 → (. . . → (αk−1 → ¬¬β) . . .)) für αi ∈ Au
Fre
(α1 → (α2 → (. . . → (αk−1 → ¬¬β) . . .))) für αi ∈ Au
α1 → (α2 → (. . . → (αk−1 → ¬¬β) . . .))
für αi ∈ {α | α ∈ u}, d.h. αi ∈ u
Fre
Fre
α1 → (α2 → (. . . → (αk−1 → ¬¬β) . . .)) für αi ∈ u
⇒
u ∪ {¬β} ist nicht
2.24
β ∈ u
⇒
-konsistente Erweiterung von Au enthält β
Fre
1.33,2.16
⇒
Fre
Fre
-konsistent, also ¬β 6∈ u
X(Beobachtung)
2.3.22
Abschluss des Beweises des Vollständigkeitslemmas:
Sei
6
Fre
ϕ.
Dann ist {¬ϕ}
Fre
-konsistent (Lemma 2.21) und {¬ϕ} ⊆ Tfn(ϕ).
Folglich gibt es eine
ϕ-maximal Fre -konsistente Obermenge uϕ von {¬ϕ} (Lemma 2.23).
Da ¬ϕ ∈ uϕ , folgt Mϕ , uϕ
K
¬ϕ (Beobachtung)
und damit Mϕ , uϕ 6 K ϕ.
Das heißt: ϕ ist nicht gültig.
X
2.3.23
Folgerungen aus dem Beweis
Um zu prüfen, ob ϕ gültig ist,
muss man nur prüfen, ob ϕ in jeder Welt von Mϕ erfüllt wird.
Jede Welt von Mϕ ist eine Teilmenge von Tfn(ϕ)
und hat demnach Beschreibungsgröße O(|ϕ|2 ).
Die Größe des Universums von Mϕ ist 2O(|ϕ|) .
Da Mϕ eindeutig durch ϕ beschrieben ist,
kann man die Gültigkeit von ϕ mit polynomiellem Speicherplatz prüfen.
2.3.24
Zusammenfassung: der Vollständigkeitssatz
Satz 2.27 (Vollständigkeitssatz für
Fre
)
Sei α eine modallogische Formel.
α genau dann, wenn Fre α.
K
Beweis:
Folgt aus Lemmas 2.19 und 2.26.
X
2.4 Algorithmen für Modallogik
2. Modale Aussagenlogik
Grundbegriffe
Tableau-Kalkül
Frege-Kalkül
Algorithmen
Wir werden den Algorithmus, den wir für die Aussagenlogik
aus dem Tableau-Kalkül entwickelt haben,
für die Modallogik erweitern.
2.4.1
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
(A → C ) ∨ (B → C )
¬((A ∨ B) → C )
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
A→C
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
A∨B
¬C
¬C
¬A
A
×
¬B
C
×
B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
{A → C , A ∨ B, ¬C }
¬A
A
×
¬C
¬B
C
×
B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
{A → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
A
×
B
¬C
¬B
C
×
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
{A → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{¬A, A, ¬C }
×
B
¬C
¬B
C
×
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
{A → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{¬A, A, ¬C } {¬A, B, ¬C }
×
¬C
¬B
C
×
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
B→C
A∨B
{A → C , A ∨ B, ¬C }
{C , A ∨ B, ¬C }
×
{¬A, A, ¬C } {¬A, B, ¬C }
×
¬C
{¬A, A ∨ B, ¬C }
¬B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
A∨B
{A → C , A ∨ B, ¬C }
{C , A ∨ B, ¬C }
×
{¬A, A, ¬C } {¬A, B, ¬C }
×
¬C
{¬A, A ∨ B, ¬C }
¬B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
{A → C , A ∨ B, ¬C }
{B → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{C , A ∨ B, ¬C }
×
{¬A, A, ¬C } {¬A, B, ¬C }
×
¬B
A
C
×
B
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
{A → C , A ∨ B, ¬C }
{B → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{C , A ∨ B, ¬C }
×
{¬A, A, ¬C } {¬A, B, ¬C }
×
{¬B, A ∨ B, ¬C }
A
B
×
C
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
{A → C , A ∨ B, ¬C }
{B → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{C , A ∨ B, ¬C } {¬B, A ∨ B, ¬C }
×
{¬A, A, ¬C } {¬A, B, ¬C }
{¬B, A, ¬C }
B
×
×
C
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
{A → C , A ∨ B, ¬C }
{B → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{C , A ∨ B, ¬C } {¬B, A ∨ B, ¬C }
×
{¬A, A, ¬C } {¬A, B, ¬C }
{¬B, A, ¬C } {¬B, B, ¬C }
×
×
C
×
2.4.2
Was passiert beim Aufbau eines Tableaus?
Wir wiederholen nochmal den aussagenlogischen Fall
Mit (fast) jedem Knoten ist eine Menge aus zerlegbaren Formeln und Literalen
verbunden.
{¬[((A → C ) ∨ (B → C )) → ((A ∨ B) → C )]}
{(A → C ) ∨ (B → C ), ¬((A ∨ B) → C )}
{A → C , ¬((A ∨ B) → C )}
{B → C , ¬((A ∨ B) → C )}
{A → C , A ∨ B, ¬C }
{B → C , A ∨ B, ¬C }
{¬A, A ∨ B, ¬C }
{C , A ∨ B, ¬C } {¬B, A ∨ B, ¬C } {C , A ∨ B, ¬C }
×
×
{¬A, A, ¬C } {¬A, B, ¬C }
{¬B, A, ¬C } {¬B, B, ¬C }
×
×
2.4.2
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
s ¬((A → B) → (A → B))
s (A → B)
s (A → B)
s ¬(A → B)
s ¬(A → B)
s A
s A
s ¬B
s ¬B
s ♦¬B
(s, t)
t ¬B
s ♦¬B
(s, t) ∈ R
t ¬B
t ¬A
×
tA→B
tA→B
tA
tA
tB
×
t ¬A
×
tB
×
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
{¬((A → B) → (A → B))}
s (A → B)
s (A → B)
s ¬(A → B)
s ¬(A → B)
s A
s A
s ¬B
s ¬B
s ♦¬B
(s, t)
t ¬B
s ♦¬B
(s, t) ∈ R
t ¬B
t ¬A
×
tA→B
tA→B
tA
tA
tB
×
t ¬A
×
tB
×
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
{¬((A → B) → (A → B))}
s (A → B)
t ¬A
×
s ¬(A → B)
{(A → B), ¬(A → B)}
s A
s A
s ¬B
s ¬B
s ♦¬B
(s, t)
t ¬B
s ♦¬B
(s, t) ∈ R
t ¬B
tA→B
tA→B
tA
tA
tB
×
t ¬A
×
tB
×
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
{¬((A → B) → (A → B))}
s (A → B)
{(A → B), ¬(A → B)}
s ¬(A → B)
s A
{(A → B), A, ¬B}
s ¬B
s ♦¬B
(s, t) ∈ R
t ¬B
s ♦¬B
(s, t)
t ¬B
t ¬A
×
tA→B
tA→B
tA
tA
tB
×
t ¬A
×
tB
×
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
{¬((A → B) → (A → B))}
s (A → B)
{(A → B), ¬(A → B)}
s ¬(A → B)
s A
t ¬A
×
s ¬B
{(A → B), A, ¬B}
s ♦¬B
(s, t)
t ¬B
{(A → B), A, ♦¬B}
(s, t) ∈ R
t ¬B
tA→B
tA→B
tA
tA
tB
×
t ¬A
×
tB
×
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
{¬((A → B) → (A → B))}
s (A → B)
{(A → B), ¬(A → B)}
s ¬(A → B)
s A
s ¬B
{(A → B), A, ¬B}
s ♦¬B
(s, t)
t ¬B
{(A → B), A, ♦¬B}
(s, t) ∈ R
tA→B
{A → B, A, ¬B}
tA
t ¬A
×
tB
×
t ¬A
×
tB
×
Was kommt bei Modallogik dazu?
s ¬((A → B) → (A → B))
{¬((A → B) → (A → B))}
s (A → B)
{(A → B), ¬(A → B)}
s ¬(A → B)
s A
s ¬B
{(A → B), A, ¬B}
s ♦¬B
(s, t)
t ¬B
{(A → B), A, ♦¬B}
(s, t) ∈ R
tA→B
{A → B, A, ¬B}
tA
t ¬A
×
tB
×
{¬A, A, ¬B}
×
{B, A, ¬B}
×
Was kommt bei Modallogik dazu?
s C ∧ ♦A ∧ ♦B ∧ ¬B
{C ∧ ♦A ∧ ♦B ∧ ¬B}
sC
s ♦A
s ♦B
s ¬B
(s, t) ∈ R
tA
{C , ♦A, ♦B, ¬B}
t ¬B
(s, u) ∈ R
uB
{A, ¬B}
u ¬B
×
{B, ¬B}
×
Was kommt bei Modallogik dazu?
s C ∧ ♦A ∧ ♦B ∧ ¬B
{C ∧ ♦A ∧ ♦B ∧ ¬B}
sC
s ♦A
s ♦B
s ¬B
(s, t) ∈ R
tA
{C , ♦A, ♦B, ¬B}
t ¬B
(s, u) ∈ R
uB
{A, ¬B}
u ¬B
×
{B, ¬B}
×
min
Umgang mit Formelmengen S
Suche nach einem erfüllenden Modell für Formelmenge S:
solange S nicht widersprüchlich ist und eine Expansion nötig ist:
(1) ersetze alle Typ-1-Formeln durch ihre beiden Ersetzungsformeln
(2) für alle Typ-2-Formeln:
teste rekursiv die Ersetzung durch jede der beiden Ersetzungsformeln
(es reicht, eine erfüllbare Menge zu finden)
(3) für alle Typ-3-Formeln wie z.B. ♦α (¬α entsprechend):
teste rekursiv S♦α := {α} ∪ {ψ | ψ ∈ S} ∪ {¬ψ | ¬♦ψ ∈ S}
(alle Mengen müssen erfüllbar sein)
2.4.5
Methode zum Bestimmen der
Zerlegungsformeln
für modale aussagenlogische Formeln
Methodenaufruf mzerlege(ϕ,i) ergibt die i-te Zerlegungsformel von ϕ.
Methode mzerlege (Formel ϕ, Index i)
falls i = 1 dann
(∗ bestimme die erste Zerlegungsformel ∗)
falls ϕ ∈ {α ∧ β, α ∨ β, ¬(α → β), ¬¬α} dann return α
falls ϕ ∈ {¬(α ∧ β), ¬(α ∨ β), α → β} dann return ¬α
sonst
(∗ bestimme die zweite Zerlegungsformel ∗)
falls ϕ ∈ {α ∧ β, α ∨ β, α → β} dann return β
falls ϕ ∈ {¬(α ∧ β), ¬(α ∨ β), ¬(α → β)} dann return ¬β
Erfüllbarkeitstest gemäß Tableau-Kalkül
für modale aussagenlogische Formeln als rekursive Methode
Als Folgerung des Vollständigkeitssatzes für den Tableau-Kalkül der modalen
Aussagenlogik gilt:
Ein Aufruf merfüllbar(S) liefert Ergebnis 1 gdw. es ein Kripke-Modell gibt, das alle
Formeln in S erfüllt.
Methode merfüllbar(Formelmenge S) {
falls S widersprüchlich ist dann return 0
falls S eine Formel ψ vom Typ 1 besitzt dann
return merfüllbar((S − ψ) ∪ {mzerlege(ψ, 1), mzerlege(ψ, 2)})
sonst: falls S eine Formel ψ vom Typ 2 besitzt dann
return max merfüllbar((S − ψ) ∪ {mzerlege(ψ, b)})
b∈{1,2}
sonst: falls S eine Formel vom Typ 3 enthält dann
return
min
merfüllbar({β | β ∈ S} ∪ {¬β | ¬♦β ∈ S} ∪ {α (bzw.¬γ)})
♦α,¬γ∈S
sonst: (∗ S ist nicht widersprüchlich und besteht aus Literalen und αs und ¬♦αs ∗)
return 1
}
2.4.7
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[A, ¬A, . . .]
=0
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
me[A, A, ¬A → ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[A, ¬A, . . .]
=0
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
me[A, A, ¬A → ¬A, ♦B, ♦¬B]
max
¬¬A ¬A → ¬A ¬A
me[A, A, ♦B, ♦¬B]
me[A, A, ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[A, ¬A, . . .]
=0
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
me[A, A, ¬A → ¬A, ♦B, ♦¬B]
max
¬¬A ¬A → ¬A ¬A
me[A, A, ♦B, ♦¬B]
min
♦B
♦¬B
me[A, B]
=1
me[A, ¬B]
=1
me[A, A, ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[A, ¬A, . . .]
=0
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
me[A, A, ¬A → ¬A, ♦B, ♦¬B]
max
¬¬A ¬A → ¬A ¬A
me[A, A, ♦B, ♦¬B]
min
♦B
♦¬B
me[A, B]
=1
me[A, A, ¬A, ♦B, ♦¬B]
min
♦B
♦¬B
me[A, ¬B] me[A, ¬A, B] me[A, ¬A, ¬B]
=1
=0
=0
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[¬A, ¬A → ¬A, ♦B, ♦¬B]
me[¬A, A, ¬A → ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[¬A, ¬A → ¬A, ♦B, ♦¬B]
max
¬¬A
¬A → ¬A ¬A
me[¬A, A, ♦B, ♦¬B]
=0
me[¬A, A, ¬A → ¬A, ♦B, ♦¬B]
me[¬A, ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[¬A, ¬A → ¬A, ♦B, ♦¬B]
max
¬¬A
¬A → ¬A ¬A
me[¬A, A, ♦B, ♦¬B]
=0
me[¬A, A, ¬A → ¬A, ♦B, ♦¬B]
me[¬A, ¬A, ♦B, ♦¬B]
min
♦B
♦¬B
me[¬A, B]
=1
me[¬A, ¬B]
=1
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[¬A, ¬A → ¬A, ♦B, ♦¬B]
..
.
=1
me[¬A, A, ¬A → ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[¬A, ¬A → ¬A, ♦B, ♦¬B]
me[¬A, A, ¬A → ¬A, ♦B, ♦¬B]
..
max
.
¬¬A
¬A → ¬A ¬A
=1
me[¬A, A, A, ♦B, ♦¬B]
=0
me[¬A, A, ¬A, ♦B, ♦¬B]
Struktur der rekursiven Aufrufe
für merfüllbar({♦A ∧ ♦¬A ∧ (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)})
Wir schreiben abkürzend me[X , Y , Z ] für merfüllbar({X , Y , Z }).
Rekursive Aufrufe für Formeln vom Typ 1 sind nicht aufgeführt.
me[♦A, ♦¬A, (A → A ∧ ¬A → ¬A ∧ ♦B ∧ ♦¬B)]
min
♦A
♦¬A
me[A, A → A, ¬A → ¬A, ♦B, ♦¬B]
.
..
=1
me[¬A, A → A, ¬A → ¬A, ♦B, ♦¬B]
max
¬A
A → A A
me[¬A, ¬A → ¬A, ♦B, ♦¬B]
me[¬A, A, ¬A → ¬A, ♦B, ♦¬B]
..
max
.
¬¬A
¬A → ¬A ¬A
=1
me[¬A, A, A, ♦B, ♦¬B]
=0
me[¬A, A, ¬A, ♦B, ♦¬B]
min
♦B
♦¬B
me[A, ¬A, B]
=0
me[A, ¬A, B]
=0
(Grobe) Analyse
Es gilt: ϕ ist erfüllbar genau dann, wenn merfüllbar({ϕ}) = 1.
Bei Aufruf von merfüllbar({ϕ}) wird ein Rekursions-Baum durchsucht,
I
dessen Tiefe durch die Anzahl der Verknüpfungszeichen in ϕ
beschränkt ist
I
bei dem der Ausgangsgrad jedes Knotens durch die Anzahl der
modalen Operatoren in ϕ beschränkt ist
I
in dem jeder Knoten mit einer Formelmenge markiert ist, deren
Größe durch die Größe von ϕ beschränkt ist.
Der Speicherverbrauch ist also O(|ϕ|2 ) für den Rekursionsstapel.
Satz 2.28
Das Erfüllbarkeitsproblem für modale Aussagenlogik ist in PSPACE.
Komplexität
Die Tabelle zeigt komplexitätstheoretische Vollständigkeitsresultate.
Aussagenlogik
(AL)
Intuitionistische AL
Modale AL
Erfüllbarkeit
Gültigkeit
Formelauswertung
NP
coNP
NC1
[Cook 71]
[Cook 71]
[Buss 87]
NP
PSPACE
P
[Cook 71]
[Statman 79]
[MuWe 10]
PSPACE
PSPACE
P
[Ladner 77]
[Ladner 77]
[Folklore]
NP
NC1
P
PSPACE
coNP
polynomielle Zeit
parallel
superschnell
polynomieller Platz
deterministisch nicht-determ.
schnell
langsam
2.4.10
3 Temporale Aussagenlogik
3. Temporale Logik
Grundbegriffe linearer Zeitlogik LTL
Büchi-Automaten
Ein Algorithmus für das Gültigkeitsproblem für LTL
Formelauswertung von LTL-Formeln
Weitere temporale Logiken
3.0.1
Temporale Logik
Temporale Logik benutzt man z.B. zur Untersuchung von Prozessen,
die schrittweise ihren Zustand verändern.
I jetzt, oder
Eine Aussage
kann z.B.
I irgendwann in der Zukunft, oder
I
solange, bis eine andere Aussage wahr ist,
wahr sein.
3.0.2
3.1 Grundbegriffe linearer Zeitlogik LTL
3. Temporale Logik
Grundbegriffe linearer Zeitlogik LTL
Büchi-Automaten
Ein Algorithmus für das Gültigkeitsproblem für LTL
Formelauswertung von LTL-Formeln
Weitere temporale Logiken
Literatur: Kreuzer, Kühling: Logik für Informatiker.
Eike Best: Modelchecking (Vorlesungsskript 2010, im Web).
3.1.3
Einführendes Beispiel
Modelliere: Prozesse dürfen nicht gleichzeitig die selbe Ressource benutzen . . .
I
n – Ressource wird weder angefordert noch benutzt
I
a – Ressource wird angefordert (es wird auf Zugriff gewartet)
I
b – Ressource wird benutzt
s0
n1 n2
s1
Modell für erlaubte Zustandsübergänge:
a1 n2
n1 a2
s2
(bi . . . Prozess i benutzt die Ressource . . . )
(wir schreiben Atome hier mit kleinen Buchst.)
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s7 a1 b2
Garantiert dieses Modell, dass
jeder Prozess die angeforderte Ressource auch irgendwann benutzen kann?
3.1.4
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
n1 ∧ n2
“die Startwelt von π erfüllt n1 ∧ n2 ”
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
Eigenschaften von Pfad π:
π
F . . . future
p
F b2
“es gibt einen Suffix ρ von π = π 0 ρ mit ρ
p
b2 ”
...
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
G ¬(b1 ∧ b2 )
F . . . future, G . . . globally
“für alle Suffixe ρ von π gilt ρ
p
¬(b1 ∧ b2 )”
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
F . . . future, G . . . globally
p
G(a2 → F b2 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
X n2
“für ρ mit π = s0 ρ gilt ρ
F . . . future, G . . . globally, X . . . next
p
n2 ”
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
n1 ∧ X n2 ∧ X X a2
F . . . future, G . . . globally, X . . . next
π
p
n1 ∧ X(n2 ∧ X a2 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π 6 p G((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π 6 p G((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
π
p
¬ G((a1 ∧ ¬b2 ) → X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
F ¬((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
π
p
¬ G((a1 ∧ ¬b2 ) → X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
F ¬((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
π
p
F((a1 ∧ ¬b2 ) ∧ ¬ X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
F((a1 ∧ ¬b2 ) ∧ X ¬b1 )
F . . . future, G . . . globally, X . . . next
π
p
F((a1 ∧ ¬b2 ) ∧ ¬ X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
(a1 ∨ n2 ) U b1
“von s0 aus auf π gilt a1 ∨ n2 bis b1 erfüllt ist”
F . . . future, G . . . globally, X . . . next , U . . . until
3.1.5
Syntax von LTL
LTL . . . linear-time temporal logic
Definition 3.1 (die Sprache: LTL-Formeln)
(Aussagenlogische) LTL-Formeln sind induktiv definiert wie folgt.
1. Die Konstante ⊥ und alle Atome Ai sind LTL-Formeln.
2. Für alle LTL-Formeln α und β sind
α → β,
Xα
(next),
Fα
(future),
Gα
(globally),
αUβ
(until)
ebenfalls LTL-Formeln.
Wir benutzen Abkürzungen >, ¬α, α ∧ β, α ∨ β, α ↔ β wie üblich.
Semantik von LTL
Definition 3.2 ((Pfad-)Erfüllungsrelation
p
für LTL)
Sei π = π0 π1 π2 . . . eine unendliche Folge von Belegungen
πi ⊆ {A0 , A1 , . . .}, und π j = πj πj+1 . . . Suffix von π (für j ≥ 0). Die
Relation p zwischen Belegungsfolgen und LTL-Formeln ist wie folgt
definiert.
π6p ⊥
π
π
Ai gdw. Ai ∈ π0
α → β gdw. π 6 p α oder π
p
β
p
π
p
X α gdw. π 1
π
p
F α gdw. es gibt ein i ≥ 0 : π i
π
π
p
p
p
p
α
G α gdw. für alle i ≥ 0 : π
i
p
p
α
α
α U β gdw. es gibt ein i ≥ 0 : π i p β
und für alle j = 0, 1, . . . , i − 1 : π j
p
α
Definition 3.3 (äquivalente LTL-Formeln)
LTL-Formeln α und β heißen äquivalent (α ≡ β),
falls für jede Belegungsfolge π gilt: π p α genau dann, wenn π
p
β.
Lemma 3.4 (wichtige Äquivalenzen in LTL)
1. ¬ X α ≡ X ¬α
2. ¬ G α ≡ F ¬α
3.
Fα ≡ >Uα
4.
X α ≡ X(⊥ U α)
5.
F α ≡ α ∨ X(> U α)
6. α U β ≡ β ∨ (α ∧ X(α U β))
3.1.8
Lemma 3.5
Für jede LTL-Formel α gibt es eine äquivalente Formel α0 ,
die nur aus ⊥, Atomen, →, X und U besteht.
Wir benutzen >, ∧, ∨, ↔, F und G weiterhin als abkürzende
Schreibweisen.
Definition 3.6 (Erfüllbarkeit, Gültigkeit)
Sei ϕ eine LTL-Formel.
ϕ heißt erfüllbar (bezgl. p ),
falls es eine Belegungsfolge π mit π
p
ϕ gibt.
ϕ heißt gültig (bezgl. p ),
falls π p ϕ für alle Belegungsfolgen π gilt.
Wir werden einen Algorithmus zum Test der Gültigkeit von
LTL-Formeln betrachten.
Der Algorithmus muss mit unendlichen Belegungsfolgen umgehen
können.
Soetwas kennt man in der Theoretischen Informatik von
Büchi-Automaten.
Im nächsten Abschnitt werden sie vorgestellt.
3.1.10
Tableau- und Frege-Systeme für LTL
Siehe z.B.
Orna Lichtenstein, Amir Pnueli:
Propositional temporal logics: decidability and completeness
Logic Journal of the IGPL 8(1), pp.55-85, 2000.
Mark Reynolds:
A traditional tree-style tableau for LTL
http://www.csse.uwa.edu.au/∼mark/research/Online/ltlsattabLONG.pdf, 2014
3.1.11
3.2 Büchi-Automaten
3. Temporale Logik
Grundbegriffe linearer Zeitlogik LTL
Büchi-Automaten
Ein Algorithmus für das Gültigkeitsproblem für LTL
Formelauswertung von LTL-Formeln
Weitere temporale Logiken
Büchi-Automaten sind endliche Automaten, die unendliche Wörter
entscheiden.
Wir wiederholen zuerst kurz das Grundwissen über
endliche Automaten (für endliche Wörter)
und lernen dann etwas über
endliche Automaten für unendliche Wörter.
3.2.12
Endliche Automaten für endliche Wörter
Ein endlicher Automat M = (Q, Σ, ∆, q0 , F ) besteht aus
I einer endlichen Menge Q
(Zustände)
I einem endlichen Alphabet Σ
I einer Relation ∆ ⊆ Q × Σ × Q (Zustandsübergänge)
I einem Startzustand q0 ∈ Q
I einer Menge von Endzuständen F ⊆ Q
a
start
Q = {A, B, C , D}
A
a
b
B
a
b
D
b
Σ = {a, b}
∆ = {(A, a, B), (A, b, C ), . . .}
q0 = A
F = {A, D}
C
a
b
3.2.13
Von einem EA akzeptierte Wörter
Ein Wort w = a1 · · · an (ai ∈ Σ) wird vom endlichen Automaten M
akzeptiert,
wenn es eine Zustandsfolge ρ0 ρ1 ρ2 · · · ρn gibt (ρi ∈ Q), so dass
I ρ0 = q0 (die Folge beginnt mit dem Startzustand),
I (ρi−1 , ai , ρi ) ∈ ∆ für 1 ≤ i ≤ n
(die Zustandsübergänge entsprechen dem Wort w ), und
I ρn ∈ F (die Folge endet in einem Endzustand).
a
a
start
A
B
D
b
b
a
b
C
b
a
3.2.14
Reguläre Sprache
Ein EA M = (Q, Σ, ∆, q0 , F ) akzeptiert die Sprache
L(M) = {w ∈ Σ∗ | M akzeptiert w } .
Eine Sprache heißt regulär, wenn sie von einem EA akzeptiert wird.
Ein EA heißt deterministisch, wenn ∆ eine Funktion Q × Σ → Q ist.
Satz 3.7
Die Klasse der regulären Sprachen ist abgeschlossen unter
Nichtdeterminismus, Komplement und Vereinigung.
3.2.15
Zwei äquivalente Entscheidungsprobleme
Definition 3.8 (Nicht-Leerheitsproblem für endliche Automaten)
Das Nicht-Leerheitsproblem für endliche Automaten ist das folgende
Entscheidungsproblem.
gegeben:
gefragt:
ein endlicher Automat M
ist L(M) 6= ∅ ?
Definition 3.9 (Graph-Erreichbarkeitsproblem)
Das Erreichbarkeitsproblem für gerichtete Graphen ist das folgende
Entscheidungsproblem.
gegeben:
gefragt:
gerichteter Graph G , Knoten s und t
hat G einen Pfad von s nach t ?
3.2.16
Algorithmus für das Nicht-Leerheitsproblem
für endliche Automaten
Eingabe: endlicher Automat B = (Q, Σ, ∆, q0 , F )
wähle nichtdeterministisch q ∈ F
s := q0
wiederhole |Q| − 1-mal {
(∗ finde einen Weg von q0 nach q ∗)
wähle nichtdeterministisch v ∈ Q
falls (s, a, v ) ∈ ∆ für ein a ∈ Σ
dann s := v
}
falls s = q
dann akzeptiere
sonst verwirf
Analyse des Algorithmus
1. Der Algorithmus hält bei jeder Eingabe und ist korrekt.
2. Der Wert jeder Variable kann mit log |Q| Bit gespeichert werden.
3. Der Algorithmus ist nichtdeterministisch.
Daraus folgt, dass das Nicht-Leerheitsproblem für endliche Automaten
in NL ist.
Satz 3.10
Das Nicht-Leerheitsproblem für endliche Automaten ist NL-vollständig.
D.h. es ist in NL und jedes NL-Problem lässt sich darauf reduzieren.
3.2.18
Definition 3.11 (Das Leerheitsproblem für endliche Automaten)
Das Leerheitsproblem für endliche Automaten ist das folgende
Entscheidungsproblem.
gegeben:
gefragt:
ein endlicher Automat M
ist L(M) = ∅ ?
Da NL Komplement-abgeschlossen ist,
ist auch das Leerheitsproblem für endliche Automaten in NL.
NP
NC1
L
NL
P
PSPACE
coNP
polynomielle Zeit
logarithmischer Platz polynomieller Platz
3.2.19
Unendliche Wörter
Sei Σ ein Alphabet (also eine endliche Menge und nicht leer).
Σ∗ ist die Menge aller endlichen Wörter über Σ.
Σ∗ ist abzählbar unendlich.
Σω ist die Menge aller unendlichen Wörter über Σ.
(“ω-Wörter”)
Σω ist überabzählbar unendlich.
Noch allgemeiner: sei S eine Menge.
S ∗ = {w1 w2 · · · wm | m ≥ 0 und wi ∈ S für alle i = 1, 2, . . . , m}
S ω = {w1 w2 · · · | wi ∈ S für alle i ≥ 1}
Büchi-Automaten
Endliche Automaten für unendliche Wörter
Ein Büchi-Automat ist ein endlicher Automat M = (Q, Σ, ∆, q0 , F ).
Ein ω-Wort w = a1 a2 · · · (ai ∈ Σ) wird vom Büchi-Automaten M
akzeptiert,
wenn es eine unendliche Zustandsfolge ρ0 ρ1 ρ2 · · · gibt (ρi ∈ Q), so
dass
I
ρ0 = q0 (die Folge beginnt mit dem Startzustand),
I
(ρi−1 , ai , ρi ) ∈ ∆ für alle i ≥ 1
(die Zustandsübergänge entsprechen dem Wort w ), und
I
es gibt unendlich viele i mit ρi ∈ F
(die Folge durchläuft unendlich oft einen Endzustand).
Lω (M) = {w ∈ Σω | M akzeptiert w }
ist die vom Büchi-Automat M akzeptierte Sprache.
3.2.21
Beispiel 1
Σ = {a, b, c}
a, c
b, c
a
M1 :
start
A
B
b
Beispiel 1
Σ = {a, b, c}
a, c
b, c
a
M1 :
start
A
B
b
Lω (M1 ) = {w ∈ Σω | in w kommt nach jedem a irgendwann ein b}
3.2.22
Beispiel 2
Σ = {a, b, c}
b, c
a, b, c
M2 :
start
A
a
B
3.2.23
Beispiel 2
Σ = {a, b, c}
b, c
a, b, c
M2 :
start
A
a
Lω (M2 ) = {w ∈ Σω | in w gibt es ein letztes a}
B
Beispiel 3
Σ = {a, b, c}
b, c
c
a
M3 :
start
A
B
b
3.2.24
Beispiel 3
Σ = {a, b, c}
b, c
c
a
M3 :
start
A
B
b
Lω (M3 ) = {w ∈ Σω | zwischen zwei a in w kommt stets ein b vor}
3.2.24
Beispiele 4 und 5
Σ = {a, b}
a, b
M4 :
start
A
a
a
B
3.2.25
Beispiele 4 und 5
Σ = {a, b}
a, b
M4 :
start
A
a
a
B
Lω (M4 ) = {w ∈ Σω | in w gibt es nur endlich viele b}
3.2.25
Beispiele 4 und 5
Σ = {a, b}
a, b
M4 :
start
A
a
a
B
Lω (M4 ) = {w ∈ Σω | in w gibt es nur endlich viele b}
a
M5 :
start
b
b
A
B
a
3.2.25
Beispiele 4 und 5
Σ = {a, b}
a, b
M4 :
start
A
a
a
B
Lω (M4 ) = {w ∈ Σω | in w gibt es nur endlich viele b}
a
M5 :
start
b
b
A
B
a
Lω (M5 ) = {w ∈ Σω | in w kommen unendlich viele b vor}
Beispiele 4 und 5
Σ = {a, b}
a, b
M4 :
start
A
a
a
B
Lω (M4 ) = {w ∈ Σω | in w gibt es nur endlich viele b}
a
M5 :
start
b
b
A
B
a
Lω (M5 ) = {w ∈ Σω | in w kommen unendlich viele b vor} = Lω (M4 )
Determinismus vs. Nichtdeterminismus
Lemma 3.12
Es gibt keinen deterministischen Büchi-Automaten für
Lω (M4 ) = {w ∈ {a, b}ω | in w gibt es nur endlich viele b}.
Beweis: Sei B ein det. Büchi-Automat mit z Zuständen und Lω (B) ⊇ Lω (M4 ).
Da baaa · · · ∈ Lω (M4 ), gibt es ein r1 ,
so dass B bei Eingabe bar1 in einem Endzustand ist.
Entsprechend gibt es ein Wort bar1 bar2 bar3 . . . barz+1 , so dass B bei Eingabe von
bar1 . . . bari in einem Endzustand ist (für jedes i = 1, 2, . . . , z + 1).
Da B nur z Zustände hat, muss einer dieser Zustände
bei Eingabe von bar1 . . . barx und auch bei Eingabe von bar1 . . . bary (x < y )
erreicht sein.
Dann ist bar1 . . . barx (barx+1 . . . bary )ω ein ω-Wort mit unendlich vielen b,
das von B akzeptiert wird.
Also gilt Lω (B) ) Lω (M4 ).
Folglich gibt es keinen deterministischen Büchi-Automaten für Lω (M4 ).
X
3.2.26
ω-reguläre Sprachen
Sei Σ ein Alphabet.
Eine Teilmenge A ⊆ Σω heißt ω-regulär,
falls es einen Büchi-Automaten B mit A = Lω (B) gibt.
(Mit Büchi-Automat ist ein nichtdeterministischer Büchi-Automat gemeint.)
Lemma 3.13 (Abschlusseigenschaften ω-regulärer Sprachen)
1. Wenn A regulär ist, dann ist Aω ω-regulär.
2. Wenn A regulär und B ω-regulär ist, dann ist A B ω-regulär.
3. Die Klasse der ω-regulären Sprachen ist abgeschlossen unter
Durchschnitt und Komplement.
3.2.27
Abschlusseig. ω-regulärer Sprachen
Der Beweis der Komplementabgeschlossenheit der Klasse der ω-regulärer
Sprachen ist schwierig.
Wichtig ist, dass der Komplement-Automat exponentiell wachsen kann.
Zum Abschluss unter Durchschnitt:
Bezeichne w [i] den Präfix der Länge i von w .
Seien A und B zwei Büchi-Automaten.
Das ω-Wort w wird von A und B akzeptiert genau dann, wenn es eine
unendliche Folge i1 < i2 < i3 < . . . von natürlichen Zahlen gibt, so dass
I für jedes ungerade ` gilt: A erreicht mit w [i` ] einen Endzustand, und
I für jedes gerade ` gilt: B erreicht mit w [i` ] einen Endzustand.
Aus A = (QA , Σ, ∆A , zA , FA ) und B = (QB , Σ, ∆B , zB , FB ) ergibt sich damit
C = (QA × QB × {1, 2}, Σ, ∆C , (zA , zB , 1), FA × QB × {1} ∪ QA × FB × {2})
mit ∆C = {((a, b, i), x, (a0 , b 0 , j)) | (a, x, a0 ) ∈ ∆A und (b, x, b 0 ) ∈ ∆B und
(1) i = 1 und a ∈ FA und j = 2, oder
(2) i = 2 und b ∈ FB und j = 1, oder (3) i = j }
Definition 3.14 (Nicht-Leerheitsproblem für Büchi-Automaten)
Das Nicht-Leerheitsproblem für Büchi-Automaten ist folgendes
Entscheidungsproblem.
gegeben:
gefragt:
ein Büchi-Automat B
ist Lω (B) 6= ∅ ?
Idee zur Lösung des Nicht-Leerheitsproblems:
wenn B ein Wort w akzeptiert,
dann gibt es einen Endzustand, der bei w unendlich oft durchlaufen wird.
Algorithmus dazu:
(1) rate einen Endzustand q, der vom Startzustand erreichbar ist
(2) falls q auf einem Kreis liegt,
dann ist Lω (B) nicht leer
3.2.29
Algorithmus für das Nicht-Leerheitsproblem
für Büchi-Automaten
Eingabe Büchi-Automat B = (Q, Σ, ∆, q0 , F )
wähle nichtdeterministisch q ∈ F
s := q0
wiederhole |Q| − 1-mal {
(∗ finde einen Weg von q0 nach q ∗)
wähle nichtdeterministisch v ∈ Q
falls (s, a, v ) ∈ ∆ für ein a ∈ Σ, dann s := v
}
falls s 6= q dann verwirf (und halte)
wähle nichtdeterministisch v ∈ Q
(∗ finde einen Weg von q nach q, ∗)
falls (s, a, v ) ∈ ∆ für ein a ∈ Σ, dann s := v
(∗ der mindestens eine Kante enthält. ∗)
sonst verwirf (und halte)
wiederhole |Q| − 2-mal
wähle nichtdeterministisch v ∈ Q
falls (s, a, v ) ∈ ∆ für ein a ∈ Σ, dann s := v
}
falls s = q
dann akzeptiere
sonst verwirf
Analyse des Algorithmus
1. Der Algorithmus hält bei jeder Eingabe und ist korrekt.
2. Der Wert jeder Variable kann mit log |Q| Bit gespeichert werden.
3. Der Algorithmus ist nichtdeterministisch.
Satz 3.15
Das Nicht-Leerheitsproblem für Büchi-Automaten ist NL-vollständig.
D.h. es ist in NL und jedes NL-Problem lässt sich darauf reduzieren.
Definition 3.16 (Das Leerheitsproblem für Büchi-Automaten)
Das Leerheitsproblem für Büchi-Automaten ist das folgende
Entscheidungsproblem.
gegeben:
gefragt:
ein Büchi-Automat M
ist Lω (M) = ∅ ?
Da NL Komplement-abgeschlossen ist,
ist auch das Leerheitsproblem für Büchi-Automaten in NL.
Die beiden Probleme sind auch NL-vollständig.
Verallgemeinerte Büchi-Automaten
Ein verallgemeinerter Büchi-Automat B = (Q, Σ, ∆, q0 , F) besteht aus
I
einer endlichen Menge Q (Zustände)
I
einem endlichen Alphabet Σ
I
einer Relation ∆ ⊆ Q × Σ × Q
I
einem Startzustand q0 ∈ Q
I
einer Menge F ⊆ P(Q) aus Teilmengen von Q
Ein ω-Wort w ∈ Σω wird von B akzeptiert,
falls es eine Zustandsfolge s0 , s1 , s2 , . . . gibt, die von B bei Eingabe w
durchlaufen wird,
in der für jedes F ∈ F unendlich viele i mit si ∈ F vorkommen.
Beispiele für verallg. Büchi-Automaten
b
a
a
b
B1 :
start
A
b
b
B2 :
B
start
A
a
B
a
ω
Lω (B1 ) = {w ∈ {a, b} | in w kommen unendlich viele b vor}
Lω (B2 ) = {w ∈ {a, b}ω | in w kommen unendlich viele a vor}
b
a
b
B3 :
start
A
B
a
Lω (B3 ) = {w ∈ {a, b}ω | in w kommen unendl. viele a und unendl. viele b vor}
B3 ist ein verallgemeinerter Büchi-Automat mit F = {A}, {B}}.
3.2.34
Lemma 3.17
Jede ω-Sprache, die von einem verallgemeinerten Büchi-Automaten
akzeptiert wird, wird auch von einem (normalen) Büchi-Automaten
akzeptiert.
Beweisidee:
Sei B = (Q, Σ, ∆, q0 , {F0 , F1 , . . . , F`−1 }) ein verallgemeinerter
Büchi-Automat.
Definiere B̂ = (Q × {0, 1, . . . , ` − 1}, Σ, ∆0 , (q0 , 0), F ) mit
((b, k), x, (b 0 , k 0 )) ∈ ∆0 genau dann, wenn
(b, x, b 0 ) ∈ ∆ (Übergang gemäß B) und
I wenn b ∈ Fk , dann k 0 = (k + 1) mod `; sonst ist k = k 0 .
(Wenn ein Endzustand in Fk erreicht wurde,
dann wird auf einen Endzustand in Fk+1 gewartet.)
S
Schließlich ist F =
Fi × {i}.
I
i=0,1,...,`−1
Es ist nicht zu schwer zu sehen, dass Lω (B) = Lω (B̂).
X
3.2.35
Definition 3.18 (Gültigkeitsproblem für LTL)
Das Gültigkeitsproblem für LTL ist folgendes Entscheidungsproblem.
gegeben:
gefragt:
LTL-Formel ϕ
gilt π p ϕ für jede Belegungsfolge π ?
1. Wir konstruieren einen Büchi-Automat B¬ϕ aus der Formel ¬ϕ,
der alle Belegungsfolgen akzeptiert, die ¬ϕ erfüllen.
2. Nun gilt: ϕ ist gültig genau dann, wenn Lω (B¬ϕ ) = ∅.
Also kann man das Gültigkeitsproblem für LTL-Formeln mit dem
Leerheitsproblem für Büchi-Automaten lösen.
Achtung: hier ist noch unklar,
wie groß B¬ϕ wird.
Diese Größe bestimmt den Aufwand des Algorithmus . . .
3.3.36
Der Büchi-Automat für die LTL-Formel
¬ F(A ∧ G(¬C → X ¬B))
[≡ G(A → F(¬C ∧ X B))]
I
soll z.B. folgende Belegungsfolgen akzeptieren:
{A, B, C }{A, B}{B, C }{A, B, C }{B}{B} · · ·
{A}( {B, C } ∅ {A, B}{A, C } )ω
I
soll z.B. folgende Belegungsfolgen verwerfen:
{A, B}{B}{A}{A, B, C }{A, B} ∅ω
{A}{A}{A}{A}{A}ω
Da er mindestens eine Belegungsfolge akzeptiert,
ist F(A ∧ G(¬C → X ¬B)) keine gültige Formel.
3.3.37
Hintikka-Mengen
Definition 3.19 (Hintikka-Mengen)
Eine Menge Z ⊆ Tf(ϕ) heißt Hintikka-Menge für die LTL-Formel ϕ,
falls gilt:
1. ⊥ 6∈ Z und
2. für alle α → β ∈ Tf(ϕ):
α → β ∈ Z gdw. α 6∈ Z oder β ∈ Z
(insbesondere für alle ¬α ∈ Tf(ϕ) : ¬α ∈ Z gdw. α 6∈ Z ).
Beispiel: für ϕ = A → ¬ X(¬B U A) mit
Tf(ϕ) = {A → ¬ X(¬B U A), A, ¬ X(¬B U A), X(¬B U A), ⊥, ¬B U A, ¬B, B}
sind die folgenden Mengen Hintikka-Mengen.
I C1 = {A → ¬ X(¬B U A), X(¬B U A), ¬B}
I C2 = {A → ¬ X(¬B U A), A, ¬ X(¬B U A), ¬B}
I C3 = {A → ¬ X(¬B U A), A, ¬ X(¬B U A), ¬B U A, ¬B}
I C4 = {A, X(¬B U A), B}
Hintikka-Mengen Z für ϕ sind wie ϕ-maximal-konsistente Mengen.
Beobachtung
Sei ρ eine Belegungsfolge mit ρ
Dann ist {α | α ∈ Tf (ϕ) und ρ
p
p
ϕ.
α} eine Hintikka-Menge für ϕ.
Belegungsfolgen lassen sich entsprechend zu Folgen von
Hintikka-Mengen erweitern.
Definition 3.20 (durch ρ bestimmte Hintikka-Folge für ϕ)
Sei ρ = ρ0 ρ1 . . . eine Belegungsfolge und ϕ eine LTL-Formel.
Die Folge von Hintikka-Mengen Z ρ,ϕ = Z0ρ,ϕ , Z1ρ,ϕ , . . . für ϕ mit
Ziρ,ϕ = {α ∈ Tf(ϕ) | ρi p α} heißt durch ρ bestimmte Hintikka-Folge
für ϕ.
3.3.39
Beispiel:
Sei ϕ = A → X(¬A U ¬B) und ρ = {A, B} {B} {B} {A} ({A, B})ω .
| {z } |{z} |{z} |{z} | {z }
ρ0
ρ1
ρ2
ρ3
ρ4+n
Dann ist
I
Z0ρ,ϕ = {A, B, X(¬A U ¬B), A → X(¬A U ¬B)}}
I
Z1ρ,ϕ = {¬A, B, ¬A U ¬B, X(¬A U ¬B), A → X(¬A U ¬B)}
I
Z2ρ,ϕ = {¬A, B, ¬A U ¬B, X(¬A U ¬B), A → X(¬A U ¬B)}
I
Z3ρ,ϕ = {A, ¬B, ¬A U ¬B}
I
ρ,ϕ
Z4+n
= {A, B}
Welche Eigenschaften hat die Folge Z0ρ,ϕ , Z1ρ,ϕ , Z2ρ,ϕ , . . . ?
I
ρ,ϕ
X α ∈ Ziρ,ϕ gdw. α ∈ Zi+1
I
ρ,ϕ
α U β ∈ Ziρ,ϕ gdw. β ∈ Ziρ,ϕ oder pα ∈ Ziρ,ϕ und α U β ∈ Zi+1
q
I
wenn α U β ∈ Ziρ,ϕ , dann gibt es ein j ≥ i mit β ∈ Zjρ,ϕ
Von Belegungsfolgen zu Hintikka-Folgen
Lemma 3.21
Sei ρ eine Belegungsfolge, ϕ eine LTL-Formel und Z = Z0 Z1 . . . die
durch ρ bestimmte Hintikka-Folge für ϕ. Dann gilt für alle i ≥ 0 und
für alle X α, α U β ∈ Tf (ϕ):
(L1) X α ∈ Zi gdw. α ∈ Zi+1 ,
(L2) α U β ∈ Zi gdw. β ∈ Zi oder pα ∈ Zi und α U β ∈ Zi+1 q,
und
(L3) wenn α U β ∈ Zi , dann gibt es ein j ≥ i mit β ∈ Zj .
Beweis ist ziemlich offensichtlich.
3.3.41
Von Hintikka-Folgen zu Belegungsfolgen
Lemma 3.22
Sei Z = Z0 Z1 Z2 . . . eine unendliche Folge von Hintikka-Mengen für ϕ
mit folgenden Eigenschaften für alle i ≥ 0.
(L1) X α ∈ Zi gdw. α ∈ Zi+1 ,
(L2) α U β ∈ Zi gdw. β ∈ Zi oder pα ∈ Zi und α U β ∈ Zi+1 q,
und
(L3) wenn α U β ∈ Zi , dann gibt es ein j ≥ i mit β ∈ Zj .
Dann gilt für die Belegungsfolge ρ = ρ0 ρ1 ρ2 · · · mit ρi = Zi ∩ At(ϕ),
alle α ∈ Tf (ϕ) und alle i ≥ 0:
ρi p α gdw. α ∈ Zi .
Beweis mittels Induktion über den Formelaufbau von α:
IA: für ⊥ und Atome gilt die Behauptung offensichtlich.
IV: für Bel.folge ρ = ρ0 ρ1 ρ2 · · · mit ρi = Zi ∩ At(ϕ), β, γ ∈ Tf (ϕ) und
alle i ≥ 0 gilt: ρi p β gdw. β ∈ Zi , und ρi p γ gdw. γ ∈ Zi .
IS:
α = β → γ: folgt direkt aus der Semantik von →, der IV und der
Hintikka-Eigenschaft von Zi .
α = X β: folgt direkt aus der Semantik von X, der IV und Eigenschaft
(L1) von Zi und Zi+1 .
α = β U γ:
ρi
p
β U γ gdw. ∃k ≥ i : ρk p γ & ∀j = i, i + 1, . . . , k − 1 : ρj p β
gdw. ∃k ≥ i : γ ∈ Zk & ∀j = i, i + 1, . . . , k − 1 : β ∈ Zj
gdw. ∃k ≥ i : γ ∈ Zk & β U γ ∈ Zk &
∀j = i, i + 1, . . . , k − 1 : β ∈ Zj & β U γ ∈ Zj
gdw. β U γ ∈ Zi
X
3.3.43
Ein verallgemeinerter Büchi-Automat, der
I
die Hintikka-Mengen für ϕ als Zustände hat,
I
vom Startzustand in alle Zustände mit ϕ geht,
I
die Menge aller Belegungen für At(ϕ) als Alphabet benutzt,
I
die Zustandsübergänge gemäß (3.20), (L1) und (L2) macht
(d.h. die durchlaufene Belegungsfolge bestimmt die durchlaufenen
Zustände als Hintikka-Folge), und
I
die Endzustände gemäß (L3),
(plus Extra-Startzustand)
akzeptiert alle ϕ erfüllenden Belegungsfolgen ρ
auf Pfaden, die durch ρ bestimmten Hintikka-Folgen mit (L1)–(L3)
entsprechen.
Beispiel 1: BA1
ϕ = A1
∅
{A1 }
{A1 }
q0
start
{A1 }
{A1 }
{ }
∅
I
I
I
I
I
I
Zustände {q0 } ∪ {Z | Z ⊆ Tf(A1 ) ist Hintikka-Menge}
Alphabet P(At(A1 )) = P({A1 }) = {∅, {A1 }}
der Startzustand hat alle Zustände q mit A1 ∈ q als Nachfolger
alle Zustandsübergänge benutzen die Belegung des Zielzustandes
Endzustände: alle (?)
Lω (BA1 ) = {ρ ∈ (P(At(A1 )))ω | ρ p A1 }
3.3.45
Beispiel 2: B¬(> U ¬(> U A))
ϕ = ¬(> U ¬(> U A)) ≡ G F A
Jeder Zustand Z ⊆ Tf(ϕ) muss folgende Eigenschaften erfüllen.
1. > ∈ Z , da ⊥ 6∈ Z und > ∈ Tf(¬(> U ¬(> U A)))
2. entweder > U A ∈ Z oder ¬(> U A) ∈ Z
3. entweder > U ¬(> U A) ∈ Z oder ¬(> U ¬(> U A)) ∈ Z
4. wenn A ∈ Z , dann > U A ∈ Z und damit ¬(> U A) 6∈ Z
5. wenn ¬(> U A) ∈ Z , dann > U ¬(> U A) ∈ Z und ¬(> U ¬(> U A)) 6∈ Z
Damit ergeben sich folgende 5 Hintikka-Mengen für Zustände von B¬(> U ¬(> U A)) :
>
>
>
>
>
>
>
>
>
A
A
A
A
A
[¬](> U A)
>UA
>UA
¬(> U A)
¬(> U A)
>UA
>UA
¬(> U A)
¬(> U A)
[¬](> U ¬(> U A))
> U ¬(> U A)
¬(> U ¬(> U A))
¬(> U ¬(> U A))
> U ¬(> U A)
> U ¬(> U A)
¬(> U ¬(> U A))
¬(> U ¬(> U A))
> U ¬(> U A)
X
X
geht nicht
X
X
X
geht nicht
geht nicht
3.3.46
Beispiel 2: B¬(> U ¬(> U A))
ϕ = ¬(> U ¬(> U A)) ≡ G F A
Die Zustände von Bϕ sind die 5 Hintikka-Mengen und der Startzustand q0 .
Das Alphabet {∅, {A}} ist die Menge aller Belegungen für das Atom A.
Die Zustandsübergänge müssen folgende Bedingungen erfüllen.
1. wenn (q0 , B, Z 0 ) ∈ ∆, dann ¬(> U ¬(> U A)) ∈ Z 0
2. wenn (Z , {A}, Z 0 ) ∈ ∆, dann A ∈ Z 0
3. wenn (Z , ∅, Z 0 ) ∈ ∆, dann A 6∈ Z 0
4. wenn (Z , B, Z 0 ) ∈ ∆ und > U A ∈ Z und A 6∈ Z , dann > U A ∈ Z 0
5. wenn (Z , B, Z 0 ) ∈ ∆ und > U A 6∈ Z , dann A 6∈ Z und (> 6∈ Z oder) > U A 6∈ Z 0
6. wenn (Z , B, Z 0 ) ∈ ∆ und > U ¬(> U A) ∈ Z und ¬(> U A) 6∈ Z , dann
> U ¬(> U A) ∈ Z 0
7. wenn (Z , B, Z 0 ) ∈ ∆ und > U ¬(> U A) 6∈ Z , dann ¬(> U A) 6∈ Z und
> U ¬(> U A) 6∈ Z 0
Für jede Teilformel α U β von ϕ gibt es eine Menge von Endzuständen.
1. F> U A = {Z | wenn > U A ∈ Z , dann A ∈ Z }
2. F> U ¬(> U A) = {Z | wenn > U ¬(> U A) ∈ Z , dann ¬(> U A) ∈ Z }
B¬(> U ¬(> U A)) :
>
> U ¬(> U A)
>UA
A >
¬(>U¬(>UA))
>UA
{A}
start
A
> U ¬(> U A)
>UA
>
¬(> U A)
> U ¬(> U A)
>
>UA
¬(>U¬(>UA))
>
∅
q0
Die Zustandsübergänge müssen folgende Bedingungen erfüllen.
1. wenn (q0 , B, Z 0 ) ∈ ∆, dann ¬(> U ¬(> U A)) ∈ Z 0
2. wenn (Z , {A}, Z 0 ) ∈ ∆, dann A ∈ Z 0
3. wenn (Z , ∅, Z 0 ) ∈ ∆, dann A 6∈ Z 0
4. wenn (Z , B, Z 0 ) ∈ ∆ und > U A ∈ Z , dann A ∈ Z oder (> ∈ Z und) > U A ∈ Z 0
5. wenn (Z , B, Z 0 ) ∈ ∆ und > U A 6∈ Z , dann A 6∈ Z und (> 6∈ Z oder) > U A 6∈ Z 0
6. wenn (Z , B, Z 0 ) ∈ ∆ und > U ¬(> U A) ∈ Z ,
dann ¬(> U A) ∈ Z oder > U ¬(> U A) ∈ Z 0
7. wenn (Z , B, Z 0 ) ∈ ∆ und > U ¬(> U A) 6∈ Z ,
dann ¬(> U A) 6∈ Z und > U ¬(> U A) 3.3.48
6∈ Z 0
Definition 3.23 (durch ϕ bestimmter Büchi-Automat Bϕ )
Sei ϕ eine LTL-Formel.
Dann ist Bϕ = (Q, Σ, ∆, q0 , F) der verallgemeinerte Büchi-Automat mit
Q = q0 ∪ Z ⊆ Tf(ϕ) | Z ist eine Hintikka-Menge für ϕ ,
= P(At(ϕ)),
F = Fα U β | α U β ∈ Tf(ϕ) ∪ Q mit
Fα U β = q ∈ Q − {q0 } | wenn α U β ∈ q, dann β ∈ q und
∆ = (q0 , B, R) | ϕ ∈ R und B = R ∩ At(ϕ)
∪ (L, B, R) | L 6= q0 und R 6= q0 und B = R ∩ At(ϕ) und
für alle X α ∈ Tf(ϕ) : X α ∈ L gdw. α ∈ R, und
für alle α U β ∈ Tf(ϕ) : α U β ∈ L gdw.
(1) β ∈ L oder (2) α ∈ L und α U β ∈ R
.
Σ
Lemma 3.24
Bϕ akzeptiert genau die Belegungsfolgen ρ ∈ (P(At(ϕ)))ω mit ρ
p
ϕ.
Beweis:
“⇒”: Die Belegungsfolge ρ = ρ0 ρ1 . . . werde von Bϕ mit dem
Berechnungspfad q0 , Z0 , Z1 , . . . akzeptiert.
Behauptung 2
Für alle α ∈ Tf (ϕ) und alle i ≥ 0 gilt: ρi
Da ϕ ∈ Z0 , folgt ρ
p
p
α gdw. α ∈ Zi .
ϕ.
“⇐”: Wenn ρ p ϕ, dann kann Bϕ bei Eingabe ρ den Berechnungspfad
q0 , Z0ρ,ϕ , Z1ρ,ϕ , . . . entsprechend der durch ρ bestimmten Hintikka-Folge für ϕ
durchlaufen.
Behauptung 3
q0 , Z0ρ,ϕ , Z1ρ,ϕ , . . . ist ein akzeptierender Berechnungspfad von Bϕ bei
Eingabe ρ.
Folglich wird ρ von Bϕ akzeptiert.
X
Beweis der Behauptung 3
Behauptung 3, formaler
ρ,ϕ
(1) (q0 , ρ0 , Z0ρ,ϕ ) ∈ ∆ und (Ziρ,ϕ , ρi+1 , Zi+1
) ∈ ∆ für alle i ≥ 0.
(2) Sei F = {F1 , . . . , Fk } die Menge der Endzustandsmengen von Bϕ .
Für jedes j = 1, 2, . . . , k und jedes i ≥ 0 gilt: es gibt ein p ≥ i mit
Zpρ,ϕ ∈ Fj .
Alle Ziρ,ϕ sind Hintikka-Mengen.
Außerdem erfüllen sie “β ∈ Ziρ,ϕ ⇒ α U β ∈ Ziρ,ϕ ” für alle
α U β ∈ Tf(ϕ), da β ∈ Ziρ,ϕ ⇒ ρi p β ⇒ ρi p α U β ⇒ α U β ∈ Ziρ,ϕ .
zu (1): (q0 , ρ0 , Z0ρ,ϕ ) ∈ ∆,
da Z0ρ,ϕ eine Hintikka-Menge ist und ρ0 = Z0ρ,ϕ ∩ At(ϕ) ist.
ρ,ϕ
ρ,ϕ
(Ziρ,ϕ , ρi+1 , Zi+1
) ∈ ∆, da Ziρ,ϕ und Zi+1
Hintikka-Mengen sind und
nach Lemma 3.21 die Eigenschaften (L1) und (L2) erfüllen.
3.3.51
zu (2): Sei Fj die Endzustandsmenge für α U β ∈ Tf(ϕ).
Wenn α U β 6∈ Ziρ,ϕ , dann ist Ziρ,ϕ ∈ Fj .
Sei α U β ∈ Ziρ,ϕ .
Dann folgt ρi p α U β (da Z ρ,ϕ durch ρ bestimmt wird)
und folglich gibt es ein p ≥ i mit ρp p β (Semantik von U).
Dann ist β ∈ Zpρ,ϕ und damit ist Zpρ,ϕ ∈ Fj .
X
3.3.52
Beweis der Behauptung 2
Behauptung 2
Für alle α ∈ Tf(ϕ) und alle i ≥ 0 gilt: ρi
p
α gdw. α ∈ Zi .
Wir beweisen die Behauptung induktiv über den Formelaufbau.
IA: Für α = ⊥ gilt ρi 6 p ⊥ und ⊥ 6∈ Zi , da Zi Hintikka-Menge ist.
Für α = A gilt
ρi p A gdw. A ∈ ρi (Semantik der Erfüllung von Atomen)
gdw. A ∈ Zi (wenn (L, ρi , R) ∈ ∆, dann ρi = R ∩ At(ϕ))
IV: die Behauptung gilt für Formeln β und γ in Tf(ϕ).
IS: zu zeigen: die Behauptung gilt auch für β → γ, X β und β U γ.
(1) ρi
p
β→γ
gdw.
gdw.
gdw.
ρi 6 p β oder ρi p γ
β 6∈ Zi oder γ ∈ Zi
β → γ ∈ Zi
(Semantik von →)
(IV)
(Zi ist Hintikka-Menge)
3.3.53
(2) ρi
p
Xβ
gdw.
gdw.
gdw.
ρi+1 p β
β ∈ Zi+1
X β ∈ Zi
(Semantik von X)
(IV)
(für alle (L, ρi , R) ∈ ∆ gilt
(3) ρi p β U γ
gdw. ∃j ≥ i : ρj p γ
und für l = i, i + 1, . . . , j − 1: ρl
X β ∈ L gdw. β ∈ R)
(Semantik von U)
p
β
gdw.
∃j ≥ i : γ ∈ Zj
und für l = i, i + 1, . . . , j − 1: β ∈ Zl
(IV)
gdw.
∃j ≥ i : γ ∈ Zj und β U γ ∈ Zj
und für l = i, i + 1, . . . , j − 1: β ∈ Zl
(γ ∈ Zj ⇒ β U γ ∈ Zj )
gdw.
(∗) ∃j ≥ i : γ ∈ Zj und β U γ ∈ Zj
(γ ∈ Zj ⇒ β U γ ∈ Zj )
und für l = i, i + 1, . . . , j − 1: β ∈ Zl und β U γ ∈ Zl
(β ∈ Zl & β U γ ∈ Zl+1 ⇒ β U γ ∈ Zl )
Offensichtlich folgt β U γ ∈ Zi aus (∗).
Damit ist ρi p β U γ ⇒ β U γ ∈ Zi gezeigt.
3.3.54
Es bleibt noch zu zeigen: β U γ ∈ Zi ⇒ (∗).
Sei β U γ ∈ Zi .
Da ρ von Bϕ akzeptiert wird,
gibt es unendlich viele r mit Zr ∈ Fβ U γ .
Sei j das kleinste solche r mit r ≥ i.
Da für (L, B, R) ∈ ∆ gilt,
dass “β U γ ∈ L ⇔ γ ∈ L oder pβ ∈ L und β U γ ∈ R q”,
sind β und β U γ in Zi , . . . , Zq−1
und β U γ, γ ∈ Zj .
Also folgt (∗) aus β U γ ∈ Zi .
Insgesamt ist damit β U γ ∈ Zi ⇒ ρi
p
α gezeigt.
X
3.3.55
LTL-Gültigkeit und das Leerheitsproblem
für Büchi-Automaten
Aus Lemma 3.24 folgt direkt
Satz 3.25
Sei ϕ eine LTL-Formel.
Dann ist ϕ gültig genau dann, wenn Lω (B¬ϕ ) = ∅.
Damit ergibt sich der folgende Algorithmus für das Gültigkeitsproblem
für LTL.
3.3.56
Algor. für das Komplement des Gültigkeitsproblems für LTL
Eingabe: LTL-Formel ϕ
sei B¬ϕ der gemäß Definition 3.23 durch ¬ϕ bestimmte verallgem. Büchi-Automat
und B̂¬ϕ = (Q, Σ, ∆, q0 , F ) der aus B¬ϕ gemäß Lemma 3.17 bestimmte Büchi-A.
wähle nichtdeterministisch q ∈ F
x := q0
wiederhole |Q| − 1-mal
(∗ Finde einen Weg von q0 nach q. ∗)
wähle nichtdeterministisch v ∈ Q
falls (x, a, v ) ∈ ∆ für ein a ∈ Σ, dann x := v
falls x 6= q dann verwirf (und halte)
wähle nichtdeterministisch v ∈ Q
(∗ Finde einen Weg von q nach q, ∗)
falls (x, a, v ) ∈ ∆ für ein a ∈ Σ, dann x := v (∗ der mindestens eine Kante enthält. ∗)
sonst verwirf (und halte)
wiederhole |Q| − 2-mal
wähle nichtdeterministisch v ∈ Q
falls (x, a, v ) ∈ ∆ für ein a ∈ Σ, dann x := v
falls x = q
dann akzeptiere
sonst verwirf
Die Bedingung falls (x, a, v ) ∈ ∆ für ein a ∈ Σ“ kann im Prinzip wie
”
folgt überprüft werden
x und v Paare aus Hintikka-Mengen und Zahlen (entsprechend dem Beweis von
Lemma 3.17); wir fassen sie hier vereinfachend als Hintikka-Mengen auf):
1. teste, ob {α | X α ∈ x} ⊆ v
(L1)
2. teste, ob {α U β | α U β ∈ x & β 6∈ x} ⊆ v
(L2)
Man kann also den Algorithmus ausführen, ohne die Büchi-Automaten
B¬ϕ und B̂¬ϕ vollständig aufzuschreiben.
3.3.58
Analyse des Algorithmus
Der Algorithmus akzeptiert Eingabe ϕ, falls der Büchi-Automat, der alle ¬ϕ
erfüllenden Belegungsfolgen akzeptiert, mindestens eine Belegungsfolge
akzeptiert.
D.h. der Algorithmus akzeptiert Eingabe ϕ gdw. ϕ nicht gültig ist.
I Die Menge Q hat Größe |Q| ∈ O(22|ϕ| ),
deshalb benötigt die Variable x Speicherplatz O(|ϕ|).
I Der Algorithmus ist also ein nichtdeterministischer Algorithmus,
der polynomiellen Speicherplatz benötigt.
I
Damit haben wir:
das Komplement des Gültigkeitsproblems für LTL ist in NPSPACE.
PSPACE = NPSPACE (nichtdet. Algorithmen kann man in det. Algorithmen umformen,
wobei sich der Speicherverbrauch quadriert (Satz von Savitch))
und PSPACE ist unter Komplement abgeschlossen.
Damit ergibt sich schließlich
Satz 3.26
Das Gültigkeitsproblem für LTL ist in PSPACE.
Komplexitätsresultate
Alle aufgeführten Resultate sind Vollständigkeits-Resultate.
Erfüllbarkeit /
Gültigkeit
Formelauswertung
LTL
CTL
CTL+
CTL?
PSPACE
EXPTIME
EEXPTIME
EEXPTIME
[SC85]
[FL79,Pr80]
[JL03]
[VS85]
PSPACE
P
∆p2
PSPACE
[SC85]
[CES86,Sc02]
[LMS01]
[CES86]
NP
∆p2
P
PSPACE
EXPTIME
EEXPTIME
coNP
S
k
O(nk )
Zeit
S
O(nk )
Platz
k
S
k
k
O(2n )
Zeit
S
nk
k
O(22 )
Zeit
3.3.60
Komplexitätsresultate
Alle aufgeführten Resultate sind Vollständigkeits-Resultate.
Erfüllbarkeit /
Gültigkeit
Formelauswertung
Literatur:
[FL79]
[Pr80]
[VS85]
[SC85]
[CES86]
[Sc02]
[LMS01]
[JL03]
LTL
CTL
CTL+
CTL?
PSPACE
EXPTIME
EEXPTIME
EEXPTIME
[SC85]
[FL79,Pr80]
[JL03]
[VS85]
PSPACE
P
∆p2
PSPACE
[SC85]
[CES86,Sc02]
[LMS01]
[CES86]
Fischer, Ladner 1979
Pratt 1980
Vardi, Stockmeyer 1985
Sistla, Clarke 1985
Clarke, Emerson, Sistla 1986
Schnoebelen 2002
Laroussinie, Markey, Schnoebelen 2001
Johannsen, Lange 2003
3.3.60
3.4 Das Formelauswertungsproblem von
LTL
3. Temporale Logik
Grundbegriffe linearer Zeitlogik LTL
Büchi-Automaten
Ein Algorithmus für das Gültigkeitsproblem für LTL
Formelauswertung von LTL-Formeln
Weitere temporale Logiken
Um Formeln für einen Belegungspfad auswerten zu können, muss man
sich auf eine Darstellung von Pfadeb festlegen.
Dazu geht man von Pfaden zu Graphen und definiert eine Semantik für
LTL auf Kripke-Modellen.
Kripke-Semantik für LTL-Formeln
Definition 3.27 (Erfüllungsrelation
K
für LTL-Formeln)
Sei M = (W , R, ξ) ein Kripke-Modell, w ∈ W und ϕ eine LTL-Formel.
M, w K ϕ, falls für jeden unendlichen Pfad P = w , w1 , w2 , . . . durch
(W , R), der in w beginnt, gilt, dass ξ(w )ξ(w1 )ξ(w2 ) . . . p ϕ.
Definition 3.28 (Erfüllbarkeit, Gültigkeit)
Sei ϕ eine LTL-Formel.
ϕ heißt erfüllbar, falls es ein Kripke-Modell M mit Welt w gibt, so dass
M, w K ϕ.
ϕ heißt gültig ( K ϕ), falls M, w
Welt w in M gilt.
K
ϕ für jedes Kripke-Modell M und jede
Die unter Pfad-Semantik gültigen LTL-Formeln sind genau die unter
Kripke-Semantik gültigen LTL-Formeln.
Beispiel
s0
n1 n2
s1
M, s0 K G ¬(b1 ∧ b2 )
(Sicherheit)
M, s0 6 K G (a1 → F b1 )
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
3.4.63
Beispiel
M, s0
K
G (a1 → F b1 )
(Lebendigkeit)
M, s0
K
M, s0
K
s0
n1 n2
a1 n2
n1 a2
G (a1 → (a1 U b1 ))
b1 n2
G ( (a1 ∧ b2 )
→ X(¬b2 U b1 ) )
a1 a2
b1 a2
a1 a2
n1 b2
a1 b2
3.4.64
Das Formelauswertungsproblem für LTL
Definition 3.29 (Formelauswertungsproblem für LTL)
gegeben:
gefragt:
Kripke-Modell M = (W , R, ξ), Welt s ∈ W , LTL-Formel ϕ
gilt M, s K ϕ
Das Problem lässt sich mit einer Erweiterung unserer Lösung für das
Gültigkeitsproblem lösen.
1. Wir konstruieren einen Büchi-Automat BM,s aus dem Kripke-Modell
M, der alle Belegungsfolgen π ξ = ξ(ρ0 )ξ(ρ1 ) · · · akzeptiert, die Pfaden
π = ρ0 ρ1 · · · durch M mit Startpunkt ρ0 = s entsprechen.
2. Wir konstruieren einen Büchi-Automat B¬ϕ aus der Formel ¬ϕ,
der alle ω-Belegungen akzeptiert, die ¬ϕ erfüllen (wie in Def. 3.23).
3. Nun gilt M, s K ϕ genau dann, wenn Lω (BM,s ) ∩ Lω (B¬ϕ ) = ∅.
Also kann man das Formelauswertungsproblem für LTL-Formeln mit
dem Leerheitsproblem für Büchi-Automaten lösen.
Belegungsfolgen aus Kripke-Modellen
Beispiel
Der Büchi-Automat für das Kripke-Modell M mit Welt s
s
A
soll z.B. folgende Belegungsfolgen
A
A, B
I
akzeptieren:
{A}{C }{A}{A, C }{B, C }{A} · · ·
{A}( {B, C }{C }{A, B}{A, C } )ω
I
verwerfen:
{A}{C }{B}{A, C }{B, C } · · ·
B, C
C
A, C
3.4.66
Belegungsfolgen aus LTL-Formeln
Beispiel
Der Büchi-Automat für die LTL-Formel
¬ F(A ∧ G(¬C → X ¬B))
[≡ G(A → F(¬C ∧ X B))]
I
soll folgende Belegungsfolgen akzeptieren:
{A, B, C }{A, B}{B, C }{A, B, C }{B}{B} · · ·
{A}( {B, C }{C }{A, B}{A, C } )ω
I
soll folgende Belegungsfolgen verwerfen:
{A, B}{B}{A}{A, B, C }{B}{B}∅ω · · ·
{A}{A}{A}{A}{A} · · ·
3.4.67
Formelauswert. mit den beiden Automaten
Beispiel
Der Büchi-Automat für
s
A
B, C
C
und der Büchi-Automat für
¬ F(A ∧ G(¬C → X ¬B)) akzeptiert
{A}( {B, C }{C }{A, B}{A, C } )ω .
A
A, B
akzeptiert also
{A}( {B, C }{C }{A, B}{A, C } )ω
A, C
Also gilt M, s 6 K F(A ∧ G(¬C → X ¬B)),
weil {A}( {B, C }{C }{A, B}{A, C } )ω 6 p F(A ∧ G(¬C → X ¬B)).
Büchi-Automaten aus Kripke-Modellen
Beispiel für M, s und BM,s
s
s
start
A
{A}
B, C
C
{C }
{A, C }
{A}
A, C
Kripke-Modell M mit Welt s
{A}
{B, C }
{C }
A
A, B
{B, C }
{A}
{A, B}
Büchi-Automat BM,s
mit Lω (BM,s ) =
ξ
{π | π ist Pfad durch M aus s}
3.4.69
Büchi-Automaten aus Kripke-Modellen
formal
Sei ϕ eine LTL-Formel.
Sei M = (W , R, ξ) eine Kripke-Modell mit Welt s ∈ W ,
und ξ : W → P(At(ϕ)).
(ξ(w ) ist eine Belegung.)
Definiere BM,s = (Q, Σ, ∆, s0 , F ) als Büchi-Automat mit
Q
Σ
∆
s0
F
=
=
=
=
=
W
P(At(ϕ))
{(w , ξ(w ), w 0 ) | (w , w 0 ) ∈ R}
s
Q
Lemma 3.30
Lω (BM,s ) = {π ξ | π ist unendlicher Pfad durch M mit Startpunkt s}.
Der Algorithmus
Offensichtlich gilt
Satz 3.31
Sei M = (W , R, ξ) ein Kripke-Modell, s ∈ W , und ϕ eine LTL-Formel.
Dann gilt M, s K ϕ genau dann, wenn Lω (BM,s ) ∩ Lω (B¬ϕ ) = ∅.
Idee für den Formelauswertungs-Algorithmus:
Um Lω (BM,s ) ∩ Lω (B¬ϕ ) = ∅ zu entscheiden,
baut man einen Büchi-Automaten BM,s,ϕ mit Lω (BM,s,ϕ ) = Lω (BM,s ) ∩ Lω (B¬ϕ )
und entscheidet dafür das Leerheitsproblem.
Die Konstruktion des Schnittmengen-Automaten ist hier einfacher als üblich, da
BM,s nur Endzustände hat.
Sei B¬ϕ = (Q, Σ, ∆, q0 , {F0 , . . . , F`−1 }) gemäß Definition 3.23.
Dann ist BM,s,ϕ = (W × Q, Σ, ∆0 , (s, q0 ), {W × F0 , . . . , W × F`−1 }) mit
((a, b), x, (a0 , b 0 )) ∈ ∆0 genau dann, wenn
I
(a, a0 ) ∈ R und x = ξ(a) (Übergang gemäß BM,s ), und
I
(b, x, b 0 ) ∈ ∆ (Übergang gemäß B¬ϕ ).
3.4.71
Algorithmus fürs Formelauswertungsproblem für LTL
Eingabe Kripke-Modell M = (W , R, ξ), Welt s ∈ W , LTL-Formel ϕ
sei BM,s,ϕ ein verallgemeinerter Büchi-Automat wie eben beschrieben
und B̂M,s,ϕ = (Q, Σ, ∆, q0 , F ) der gemäß Lemma 3.17 daraus bestimmte Büchi-A.
wähle nichtdeterministisch q ∈ F
x := q0
wiederhole |Q| − 1-mal
(∗ Finde einen Weg von q0 nach q. ∗)
wähle nichtdeterministisch v ∈ Q
falls (x, a, v ) ∈ ∆ für ein a ∈ Σ, dann x := v
falls x 6= q dann verwirf (und halte)
wähle nichtdeterministisch v ∈ Q
(∗ Finde einen Weg von q nach q, ∗)
falls (x, a, v ) ∈ ∆ für ein a ∈ Σ, dann x := v (∗ der mindestens eine Kante enthält. ∗)
sonst verwirf (und halte)
wiederhole |Q| − 2-mal
wähle nichtdeterministisch v ∈ Q
falls (x, a, v ) ∈ ∆ für ein a ∈ Σ, dann x := v
falls x = q
dann akzeptiere
sonst verwirf
Analyse des Algorithmus
Der Algorithmus akzeptiert Eingabe M, s, ϕ genau dann, wenn es einen Weg
π aus s durch M gibt, so dass π ξ p ¬ϕ.
D.h. der Algorithmus akzeptiert Eingabe M, s, ϕ genau dann, wenn M, s 6 p ϕ.
Also entscheidet er das Komplement des Formelauswertungsproblems.
I Die Menge Q hat Größe |Q| ∈ O(|W | · 22|ϕ| ), deshalb benötigt die Variable x
Speicherplatz O(|W | + |ϕ|).
I Der Algorithmus ist also ein nichtdeterministischer Algorithmus, der
polynomiellen Speicherplatz benötigt.
I
Damit haben wir:
das Komplement des Formelauswertungsproblems für LTL ist in NPSPACE.
PSPACE = NPSPACE (nichtdet. Algorithmen kann man in det. Algorithmen umformen,
wobei sich der Speicherverbrauch quadriert (Satz von Savitch))
und PSPACE ist unter Komplement abgeschlossen.
Damit ergibt sich schließlich
Satz 3.32
Das Formelauswertungsproblem für LTL ist in PSPACE.
3.5 Weitere Zeitlogiken
Erweiterung von LTL um Pfadquantoren
3. Temporale Logik
Grundbegriffe linearer Zeitlogik LTL
Büchi-Automaten
Ein Algorithmus für das Gültigkeitsproblem für LTL
Formelauswertung von LTL-Formeln
Weitere temporale Logiken
Computation tree logic (CTL) kennt nur noch Kripke-Semantik (keine
Pfad-Semantik auf Belegungsfolgen mehr) und erlaubt Quantifizierung
von Pfaden durch Kripke-Modelle mit den Pfad-Quantoren E und A.
Wir geben nur einen kurzen informellen Einblick.
3.5.74
Beispiel
E . . . es gibt einen Pfad mit der aktuellen Welt als Startpunkt
A . . . für alle Pfade mit der aktuellen Welt als Startpunkt
M, s0
E(G ¬b2 )
M, s0
E(G(¬b2 ∧ E(F b2 )))
M, s0
¬ E(F(b1 ∧ b2 ))
M, s0
A(G(¬b1 ∨ ¬b2 ))
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
3.5.75
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
3.5.76
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
3.5.76
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
3.5.76
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
Temporale Logiken
LTL: linear-time temporal logic
I Formeln mit temporalen Operatoren, ohne Pfad-Quantoren
F(G x → y U z)
I gültige Formel wird in jedem Modell auf jedem Pfad erfüllt
I Modell erfüllt Formel,
wenn sie auf jedem Pfad aus s durchs Modell erfüllt wird
CTL: computation tree logic, branching-time temporal logic
I Formeln mit kombinierten Pfad-Quantoren und temporalen
Operatoren
AF(EGx → A(y U z))
CTL+ :
I
Formeln mit alternierenden Pfad-Quantoren und temporalen
Operatoren
E(G x → (y U(A(x ∧ F z))))
CTL? :
I
Formeln mit Pfad-Quantoren und temporalen Operatoren
A(F x ∧ E(G F x → (y U z)))
Komplexitätsresultate
Erfüllbarkeit /
Gültigkeit
LTL
CTL
CTL+
CTL?
PSPACE
EXPTIME
EEXPTIME
EEXPTIME
[SC85]
[FL79]
[JL03]
[VS85]
[Pr80]
Formelauswertung
PSPACE
P
∆p2
PSPACE
[SC85]
[CES86]
[LMS01]
[CES86]
[Sc02]
NP
∆p2
P
PSPACE
EXPTIME
EEXPTIME
coNP
S
k
O(nk )
Zeit
S
O(nk )
Platz
k
S
k
k
O(2n )
Zeit
S
nk
k
O(22 )
Zeit
3.5.78
Komplexitätsresultate
Erfüllbarkeit /
Gültigkeit
LTL
CTL
CTL+
CTL?
PSPACE
EXPTIME
EEXPTIME
EEXPTIME
[SC85]
[FL79]
[JL03]
[VS85]
[Pr80]
Formelauswertung
PSPACE
P
∆p2
PSPACE
[SC85]
[CES86]
[LMS01]
[CES86]
[Sc02]
Literatur:
[FL79]
[Pr80]
[VS85]
[SC85]
[CES86]
[Sc02]
[LMS01]
[JL03]
Fischer, Ladner 1979
Pratt 1980
Vardi, Stockmeyer 1985
Sistla, Clarke 1985
Clarke, Emerson, Sistla 1986
Schnoebelen 2002
Laroussinie, Markey, Schnoebelen 2001
Johannsen, Lange 2003
3.5.78
Herunterladen