Logik erster Stufe (Prädikatenlogik) Logik erster Stufe 1 / 66 Prädikatenlogik: Quantoren und Prädikate Mit Hilfe der Aussagenlogik haben wir Wissen modelliert und Schlüsse aus diesem Wissen gezogen. Auch mit der Logik erster Stufe möchten wir Wissen modellieren und „verstehen“. + Im Gegensatz zur Aussagenlogik stehen wesentlich umfangreichere Ausdrucksmöglichkeiten zur Verfügung. Wir möchten sagen, dass I I „die Zahl x die Zahl z teilt.“ x teilt z genau dann, wenn es eine Zahl y gibt mit x · y = z. Der Existenz-Quantor „wenn es eine Zahl y gibt“ wird benutzt wie auch das Prädikat (oder die Relation) „x · y = z“. „ein Land in Europa in 2014 Fußball-Weltmeister wurde.“ Es gibt ein Land in Europa, das in 2014 Fußball-Weltmeister wurde Auch hier wird der Existenz-Quantor benötigt wie auch die Prädikate „Land in Europa“ und „Fußball-Weltmeister in 2014“. - Allerdings erkaufen wir uns die größere Ausdruckskraft in vielen Fällen mit einer algorithmisch deutlich schwierigeren Handhabung. Logik erster Stufe 2 / 66 Prädikatenlogik: Ein erster Überblick Genau wie die Aussagenlogik besitzt die Prädikatenlogik: (a) eine Syntax, die festlegt, welche Zeichenketten Formeln der Prädikatenlogik sind und (b) eine Semantik, die festlegt, welche „Bedeutung“ einzelne Formeln haben. Während sich die Aussagenlogik lediglich mit „wahren“ und „falschen“ Aussagen und deren Kombination beschäftigt, „redet“ die Prädikatenlogik über unterschiedlichste Strukturen wie zum Beispiel I I die natürlichen Zahlen (mit Addition und Multiplikation) oder über Länder (mit den Prädikaten „in Europa“ und „Fußball-Weltmeister in 2014“). und erlaubt die Formulierung komplexer Aussagen über deren Eigenschaften. Über welche Strukturen sollen die Formeln der Prädikatenlogik „reden“? Logik erster Stufe 3 / 66 Strukturen Strukturen 4 / 66 An welche Strukturen ist denn gedacht? Zum Beispiel an Graphen G = (V , E ), Bäume B = (V , E ), die natürlichen Zahlen mit Addition und Multiplikation, (N, +, ×), die reellen Zahlen mit Addition, Multiplikation und den Konstanten 0 und 1, (R, +, ×, 0, 1) oder Datenbanken. Signaturen legen den „Typ“ (bzw. das „Format“) der jeweiligen Struktur fest. Strukturen 5 / 66 Signaturen Eine Signatur (bzw. eine Symbolmenge; engl: signature) ist eine Menge σ von Relationssymbolen, Funktionssymbolen und/oder Konstantensymbolen. Jedes Relationssymbol Ṙ ∈ σ und jedes Funktionssymbol f˙ ∈ σ hat eine Stelligkeit (bzw. Arität, engl. arity) ar(Ṙ) ∈ N>0 bzw. ar(f˙ ) ∈ N>0 . Der griechische Buchstabe σ (in Worten: sigma) bezeichnet eine Signatur. Symbole aus σ werden mit einem Punkt, wie in Ṙ bzw. f˙ gekennzeichnet. Für Relationssymbole verwenden wir meist Großbuchstaben wie Ṙ, Ṗ, Ė , Ṙ1 , Ṙ2 , . . . , für Funktionssymbole Kleinbuchstaben wie f˙ , ġ, ḣ, . . . und für Konstantensymbole Kleinbuchstaben wie ċ, ḋ, . . . . Gelegentlich verwenden wir auch 6̇ (2-stelliges Relationssymbol), ˙ +̇, × 0̇, 1̇ Strukturen (2-stellige Funktionssymbole), (Konstantensymbole). 6 / 66 Strukturen Eine Struktur über der Signatur σ (kurz: σ-Struktur) ist ein Paar A = (A, α), mit einer nicht-leeren Menge A, dem so genannten Universum (bzw. Träger, engl.: universe, domain) von A, und einer auf σ definierten Abbildung α, die I I I jedem Relationssymbol Ṙ ∈ σ eine Relation α(Ṙ) ⊆ Aar(Ṙ) der Stelligkeit ar(Ṙ) zuordnet, ˙ jedem Funktionssymbol f˙ ∈ σ eine Funktion α(f˙ ) : Aar(f ) → A zuordnet und jedem Konstantensymbol ċ ∈ σ ein Element α(ċ) ∈ A zuordnet. Die Funktion α interpretiert die Relations-, Funktions- und Konstantensymbole der Signatur σ: α weist jedem Relations-, Funktions- oder Konstantensymbol eine tatsächliche Relation, Funktion oder Konstante über dem Universum A zu. Strukturen 7 / 66 Strukturen: Notation Strukturen bezeichnen wir meistens mit Fraktur-Buchstaben A, B, G, . . . ; das Universum der Strukturen durch die entsprechenden lateinischen Großbuchstaben, also A, B, G, . . . . Ist A = (A, α) eine σ-Struktur, so schreiben wir für jedes Symbol Ṡ ∈ σ oft Ṡ A an Stelle von α(Ṡ). Falls σ = {Ṙ1 , . . . , Ṙk , f˙1 , . . . , f˙l , ċ1 , . . . , ċm } ist, schreiben wir auch A A = (A, Ṙ1A , . . . , ṘkA , f˙1A , . . . , f˙l A , ċ1A , . . . , ċm ). Strukturen 8 / 66 Arithmetische Strukturen Wir definieren die Signatur ˙ 0̇, 1̇}, σAr := { +̇, ×, ˙ 2-stellige Funktionssymbole und 0̇ sowie 1̇ Konstantensymbole sind. wobei +̇, × Wir betrachten die σAr -Struktur N N ˙ , 0̇N , 1̇N ), N := (N, +̇ , × wobei +̇ N ˙ N die natürliche Addition bzw. Multiplikation auf N sind und × und 0̇N := 0, 1̇N := 1 gilt. Entsprechend können wir σAr -Strukturen Z, Q, R mit Universum Z, Q und R definieren. Strukturen 9 / 66 Graphen und Bäume als Strukturen Wir definieren die Signatur σGraph := {Ė }, wobei Ė ein 2-stelliges Relationssymbol ist. Jeder gerichtete Graph bzw. gerichtete Baum (V , E ) lässt sich als σGraph -Struktur A = (A, Ė A ) mit Universum A := V und Relation Ė A := E auffassen. Entsprechend können wir σGraph -Strukturen auch für ungerichtete Graphen und ungerichtete Bäume definieren. Strukturen 10 / 66 Die Formeln der Prädikatenlogik Sei σ eine Signatur. Die Formeln der Prädikatenlogik sollen über σ-Strukturen reden. Aber wie sollten wir die Formeln denn definieren? Wir „erfinden“ Variablen vi mit der Absicht, dass vi ein Element des Universums ist. Aus den Variablen sowie den Funktions- und Konstantensymbolen bauen wir Terme durch „Ineinandersetzung“. Relationssymbole aus σ (in die Terme eingesetzt werden dürfen) und „gleichgesetzte“ Terme werden mit den logischen Junktoren ¬, ∧, ∨, →, ↔ verknüpft. Wir dürfen All- und Existenz-Quantoren einsetzen, um die Variablen der Formel zu binden. Machen wir uns also an die Definition der Syntax. Strukturen 11 / 66 Die Syntax der Prädikatenlogik Syntax 12 / 66 σ-Terme Sei σ eine Signatur. (a) Eine Variable hat die Form vi für i ∈ N. Die Menge aller Variablen bezeichnen wir mit Var, d.h.Var = {vi | i ∈ N }. (b) Das Alphabet Aσ-Terme besteht aus allen Elementen in Var, allen Konstantenund Funktionssymbolen in σ, den Klammern (, ) und dem Komma ,. (c) Die Menge Tσ ⊆ A∗σ-Terme der σ-Terme wird rekursiv rekursiv definiert: Basisregeln: I I Für jedes Konstantensymbol ċ ∈ σ ist ċ ∈ Tσ . Für jede Variable x ∈ Var ist x ∈ Tσ . Rekursive Regeln: I Für jedes Funktionssymbol f˙ ∈ σ und für r := ar(f˙ ) gilt: Sind t1 ∈ Tσ , . . . , tr ∈ Tσ , so ist auch f˙ (t1 , . . . , tr ) ∈ Tσ . Syntax Terme 13 / 66 σ-Terme: Beispiele Sei σ = {f˙ , ċ} die Signatur, die aus einem 2-stelligen Funktionssymbol f˙ und einem Konstantensymbol ċ besteht. Folgende Worte sind σ-Terme: ċ, v4 , f˙ (ċ, ċ), f˙ (ċ, v0 ), f˙ ċ, f˙ (ċ, v0 ) . Die nächsten Worte sind keine σ-Terme: 0, Syntax f˙ (0, ċ), f˙ (v0 , ċ, v1 ), Terme f A (2, 3). 14 / 66 Das Formelalphabet Aσ Sei σ eine Signatur. Das Alphabet Aσ der Prädikatenlogik (über σ) besteht aus: allen Symbolen in Aσ-Terme allen Relationssymbolen in σ den Quantoren ∃ (Existenzquantor) und ∀ (Allquantor) dem Gleichheitssymbol = ˙ den Junktoren ¬, ∧, ∨, →, ↔. D.h. Aσ = Aσ-Terme ∪ σ ∪ {∃, ∀} ∪ { =} ˙ ∪ {¬, ∧, ∨, →, ↔, (, )} ∪ {, }. Syntax Terme 15 / 66 Die Syntax der Prädikatenlogik: Atomare Formeln Sei σ eine Signatur. Die Menge FO[σ] (FO –first-order logic– ist englisch für Logik erster Stufe) aller Formeln der Prädikatenlogik über σ wird rekursiv wie folgt definiert: Basisregeln: Für alle σ-Terme t1 und t2 in Tσ gilt: t1 =t ˙ 2 ∈ FO[σ]. Für jedes Relationssymbol Ṙ ∈ σ, für r := ar(Ṙ) und für alle σ-Terme t1 , . . . , tr in Tσ gilt: Ṙ(t1 , . . . , tr ) ∈ FO[σ]. Die FO[σ]-Formeln t1 =t ˙ 2 oder Ṙ(t1 , . . . , tr ) heißen atomare σ-Formeln. Syntax Atomare Formeln 16 / 66 Die Syntax der Prädikatenlogik: Komplexe Formeln Rekursive Regeln: Ist φ ∈ FO[σ], so ist auch ¬φ ∈ FO[σ]. Ist φ ∈ FO[σ] und ψ ∈ FO[σ], so ist auch I I I I (φ ∧ ψ) ∈ FO[σ] (φ ∨ ψ) ∈ FO[σ] (φ → ψ) ∈ FO[σ] (φ ↔ ψ) ∈ FO[σ]. Ist φ ∈ FO[σ] und ist x ∈ Var, so ist auch I I ∃x φ ∈ FO[σ] ∀x φ ∈ FO[σ]. Syntax Komplexe Formeln 17 / 66 Formeln der Prädikatenlogik: Beispiele Sei σ = {f˙ , ċ} die Signatur, die aus einem 2-stelligen Funktionssymbol f˙ und einem Konstantensymbol ċ besteht. Folgende Worte aus A∗σ sind FO[σ]-Formeln: I I I f˙ (v0 , v1 ) = ˙ ċ (eine atomare σ-Formel) ∀v2 f˙ (v2 , ċ) =v ˙ 2 ¬∃v3 f˙ (v3 , v3 ) =v ˙ 3 ∧ ¬v3 = ˙ ċ Folgende Worte sind keine FO[σ]-Formeln: I f˙ (v0 , v1 ) = ˙ ċ I I ∀v2 f˙ (v2 , ċ) =v ˙ 2 ∃ċ f˙ (v0 , ċ) =v ˙ 0 Syntax Komplexe Formeln 18 / 66 Um die Lesbarkeit von Formeln zu verbessern: Statt mit v0 , v1 , v2 , . . . bezeichnen wir Variablen oft auch mit x , y , z, . . . oder mit Varianten wie x 0 , y1 , y2 , . . . . Für gewisse 2-stellige Relationssymbole wie z.B. 6̇ ∈ σOrd verwenden wir die Infix- statt Präfixschreibweise und setzen Klammern auf natürliche Weise: Beispiel: An Stelle der (formal korrekten) atomaren Formel 6̇(x , y ) schreiben wir x 6̇y . Wir üben, bevor wir die Semantik der Prädikatenlogik formal einführen. Syntax Komplexe Formeln 19 / 66 Formeln, die über gerichtete Graphen reden Sei σGraph = {Ė } mit dem zweistelligen Relationssymbol Ė . (a) Die FO[σGraph ]-Formel φ := ∀x ∀y Ė (x , y ) → Ė (y , x ) besagt: „Für alle Knoten x , y gilt: Falls es eine Kante von x nach y gibt, so gibt es auch eine Kante von y nach x .“ Ein Graph A = (A, Ė A ) „sollte“ φ genau dann erfüllen, wenn dessen Kantenrelation symmetrisch ist. (b) Die Formel φ(x , y ) := ∃z1 ∃z2 Ė (x , z1 ) ∧ Ė (z1 , z2 ) ∧ Ė (z2 , y ) . drückt aus, dass es einen Weg der Länge 3 von Knoten x zu Knoten y gibt. (c) Was besagt die folgende FO[σGraph ]-Formel? ∀x ∀y ∃z1 ∃z2 Ė (x , z1 ) ∧ Ė (z1 , z2 ) ∧ Ė (z2 , y ) Es gibt zwischen je 2 Knoten einen Weg der Länge 3. Syntax Komplexe Formeln 20 / 66 Formeln, die über die natürlichen Zahlen reden ˙ 0̇, 1̇} die arithmetische Signatur. Sei σAr := { +̇, ×, (a) Die FO[σAr ]-Formel φ := ∀x ∀y x +̇y = y +̇x besagt, dass die Addition kommutativ ist. (b) Die Formel ˙ ) ×z ˙ = x ×(y ˙ ×z) ˙ ψ := ∀x ∀y (x ×y besagt, dass die Multiplikation assoziativ ist. N ˙ N , 0̇N , 1̇N ) der natürlichen Zahlen (c) Um die Struktur N := (N, +̇ , × zu beschreiben, wird in den Peano-Axiomen die vollständige Induktion für jede FO[σAr ]-Formel α(x ) mit einer FO[σAr ]-Formel βα gefordert: βα := α(0) ∧ ∀x α(x ) → α(x + 1) Syntax Komplexe Formeln → ∀x α(x ). 21 / 66 Formeln, die über Verwandschaftsbeziehungen reden (1/2) Um Verwandtschaftsbeziehungen zu modellieren, erfinden wir die Signatur σ mit den folgenden Symbolen: ˙ ˙ 1-stellige Funktionssymbole Vater, Mutter ˙ (Gewünschte Bedeutung: x = ˙ Mutter(y ) besagt „x ist die Muttter von y “.) ˙ ˙ 2-stellige Relationssymbole Geschwister, Vorfahr ˙ , y ) besagt, dass x und y (Gewünschte Bedeutung: Geschwister(x ˙ , y ) besagt, dass x ein Vorfahr von y ist.) Geschwister sind; Vorfahr(x Wissen über Verwandtschaftsbeziehungen lässt sich durch Formeln der Prädikatenlogik repräsentieren, beispielsweise: (a) „Personen mit gleichem Vater und gleicher Mutter sind Geschwister“: ˙ ˙ ˙ ˙ ˙ ∀x ∀y Vater(x , y) . )= ˙ Vater(y ) ∧ Mutter(x )= ˙ Mutter(y ) → Geschwister(x ˙ (b) „Die Relation Vorfahr ist transitiv“: ˙ ˙ ˙ ∀x ∀y ∀z Vorfahr(x , y ) ∧ Vorfahr(y , z) → Vorfahr(x , z) . Syntax Komplexe Formeln 22 / 66 Formeln, die über Verwandschaftsbeziehungen reden (2/2) (c) „Eltern sind die einzigen unmittelbaren Vorfahren“: ˙ ˙ ∀x ∀y x = ˙ Vater(y ) ∨ x= ˙ Mutter(y ) ˙ ˙ ˙ ↔ Vorfahr(x , y ) ∧ ¬∃z Vorfahr(x , z) ∧ Vorfahr(z, y ) . (d) Die folgende Formel φ(x , y ) besagt, dass x Tante oder Onkel von y ist: ˙ ˙ ˙ , z) ∧ z = ˙ Vater(y ) ∨ z= ˙ Mutter(y ) . φ(x , y ) := ∃z Geschwister(x (e) Die folgende Formel ψ(x ) besagt, dass x Vater von genau 2 Kindern ist: ˙ ˙ ψ(x ) := ∃y1 ∃y2 x= ˙ Vater(y ˙ Vater(y ˙ 2 1) ∧ x = 2 ) ∧ ¬y1 =y ˙ ∧ ∀z x = ˙ Vater(z) → (z =y ˙ 1 ∨ z =y ˙ 2) . Syntax Komplexe Formeln 23 / 66 Semantik Semantik der Prädikatenlogik 24 / 66 Eine Semantik für Terme Sei σ eine Signatur und sei A = (A, α) eine σ-Struktur. Wie sollen wir eine Variable x interpretieren? In der Aussagenlogik haben wir eine Variable mit dem Wahrheitswert 0 oder 1 belegt. Jetzt sollten wir die Variable x mit einem beliebigem Element des Universums A belegen! Semantik der Prädikatenlogik Eine Semantik für Terme 25 / 66 Belegungen und Interpretationen (a) Eine Belegung in einer σ-Struktur A = (A, α) ist eine partielle Funktion β von Var nach A, d.h. β ordnet jeder Variablen x , auf der es definiert ist, ein Element β(x ) aus dem Universum A von A zu. (b) β ist eine Belegung für einen σ-Term t (bzw. passend zu t), wenn α für alle in t vorkommenden Variablen definiert ist. (c) Eine σ-Interpretation ist ein Paar I = (A, β), bestehend aus einer σ-Struktur A und einer Belegung β in A. (d) Eine σ-Interpretation I = (A, β) ist eine Interpretation für einen σ-Term t (bzw. passend zu t), wenn β passend zu t ist. Semantik der Prädikatenlogik Eine Semantik für Terme 26 / 66 Die Semantik von Termen (1/2) Sei σ eine Signatur und t ein σ-Term. Wir möchten dem Term t eine Bedeutung in der Struktur A zuweisen und benutzen dazu eine zu t passende Interpretation I = (A, β). 1. Interpretiere die in t vorkommenden Variablen x durch die Belegung β, ersetze also die Variable durch den Wert β(x ). 2. Belege die in t vorkommenden Konstantensymbole gemäß ihrer Interpretation in A und 3. evaluiere t dann nach und nach gemäß den in A gegebenen Interpretationen der Funktionssymbole. Und was ist damit genau gemeint? Semantik der Prädikatenlogik Eine Semantik für Terme 27 / 66 Die Semantik von Termen (2/2) Sei σ eine Signatur. Wir definieren eine Funktion J·K· rekursiv über den Aufbau von Tσ , die jedem σ-Term t ∈ Tσ und jeder zu t passenden σ-Interpretation I = (A, β) einen Wert JtKI ∈ A zuordnet. Die Basisregeln: Für alle x ∈ Var ist Jx KI := β(x ). Für alle Konstantensymbole ċ ∈ σ ist JċKI := ċ A . Die rekursiven Regeln: Für alle Funktionssymbole f˙ ∈ σ, für r := ar(f˙ ) und für alle σ-Terme t1 , . . . , tr ∈ Tσ gilt: Jf˙ (t1 , . . . , tr )KI := f˙ A (Jt1 KI , . . . , Jtr KI ). Semantik der Prädikatenlogik Eine Semantik für Terme 28 / 66 Die Semantik von Termen: Ein Beispiel Sei σ = {f˙ , ċ} eine Signatur und sei A = (A, f˙ A , ċ A ) eine Struktur mit A := N N f˙ A := +̇ (die Addition auf N) ċ A := 0̇N (die natürliche Zahl 0) Sei β eine Belegung mit β(v1 ) = 1 und β(v2 ) = 7. Für den Term t := f˙ v2 , f˙ (v1 , ċ) und I := (A, β) gilt: JtKI = Jf˙ v2 , f˙ (v1 , ċ) KI = f˙ A β(v2 ), f˙ A β(v1 ), ċ A f˙ A 7, f˙ A 1, 0 7 + 1 + 0 = 8. = = Semantik der Prädikatenlogik Eine Semantik für Terme 29 / 66 Notation: Freie und gebundene Variablen (a) Eine Formel ψ ist Teilformel einer Formel φ, wenn ψ ein Teil-Wort in φ ist. Beispiel: ψ := f˙ (v0 , v1 ) = ˙ ċ ist Teilformel der Formel ∃v0 f˙ (v0 , v1 ) = ˙ ċ. (b) Jedes Vorkommen einer Variablen x in einer Teilformel von φ der Form ∃x ψ oder ∀x ψ heißt ein gebundenes Vorkommen von x . Jedes andere Vorkommen von x heißt freies Vorkommen von x . Beispiel: φ := f˙ (v0 , ċ) =v ˙ 3 ∧ ∃v0 f˙ (v0 , v1 ) = ˙ ċ freies Vorkommen von v0 in φ freies Vorkommen von v3 in φ gebundene Vorkommen freies Vorkommen von v0 in φ von v1 in φ (c) Die Menge frei(φ) aller freien Variablen einer FO[σ]-Formel φ besteht aus allen Variablen, die mindestens einmal frei in φ vorkommen. Beispiele: I frei f˙ (v , ċ) =v ˙ 3 = {v0 , v3 } 0 I frei ∃v0 f˙ (v0 , v1 ) = ˙ ċ = {v1 } I frei f˙ (v , ċ) =v ˙ 3 ∧ ∃v0 f˙ (v0 , v1 ) = ˙ ċ = {v0 , v3 , v1 } 0 (d) Eine FO[σ]-Formel φ heißt Satz (genauer: FO[σ]-Satz), falls sie keine freien Variablen besitzt, d.h. falls frei(φ) = ∅. Semantik der Prädikatenlogik Die Definition 30 / 66 Passende Belegungen und Interpretationen (a) Eine Belegung β ist eine Belegung für eine FO[σ]-Formel φ (bzw. passend zu φ), wenn β für jede freie Variable von φ definiert ist. (b) Eine σ-Interpretation I = (A, β) ist eine Interpretation für eine FO[σ]-Formel φ (bzw. passend zu φ), wenn β passend zu φ ist. Semantik der Prädikatenlogik Die Definition 31 / 66 Notation: Zusätzliche Setzung von Variablen (a) Ist β eine Belegung in einer σ-Struktur A, ist x ∈ Var und ist a ∈ A, so ist die Belegung β xa identisch mit β bis mgl. auf die Setzung von x mit a, d.h. β xa (x ) = a und β xa (y ) = β(y ) f.a. y (y 6= x ), für die β definiert ist. (b) Ist I = (A, β) eine σ-Interpretation, ist x ∈ Var und ist a ∈ A, so ist I xa := (A, β xa ) die σ-Interpretation, die sich nur in der Behandlung der Variablen x von I unterscheidet: In I xa wird x mit a belegt. Semantik der Prädikatenlogik Die Definition 32 / 66 Die Definition der Semantik Semantik der Prädikatenlogik Die Definition 33 / 66 Eine rekursive Definition der Semantik: Rekursionsanfang Sei σ eine Signatur. Wir definieren eine Funktion J·K· , die jeder FO[σ]-Formel φ und jeder zu φ passenden Interpretationen I = (A, β) einen Wahrheitswert JφKI ∈ {0, 1} zuordnet. Rekursionsanfang: Für alle σ-Terme t1 und t2 in Tσ gilt: ( 1, falls Jt1 KI = Jt2 KI , I Jt1 =t ˙ 2 K := 0, sonst. Für jedes Relationssymbol Ṙ ∈ σ, für r := ar(Ṙ) und für alle σ-Terme t1 , . . . , tr in Tσ gilt: ( 1, falls (Jt1 KI , . . . , Jtr KI ) ∈ Ṙ A , I JṘ(t1 , . . . , tr )K := 0, sonst. Semantik der Prädikatenlogik Die Definition 34 / 66 Der Rekursionsschritt für die Semantik: Die Junktoren I := J(φ ∧ ψ)KI := J(φ ∨ ψ)KI := J(φ → ψ)KI := J(φ ↔ ψ)KI := J¬φK Semantik der Prädikatenlogik ( 1, 0, ( 1, 0, ( 0, 1, ( 1, 0, ( 1, 0, falls JφKI = 0, sonst. falls JφKI = 1 und JψKI = 1, sonst. falls JφKI = 0 und JψKI = 0, sonst. falls JφKI = 0 oder JψKI = 1, sonst. falls JφKI = JψKI , sonst. Die Definition 35 / 66 Der Rekursionsschritt für die Semantik: Die Quantoren Ist φ ∈ FO[σ] und ist x ∈ Var, so ist J∃x φK I J∀x φK I 1, falls es (mindestens) ein a ∈ A gibt, so dass JφKI x = 1, 0, sonst. ( 1, falls für alle a ∈ A gilt: JφKI x = 1 0, sonst. := := a ( Semantik der Prädikatenlogik a Die Definition 36 / 66 Definition der Semantik: Ein Beispiel (1/2) Sei σGraph = {Ė } die Signatur, die aus einem 2-stelligen Relationssymbol Ė besteht. Betrachte die FO[σGraph ]-Formel φ := ∀x ∀y Ė (x , y ) → Ė (y , x ) . Für jede zu φ passende σGraph -Interpretation I = (A, β) gilt: JφKI = 1 ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒ Semantik der Prädikatenlogik a für alle a ∈ A gilt: J∀y Ė (x , y ) → Ė (y , x ) KI x = 1 für alle a ∈ A und alle b ∈ A gilt: Ia b J Ė (x , y ) → Ė (y , x ) K x y = 1 für alle a ∈ A und alle b ∈ A gilt: falls JĖ (x , y )K ab Ix y = 1, so auch JĖ (y , x )K ab Ix y =1 für alle a ∈ A und alle b ∈ A gilt: falls (a, b) ∈ Ė A , so auch (b, a) ∈ Ė A die Relation Ė A ist symmetrisch. Die Definition 37 / 66 Definition der Semantik: Ein Beispiel (2/2) Sei A die σGraph -Struktur, die den gerichteten Graphen 2 1 3 repräsentiert, d.h. A = (A, Ė A ) mit A = {1, 2, 3} und Ė A = {(1, 2), (2, 1), (2, 3)}. Unser Graph A besitzt die Kante (2, 3), nicht aber die Kante (3, 2). Also ist unser Graph nicht symmetrisch und JφKI = 0 folgt für jede Interpretation I := (A, β) mit einer beliebigen Belegung β. Semantik der Prädikatenlogik Die Definition 38 / 66 Wann wird eine Formel von einer Interpretation erfüllt? Sei σ eine Signatur und sei φ eine FO[σ]-Formel. (a) Sei I = (A, β) eine zu φ passende σ-Interpretation. I I Wir sagen „I erfüllt φ“ (bzw. „I ist ein Modell von φ“, kurz: I |= φ), falls JφKI = 1. Wir sagen „I erfüllt φ“ nicht (bzw. „I ist kein Modell von φ“, kurz: I 6|= φ), falls JφKI = 0. (b) Sei φ ein Satz, also eine Formel ohne freie Variablen. I I Dann wird φ von einer Interpretation I = (A, β) genau dann erfüllt, wenn φ von I = (A, βleer ) für die leere Belegung erfüllt wird. Also hängt die Erfüllung von φ nur von der Struktur A und nicht von der Belegung β ab: An Stelle von „I |= φ“ schreiben wir dann kurz „A |= φ“ und sagen „die σ-Struktur A erfüllt den Satz φ.“ Semantik der Prädikatenlogik Die Definition 39 / 66 Die Prädikatenlogik und SQL Semantik der Prädikatenlogik Die Definition 40 / 66 Relationale Datenbanken Relationale Datenbanken bestehen aus Tabellen, die sich als Relationen auffassen lassen. Datenbanken entsprechen also Strukturen über einer passenden Signatur. Der „Kern“ der in der Praxis gebräuchlichsten Datenbankanfragesprache SQL, basiert auf der Prädikatenlogik. I I Viele SQL-Anfragen entsprechen FO[σ]-Formeln. In Datenbankterminologie bezeichnet man die entsprechende Prädikatenlogik oft auch als „relationalen Kalkül“ (engl.: „relational calculus“). Zur Illustration betrachten wir eine Kino-Datenbank. Semantik der Prädikatenlogik Die Definition 41 / 66 Eine Kino-Datenbank Unsere kleine Datenbank besteht aus: einer Tabelle Orte, die Informationen über Kinos (Kino, Adresse, Telefonnummer) enthält, einer Tabelle Filme mit Informationen über die Filme (Titel, Regie, Schauspieler) und eine Tabelle Programm mit Informationen zum aktuellen Kinoprogramm (Kino, Titel, Zeit). Semantik der Prädikatenlogik Die Definition 42 / 66 Die Tabelle „Orte“ Kino Babylon Casablanca Cinestar Cubix Alexanderplatz Die Kurbel Filmpalast Berlin International Kino in der Kulturbrauerei Moviemento Semantik der Prädikatenlogik Adresse Dresdner Str. 2 Friedenstr. 12 Rathausstr. 1 Giesebrechtstr. 4 Kurfürstendamm 225 Karl-Marx-Allee 33 Schönhauser Allee 36 Kottbusser Damm 22 Die Definition Telefon 61609693 6775752 2576110 88915998 8838551 24756011 44354422 6924785 43 / 66 Die Tabelle „Filme“ Titel Capote Capote Das Leben der Anderen Das Leben der Anderen Der ewige Gärtner Der ewige Gärtner Good Night and Good Luck Good Night and Good Luck Knallhart Knallhart Raumpatrouille Orion – Rücksturz ins Raumpatrouille Orion – Rücksturz ins Raumpatrouille Orion – Rücksturz ins Raumpatrouille Orion – Rücksturz ins Raumpatrouille Orion – Rücksturz ins Raumpatrouille Orion – Rücksturz ins Requiem Sommer vorm Balkon Sommer vorm Balkon Sommer vorm Balkon Syriana Syriana V wie Vendetta Walk the Line Walk the Line Semantik der Prädikatenlogik Kino Kino Kino Kino Kino Kino Regie Bennet Miller Bennet Miller F. Henkel von Donnersmarck F. Henkel von Donnersmarck Fernando Meirelles Fernando Meirelles George Clooney George Clooney Detlev Buck Detlev Buck Michael Braun Theo Mezger Michael Braun Theo Mezger Michael Braun Theo Mezger Hans-Christian Schmid Andreas Dresen Andreas Dresen Andreas Dresen Stephen Gaghan Stephen Gaghan James McTeigue James Mangold James Mangold Die Definition Schauspieler Philip Seymour Hoffman Catherine Keener Martina Gedeck Ulrich Tukur Ralph Fiennes Rachel Weisz David Strathairn Patricia Clarkson Jenny Elvers Jan Henrik Stahlberg Dietmar Schönherr Dietmar Schönherr Eva Pflug Eva Pflug Wolfgang Völz Wolfgang Völz Sandra Hüller Nadja Uhl Inka Friedrich Andreas Schmidt George Clooney Matt Damon Natalie Portman Joaquin Phoenix Reese Witherspoon 44 / 66 Die Tabelle „Programme“ Kino Babylon Babylon Kino in der Kulturbrauerei Kino in der Kulturbrauerei International International International Filmpalast Berlin Filmpalast Berlin Filmpalast Berlin Kino in der Kulturbrauerei Kino in der Kulturbrauerei Kino in der Kulturbrauerei Babylon Kino in der Kulturbrauerei Filmmuseum Potsdam Semantik der Prädikatenlogik Titel Capote Capote Capote Capote Das Leben der Anderen Das Leben der Anderen Das Leben der Anderen Good Night and Good Luck Good Night and Good Luck Good Night and Good Luck Good Night and Good Luck Good Night and Good Luck Good Night and Good Luck Sommer vorm Balkon Sommer vorm Balkon Raumpatrouille Orion – Rücksturz ins Kino Die Definition Zeit 17:00 19:30 17:30 20:15 14:30 17:30 20:30 15:30 17:45 20:00 18:00 20:00 22:45 21:45 21:45 22:00 45 / 66 Die Kino-Signatur σKino Die Signatur σKino besteht aus: ˙ einem 3-stelligen Relationssymbol Orte, ˙ einem 3-stelligen Relationssymbol Filme, ˙ einem 3-stelligen Relationssymbol Programm und Konstantensymbolen ċ für jedes Wort c über dem ASCII-Alphabet. Damit werden alle potentiellen Einträge c der Datenbank ermöglicht wie etwa ˙ ˙ ˙ ˙ Anderen, . . . usw., aber Babylon, Casablanca, . . . , Capote, Das Leben der auch z.B. Stephen ˙Spielberg oder Lola ˙rennt. Semantik der Prädikatenlogik Die Definition 46 / 66 Die Kino-Struktur AKino Die σKino -Struktur AKino hat als Universum die Menge AKino := ASCII∗ aller Worte über dem ASCII-Alphabet sowie die 3-stelligen Relationen ˙ AKino := { Orte (Babylon, Dresdner Str. 2, 61609693), (Casablanca, Friedenstr. 12, 6775752) , . . . , (Moviemento, Kottbusser Damm 22, 6924785)}, AKino ˙ Filme := { (Capote, Bennet Miller, Philip Seymour Hoffman), (Capote, Bennet Miller, Catherine Keener) , . . . , (Walk the Line, James Mangold, Reese Witherspoon)}, AKino ˙ Programm := { (Babylon, Capote, 17:00), (Babylon, Capote, 19:30), (Kino in der Kulturbrauerei, Capote, 17:30) , . . . } Wie sind die Konstantensymbole zu interpretieren? Semantik der Prädikatenlogik Die Definition 47 / 66 Die Kino-Struktur AKino : Die Konstantensymbole Die Struktur AKino interpretiert das Konstantensymbol ċ durch ċ AKino := c. Zum Beispiel: AKino ˙ Babylon ˙ AKino Capote AKino George ˙Clooney AKino 17 :˙ 00 ˙ 61609693 Semantik der Prädikatenlogik AKino = Babylon, = Capote, = George Clooney = 17:00 = 61609693. Die Definition 48 / 66 Die Variablen Um die Lesbarkeit zu verbessern, verwenden wir die Variablennamen xK für Kino, xA für Adresse, xTel für Telefonnummer, xT , zT für Titel, xR für Regisseur, xS für Schauspieler und xZ für Zeit. Semantik der Prädikatenlogik Die Definition 49 / 66 Anfragen an die Kinodatenbank (1/4) „Gib die Titel aller Filme aus, die um 17:30 Uhr laufen.“ (a) Eine Formulierung in der Datenbankanfragesprache SQL: SELECT FROM WHERE Titel Programm Zeit = 17:30 Eine Formulierung durch eine Formel der Prädikatenlogik: ˙ ˙ φFilme um 17:30 Uhr (xT ) := ∃xK Programm(x K , xT , 17:30). Semantik der Prädikatenlogik Die Definition 50 / 66 Anfragen an die Kinodatenbank (2/4) „Gib die Titel aller Filme aus, in denen George Clooney mitspielt oder Regie führt.“ (b) Diesmal suchen wir eine Formel φFilme mit George Clooney (xT ), die genau dann in der Struktur AKino wahr ist, wenn T der Titel eines Films ist, in dem George Clooney mitspielt oder Regie führt: φFilme mit George Clooney (xT ) := Semantik der Prädikatenlogik ˙ ˙ ∃xR Filme(x T , xR , George Clooney) ∨ ˙ ˙ ∃xS Filme(x T , George Clooney, xS ) . Die Definition 51 / 66 Anfragen an die Kinodatenbank (3/4) „Gib Name und Adresse aller Kinos aus, in denen ein Film läuft, in dem George Clooney mitspielt oder Regie führt.” (c) Eine Formulierung in SQL: SELECT FROM WHERE Orte.Kino, Orte.Adresse Orte, Filme, Programm Orte.Kino = Programm.Kino AND Filme.Titel = Programm.Titel AND (Filme.Schauspieler = George Clooney OR Filme.Regie = George Clooney) Eine Formulierung in der Prädikatenlogik: φKinos mit George Clooney (xK , xA ) := ˙ ∃xTel Orte(x K , xA , xTel ) ∧ ∃xT ∃xZ Semantik der Prädikatenlogik ˙ Programm(x K , xT , xZ ) ∧ ˙ ˙ ∃xR Filme(x T , xR , George Clooney) ∨ ˙ ˙ ∃xS Filme(x , George Clooney, x ) T S Die Definition 52 / 66 Anfragen an die Kinodatenbank (4/4) „Gib die Titel aller Filme aus, in denen nur Schauspieler mitspielen, die schon mal mit Stephen Spielberg zusammengearbeitet haben.“ (d) lässt sich in der Prädikatenlogik wie folgt formulieren: φFilme mit Spielberg-Schauspielern (xT ) := ˙ ∃xR ∃xS Filme(x T , xR , xS ) ∧ ˙ ˙ ˙ ∀yS Filme(x T , xR , yS ) → ∃zT Filme(zT , Stephen Spielberg, yS ) Semantik der Prädikatenlogik Die Definition 53 / 66 Was kann in der Prädikatenlogik nicht ausgedrückt werden? Semantik der Prädikatenlogik Die Definition 54 / 66 Prädikatenlogik: Grenzen (1/2) Die Signatur σGraph := {Ė } besteht aus einem 2-stelligen Relationssymbol Ė . (a) Es gibt keinen FO[σGraph ]-Satz φ, so dass für jeden gerichteten Graphen A = (A, Ė A ) gilt: A erfüllt φ ⇐⇒ A ist azyklisch. (b) Es gibt keinen FO[σGraph ]-Satz φ0 , so dass für jeden gerichteten Graphen A = (A, Ė A ) gilt: A erfüllt φ0 ⇐⇒ A ist stark zusammenhängend. (c) Es gibt keine FO[σGraph ]-Formel ψ mit freien Variablen x und y , so dass für jeden gerichteten Graphen A = (A, Ė A ) und jede zu ψ passende Belegung β in A gilt: (A, β) erfüllt ψ ⇐⇒ es gibt in A einen Weg von Knoten β(x ) zu Knoten β(y ). Semantik der Prädikatenlogik Die Definition 55 / 66 Prädikatenlogik: Grenzen (2/2) Was bedeuten diese Aussagen? In der Prädikatenlogik lassen sich die Eigenschaften - „azyklisch zu sein“, bzw. - „stark zusammenhängend zu sein“, bzw. - „durch einen Weg verbunden zu sein“ nicht formalisieren. Einen Beweis dieser Aussage können Sie in der Vorlesung „Logik in der Informatik“ kennenlernen. Semantik der Prädikatenlogik Die Definition 56 / 66 Semantische Folgerung Semantik der Prädikatenlogik Die Definition 57 / 66 Semantische Folgerung Sei σ eine Signatur. Φ ist eine Menge von FO[σ]-Formeln und ψ ist eine FO[σ]-Formel. Wir sagen, ψ folgt aus Φ, (kurz: Φ |= ψ), falls für jede, zu allen Formeln in Φ und ψ passende Interpretation I gilt: Falls f.a. φ ∈ Φ I |= φ , so auch | {z } d.h. JφKI = 1 Semantik der Prädikatenlogik Die Definition I |= ψ. | {z } d.h. JψKI = 1 58 / 66 Die Addition in den natürlichen Zahlen (1/2) Wir definieren die Signatur + ˙ 0̇, 1̇}, σAr := { +̇, <, ˙ ein 2-stelliges Relationssymbol und 0̇ wobei +̇ ein 2-stelliges Funktionssymbol, < und 1̇ Konstantensymbole sind. + In FO[σAr ]-Formeln können wir Aussagen über die Addition in den natürlichen + Zahlen machen. Wir betrachten deshalb die σAr -Struktur N N ˙ , 0̇N , 1̇N ), N+ := (N, +̇ , < N ˙ N die natürliche Addition bzw. die Kleiner-Relation auf N wobei +̇ und < sind und 0̇N := 0, 1̇N := 1 gilt. Gibt es ein Axiomensystem, aus dem sich genau + + die Sätze aus FO[σAr ] folgern lassen, die in der σAr -Struktur N+ wahr sind? Semantik der Prädikatenlogik Die Definition 59 / 66 Die Addition in den natürlichen Zahlen (2/2) Das Axiomensystem ΦP der Presburger-Arithmetik: (P1) x + 1 6= 0, (P2) x + 1 = y + 1 → x = y , (P3) x + 0 = x , (P4) x + (y + 1) = (x + y ) + 1, (P5) ¬(x < 0), (P6) (x < y + 1) ↔ x < y ∨ x = y , (P7) x < y ∨ x = y ∨ y < x , Weiterhin wird das Induktionsaxiom φ(0) ∧ ∀x (φ(x ) → φ(S(x ))) → φ + für jede FO[σAr ] Formel φ(x ) gefordert. + Für alle FO[σAr ]-Sätze φ gilt N+ |= φ ⇔ ΦP |= φ. Semantik der Prädikatenlogik Die Definition 60 / 66 Addition und Multiplikation in den natürlichen Zahlen (a) Die Presburger-Arithmetik axiomatisiert also die Eigenschaften der Addition natürlicher Zahlen. (b) Können wir ein solches Axiomensystem auch finden, wenn wir neben der Addition auch die Multiplikation als Funktionssymbol zulassen? 1. Die erste Antwort ist klar, wenn wir alle wahren Aussagen auch als Axiome verwenden. 2. Aber Axiomensysteme sollte man „einfach beschreiben“ können! Der Gödelsche Unvollständigkeitssatz besagt, dass es kein einfach beschreibbares Axiomensystem gibt. :-(( Komplexe Realitäten wie die σAr -Struktur N lassen sich nicht beschreiben und lassen sich insbesondere nicht im Rechner modellieren! Semantik der Prädikatenlogik Die Definition 61 / 66 Die Zermelo-Fraenkel Mengenlehre Semantik der Prädikatenlogik Die Definition 62 / 66 ZF: Extensionalität und die Nullmenge Die Formeln der Mengenlehre benutzen die Signatur · σ := {∈} · mit dem 2-stelligen Relationssymbol ∈. Die Zermelo-Fraenkel Mengenlehre besteht aus der Menge ZF aller Axiome: 1. Das Extensionalitätsaxiom: Zwei Mengen A, B sind genau gleich, wenn sie dieselben Elemente besitzen: · · · A = B ↔ ∀x x ∈ A ↔ x ∈ B . 2. Das Nullmengenaxiom fordert, dass die leere Menge eine Menge ist: · ∃A∀x ¬x ∈ A Als Folgerung des Extensionalitätsaxioms und des Nullmengenaxioms gibt es genau eine leere Menge, die wir natürlich mit ∅ bezeichnen. Semantik der Prädikatenlogik Die Definition 63 / 66 ZF: Das Paarmengenaxiom . . . 3. Das Paarmengenaxiom fordert, dass für alle Mengen A, B auch {A, B} eine Menge ist: · · · ∀A∀B∃C ∀x x ∈ C ↔ x = A ∨ x = B . 4. Das Vereinigungsaxiom besagt, dass mit jeder Menge A von Mengen auch S die Vereinigung a∈A a aller Elemente von A eine Menge ist: · · · ∀A∃B∀x x ∈ B ↔ ∃y y ∈ A ∧ x ∈ y . Paarmengenaxiom und Vereinigungsaxiom zusammen garantieren, dass auch die Vereinigung A1 ∪ A2 von zwei Mengen A1 , A2 eine MengeSist. Dazu bilden wir zuerst die Paarmenge {A1 , A2 } und beachten A1 ∪ A2 = a∈{A1 ,A2 } a. 5. Das Potenzmengenaxiom fordert, dass die Menge aller Teilmengen einer Menge A eine Menge ist: · · · ∀A∃B∀x x ∈ B ↔ ∀y (y ∈ x → y ∈ A) . ZF besteht aus diesen und weiteren Axiomen. Semantik der Prädikatenlogik Die Definition 64 / 66 ZF: Relationen Wir definieren Relationen in ZF: Der Einfachheit halber seien die Mengen M1 , . . . , Mk disjunkt. Die Menge R ist genau dann eine Relation auf den Mengen M1 , . . . , Mk , wenn die FO[σ]-Formel · · · · ψ(R) := ∀x x ∈ R → ∃m1 · · · ∃mr m1 ∈ M1 ∧· · ·∧mk ∈ Mk ∧x = {m1 , . . . , mr } erfüllt ist. Auch Funktionen lassen sich definieren: ZF ist mächtig! Semantik der Prädikatenlogik Die Definition 65 / 66 Auswahlaxiom und Kontinuumshypothese Die beiden folgenden Aussagen können in der Zermelo-Fraenkel Mengenlehre ZF formalisiert werden, sind aber nicht Folgerungen von ZF. (a) Das Auswahlaxiom: Für alle Mengen A, deren Elemente paarweise disjunkte Mengen sind, gibt es eine Menge B, die genau ein Element aus jedem Element von A enthält. (b) Die Kontinuumshypothese: Jede überabzählbare Teilmenge der reellen Zahlen ist gleichmächtig mit der Menge der reellen Zahlen. Semantik der Prädikatenlogik Die Definition 66 / 66