Der Sequenzenkalkül

Werbung
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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 und Gleichheit um?
182
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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.
183
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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 ¬ϕ.
184
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
185
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!
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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)
186
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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
187
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Sequenzenkalkül mit Gleichheit
.
betrachte Sequenz c = d, P(c) =⇒ P(d)
• ist sie gültig?
• ist sie beweisbar mit bisherigen Regeln?
Sequenzenkalkül mit bisherigen Regeln ist korrekt für FO[=, τ ]
aber nicht vollständig
188
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
189
Regeln für Gleichheit
.
Γ, t = t =⇒ ∆
Γ =⇒ ∆
(=L )
Γ, ϕ[t/x] =⇒ ∆
Γ, s � t, ϕ[s/x] =⇒ ∆
(SubstL )
.
Γ =⇒ ∆, t = t
(Refl)
Γ =⇒ ∆, ϕ[t/x]
Γ, s � t =⇒ ∆, ϕ[s/x]
.
.
wobei s � t Abkürzung für s = t oder t = s ist.
Achtung: auch Ersetzen von Subtermen möglich, z.B. in
.
f (c) = g (d), R(g (f (c)), f (d)) =⇒ . . .
(SubstR )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Beispiele
beweise die folgenden Sequenzen
.
.
• s = t =⇒ t = s
.
.
.
.
.
.
• s = t, t = u, u = v =⇒ s = v
.
• s = t, u = v =⇒ f (s, u) = f (t, v )
.
• P(f (c)), ∀x.f (x) = x =⇒ P(f (f (f (c))))
190
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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 = (U, τ A ).
Insbesondere gibt es kein a ∈ U, so dass A, ϑ[x �→ a] |= ϕ.
Beachte: Für jeden Grundterm t ist [[t]]A
ϑ ∈ U. 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 Grundterm
t.
191
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Korrektheit der Regeln
Fall (∀R ): Angenommen die Konklusion Γ =⇒ ∆, ∀x.ϕ ist
ungültig. Dann gibt es Interpretation I = (A, ϑ) mit A = (U, τ A ),
so dass I |= γ für alle γ ∈ Γ und I �|= ψ für alle ψ ∈ ∆ ∪ {∀x.ϕ}.
Insbesondere gibt es dann ein a ∈ U, 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.
192
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Korrektheit des Sequenzenkalküls
Theorem 32
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.
193
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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
�
A
x ∈ frei(ψ).
� Dann ex. I = (A, ϑ) mit A = (U, τ ) und I |= Γ
und I �|= ∆ ∪ {∀x.ψ}. Insbesondere gibt es ein a ∈ U, 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
194
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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 auf bestmögliche Art und Weise einen Beweis zu
konstruieren, so dass daraus ein Gegenmodell A gewonnen werden
kann
“bestmöglich” = falls es Beweis gibt, so würde er mit dieser
Strategie gefunden werden
195
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Beweisversuch
Versuch ist unendliche Folge
(S0 , K0 , T0 , Π0 , κ0 ), (S1 , K1 , T1 , Π1 , κ1 ), . . ., so dass für alle
i = 0, 1, . . .
• Si ist Sequenz
• Ki unendliche Liste von neuen Konstantensymbolen
• Ti unendliche Liste von Grundtermen
• Πi endliche Prioritätswarteschlange von Formeln
• κi partielle Abbildung; annotiert ∃x ψ in Sukzedentien und
∀x ψ in Antezedentien mit einer unendlichen Liste von
Grundtermen
196
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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
• T0 ist Aufzählung aller Grundterme über τ ∪ K0
• Π0 = (ψ1 , . . . , ψm ) Auflistung von Γ ∪ ∆
• κ0 (ϕ) = T0 für alle entsprechenden ϕ in Γ und ∆
Sei (Si , Ki , Ti , Πi , κi ) bereits definiert.
(Si+1 , Ki+1 , Ti+1 , Πi+1 , κi+1 ) erhält man folgendermaßen.
197
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Konstruktion des Beweisversuchs
sei Si = Γi =⇒ ∆i , Ti = �t, T � � und ϕ die in Πi vorderste Formel,
welche in Si vorkommt
1
2
.
Füge t = t zu Γi hinzu. Wende Regeln (SubstL ) und
(SubstR ) an, solange dadurch noch neue Formeln in Si
entstehen. “Sichere” die alten Formel vorher mit (KontrL )
und (KontrR ). Ti+1 := T �
Fallunterscheidung über ϕ:
• ∀x ψ ∈ ∆i oder ∃x ψ ∈ Γi : Sei Ki = �c, L�. Wende Regel
(∀R ) bzw. (∃L ) mit c an. Si+1 entsteht dadurch; Ki+1 := L;
κi+1 := κi
198
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Konstruktion des Beweisversuchs
• ∀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
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.
199
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Konstruktion des Beweisversuchs
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 .
200
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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”
ist diese Sequenz beweisbar?
beachte bei Beweisversuch: eine Konstante wird gebraucht, da in
der Signatur zunächst keine vorkommen
gibt es eine Struktur, die die Gültigkeit dieser Sequenz widerlegt?
201
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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.
202
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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.
203
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – 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
R(t1 , . . . , tn ) ∈ Φant
gdw.
definiere Relation ∼ auf dessen Universum mittels
t ∼ t�
gdw.
.
t = t � ∈ Φant
Lemma 3: ∼ ist Kongruenz auf H
Beweis: Übung.
204
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
205
Eigenschaften des Gegenmodells
Lemma 4: Für alle ϕ ∈ Φant gilt: H/∼ |= ϕ
Beweis: Per Induktion über ϕ. Induktionsanfang für atomare
Formeln offensichtlich. Induktionsschritt folgt aus Lemma 1.
�
Lemma 5: 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/∼ �|= ϕ.
.
Fall für atomate Formel t = t � ∈ Φsuk genauso.
Induktionsschritt folgt aus Lemma 2.
�
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Der Sequenzenkalkül
Vollständigkeit des Sequenzenkalküls
Theorem 33
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 Struktur H/∼.
Nach Lemma 4 gilt H/∼ |= ϕ für alle ϕ ∈ Γ. Nach Lemma 5 gilt
H/∼ �|= ϕ für alle ϕ ∈ ∆.
Damit besitzt Γ =⇒ ∆ ein Gegenmodell und ist somit nicht gültig.
�
206
Herunterladen