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