Logik für Informatik Sommersemester 2003 Mathias Kegelmann Technische Universität Darmstadt Fachbereich Mathematik 10. Juni 2003 A VIII. Natürliches Schließen II Letzte Woche haben wir uns ausführlich mit freien und gebundenen Variablen sowie der Substitution beschäftigt. Dies war vor allem eine technische Vorarbeit, um den Kalkül des Natürlichen Schließens jetzt auf die Prädikatenlogik erweitern zu können. Die Regeln des Natürlichen Schließens für die logischen Junktoren ∧, ∨, → und ⊥ sind in der Prädikatenlogik genau die selben wie in der Aussagenlogik. Wir brauchen also nur neue Regeln für die Quantoren ∀ und ∃. 1 1.1 Quantoren Allquantor Wir beginnen mit der einfachsten Regel, ∀-Elimination: Ist eine Aussage A für alle x wahr, dann auch für jeden konkreten Wert für x, also für alle Substitutionsinstanzen A[t/x]. Als Eliminationsregel des Natürlichen Schließens drückt man das so aus: Γ ` ∀x.A (∀E) Γ ` A[t/x] Kommen wir nun zur ∀-Einführung. Diese ist etwas komplizierter. In informellen Beweisen zeigt man ∀x.A nach folgendem Schema. Man beginnt mit etwas wie: “Sei nun x beliebig. . . ”. Dann zeigt man für dieses x die Aussage A (in der x üblicherweise vorkommt) und endet mit: “Damit haben wir A gezeigt, und da x beliebig war folgt dass A für alle x gilt”, also ∀x.A. Das Problem für das Natürliche Schließen ist nun, wie man “beliebig” formal ausdrückt. Hat man γ ` A gezeigt, dann hat man das für ein beliebiges x gezeigt, wenn x nicht in den Prämissen Γ vorkommt. Als Regel erhält man: Γ`A Γ ` ∀x.A (∀I), wobei man die Nebenbedingung x ∈ / F V (Γ) erfüllen muss. Bevor wir ein Beispiel betrachten, das zeigt, warum die Nebenbedingung wichtig ist, zunächst eine korrekte Anwendung von (∀I): Beispiel 8.1. ∀x. P (x) ∧ Q(x) ` ∀x. P (x) ∧ Q(x) ∀x. P (x) ∧ Q(x) ` P (x) ∧ Q(x) ∀x. P (x) ∧ Q(x) ` P (x) (Ax) (∀E) (∧E) ∀x. P (x) ∧ Q(x) ` P (x) ∧ Q(x) ∀x. P (x) ∧ Q(x) ` Q(x) (Ax) (∀E) (∧E) (∀I) ∀x. P (x) ∧ Q(x) ` ∀x. Q(x) (∧I) ∀x. P (x) ∧ Q(x), ∀x. P (x) ∧ Q(x) ` ∀x. P (x) ∧ ∀x. Q(x) (C) ∀x. P (x) ∧ Q(x) ` ∀x. P (x) ∧ ∀x. Q(x) (→I) ` ∀x. P (x) ∧ Q(x) → (∀x. P (x)) ∧ (∀x. Q(x)) ∀x. P (x) ∧ Q(x) ` ∀x. P (x) (∀I) ∀x. P (x) ∧ Q(x) ` ∀x. P (x) ∧ Q(x) Ist die Nebenbedingung nicht erfüllt, so kann man die Schlussregel im Allgemeinen nicht anwenden, wie folgendes Beispiel zeigt: Beispiel 8.2. x=0`x=0 (Ax) x = 0 ` ∀x. x = 0 (∀I) ` x = 0 → ∀x. x = 0 (→I) ` ∀x.(x = 0 → ∀x. x = 0) ` 0 = 0 → ∀x. x = 0 1.2 (∀I) (∀E) Existenzquantor Die Situation beim Existenzquantor ist ähnlich, nur ist hier die Einführungsregel einfach: Γ ` A[t/x] (∃I) Γ ` ∃x.A Die Eliminationsregel ist ähnlich wie die für ∨, nur haben wir jetzt die zusätzliche Komplikation mit den freien Variablen: Weiß man ∃x.A und will daraus C schließen, so kann man das dadurch tun, dass man für ein nun beliebiges x aus A auf C schließt. Informell wird das oft durch die Phrase “Sei x nun ein solcher Wert, für den A gilt. . . ”. Hier ist die zugehörige Regel: Γ ` ∃x.A Γ, A ` C (∃E) Γ`C Die Nebenbedingung, die wieder die Beliebigkeit von x zum Ausdruck bringt ist, dass x weder in Γ noch in C frei vorkommt. Hier ist die Verallgemeinerung einer der de Morganschen Regeln, die die Verwendung der Quantorenregeln illustriert: Beispiel 8.3. P (x) ` P (x) (Ax) P (x) ` ∃x. P (x) (∃I) ¬∃x. P (x) ` ¬∃x. P (x) ¬∃x. P (x), P (x) ` ⊥ ¬∃x. P (x) ` ¬P (x) (Ax) (¬E) (¬I) ¬∃x. P (x) ` ∀x. ¬P (x) (∀I) Und jetzt noch ein Beispiel, das die Notwendigkeit der Nebenbedingung zeigt: Beispiel 8.4. ∃x. x = 0 ` ∃x. x = 0 (Ax) ∃x. x = 0, x = 0 ` x = 0 ∃x. x = 0 ` x = 0 (Ax) (∃E) (∀I) ∃x. x = 0 ` ∀x. x = 0 Auf ein kleines Detail sollte man im Zusammenhang mit den ∀- und ∃-Regeln noch hinweisen. Wir betrachten die folgende korrekte Herleitung: ∀x. P (x) ` ∀x. P (x) ∀x. P (x) ` P (x) ∀x. P (x) ` ∃x. P (x) (Ax) (∀E) (∃I) Das macht aber in einem Modell M nur dann Sinn, wenn die zugrundeliegende Menge M nicht leer ist. Deshalb haben wir bei der Definition von Modellen (Definition 6.4) das leere Modell explizit ausgeschlossen. 2 Korrektheit Es stellt sich nun die Frage, was das semantische Analogon von Γ ` A ist, und ob die vier Regeln für Quantoren bezüglich dieser korrekt sind. Wir haben aus Abschnitt 6.2 eine Definition für M A, d.h. wann eine Formel A in einem festen Modell M gilt. Diese verallgemeinern wir nun wie folgt: Definition 8.5. Wir sagen eine Formel A ∈ FΣ (X) ist semantisch gültig und wir schreiben dafür A, wenn A in jedem Modell gilt, d.h. wenn für alle Modelle M der Signatur Σ stets M A erfüllt ist. Für Γ ⊆ FΣ (X) bedeute Γ A, dass für alle Modelle M und alle Belegungen ρ : X → M , sodass für alle C ∈ Γ die Bedingung M, ρ C gilt, immer M, ρ A erfüllt ist. Per Induktion über den Beweisaufbau erhält man nun wie für die Aussagenlogik: Satz 8.6 (Korrektheitssatz). Für alle Γ ⊆ FΣ (X) und A ∈ FΣ (X) gilt, dass die Herleitbarkeit von Γ ` A die Gültigkeit Γ A impliziert. Wie wir nächste Woche sehen werden, gilt auch die Umkehrung, also der Vollständigkeitssatz. Heute wollen wir uns aber nur noch mit den besonderen Regeln für das Gleichheits-Prädikat = beschäftigen. 3 Gleichheit Betrachten wir die Eigenschaften der Gleichheit, die wir in der Allgemeinen Algebra in Proposition A.14.4 betrachtet haben, so liegt es nahe, die Regeln Γ`t=t Γ`s=t (R0 ) Γ`t=s (S) Γ`s=t ∆`t=u Γ, ∆ ` s = u (T ) zu verwenden, die aussagen, dass Gleichheit eine Äquivalenzrelation ist. Um auszudrücken, dass wir gleiches für gleiches einsetzen dürfen erhalten wir (als Verallgemeinerung der Regel (5) aus Proposition A.14.4) noch Γ ` s = t ∆ ` A[s/x] (Eq) Γ, ∆ ` A[t/x] wobei die Substitutionen A[s/x] und A[t/x] natürlich zulässig sein müssen. Die Regel (6), die es uns erlaubt, in einer Gleichung s = t Terme für Variablen zu substituieren, brauchen wir nicht, da wir sie durch eine Kombination aus (∀I) und (∀E). Wir zeigen das an einem Beispiel, das zeigt, dass man (R0 ) aus der Regel (R) Γ`x=x für die Gleichheit von Variablen ableiten kann, wobei man x so wählen muss, dass es nicht frei in Γ vorkommt: (R) Γ`x=x (∀I) Γ ` ∀x. x = x (∀E) Γ`t=t Man kann mit Hilfe von (Eq) auch (S) und T herleiten: Γ`s=t `s=s Γ`t=s (R0 ) Γ`s=t ∆`t=u (Eq) Γ, ∆ ` s = u (Eq) Dabei substituiert man bei der linken Herleitung im Term A ≡ x = s und recht in A ≡ s = x. Bemerkung. Da die Regeln (R) und (Eq) in jedem Modell gelten, wie man sofort nachprüfen kann, ist das Natürliche Schließen auch mit diesen Regeln und den abgeleiteten Regeln (R0 ), (S) und (T ) korrekt. Γ, A, ∆ ` A Γ, A, B, ∆ ` C Γ, B, A, ∆ ` C Γ`A ∆`B Γ, ∆ ` A ∧ B Γ`A Γ`A∨B (∨I) Γ, A, A, ∆ ` C (X) Γ, A, ∆ ` C Γ`A∧B (∧I) Γ`B Γ`A∨B Γ, A ` B Γ`A∨B (∨I) Γ, A ` ⊥ Γ ` ¬A Γ`A Γ, B ` A Γ ` A ∨ ¬A Γ`t=t ∆`A→B Γ`⊥ (¬¬) Γ`A Γ ` A[t/x] Γ ` ∃x.A Γ, A ` C (∃E), x ∈ / F V (Γ, C) Γ ` s = t ∆ ` A[s/x] (Eq) Γ, ∆ ` A[t/x] Γ`A (¬I) ∆ ` ¬A Γ, ∆ ` ⊥ Γ`A (W ) ∆, A ` B Γ, ∆ ` B Γ, ¬A ` ⊥ (T N D) Γ`A (R0 ) (→E) (∀E) Γ`C (R) Γ`s=t Γ`t=s (S) (∨E) (⊥E) Γ ` ∀x.A (∃I) Γ`x=x (∧E) Γ, B ` C Γ, ∆ ` B (∀I), x ∈ / F V (Γ) Γ ` ∃x.A Γ, A ` C Γ`A Γ`A Γ ` A[t/x] Γ`B Γ`C Γ ` ¬¬A Γ ` ∀x.A (C) Γ`A∧B (∧E) Γ`A (→I) Γ`A→B Γ`A (Ax) (¬E) (Cut) (RAA) Γ`s=t ∆`t=u Γ, ∆ ` s = u (T )