Der Sequenzenkalkül

Werbung
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Der Sequenzenkalkül
Charakterisierung der logischen Schlussfolgerung: Sequenzenkalkül
für die Prädikatenlogik
Sequenzen sind von der Form Γ =⇒ ∆, wobei Γ als Konjunktion
und ∆ als Disjunktion angesehen wird
Sequenz ist gültig, falls alle Interpretation, die alle Formeln in Γ
erfüllen, eine Formel in ∆ erfüllen
Sequenzenkalkül für FO ist Erweiterung des Sequenzenkalküls für
Aussagenlogik; alle Axiome und Regeln dessen bleiben bestehen.
Noch zu klären: wie geht man mit Quantoren um?
138
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Kontraktion
hier Antezedens und Sukzedens wirklich Multimengen
Sequenzenkalkül für FO hat Kontraktionsregeln
Γ, ϕ, ϕ =⇒ ∆
Γ, ϕ =⇒ ∆
(KontrL )
Γ =⇒ ∆, ϕ, ϕ
Γ =⇒ ∆, ϕ
(KontrR )
in Beweisen manchmal notwendig, Voraussetzungen mehrfach zu
benutzen, z.B. in ∀x (P(x) ∧ Q(x)) → ∃x ∃y .P(x) ∧ Q(y )
139
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Regeln für die Quantoren
Wie beweist man intuitiv eine existentielle Aussage ∃x ϕ? Man
gibt explizit einen Zeugen (Instanziierung) von x an und beweist ϕ
für diesen.
Wie beweist man intuitiv eine universelle Aussage ∀x ϕ? Man sagt,
dass x beliebig instanziiert ist und beweist ϕ dafür, ohne
irgendwelche weiteren Annahmen darüber zu machen.
Im Sequenzenkalkül in Sukzedentien:
• existentiell quantifizierte Variablen durch Grundterme ersetzen
• universell quantifizierte Variablen durch neue
Konstantensymbole ersetzen
Vorgehen in Antezedentien dann dual wegen ¬∃x ϕ ≡ ∀x ¬ϕ.
140
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Die Regeln für Quantoren
Γ =⇒ ∆, ϕ[t/x]
Γ =⇒ ∆, ∃x ϕ
Γ =⇒ ∆, ϕ[c/x]
Γ =⇒ ∆, ∀x ϕ
(∃R )
Γ, ϕ[t/x] =⇒ ∆
Γ, ∀x ϕ =⇒ ∆
(∀L )
(∀R )
Γ, ϕ[c/x] =⇒ ∆
Γ, ∃x ϕ =⇒ ∆
(∃L )
wobei
• c jeweils neues Konstantensymbol ist, welches auf dem Pfad
von der Wurzel des Beweises zur aktuellen Sequenz nirgendwo
vorkommt
• t jeweils Grundterm ist!
141
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Beispiele
Sind die folgenden Sequenzen beweisbar? Wie sehen die Beweise /
Beweisversuche aus?
1
∀x (P(x) ∧ Q(x)) =⇒ ∃x ∃y .P(x) ∧ Q(y )
2
∀x (P(x) → P(f (x))) =⇒ ∀x.P(x) → P(f (f (x)))
3
P(0), ∀x (P(x) → P(x + 1)) =⇒ ∀x P(x)
4
N(0), ∀x (N(x) → N(s(x))), P(0), ∀x (P(x) → P(s(x))) =⇒
∀x (N(x) → P(x))
beachte: bei (3) und (4) müsste man noch voraussetzen, dass jedes
c durch endliche Anwendung von s oder +1 von 0 aus erreichbar
ist
142
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Sinn der Einschränkungen
ohne obige Einschränkungen an die Regelanwendungen für
Quantoren ist der Sequenzenkalkül nicht korrekt
finde jeweils ungültige Sequenzen, die aber beweisbar werden, wenn
• bei Regel (∃R ) oder (∀L ) ein beliebiger Term eingesetzt
werden dürfte
• bei Regel (∃L ) oder (∀R ) eine Konstante, die bereits
verwendet wurde, eingesetzt werden dürfte
143
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Korrektheit der Regeln
Lemma 1: Alle Axiome sind gültig.
Lemma 2: Für alle Beweisregeln gilt: wenn alle Prämissen gültig
sind, so ist auch die Konklusion gültig.
Beweis: Exemplarisch für (∃R ) und (∀R ).
Fall (∃R ): Sei Γ =⇒ ∆, ∃x.ϕ nicht gültig. Dann gibt es
Interpretation I, so dass I |= γ für jedes γ ∈ Γ und I �|= ψ für
jedes ψ ∈ ∆ ∪ {∃x.ϕ}. Sei I = (A, ϑ) und A = (A, τ ).
Insbesondere gibt es kein a ∈ A, so dass A, ϑ[x �→ a] |= ϕ.
Beachte: Für jeden Grundterm t ist [[t]]A
ϑ ∈ A. Also gibt es auch
keinen Grundterm t, so dass A, ϑ[x �→ [[t]]A
ϑ ] |= ϕ. Somit widerlegt
I die Gültigkeit der Prämisse Γ =⇒ ∆, ϕ[t/x] für jeden Term t.
144
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Korrektheit der Regeln
Fall (∀R ): Angenommen die Konklusion Γ =⇒ ∆, ∀x.ϕ ist
ungültig. Dann gibt es Interpretation I = (A, ϑ) mit A = (A, τ ),
so dass I |= γ für alle γ ∈ Γ und I �|= ψ für alle ψ ∈ ∆ ∪ {∀x.ϕ}.
Insbesondere gibt es dann ein a ∈ A, so dass A, ϑ[x �→ a] �|= ϕ. Sei
nun c ein neues Konstantensymbol und
• τ � = (τ, c),
�
• A� wie A, jedoch mit c A = a,
• I � = (A� , ϑ).
Dann widerlegt I � die Gültigkeit der Prämisse Γ =⇒ ∆, ϕ[c/x].
Beachte: Der letzte Schritt wäre i.A. nicht richtig, falls c in Γ, ∆
oder ϕ vorkäme.
145
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Korrektheit des Sequenzenkalküls
Theorem 23
Ist Γ =⇒ ∆ beweisbar im Sequenzenkalkül, dann ist Γ =⇒ ∆
gültig.
Beweis: Per Induktion über die Höhe h eines Beweises für
Γ =⇒ ∆.
Induktionsanfang, h = 0. Dann ist Γ =⇒ ∆ Instanz eines Axioms
und nach Lemma 1 somit gültig.
Induktionsschritt, h > 0. Dann wird auf die Wurzel eine
Beweisregel angewandt, die Prämissen P1 und evtl. noch P2 hat.
Diese sind offensichtlich beweisbar mit Beweisen der Höhe
höchstens h − 1. Nach der Induktionshypothese sind diese dann
gültig. Nach Lemma 2 ist auch die Konklusion gültig.
146
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Sequenzen von Sätzen
Lemma: Seien Γ, ∆ Formelmengen mit x �∈ frei(ϕ) für alle
ϕ ∈ Γ ∪ ∆.
a) Γ =⇒ ∆, ψ ist gültig gdw. Γ =⇒ ∆, ∀x.ψ gültig ist.
b) Γ, ψ =⇒ ∆ ist gültig gdw. Γ, ∃x.ψ =⇒ ∆ gültig ist.
Beweis: Nur (a), Teil (b) analog. Die Aussage gilt offensichtlich,
falls x �∈ frei(ψ). Angenommen, Γ =⇒ ∆, ∀x.ψ ist ungültig �
und
x ∈ frei(ψ).
� Dann ex. I = (A, ϑ) mit A = (A, τ ) und I |= Γ
und I �|= ∆ ∪ {∀x.ψ}. Insbesondere gibt es ein a ∈ A, so dass
A, ϑ[x �→ a] �|= ψ. Sei I � := (A, ϑ[x �→ a]). Dann widerlegt I � die
Gültigkeit von Γ =⇒ ∆, ψ.
Rückrichtung genauso
aufgrunddessen nehmen wir an, dass Sequenzen nur aus Sätzen in
positiver Normalform bestehen
147
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Idee des Vollständigkeitsbeweises
Vollständigkeit bedeutet: jede nicht-beweisbare Sequenz ist
ungültig
Ungültigkeit von Γ =⇒ ∆ leicht zu zeigen: gib A an, so dass
A |= ϕ für alle ϕ ∈ Γ und A �|= ψ für alle ψ ∈ ∆
was bedeutet aber Unbeweisbarkeit?
wir versuchen einen Beweis zu konstruieren, so dass daraus ein
Gegenmodell A gewonnen werden kann
Versuch ist unendliche Folge (S0 , K0 , Π0 , κ0 ), (S1 , K1 , Π1 , κ1 ), . . .,
so dass
• Si Sequenzen
• Ki unendliche Liste von Konstantensymbolen
• Πi endliche Prioritätswarteschlange von Formeln
• κi partielle Abbildung; annotiert ∃x ψ in Sukzedentien und
∀x ψ in Antezedentien mit einer unendlichen Liste von
148
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Annotierte Sequenzen für den Beweisversuch
sei also Γ =⇒ ∆ Sequenz von Sätzen in pos. NF über τ
Konstruktion des Beweisversuchs erfolgt induktiv
Basisfall:
• S0 = Γ =⇒ ∆
• K0 = (c0 , c1 , c2 , . . .) unendliche Liste von
Konstantensymbolen, die nicht in τ vorkommen
• Π0 = (ψ1 , . . . , ψm ) Auflistung von Γ ∪ ∆
• T0 = (t0 , t1 , t2 , . . .) Aufzählung aller Grundterme über τ ∪ K0
und κ0 (ϕ) = T0 für alle entsprechenden ϕ in Γ und ∆
Sei (Si , Ki , Πi , κi ) bereits definiert. (Si+1 , Ki+1 , Πi+1 , κi+1 ) erhält
man folgendermaßen.
149
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Konstruktion des Beweisversuchs
1
wähle die in Πi vorderste Formel ϕ, die in Γi ∪ ∆i vorkommt
2
Fallunterscheidung über ϕ
• ∀x ψ ∈ ∆i oder ∃x ψ ∈ Γi : Sei Ki = �c, L�. Wende Regel (∀R )
bzw. (∃L ) mit c an. Ki+1 := L, κi+1 := κi
• ∀x ψ ∈ Γi oder ∃x ψ ∈ ∆i : Sei κi (ϕ) = �t, L�. Wende zuerst
(KontrL ) bzw. (KontrR ) auf ϕ, dann Regel (∀L ) bzw. (∃R )
mit t an. Ki+1 entsteht aus Ki durch Löschen aller Terme, die
Konstanten enthalten, welche auch in t vorkommen.
κi+1 := κi [ϕ �→ L]
• andere Fälle: Wende entsprechende Regel an. Ki+1 := Ki ,
κi+1 := κi
150
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Konstruktion des Beweisversuchs
3
Si+1 = (Γi+1 =⇒ ∆i+1 ) ergibt sich jeweils aus der
Regelanwendung. Bei verzweigenden Regeln (∨L ) und (∧R )
fahre fort mit einer Prämisse, die nicht zu einem endlichen
Beweispfad führt.
4
Πi+1 ergibt sich jeweils so, dass ϕ aus Πi entfernt wird und
die neuen Formeln hinten angefügt werden.
5
Enthält Γi+1 \ Γi eine neue Formel ϕ der Form ∀x ψ oder
∆i+1 \ ∆i ein ϕ der Form ∃x ψ, so setze κi+1 (ϕ) = T0 .
151
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Beispiel
betrachte ϕ := (∀x ∀y .x ≤ y → f (x) ≤ f (y )) → ∃x ∀y x ≤ f (y )
soll(!) besagen “eine monotone Funktion kann nicht auf beliebig
kleine Elemente abbilden”
lässt sich ∅ =⇒ ϕ beweisen?
beachte bei Beweisversuch:
• eine Konstante wird gebraucht, da in der Signatur zunächst
keine vorkommen
gibt es eine Strukur, die ϕ widerlegt?
152
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Eigenschaften der Antezedentien
Beweisversuch ist so konstruiert, dass wichtige, syntaktische
Eigenschaften gelten
Lemma 1: Sei Γ0 =⇒ ∆0 , Γ1 =⇒ ∆1 , . . . Liste von Sequenzen aus
oben konstruiertem Beweisversuch. Für alle i gilt:
• falls ψ0 ∧ ψ1 ∈ Γi , dann gibt es j mit {ψ0 , ψ1 } ⊆ Γj
• falls ψ0 ∨ ψ1 ∈ Γi , dann gibt es j mit ψ0 ∈ Γj oder ψ1 ∈ Γj
• falls ∃x ψ ∈ Γi , dann gibt es j mit ψ[c/x] ∈ Γj für ein c,
welches sonst nirgendwo eingesetzt wird
• falls ∀x ψ ∈ Γi und gibt es für jedes t ∈ GT τ ein j mit
ψ[t/x] ∈ Γj
Beweis: Übung.
153
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Eigenschaften der Sukzedentien
Lemma 2: Sei Γ0 =⇒ ∆0 , Γ1 =⇒ ∆1 , . . . Liste von Sequenzen aus
oben konstruiertem Beweisversuch. Für alle i gilt:
• falls ψ0 ∨ ψ1 ∈ ∆i , dann gibt es j mit {ψ0 , ψ1 } ⊆ ∆j
• falls ψ0 ∧ ψ1 ∈ ∆i , dann gibt es j mit ψ0 ∈ ∆j oder ψ1 ∈ ∆j
• falls ∀x ψ ∈ ∆i , dann gibt es j mit ψ[c/x] ∈ ∆j für ein c,
welches sonst nirgendwo eingesetzt wird
• falls ∃x ψ ∈ ∆i und gibt es für jedes t ∈ GT τ ein j mit
ψ[t/x] ∈ ∆j
Beweis: Übung.
154
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Das Gegenmodell
sei Γ0 =⇒ ∆0 , Γ1 =⇒ ∆1 , . . . oben konstruierter Beweisversuch
�
�
definiere: Φant := i∈N Γi , Φsuk := i∈N ∆i
konstruiere Herbrand-Struktur H über τ ∪ K0 mittels
(t1 , . . . , tn ) ∈ R H
gdw.
R(t1 , . . . , tn ) ∈ Φant
Lemma 3: Für alle ϕ ∈ Φant gilt: H |= ϕ
Beweis: Per Induktion über ϕ. Induktionsanfang für atomare
Formeln offensichtlich. Induktionsschritt folgt sofort aus Lemma 1.
�
155
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik ohne Gleichheit – Der Sequenzenkalkül
Vollständigkeit des Sequenzenkalküls
Lemma 4: Für alle ϕ ∈ Φsuk gilt: H �|= ϕ
Beweis: Ebenfalls per Induktion. Sei ϕ = R(t1 , . . . , tn ) ∈ Φsuk .
Dann ist ϕ �∈ Φant , denn sonst würde der Beweisversuch ein Axiom
enthalten. (Beachte: atomare Formeln werden nie gelöscht.) Nach
Definition gilt (t1 , . . . , tn ) �∈ R H und somit H �|= ϕ.
Induktionsschritt folgt sofort aus Lemma 2.
�
Theorem 24
Jede gültige Sequenz ist im Sequenzenkalkül beweisbar.
Beweis: Sei Γ =⇒ ∆ unbeweisbar. Dann lässt sich Beweisversuch
wie oben beschrieben konstruieren. Betrachte die daraus
gewonnene Herbrand-Struktur H. Nach Lemma 3 gilt H |= ϕ für
alle ϕ ∈ Γ. Nach Lemma 4 gilt H �|= ϕ für alle ϕ ∈ ∆. Damit
besitzt Γ =⇒ ∆ ein Gegenmodell und ist somit nicht gültig.
�
156
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik ohne Gleichheit – Unentscheidbarkeit
Automatische Beweissuche
zur Erinnerung: Beweissuche im Sequenzenkalkül für Aussagenlogik
sehr leicht automatisierbar
vergleiche: Resolution, DPLL, etc. sind korrekte, vollständige und
terminierende Verfahren, um Formeln auf Entscheidbarkeit zu
testen
Frage: geht das auch mit FO? Antwort ist nein.
gerade gesehen: Sequenzenkalkül ist korrekt und vollständig;
automatische und immer terminierende Beweissuche nicht möglich
Problem u.a.: wie Quantoren instanziieren?
157
Herunterladen