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