Logik für Informatik Sommersemester 2003 Mathias Kegelmann Technische Universität Darmstadt Fachbereich Mathematik 27. Mai 2003 VI. Prädikatenlogik A Nachdem wir nun ausführlich die Aussagenlogik betrachtet haben, kommen wir nun zur Prädikatenlogik erster Stufe. Dabei hat man keine atomaren Aussagenkonstanten pi mehr, sondern die elementaren Aussagen erhält man aus Relationen wie z.B. der Gleichheit. Bevor wir das formal definieren, betrachten wir ein Beispiel: ∃k. (2 × k = x) ∨ (2 × k = x + 1) Informell kann man diese Aussage so verstehen, dass sie aussagt, dass x entweder gerade oder ungerade ist. Die elementaren Aussagen sind hierbei 2 × k = x und 2 × k = x + 1, da diese entweder wahr oder falsch sein können. Diese sind nicht atomar sondern selbst wieder aus Funktionen × und + sowie der Relation = aufgebaut. Die Aussagen werden durch den bereits wohlbekannten Junktor ∨ verknüpft, und schließlich enthält die Formel noch den so genannten Existenzquantor ∃. Wie diese ganzen Sprachmittel zusammenhängen müssen wir nun formal erklären. 1 Syntax Die Syntax der Prädikatenlogik ist in zweierlei Hinsicht komplizierter als die Aussagenlogik. Es gibt jetzt Ausdrücke von zwei verschiedenen Arten, zum einen Terme, die für Elemente eines (Daten-)Typs stehen, wie oben z.B. 2×k, und dann noch Formeln, d.h. logische Ausdrücke, die wahr oder falsch sein können. Die zweite Komplikation ist, dass die Sprache in einem gewissen Sinn offen ist. Es gibt immer die bekannten logischen Junktoren, die Quantoren ∀ und ∃ sowie die Gleichheitsrelation =. Welche Funktionssymbole es aber gibt, um Terme aufzubauen, und welche Relationssymbole zur Verfügung stehen, um aus Termen Formeln zu machen, hängt von der Situation ab, die wir logisch beschreiben wollen. In der Arithmetik zum Beispiel haben wir die Funktionssymbole s (für die Nachfolgeroperation), +, × sowie die Konstante 0. Das einzige Relationssymbol ist die Gleichheit =. Definition 6.1. Eine Signatur Σ = (Ω, R, α) ist gegeben durch disjunkte Mengen Ω von Operationssymbolen und R von Relationssymbolen sowie einer Stelligkeitsabbildung α : Ω ∪ R → N. Diese Definition ist fast identisch zu der einer Signatur bei Allgemeinen Algebren (Definition A.9.1), nur dass wir jetzt zusätzlich Relationssymbole haben. Wie bereits in der Allgemeinen Algebra fassen wir Konstante als nullstellige Operationen auf und setzen stillschweigend voraus, dass die Zeichen “(”, “)” und “,” weder in Ω noch in R vorkommen. Die Menge der Terme TΣ (X) über einer Variablenmenge definieren wir genauso wie bei Algebren (Definition A.12.6): Definition 6.2. Sei Σ eine Signatur und X eine Variablenmenge, die zu Ω∪R∪{(, ), ,} disjunkt ist. Dann ist TΣ (X) induktiv durch folgende beiden Regeln definiert: 1. Für jede Variable x ∈ X ist das entsprechende Wort mit diesem einen Zeichen ein Term: x ∈ TΣ (X) 2. Ist f ∈ Ω ein Operationssymbol und t1 , . . . , tn ∈ TΣ (X) Terme, dann ist f(t1 , . . . ,tα(f ) ) ∈ TΣ (X) ein Term. Oft ist es sinnvoll, sich auf eine feste abzählbare Menge V = {x0 , x1 , x2 , . . .} von Variablen festzulegen und dann grundsätzlich nur Terme aus TΣ (V ) zu betrachten. Die Relationssymbole tragen zum Aufbau der Terme nichts bei, sondern sie dienen dazu, aus Termen elementare Formeln zu bilden. In der Logik nennt man diese Relationen oft auch Prädikate. Definition 6.3. Für Σ und X wie in der vorigen Definition erklären wir die Menge FΣ (X) der Formeln der Prädikatenlogik erster Stufe (mit Gleichheit) über der Variablenmenge X induktiv wie folgt: 1. Ist P ∈ R ein Prädikatssymbol der Stelligkeit n = α(P ) und sind t1 ∈ TΣ (X), . . . , tn ∈ TΣ (X) Terme, dann ist P(t1 , . . . ,tn ) ∈ FΣ (X) eine Formel. 2. Sind t1 , t2 ∈ TΣ (X) Terme, dann ist t1 = t2 ∈ FΣ (X) eine Formel. 3. ⊥ ∈ FΣ (X) ist eine Formel. 4. Für Formeln A, B ∈ FΣ (X) sind auch (A ∧ B), (A ∨ B), (A → B) ∈ FΣ (X) Formeln. 5. Ist A ∈ FΣ (X) eine Formel und x ∈ X eine Variable, dann sind ∀x. A ∈ FΣ (X) und ∃x. A ∈ FΣ (X) auch Formeln. Bemerkung. Die Zeichen ∀ und ∃ heißen Quantoren; dabei ist ∀ der Allquantor und ∃ der Existenzquantor. Man sagt auch, eine Formel, die mit ∀ beginnt, sei universell quantifiziert, und eine, die mit ∃ beginnt, existenziell quantifiziert. Wie in der Aussagenlogik lassen wir Klammern der Lesbarkeit halber gelegentlich weg, und ¬A steht für A → ⊥ sowie A ↔ B für (A → B) ∧ (B → A). Die Quantoren binden per Konvention weniger stark als die logischen Junktoren, und folgen mehrere aufeinander, so schreiben wir oft nur den Punkt nach der letzten quantifizierten Variable. Für die Formelmenge FΣ (V ) über der Standardvariablenmenge V schreiben wir abkürzend auch einfach FΣ . 2 2.1 Semantik Interpretation der Arithmetik in N Jetzt wollen wir erklären, was eine Formel wie ∃k. (2 × k = x) ∨ (2 × k = x + 1) formal bedeutet. Dazu definieren wir die Semantik induktiv zuerst für Terme und dann für Formeln. Wir machen dies zunächst am Beispiel der Arithmetik. Die Terme interpretieren wir in N = {0, 1, 2, . . .}, wobei + und × die übliche Interpretation haben. Die Semantik JtK eines Terms t erklären wir wie in der Allgemeinen Algebra einfach durch Ausrechnen. Um aber z.B. Jx + 1K berechnen zu können, müssen wir zuerst wissen, was JxK sein soll. Also starten wir mit einer Variablenbelegung ρ : X → N und erhalten dann Jx + 1Kρ = JxKρ + 1 = ρ(x) + 1 und allgemein Bedeutungen JtKρ, die von ρ abhängen. Die Gleichheit interpretieren wir wie folgt: ( w falls Jt1 Kρ = Jt2 Kρ Jt1 = t2 Kρ := f sonst Die logischen Junktoren interpretieren wir wie in der Aussagenlogik, d.h. wir rechnen mit den Wahrheitswerten w und f. Also müssen wir nur noch die Bedeutung der Quantoren klären. Eine Aussage ∀x. . . . bedeutet, dass “. . . ” für jeden Wert n ∈ N, den man für x einsetzt, wahr ist. Dagegen bedeutet ∃x. . . ., dass es einen Wert n ∈ N gibt, sodass “. . . ” gilt, wenn man n für x einsetzt. Um dies formal ausdrücken zu können, müssen wir die Belegung ρ an der Stelle x ändern. Für die Variablenbelegung, die für x den Wert n annimmt aber überall sonst mit ρ übereinstimmt, schreiben wir ρ[x 7→ n], d.h. ( n falls v = x, ρ[x 7→ n](v) := ρ(v) sonst. Damit können wir nun die Semantik der Quantoren wie folgt erklären: ( w falls für alle n ∈ N stets JAKρ[x 7→ n] = w erfüllt ist J∀x. AKρ := f sonst ( w falls es ein n ∈ N so gibt, dass JAKρ[x 7→ n] = w J∃x. AKρ := f sonst Man kann nun nachrechnen, dass man für jedes ρ q y ∃k. (2 × k = x) ∨ (2 × k = x + 1) ρ = w erhält; das n ∈ N, das man hierbei für k wählen muss, ist gerade n := dx/2e. 2.2 Modelle Formeln A ∈ FΣ (X) einer beliebigen Signatur Σ = (Ω, R, α) kann man auf ähnliche Weise überall interpretieren, wo man den Funktionssymbolen aus Ω und den Relationssymbolen aus R eine Bedeutung gegeben hat. Dazu definieren wir den Begriff des Modells einer Signatur als Verallgemeinerung des Begriffs der Algebra einer Signatur. Definition 6.4. Sei Σ = (Ω, R, α) eine Signatur. Ein Modell M = M, (f M )f ∈Ω , (RM )R∈R für Σ ist gegeben durch eine nichtleere Trägermenge M , eine Ω-indizierte Familie von Funktionen f M : M α(f ) → M und eine R-indizierte Familie von Relationen RM ⊆ M α(R) . 2.3 Interpretation in beliebigen Modellen Nun können wir definieren wie man Formeln in beliebigen Modellen interpretiert. Sei dazu Σ eine Signatur, M ein Modell und ρ : X → M eine Variablenbelegung. Dann definieren wir zunächst induktiv die Semantik von Termen J·Kρ : TΣ (X) → M JxKρ := ρ(x), für x ∈ X Jf(t1 , . . . ,tα(f ) )Kρ := f M Jt1 Kρ, . . . , Jtα(f ) Kρ und dann die für Formeln J·Kρ : FΣ (X) → {w, f}, die wir aber gleich bezeichnen: ( w falls Jt1 Kρ, . . . , Jtn Kρ ∈ RM JR(t1 , . . . ,tα(R) )Kρ := f sonst ( w falls Jt1 K = Jt2 K Jt1 = t2 Kρ := f sonst f JAKρ ∧ JBKρ JAKρ ∨ JBKρ JAKρ → JBKρ ( w falls für alle m ∈ M stets JAKρ[x 7→ m] = w erfüllt ist J∀x. AKρ := f sonst ( w falls es ein m ∈ M so gibt, dass JAKρ[x 7→ m] = w J∃x. AKρ := f sonst J⊥Kρ JA ∧ BKρ JA ∨ BKρ JA → BKρ := := := := Hierbei sind die semantischen Operationen ∧, ∨ und → wie in der Aussagenlogik durch die Wertetabellen aus Skript 1 gegeben. Wir sagen, dass eine Formel A in einem Modell M unter der Belegung ρ gilt, wenn JAKρ = w. Dafür schreiben wir M, ρ A. Gilt A in M für jede Belegung ρ, so schreiben wir M A. 3 Spiele Diese Wahrheitswerte-Semantik kann man auch als Spiel-Semantik uminterpretieren. Seien Σ und M fest sowie eine Variablenbelegung ρ gegeben. Dann kann man zu jeder Formel A ∈ FΣ (X) ein VerifikationsWiderlegungs-Spiel wie folgt spielen: Es gibt zwei Spieler V und W , wobei V versucht, die Gültigkeit von A (in M unter der Belegung ρ) zu verteidigen und W sie zu widerlegen. Dazu zerlegen sie nach und nach die Formel abhängig von ihrer Struktur: • Ist A eine elementare Aussage, also von der Form R(t1 , . . . ,tα(R) ) oder t1 = t2 , so überprüfen sie die Gültigkeit der Formel direkt im Modell durch Ausrechnen. Ist das Ergebnis w, so gewinnt V ; ist es f, so gewinnt W . • Ist die Formel ⊥ so gewinnt W . • Ist die Formel von der Form A ∧ B, so kann sich W aussuchen, ob er mit A oder mit B weiterspielen will. • Für Formeln der Form A ∨ B entscheidet dagegen V , ob mit A oder mit B weitergespielt wird. • Ist die Formel von der Form ∀x. A, so wählt W einen Wert für x und man spielt mit A weiter. • Für den Existenzquantor ∃x. A wählt V einen Wert für x und es wird wieder mit A weitergespielt. • Für negierte Formeln ¬A spielt man mit A weiter, wobei nun die Rollen von V und W vertauscht werden. • Implikationen A → B behandelt man als ¬A ∨ B, d.h. V kann sich aussuchen, ob er lieber A mit vertauschten Rollen oder einfach mit B weiterspielen möchte. Beispiel 6.5. Wie kann der Verteidiger das zu ∀x∃y. x < y gehörende Spiel gewinnen und somit die Gültigkeit dieser Formel in N verteidigen? Es beginnt W damit, dass er ein beliebiges x ∈ N wählt. Danach geht es mit der Formel ∃y. x < y weiter. Nun wählt V einfach y := x + 1 und man überprüft nun x < y, was mit dieser Wahl von y immer wahr ist. Das Spiel ∃y∀x. x < y dagegen kann immer W gewinnen, da er für x einfach die gleiche Zahl wählen kann, die V für y gewählt hat. Satz 6.6. Sei Σ eine Signatur, M ein Modell für Σ, ρ : X → M eine Variablenbelegung und A ∈ FΣ (X). Dann gilt genau dann M, ρ A, wenn V für das zu A gehörende Spiel eine Gewinnstrategie hat. Gilt A nicht unter der Belegung ρ, dann hat W eine Gewinnstrategie.