Formale Methoden 2 Gaetano Geck Lehrstuhl I – Logik in der Informatik WS 2015/2016 Teil 2: Logik 1 Prädikatenlogik (Einleitung) 2 Aussagenlogik 3 Prädikatenlogik (Fortsetzung) Einleitung Strukturen und Signaturen Syntax Semantik Eigenschaften Logik / Prädikatenlogik (Fortsetzung) Einleitung Wir haben in Kapitel 1 mit den funktionsfreien Formeln bereits ein wichtiges Fragment der Prädikatenlogik betrachtet. Dabei haben wir jeweils eine konkrete Datenbank D = (U, R1 , . . . , Rn ) betrachtet, wobei • U ein endliches Universum und • R1 , . . . , Rn endliche Relationen sind; Diese Einschränkungen waren durch die Datenbanktheorie motiviert; werden in der Prädikatenlogik fallen gelassen, um • mehrere (alle) möglichen erfüllenden Strukturen („Datenbanken“) betrachten zu können; • um insbesondere Fragestellungen der Mathematik zu modellieren, etwa der Arithmetik (unendliches Universum N0 ). FM2 (WS 2014/15, Geck) 41 Logik / Prädikatenlogik (Fortsetzung) Strukturen (1/2) Wir verallgemeinern zunächst das Konzept der relationalen Datenbank: Definition 3.1 (Struktur) Eine Struktur A ist ein Tupel (A, R1 , . . . , Rk , f1 , . . . , f` , c1 , . . . , cm ), wobei A eine nichtleere (möglicherweise unendliche) Menge ist, genannt Universum; R1 , . . . , Rk Relationen (beliebiger Stelligkeit) über A sind; fi : Aki ! A eine totale Funktion (der Stelligkeit ki > 0) ist, für jedes i 2 {1, . . . , `}; c1 , . . . , cm Konstanten genannte Element von A sind. Beispiel 3.2 (Natürliche Zahlen mit Addition und Multiplikation) Struktur (N0 , add, mul, eadd , emul ) zweistelliger Abbildung add : N0 ⇥ N0 ! N0 mit add(a, b) = a + b, für alle a, b 2 N0 ; zweistelliger Abbildung mul : N0 ⇥ N0 ! N0 mit mul(a, b) = a · b, für alle a, b 2 N0 ; Konstante eadd = 0 2 N0 ; Konstante emul = 1 2 N0 . FM2 (WS 2014/15, Geck) 42 Logik / Prädikatenlogik (Fortsetzung) Strukturen (2/2) Zur Erinnerung: Definition 3.1 (Struktur) Eine Struktur A ist ein Tupel (A, R1 , . . . , Rk , f1 , . . . , f` , c1 , . . . , cm ), wobei A eine nichtleere (möglicherweise unendliche) Menge ist, genannt Universum; R1 , . . . , Rk Relationen (beliebiger Stelligkeit) über A sind; fi : Aki ! A eine totale Funktion (der Stelligkeit ki > 0) ist, für jedes i 2 {1, . . . , `}; c1 , . . . , cm Konstanten genannte Element von A sind. Beispiel 3.3 (Ganze Zahlen mit Vorgänger, Nachfolger) Struktur (Z, ⇡, , c) mit einstelliger Abbildung ⇡ : Z ! Z mit ⇡(a) = a einstelliger Abbildung Konstante c = 0 2 Z. 1 für alle a 2 Z; : Z ! Z mit (a) = a + 1 für alle a 2 Z; Bemerkung: Konstanten können als nullstellige Abbildungen aufgefasst werden, etwa f0 : {()} ! N0 mit () 7! 0, f1 : {()} ! N0 mit () 7! 1. FM2 (WS 2014/15, Geck) 43 Logik / Prädikatenlogik (Fortsetzung) Signaturen Formeln sollen sich auf Strukturen beziehen. Eine Struktur gibt den Symbolen in der Formel Bedeutung (Relationssymbole, Funktionssymbole, Konstantensymbole) Definition 3.4 (Signatur) Die Signatur Sign(') ist die Menge der in ' vorkommenden Relations-, Funktions- und Konstantensymbole. Konvention Relationssymbole sind Großbuchstaben (P, Q, R, R1 , R2 , R3 , . . . ) Funktionssymbole sind Kleinbuchstaben aus der Mitte des Alphabets (f , g, h; f1 , f2 , f3 , . . . ) Konstantensymbole sind Kleinbuchstaben vom Anfang des Alphabets (a, b, c; c1 , c2 , c3 , . . . ) Abweichungen müssen erwähnt werden! Beispiel 3.5 ⇣ ⌘ Sign R(c1 , y) ^ S(y, c2 ) = {R, S, c1 , c2 } ⇣ ⌘ Sign 8x R(x, y) ^ S(f (g(x, a1 , c2 ))) = {R, S, f , g, a1 , c2 } FM2 (WS 2014/15, Geck) 44 Logik / Prädikatenlogik (Fortsetzung) Prädikatenlogik: Syntax Die Menge der Terme ist induktiv definiert: Definition 3.6 (Prädikatenlogischer Term) Die Menge PT(S) für eine Signatur S ist die kleinste Menge, für die gilt: jede Variable x, y, z; x1 , x2 , x3 , . . . ist in PT(S); jedes Konstantensymbol aus S ist in PT(S); für jedes k-stellige Funktionssymbol und alle Terme ⌧1 , . . . , ⌧k 2 PT(S) ist f (⌧1 , . . . , ⌧k ) 2 PT(S). Bemerkung: Ein Term repräsentiert also (direkt oder indirekt) ein Element des Universums. Wir verallgemeinern Definition 1.5: Definition 3.7 (Relationsatom) Sei S eine Signatur mit einem Relationssymbol R der Stelligkeit k. Dann ist R(⌧1 , . . . , ⌧k ) ein Relationsatom über S, falls ⌧1 , . . . , ⌧k 2 PT(S). Definition 3.8 (Prädikatenlogische Formel) Eine prädikatenlogische Formel über einer Signatur S ist eine Formel, die sich gemäß Definition 1.9 (Boole’sche Konnektoren ¬, ^, _) und Definition 1.16 (Quantoren 8, 9) über Relationsatomen aus PT(S) bilden lässt. FM2 (WS 2014/15, Geck) 45 Logik / Prädikatenlogik (Fortsetzung) Prädikatenlogik: Semantik (1/3) Definition 3.9 Eine (prädikatenlogische) Interpretation I = (A, ) besteht aus einer Struktur A = (A, R1 , . . . , Rk , f1 , . . . , f` , c1 , . . . , cm ) und einer Abbildung : V ! A, genannt Belegung. Eine Interpretation I = (A, ) heißt passend zu einer Formel ', falls die Struktur A alle Relations-, Funktions- und Konstantensymbole definiert und für jede freie Variable (Blatt 3) von ' definiert ist. Da Terme Elemente des Universums einer Struktur indirekt bezeichnen können, müssen wir definieren, welches Element gemeint ist: Definition 3.10 (Wert eines Termes) Der Wert [[⌧]]I eines Terms ⌧ 2 PT(S) ist induktiv definiert: [[x]]I = (x), falls ⌧ = x für eine Variable x 2 V ; [[c]]I = cA , falls ⌧ = c ein Konstantensymbol ist; [[f (⌧1 , . . . , ⌧k )]]I = f A [[⌧1 ]]I , . . . , [[⌧k ]]I , falls f ein Funktionssymbol ist. Notation: Wir schreiben RA , f A und cA für die Relation, die Funktion, die Konstante, welche durch die Struktur A definiert wird, um sie von dem Relations-, Funktions-, Konstantensymbol, welches im Term ⌧ verwendet wird, zu unterscheiden. FM2 (WS 2014/15, Geck) 46 Logik / Prädikatenlogik (Fortsetzung) Prädikatenlogik: Semantik (2/3) Beispiel 3.11 (Natürliche Zahlen mit Addition und Multiplikation) Struktur AN0 = (N0 , add, mul, eadd , emul ) zweistelliger Abbildung add : N0 ⇥ N0 ! N0 mit add(a, b) = a + b, für alle a, b 2 N0 ; zweistelliger Abbildung mul : N0 ⇥ N0 ! N0 mit mul(a, b) = a · b, für alle a, b 2 N0 ; Konstante eadd = 0 2 N0 ; Konstante emul = 1 2 N0 . Aufgabe Bestimme den Wert folgender Terme unter der Struktur AN0 : eadd add(emul , emul ) ⇣ ⌘ mul add(emul , emul ), add add(emul , emul ), add(emul , emul ) FM2 (WS 2014/15, Geck) 47 Logik / Prädikatenlogik (Fortsetzung) Prädikatenlogik: Semantik (3/3) Der Wahrheitwert einer prädikatenlogischen Formel ist analog zum Wahrheitswert einer funktionsfreien Formel definiert: Definition 3.12 (Wahrheitswert) Sei ' eine prädikatenlogische Formel und I = (A, ) eine zu ' passende Interpretation. Dann gilt [[']]I = 1, falls ' = Ri (⌧1 , . . . , ⌧k ) und ([[⌧1 ]]I , . . . , [[⌧k ]]I ) 2 RA i , und [[']]I = 0, falls ' = Ri (⌧1 , . . . , ⌧k ) und ([[⌧1 ]]I , . . . , [[⌧k ]]I ) < RA i ; [[']]I = 1 [[ ]]I , falls ' = ¬ ; [[']]I = min [[ 1 ]]I , [[ 2 ]]I , falls ' = ( 1 [[']]I = max [[ 1 ]]I , [[ 2 ]]I , falls ' = ( 1 ^ _ 2 ); 2 ); [[']]I = 1, falls ' = 9x und [[ ]]I 0 = 1 für ein c 2 A und I 0 = (A, [x7!c] ), und [[']]I = 0, falls ' = 9x und [[ ]]I 0 = 0 für jedes c 2 A und I 0 = (A, [x7!c] ); [[']]I = 1, falls ' = 8x und [[ ]]I 0 = 1 für jedes c 2 A und I 0 = (A, [x7!c] ), und [[']]I = 0, falls ' = 8x und [[ ]]I 0 = 0 für ein c 2 A und I 0 = (A, [x7!c] ); FM2 (WS 2014/15, Geck) 48 Logik / Prädikatenlogik (Fortsetzung) Prädikatenlogik: Eigenschaften (1/2) Definition 3.13 Sei ' eine prädikatenlogische Formel, dann heißt ' erfüllbar, wenn es eine passende erfüllende Interpretation für sie gibt; unerfüllbar, wenn es keine passende erfüllende Interpretation für sie gibt; allgemeingültig oder Tautologie, wenn jede zu ihr passende Interpretation erfüllend ist. Beispiel 3.14 Die Formel ' = 8xR x, f (x) erfüllbar, etwa durch I1 = (A1 , ) mit • A1 = ({0, 1, 2}, RA1 ) für RA1 = {(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)} und • Funktion f A1 mit f A1 (0) = 2, f A1 (1) = 1 und f A1 (2) = 2. nicht allgemeingültig, da etwa I2 = (A2 , ) • A2 = ({0, 1, 2}, RA2 ) für RA2 = {(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)} und • Funktion f A2 mit f A2 (0) = 0, f A2 (1) = 0 und f A2 (2) = 2. nicht erfüllend ist. Hierbei ist FM2 (WS 2014/15, Geck) : V ! {0, 1, 2} nirgends definiert (' enthält keine freien Variablen). 49 Logik / Prädikatenlogik (Fortsetzung) Prädikatenlogik: Eigenschaften (2/2) Ebenso lässt sich die semantische Implikation/Äquivalenz verallgemeinern: Definition 3.15 Seien ' und prädikatenlogische Formeln und eine Menge prädikatenlogischer Formeln. Die Formel ' ist äquivalent zu (Notation: ' ⌘ ), falls [[']]I = [[ ]]I für jede zu ' und passende Interpretation I gilt. Die Formelmenge die zu impliziert , falls jede Interpretation, und jeder Formel in die für jede Formel in auch die Formel Wir schreiben dann passt und erfüllend ist, erfüllt. |= . Beispiel 3.16 Es gelten etwa die folgenden Äquivalenzen, für beliebige Formel ', : ¬8x ⌘ 9x¬ ¬9x ⌘ 8x¬ 8x8y ⌘ 8y8x 9x9y ⌘ 9y9x . FM2 (WS 2014/15, Geck) 50