Kapitel 2 Prädikatenlogik Logische Strukturen 7. Vorlesung • Was ist das? • Logik und Strukturen • Natürliches Schließen Martin Dietzfelbinger • Normalformen 18. Mai 2010 • Herbrand-Theorie • Prädikatenlogische Resolution FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 1 Pr(x): x ist Professor. 2.1 Beispiele Konkrete Situation WM(x): x ist wissenschaftliche(r) Mitarbeiter(in). Grundmenge: Die Studierenden und die Lehrenden in Veranstaltungen zur Theoretischen Informatik im Sommersemester 2010. Relation: Teilmengen: Studierende, wissenschaftliche Mitarbeiterinnen, Professoren. f (x): Studierender/Mitarbeiter/Professor aus dem genannten Kreis, mit dem x am besten über Informatik diskutieren kann. S(x): x ist Studierender. J(x, y): x ist jünger als y. Funktion: LS(x): x ist in der Veranstaltung Logische Strukturen“ an” wesend. AuD(x): x ist in der Veranstaltung Algorithmen und Daten” strukturen“ anwesend. FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 2 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 3 Aussagen, die man in der Aussagenlogik nicht formulieren kann (können stimmen oder nicht): Aus der Analysis: Konvergenz Für alle x gilt: ¬(S(x) ∧ WM(x)). Dort werden Grundbereiche N und R betrachtet, wobei man N ⊆ R annimmt. Für alle x gilt: (S(x) → ¬Pr(x)). Eine Funktion f : N → R nennt man eine (unendliche) Folge. Für alle x und y gilt: (S(x) ∧ Pr(y) → J(x, y)). (f (0), f (1), f (2), . . .) Es gibt ein x mit: (LS(x) ∧ AuD(x)). Diese Folge heißt konvergent, Es gibt ein x mit: ((¬LS(x) ∨ ¬AuD(x)) ∧ ¬WM(x)). falls Für alle x gilt: (S(x) → J(x, f (x))). ∃a ∈ R ∀ε > 0 ∃m ∈ N ∀n ≥ m : |f (n) − a| ≤ ε. Abkürzung: ∀ (für alle), ∃ (es gibt). Aussagenlogik genügt nicht, um solche Sachverhalte auszudrücken. Klar: Nächstes Jahr kann man mit der gleichen Notation eine andere Situation beschreiben. FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 4 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 5 Für N: (einstelliges) Relationszeichen N: • Grundbereich: R. N(x) soll heißen: x ∈ N. • Teilmenge davon: N. • ≤: zweistellige Relation auf R. Für ≤: (zweistelliges) Relationszeichen LE: • 0: ein festes Element von R, Konstante“. ” • Funktion f , beliebig. LE(x, y) soll heißen: x ≤ y. • Absolutbetrag: Funktion R → R. ¬ LE(x, y) steht dann für x > y“. ” • Allquantor ∀, Existenzquantor ∃. • Logische Zeichen (hier noch versteckt, s.u.). FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 6 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 7 Die Null wird durch ein Zeichen 0 benannt. Für | · |: (einstelliges) Funktionszeichen abs und zweistelliges Funktionszeichen sub: abs(x) soll heißen: |x|; sub(x, y) soll heißen: x − y; Dann: Wir wollen in der Lage sein, über Sachverhalte in Strukturen (reelle Zahlen, Gruppen, Präordnungen, . . . ) zu sprechen. Dabei soll es Relationen“ geben dürfen, durch die Enthalten” sein in einer Teilmenge oder Beziehungen zwischen Objekten ausgedrückt werden können. Beispiel: N(x), LE(x, y), S(x), J(x, y). Einstellige Relationen: Teilmengen. Oft benutzt, um spezielle Sorten auszusondern. ∃a ∀ε (¬ LE(ε, 0) → ∃ m (N(m) ∧ ∀n (N(n) ∧ LE(m, n) → LE(abs(sub(f (n), a)), ε)))) Nullstellige Relationen? (Später.) Weiter Funktionen“, durch die Objekte (oder Tupel von ” Objekten) auf andere Objekte abgebildet werden. Beispiel: f , abs, sub. Nullstellige Funktionen (ohne Argument): Konstante. Beispiel: FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 8 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 9 Beispiel: Gruppen 0. Zu einer Gruppe gehört • eine Grundmenge G, • ein neutrales Element e ∈ G, • und eine Operation ◦ : G × G → G, so dass eine Reihe von Gesetzen ( Axiome“) erfüllt sind: ” FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 10 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 11 Prä-Halbordnungen Assoziativgesetz: ∀x∀y∀z : (x ◦ y) ◦ z = x ◦ (y ◦ z). Eine Menge M zusammen mit einer zweistelligen Relation R über M (Formal: . . . ◦ (◦(x, y), z) = ◦(x, ◦(y, z)).) heißt eine Prä-Halbordnung, wenn für alle x, y, z ∈ M gilt: Neutrales Element: ∀x : x ◦ e = e ◦ x = x. wenn x R y ∧ y R z gilt, dann auch x R z. Inverses Element: ∀x∃y : x ◦ y = y ◦ x = e. Axiome“, Grundaussagen, von denen man ausgeht. ” Wenn eine Struktur (G, ◦, e) die Axiome erfüllt“, nennen wir ” sie eine Gruppe“. ” Beispiel: In (R, ·, 1) gilt nicht ∀x∃y : x ◦ y = y ◦ x = e. Also ist dies keine Gruppe. FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 12 Beispiele für Modelle“: ” FG Komplexitätstheorie und Effiziente Algorithmen • Nach welchen meln/Aussagen? • (N, ≤), (Q, ≤), (R, ≤). • (C, ), wobei x y gilt wenn |x| ≤ |y|. • (Z, |), wobei x | y gilt, wenn es ein z ∈ Z mit xz = y gibt ( Teilbarkeitsrelation“). ” Die Formel“ ∀x∀y∀z(x R y ∧ y R z → x R z) ist in all diesen ” Modellen sinnvoll“, und gilt“ dort. ” ” Ebenso sinnvoll ist die Formel ∀x∀y(x R y ∨ y R x). Sie gilt“ ” in den ersten vier Strukturen, nicht aber in (Z, |). Regeln bildet LS – 18.05.2010 man korrekte 13 For- • Was ist ein Modell“, was ist eine Struktur“? ” ” • Wann hat eine Aussage in einem Modell/einer Struktur eine Bedeutung (ist dort sinnvoll“)? ” • Wann gilt“ eine Aussage in einem Modell/einer Struktur? ” • Gibt es Formeln, die in allen Modellen/Strukturen gelten? • Kann man solche Formeln algorithmisch identifizieren? Gibt es einen Beweiskalkül? • ... Prädikatenlogik“. ” FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 14 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 15 2.2 Syntax der Prädikatenlogik Formeln der Prädikatenlogik sind aus folgenden Bausteinen aufgebaut: (a) (Individuen-)Variable (sprechen von Objekten): x1, x2, x3, . . .. Wir schreiben oft x, y, z, u, . . . für Variable. Jedes Funktionssymbol hat eine Stelligkeit, das ist die Anzahl der Argumente, meist implizit mitgeteilt ( f6(x, y, z)“: dreistellig). ” Wir schreiben oft f, g, h, . . . für Funktionssymbole. LS – 18.05.2010 (c) Prädikat- oder Relationssymbole: P1, P2, P3, . . .. Jedem Pi ist eine Stelligkeit zugeordnet: P1(x, z), P4(x2) usw. Wir schreiben oft P, Q, R, . . . für Relationssymbole. (b) Funktionssymbole f1, f2, f3, . . . FG Komplexitätstheorie und Effiziente Algorithmen Es gibt auch nullstellige Funktionssymbole: c [statt c()], Konstante“. ” 16 Nullstellige Prädikatsymbole: P = P (), keine Argumente. (Spielen Rolle von Aussagevariablen). (d) Quantoren ∀, ∃, logische Verknüpfungssymbole ∧, ∨, ¬, →, Klammern. FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 17 Terme werden induktiv definiert. Beispiel Gruppen: f [= ◦] zweistellig; e nullstellig. Idee: Geschachtelte Funktionszeichen, Variablen. Terme: f (x, y), f (f (x, y), z), f (x, f (y, z)), f (e, f (y, e)), . . . . Beispiele: f (x, y), c (nullstellig), f (g(x, x, x), h(y, f (z, c))), ... Hat mit Gruppen noch wenig zu tun: Bedeutungslose Texte. Formal: (i) Jede Variable x1, x2, . . . ist ein Term. (ii) Wenn fi ein k-stelliges Funktionszeichen ist und t1, . . . , tk Terme sind, dann ist auch fi(t1, . . . , tk ) ein Term. Wenn fi nullstellig ist, schreibe fi anstelle von fi(). FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 18 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 19 Definition der Primformeln ( atomic formulas“): ” Wenn t1, . . . , tk Terme sind und Pi ein k-stelliges Relationszeichen ist, dann ist Pi(t1, . . . , tk ) eine Primformel. Beispiel für Primformel: f einstellig, c nullstellig, R zweistellig. Induktive Definition der (prädikatenlogischen) Formeln: (i) Jede Primformel ist eine Formel. (ii) Wenn F Formel ist, dann auch ¬F . R(f (x1, x2), f (f (x3, x1), c)). (iii) Wenn F und G Formeln sind, dann sind auch (F ∧ G), (F ∨ G), (F → G) Formeln. Wenn R ein nullstelliges Relationszeichen ist, dann ist R (anstelle von R()) eine Primformel. (iv) Wenn F Formel ist und x Variable ist, dann sind auch ∃x F und ∀x F Formeln. Bemerkung: Wir lassen F ↔ G hier weg, es gilt als Abkürzung für (F → G) ∧ (G → F ). FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 20 Beispiele: (Für x, y, . . . kann man beliebige echte“ Variable ” einsetzen.) Prähalbordnung: ∀x ∀y (R(x, y) → ∃z(R(x, z) ∧ R(z, y))). Gruppen: Kleines Problem: In Formeln gibt es kein Gleichheitszeichen. Ausweg: Benutze Relationssymbol EQ, zweistellig, für Gleichheit. ∀x ∃y (EQ(f (x, y), e) ∧ EQ(f (y, x), e)). FG Komplexitätstheorie und Effiziente Algorithmen FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 21 Nützliche Formalitäten: Präzedenzen: ¬, ∀x, ∃x binden am stärksten. Typisch also: ∀x (. . . )“ und ¬ ∀x ¬(. . . )“, ” ” es sei denn, der Quantor bezieht sich nur auf eine Primformel. ∧ und ∨ binden stärker als →. Beispiel: ¬∀x R(x, y) ∧ ∃z R(x, z) → P (x) entspricht ((¬(∀x R(x, y)) ∧ ∃z R(x, z)) → P (x, y, z)) Problem: x steht im Wirkungsbereich verschiedener Quantoren, und einmal gar nicht im Wirkungsbereich eines Quantors. Verwirrend! LS – 18.05.2010 22 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 23 Definition Eine Teilformel einer Formel F ist eine Formel, die beim induktiven Aufbau von F vorkommt. Formal: (i) Eine Primformel F hat nur F als Teilformel. (ii) Eine Formel F = ∀x G, F = ∃x G oder F = ¬G hat F und die Teilformeln von G als Teilformeln. (iii) Eine Formel F = (G ∧ H), F = (G ∨ H) oder F = (G → H) hat F und die Teilformeln von G und H als Teilformeln. Definition Eine Kopie einer Variablen x in F ist frei (man sagt: das Vorkommen von x ist frei), wenn dieses x in F an einer Stelle steht, die nicht zu einer Teilformel ∀x G oder ∃x G gehört. Beispiel: (¬ ∀x (R(x, y) ∧ ∃z R(x, z) ) → P (x, y, z). Die beiden ersten Vorkommen von x sind nicht frei (rosa Teilformel) , das dritte ist frei. Das erste Vorkommen von z ist nicht frei (grüne Teilformel) , das zweite ist frei. – Alle Vorkommen von y sind frei. FV(F ) ist die Menge aller Variablen, die in F frei vorkommen. Wenn FV(F ) = ∅, heißt F geschlossen. FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 24 FG Komplexitätstheorie und Effiziente Algorithmen LS – 18.05.2010 25