Logik für Informatiker 3. Prädikatenlogik Teil 4 18.06.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1
Letzte Vorlesung Sematik: Σ-Strukturen = (U, (f : U n U) f /n Ω, (p U m ) p/m Π ) wobei U eine Menge, genannt Universum von. Valuationen (Variablen-)Belegungen: β : X U Wert eines Terms in bzgl. β Falls t = x X: (β)(t) = β(x) Falls t = c eine Konstante: (β)(t) = c Falls t = f (t 1,...,t n ): (β)(t) = f ((β)(t 1 ),..., (β)(t n )) Wahrheitswert einer Formel in bzgl. β 2
Modelle, Gültigkeit, rfüllbarkeit 3
Gültigkeit und rfüllbarkeit Definition. F gilt in unter β:, β = F g.d.w. (β)(f) = 1 Definition. F gilt in ( ist Modell von F): = F g.d.w., β = F, für alle β : X U Definition. F ist (allgemein-) gültig: = F g.d.w. = F, für alle Σ-Str F heißt erfüllbar gdw. es und β gibt, so daß, β = F. Sonst heißt F unerfüllbar. 4
Folgerung und Äquivalenz Definition. F impliziert G (oder G folgt aus F), i.z. F = G gdw. für alle Σ-Str und β : X U gilt: Falls, β = F, so, β = G. Definition. F und G sind äquivalent gdw. für alle Σ-Str und β : X U gilt:, β = F genau dann, wenn, β = G. Satz. F impliziert G gdw. (F G) ist gültig Satz. F und G sind äquivalent gdw. (F G) ist gültig. rweiterung auf Formelmengen N in natürlicher Weise, z.b.: N = G gdw. für alle Σ-Str und β : X U : falls, β = F, für alle F N, so, β = G. 5
Gültigkeit und Unerfüllbarkeit Nachweis von Gültigkeit (und damit Folgerung oder Äquivalenz) durch Unerfüllbarkeitstest: F gültig genau dann, wenn F unerfüllbar N = F genau dann, wenn N F unerfüllbar 6
Universelle Quantifizierung Faustregel ist der logische (Top-level-)Operator mit Häufiger Fehler Verwendung von mit Beispiel lle, die in Koblenz studieren, sind schlau Richtig: Falsch: x(studiertin(x, koblenz) schlau(x)) x(studiertin(x, koblenz) schlau(x)) lle studieren in Koblenz und sind schlau, d.h. lle studieren in Koblenz und alle sind schlau 7
xistentielle Quantifizierung Faustregel ist der logische (Top-level-)Operator mit Häufiger Fehler Verwendung von mit Beispiel s gibt jemand, der in Landau studiert und schlau ist Richtig: Falsch: x(studiertin(x, landau) schlau(x)) x(studiertin(x, landau) schlau(x)) s gibt jemanden, der, falls er/sie in Landau studiert, schlau ist Trivial wahr, wenn es irgendjemanden gibt, der nicht in Landau studiert 8
igenschaften von Quantoren Quantoren gleicher rt kommutieren x x y ist das gleiche wie y ist das gleiche wie y y x x 9
igenschaften von Quantoren Quantoren gleicher rt kommutieren x x y ist das gleiche wie y ist das gleiche wie y y x x Sei Σ = (Ω,Π) eine Signatur. Für alle Σ-Formeln F gilt: (1) x y F y x F (2) x y F y x F 10
igenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT Beispiel: x y Mutter(y, x) Jeder hat eine Mutter (richtig) y x Mutter(y, x) s gibt eine Person, die die Mutter von jedem ist (falsch) 11
igenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT Beispiel: x y Mutter(y, x) Jeder hat eine Mutter (richtig) y x Mutter(y, x) s gibt eine Person, die die Mutter von jedem ist (falsch) Sei Σ = (Ω,Π) eine Signatur. Für alle Σ-Formeln F gilt: x y F = y x F s gibt eine Signatur Σ = (Ω,Π) und eine Formel F mit: x y F = y x F 12
igenschaften von Quantoren Dualität der Quantoren x... ist das gleiche wie x... ist das gleiche wie x... x... Beispiel: x mag(x, eiskrem) ist das gleiche wie x mag(x,broccoli) ist das gleiche wie x mag(x, eiskrem) x mag(x, broccoli) 13
igenschaften von Quantoren Dualität der Quantoren x... ist das gleiche wie x... ist das gleiche wie x... x... Beispiel: x mag(x, eiskrem) ist das gleiche wie x mag(x,broccoli) ist das gleiche wie x mag(x, eiskrem) x mag(x, broccoli) Sei Σ = (Ω,Π) eine Signatur. Für alle Σ-Formeln F gilt: (1) x F x F (2) x F x F 14
igenschaften von Quantoren distributiert über x(......) ist das gleiche wie ( x...) ( x...) 15
igenschaften von Quantoren distributiert über x(......) ist das gleiche wie ( x...) ( x...) Beispiel ( x (studiert(x) arbeitet(x)) ist das gleiche wie x studiert(x)) ( x arbeitet(x)) 16
igenschaften von Quantoren distributiert über x(......) ist das gleiche wie ( x...) ( x...) Beispiel ( x (studiert(x) arbeitet(x)) ist das gleiche wie x studiert(x)) ( x arbeitet(x)) Sei Σ = (Ω,Π) eine Signatur. Für alle Σ-Formeln F, G gilt: x(f G) xf xg 17
igenschaften von Quantoren distributiert über x(......) ist das gleiche wie ( x...) ( x...) 18
igenschaften von Quantoren distributiert über x(......) ist das gleiche wie ( x...) ( x...) Beispiel ( x (eiskrem(x) broccoli(x)) ist das gleiche wie x eiskrem(x)) ( x broccoli(x)) 19
igenschaften von Quantoren distributiert über x(......) ist das gleiche wie ( x...) ( x...) Beispiel ( x (eiskrem(x) broccoli(x)) ist das gleiche wie x eiskrem(x)) ( x broccoli(x)) Sei Σ = (Ω,Π) eine Signatur. Für alle Σ-Formeln F, G gilt: x (F G) ( x F) ( x G) 20
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) 21
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel ( x (eiskrem(x) broccoli(x)) ist NICHT das gleiche wie x eiskrem(x)) ( x broccoli(x)) 22
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel ( ( x (eiskrem(x) broccoli(x)) ist NICHT das gleiche wie x eiskrem(x)) ( x broccoli(x)) x (gerade(x) ungerade(x)) ist NICHT das gleiche wie x gerade(x)) ( x ungerade(x)) 23
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel ( ( x (eiskrem(x) broccoli(x)) ist NICHT das gleiche wie x eiskrem(x)) ( x broccoli(x)) x (gerade(x) ungerade(x)) ist NICHT das gleiche wie x gerade(x)) ( x ungerade(x)) s gibt eine Signatur Σ = (Ω,Π) und Σ-Formeln F, G mit: x(f G) xf xg 24
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) 25
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel x (gerade(x) ungerade(x)) ist NICHT das gleiche wie ( x gerade(x)) ( x ungerade(x)) 26
igenschaften von Quantoren distributiert NICHT über x(......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel x (gerade(x) ungerade(x)) ist NICHT das gleiche wie ( x gerade(x)) ( x ungerade(x)) s gibt eine Signatur Σ = (Ω,Π) und Σ-Formeln F, G mit: x(f G) xf xg 27
Beispiele: Familienverhältnisse Brüder sind Geschwister x y(bruder(x,y) geschwister(x, y)) 28
Beispiele: Familienverhältnisse Brüder sind Geschwister x y(bruder(x,y) geschwister(x, y)) bruder ist symmetrisch x y(bruder(x,y) bruder(y,x)) 29
Beispiele: Familienverhältnisse Brüder sind Geschwister x y(bruder(x,y) geschwister(x, y)) bruder ist symmetrisch x y(bruder(x,y) bruder(y,x)) in Cousin ersten Grades ist das Kind eines Geschwisters eines lternteils x y(cousin1(x,y) p p s (elternteil(p, x) geschwister(p s,p) elternteil(p s,y))) 30
Beispiele: Familienverhältnisse Brüder sind Geschwister x y(bruder(x,y) geschwister(x, y)) bruder ist symmetrisch x y(bruder(x,y) bruder(y,x)) in Cousin ersten Grades ist das Kind eines Geschwisters eines lternteils x y(cousin1(x,y) p p s (elternteil(p, x) geschwister(p s,p) elternteil(p s,y))) Definition für Bruder, der nicht nur Halbbruder ist x ybruder(x,y) ( (x y) m v( (m = v) elternteil(m, x) elternteil(v, x) elternteil(m, y) elternteil(v, y))) 31
Substitutionen und Valuationen 32
Substitutionen und Valuationen Theorem (Substitutionslemma) Für alle Σ-Strukturen, Wertebelegungen β, Σ-Formeln F, Variablen x und Terme t gilt:, β = F[t/x] g.d.w., β[x (β)(t)] = F Beweis: Strukturelle Induktion 33
Strukturelle Induktion Sei p(f) eine igenschaft der Formeln in Prädikatenlogik Behauptung: Für alle Formeln F, p(f) gilt Beweis durch Strukturelle Induktion: Induktionsbasis: Zu zeigen: p(f) gilt für F {, } und für alle atomaren Formeln. Induktionsvoraussetzung: Sei F eine Formel (nicht atomar oder oder ). nnahme: p(g) gilt für alle Teilformeln G von F (mit G F) Induktionsschritt: Zu zeigen: p(f) gilt: Fall 1 F = G Fall 2 F = G 1 G 2 Fall 3 F = G 1 G 2 Fall 4 F = G 1 G 2 Fall 5 F = G 1 G 2 Fall 6 F = Fall 7 F = xg xg 34
Strukturelle Induktion Sei p(t) eine igenschaft der Terme in Prädikatenlogik Behauptung: Für alle Terme t, p(t) gilt Beweis durch Strukturelle Induktion: Induktionsbasis: Zu zeigen: p(t) gilt für t X und für alle Konstanten. Induktionsvoraussetzung: Sei t ein Term (nicht Variable oder Konstante). nnahme: p(s) gilt für alle Teilterme s von t (mit s t) Induktionsschritt: Zu zeigen: p(t) gilt: Fallunterschied über alle f Ω mit t = f (t 1,...,t n ). 35
Substitutionen und Valuationen Theorem (Substitutionslemma) Für alle Σ-Strukturen, Wertebelegungen β, Σ-Formeln F, Variablen x und Terme t gilt:, β = F[t/x] g.d.w., β[x (β)(t)] = F Beweis: Strukturelle Induktion Wir benutzen folgendes Lemma: Lemma: Für alle Σ-Strukturen, Wertebelegungen β, Variable x und Terme t i,t: (β)(t i [t/x]) = (β[x (β)(t)])(t i ) 36
Substitutionen und Valuationen Lemma: Für alle Σ-Strukturen, Wertebelegungen β, Variable x und Terme t i,t: (β)(t i [t/x]) = (β[x (β)(t)])(t i ) Beweis Strukturelle Induktion p(t i ) (β)(t i [t/x]) = (β[x (β)(t)])(t i ) Zu zeigen: Für alle Terme t i, p(t i ) gilt. 1. Induktionsbasis: p(t i ) gilt für t i X und für t i = c Konstante. Fall 1: t i X. Fall 1a: t i = x. Dann: t i [t/x] = t. (β)(t i [t/x]) = (β)(t) = (β[x (β)(t)])(x) = (β[x (β)(t)])(t i ). Fall 1a: t i = y, mit y x. Dann: t i [t/x] = y (β)(t i [t/x]) = (β)(y) = (β[x (β)(t)])(y) = (β[x (β)(t)])(t i ). Fall 2: t i = c, c/0 Ω (Konstante). Dann: t i [t/x] = c (β)(t i [t/x]) = (β)(c) = c = (β[x (β)(t)])(c) = (β[x (β)(t)])(t i ). 37
Substitutionen und Valuationen Lemma: Für alle Σ-Strukturen, Wertebelegungen β, Variable x und Terme t i,t: (β)(t i [t/x]) = (β[x (β)(t)])(t i ) Beweis (ctd.) 2. Induktionsvoraussetzung: Sei t i Term (nicht Variable oder Konstante). nnahme: p(s) gilt für alle Teilterme s von t i (mit s t i ) 3. Induktionsschritt: Zu zeigen: p(t i ) gilt, wobei t i = f (s 1,..., s n ). (β)(t i [t/x]) = (β)(f (s 1,..., s n )[t/x]) = = (β)(f (s 1 [t/x],..., s n [t/x]) = (nw. Subst.) = f ((β)(s 1 [t/x]),..., (β)(s n [t/x])) Inf.Vor. = f ((β[x (β)(t)])(s 1 ),... (β[x (β)(t)])(s n )) = (β[x (β)(t)])(f (s 1,..., s n ) = (β[x (β)(t)])(t i ) 38