Proseminar Logik für Informatiker Thema: Prädikatenlogik (1.Teil)
Inhaltsverzeichnis 1. Warum eine mächtigere Sprache? 1.1. Einleitung 1.2. Definitionen 2. Prädikatenlogik als formale Sprache 2.1. Terme 2.2. Formeln 2.3. Freie und gebundene Variablen 2.4. Substitution 3. Beweisidee der Prädikatenlogik 3.1. Natural deduction rules 3.1.1 Beweisregeln für Gleichheit 3.1.2 Beweisregeln für All-Quantoren 3.1.3 Beweisregeln für Existenz-Quantoren 3.2. Äquivalenz der Quantoren 4. Schlussfolgerung 5. Literaturangabe 2
1. Warum eine mächtigere Sprache? 1.1. Einleitung Wir benötigen für die Konstruktion von bestimmten Aussagen Symbole oder Mechanismen, die einer natürlichen Sprache eher entsprechen als wir es mit Hilfe der Aussagenlogik formulieren können. Mit Hilfe der Aussagenlogik können wir mit Elementen wie nicht, und, oder sowie wenn dann grundlegende Ausdrücke formulieren. Da es sich bei der natürlichen Sprache aber um eine viel mächtigere Sprache handelt, in der wir auch Ausdrücke formulieren wollen bei denen wir alle Elemente, eine Auswahl oder ähnliches darstellen möchten, benötigen wir neue, mächtigere Möglichkeiten. Um die Aussagenlogik erweitern zu können ist eine mächtigere Sprache von Nöten, der Anlass für den Entwurf der Prädikatenlogik. Stellen wir uns vor wir möchten folgende Sätze formulieren, wie: Alle Schachtarbeiter sind älter als einige Gefreite. Einige Vögel können nicht fliegen. Was können wir verwenden um Ausdrücke zu formulieren, wie beispielsweise alle oder einige. In der Aussagenlogik beschreiben wir einen Ausdruck als Ganzes, allerdings wollen wir in diesen Sätzen die einzelnen Elemente beschreiben und diese wiederum miteinander in Beziehung setzen. Was sagt der erste Satz eigentlich aus, gehen wir ins Detail. Wie haben die Aussagen jemand ist ein Schachtarbeiter, jemand ist ein Gefreiter sowie jemand ist älter als jemand anderes. Um ausdrücken zu können, dass jemand ein Schachtarbeiter oder ein Gefreiter ist, benötigen wir Prädikate. Diese Prädikate erlauben uns ein Element einer bestimmten Menge zuzuordnen. In unserem ersten Satz würden wir dann für jemand ist ein Schachtarbeiter S(Fritz) bzw. jemand ist ein Gefreiter G(Heiaar) schreiben. Hierbei bezeichnet der Buchstabe S bzw. G vor der Klammer, welches man als Prädikatensymbol bezeichnen kann, die Zugehörigkeit des in der Klammer befindlichen Elementes. Wir können nun formulieren das Fritz älter als Heiaar ist Ä(Fritz,Heiaar). Da wir uns in unseren Beispielsätzen nicht auf ein exaktes Element, sondern auf eine Menge von Elementen beziehen möchten, brauchen wir Individuenvariablen. Also ersetzen wir Fritz und Heiaar einfach durch Individuenvariabeln, welche uns erlauben beliebige Atome der Art S oder G herzustellen. Gehen wir nun dazu über Prädikate, Prädikatensymbole und deren Beziehung zueinander mathematisch zu definieren. 3
1.2. Definitionen der Symbole Neben den Prädikaten benötigen wir noch mehr Symbole um Prädikatenlogik als eine formale Sprache definieren zu können. Unsere Sprache besteht aus folgenden Symbolen: 1. Individuenvariablen: x, y, z,..., x 1, x 2,... 2. Individuenkonstanten: a, b, Fritz, Heiaar,..., a 1, a 2,... 3. Funktionssymbole beliebiger Anzahl an Stellen: f, g, h,..., f 1, f 2,... 4. Prädikatssymbole beliebiger Anzahl an Stellen: P, Q, R,..., P 1, P 2,... 5. Junktoren: (und), (oder), (nicht) 6. Quantoren: (Allquantor für alle ), (Existenzquantor es gibt ) 7. Hilfszeichen: (, ),, (Komma) Mit Hilfe dieses Zeichensatzes sind wir in der Lage unseren Beispielsatz vollständig zu formulieren. Hierfür müssen wir jedoch erst die Prädikate definieren. Bsp.: S(: x ist ein Schachtarbeiter G(: x ist ein Gefreiter Ä(x,y): x ist älter als y Wobei x und y hier Variablen sind. Variablen sind Platzhalter für jegliche Arten von beliebigen Werten. In unseren Fall wäre x für S( ein beliebiger Name für einen Schachtarbeiter. Schließlich möchten wir zum Ausdruck bringen, dass es für alle Schachtarbeiter einige Gefreiten gibt, die jünger sind als sie. Hierfür benutzen wir die Quantoren. Die Einführung von Quantoren zeigen nun die Erweiterung des Zeichensatzes der Aussagenlogik auf. Mittels dieser Quantoren können wir nun die Ausdrücken aus dem Beispiel formulieren: x( S( ( y( G( y) Ä( x, )) Gelesen als: Für alle x gilt, wenn x ein Schachtarbeiter ist, dann gibt es ein y für das gilt, y ist ein Gefreiter und x ist älter als y Aufgrund der Tatsache, dass es sich um eine Erweiterung der Aussagelogik handelt, gelten alle Definitionen, Interferenzregeln, Theoreme, algebraischen Umformungsregeln etc. somit auch in der Prädikatenlogik. 4
2. Prädikatenlogik als formale Sprache Das prädikatenlogische Vokabular besteht aus zwei Mengen. Eine Menge von Prädikatensymbolen P und eine Menge von Funktionssymbolen F sowie den Konstanten C, die wir als 0-stellige Funktionen betrachten können und deshalb in die Menge der Funktionssymbole integrieren. Variablen dienen als Platzhalter für konkrete Werte oder Objekte. Die Menge der zugrunde liegenden möglichen Werte bzw. Objekten für eine Variable x heißt Universum U. 2.1. Terme Die Klasse der Terme wird induktiv definiert durch die folgenden drei Schritte. (1) Jede Individuenvariable ist ein Term. (2) Jede Individuenkonstante ist ein Term. (3) Sind t 1,..., t n Terme und f eine n-stellige Funktion, so ist auch f(t 1,..., t n ) ein Term. In Backus Naur Form (BNF): t :: = x c f ( t,..., t) wobei x eine Variable ist, c C und f F C Konstanten F Funktionen 2.2. Formeln Die Klasse der prädikatenlogischen Formeln wird induktiv definiert durch die folgenden vier Schritte. (1) Sind t 1,, t n Terme und P eine n-stelliges Prädikatssymbol, so ist P(t 1,, t n ) eine Formel. (2) Ist α eine Formel, so ist auch ( α ) eine Formel. (3) Falls α und β Formeln sind, so sind auch (α β) und (α β) Formeln. (4) Falls α eine Formel ist und x eine Individuenvariable, so sind auch ( xα) und ( xα) Formeln. In BNF: α :: = P( t1, t 2,..., tn) ( α) ( α α) ( α α) ( α α) ( xα ) ( xα ) Die Argumente von Prädikaten sind immer Terme. 5
Zur Klammereinsparung ist es sinnvoll, Bindungsregeln festzulegen. Bindungsregeln: 1.), und binden stärker als. 2.) bindet stärker als. 3.) Binäre Operatoren gleicher Stärke werden als links geklammert angesehen. Bsp.: (( A B) C) D) A B C D Dabei ist zu beachten, dass in (4) der Definition der Formeln die Klammerung quantifizierter Formeln auch den Bindungsbereich der Variablen kennzeichnet. So ist es sinnvoll, in einer Formel xp( Q( trotz Bindungsregeln die Klammerung ( xp( ) Q( beizubehalten, um Missverständnissen vorzubeugen. 2.3. Freie und gebundene Variablen Für die späteren Definitionen ist es sinnvoll, unterscheiden zu können, ob Variablen im Bindungsbereich eines Quantors in einer Formel vorkommen oder nicht. Wir führen daher die Begriffe gebundene und freie Variable ein. Wir sind in der Lage einen Syntaxbaum in der gleichen Weise wie bei der Aussagenlogik zu zeichnen, allerdings mit ein paar zusätzlichen Informationen. - die Quantoren x α oder y α werden als Knoten gezeichnet und haben ähnlich der Negation einen Teilbaum - Prädikate P ( t1, t 2,..., tn) haben das Prädikatensymbol, hier P, als Knoten und n-viele Teilbäume ( t 1, t 2,..., tn) Beispiel: ( x( P( Q( )) ( P( Q( 6
Definition: Sei α eine prädikatenlogische Formel. Dann ist x frei in α, wenn x ein Blatt im Syntaxbaum von α ist, und es keinen Knoten x oder x im Pfad von x zur Wurzel gibt. Andernfalls heißt x gebunden. Für Ausdrücke x α oder x α sagen wir, dass α den Gültigkeitsbereich von x bzw. x ist. Das heißt, jedes Vorkommen von x in α ist gebunden, wenn es im Gültigkeitsbaum von x oder x liegt. Sonst ist x frei. Eine Variable x kann in α sowohl gebunden als auch frei vorkommen. Betrachte unsere folgende Formel: x( P( Q( ) ( P( P( Man sieht, dass beide Vorkommen von x in der linken Teilformel durch x gebunden sind. Das Vorkommen von x in der rechten Teilformel ist jedoch frei. Dies ist eine wichtige Unterscheidung, insbesondere im Bezug auf Substitutionen, die im nächsten Punkt näher betrachtet werden. 7
2.4. Substitution Da es sich bei Variablen um Platzhalter handelt, müssen wir diese auch durch konkrete Werte und insbesondere durch andere Terme ersetzen können. Die Termsetzung wird Substitution genannt. Substituiert werden können bzw. dürfen nur freie Vorkommen eine Variablen x in α. Eine durch einen Quantor gebundene Variable muss unverändert bleiben, da diese unspezifiziert bzw. alle Werte des zugrunde liegenden Universums repräsentiert. Definition: Sei x eine Variable, t ein Term und α eine Formel, so ist α [ t / x] definiert als die Formel, die man erhält, wenn man alle freien Vorkommen von x in α durch t ersetzt. Substitutionen können allerdings unerwünschte Seiteneffekte hervorrufen. So könnte beispielsweise bei einer Substitution α [ t / x] der Term t eine Variable y enthalten, wobei freie Vorkommen von x in α im Gültigkeitsbereich von x oder x liegt. Dadurch würde die Variable y, die eventuell einem konkreten Kontext unterlag, durch einen Quantor gebunden werden. Die Kontext-Spezifikation eines konkreten Wertes für y würde dadurch überschrieben, da y nun für unspezifizierte bzw. alle möglichen Werte stehen würde. Solche unerwünschten Effekte sollten auf jeden Fall vermieden werden. Schauen wir uns folgendes Beispiel an um diesen Seiteneffekt besser zu verdeutlichen. C ( y( M ( y) S( G( Dies soll nichts weiter bedeuten als: Ist x ein Chef, dann gilt für alle y, ist y ein Mitarbeiter und der Chef ist sauer, dann gibt es keine Gehaltserhöhung Sei nun t = b(y) (bedeutet b ist befördert worden) so würden die beiden Vorkommen von y in t durch die Substitution α [ t / x] durch den Allquantor gebunden. C ( b( y( M ( y) S( b( G( Was bedeuten würde, dass alle zum Chef beförderten Leute sauer wären und das ist offentsichtlich falsch. Definition: Gegeben sei ein Term t, eine Variable x und eine Formel α. Wir sagen t ist frei für x in α wenn kein freies Vorkommen von x in α im Gültigkeitsbereich von y oder y für eine Variable y in t liegt. 8
Bemerkung: Gibt es in einer Formel α kein freies Vorkommen einer Variablen x, so ist bei der Substitution α [ t / x] trivialerweise t frei für x in α, da nichts substituiert werden kann. α [ t / x] ist somit wieder einfach α. Also wäre für: C ( y( M ( y) S( G( α [ t / x] bei t = b(y) t nicht frei für x in α. Eine Lösung dieses Problems wäre eine geeignete Umbenennung der Variablen, bevor die Substitution ausgeführt wird. Für unseres Beispiel würde dies bedeuten: C ( y( M ( y) S( G( Bennnen wir die Variable y in z um: C ( z( M ( z) S( G( z)) Durch die Substitution α [ t / x] bei t = b(y) ist t nun frei für x in α. C ( b( z( M ( z) S( b( G( z)) Das t nun frei für x in α ist, wird b(y) nach der Substitution nicht mehr an den Allquantor gebunden. 9
3. Beweisidee der Prädikatenlogik Wie in der Aussagenlogik gibt es das gleiche syntaktische Beweissystem der natürlichen Deduktion auch für die Prädikatenlogik. Das bedeutet, dass alle Beweise, die für die Aussagenlogik formuliert worden sind auch für die Prädikatenlogik weiterhin gelten. Das Beweissystem wird lediglich erweitert um sie auch allgemein für alle logischen Formeln der Prädikatenlogik anwenden zu können. 3.1. Natürliche Deduktionsregeln Die zusätzlichen Regeln für unser neues Beweissystem unterscheiden sich in 2 Grundformen, die Einführungsregeln (=i) und die Eliminierungsregeln (=e). Diese Grundformen gelten sowohl für Gleichheit als auch für alle Quantoren. 3.1.1 Beweisregeln für Gleichheit Diese Gleichheit drückt weder die syntaktische noch die intentionale Gleichheit aus. Wenn wir von Gleichheit im Sinne unserer Deduktion reden, sprechen wir davon, dass die Formeln oder Terme zum gleichen Wert ausgewertet werden. Folglich ist trivialerweise jeder Term t gleich mit sich selbst. Formal ausgedrückt bedeutet das: t = t =i (a) Da wir wissen, dass ein Term t mit sich selbst gleich ist, versuchen wir im nächsten Schritt eine Substitution zu erreichen von zwei unterschiedliche Termen t 1 und t 2, von denen wir wissen, dass sie zum gleichem Wert ausgewertet werden. Nehmen wir an es handelt sich dabei um die Ausdrücke y*(w+2) für t 1 und y*w + y*2 für t 2 (wir gehen davon aus, dass sie zum gleichen Werte ausgwertet werden können). Folglich gilt in diesem Fall: z y *( w + 2) impliziert z y * w + y * 2 und umgekehrt. Drücken wir nun dieses Substitutionsprinzip als eine Regel =e aus: t 1 = t 2 α[ t1/ x] = e. α[ t 2 / x] Unser α beschreibt die Formel, die man erhält nachdem man einmal für die Substitution im Zähler und im Nenner erhält. Diese Formel soll zeigen, dass wir eine Gleichheit erreichen können, bei Formeln, die zum gleichen Wert ausgwertet werden. Selbstverständlich gilt auch in diesem Fall, dass t frei für x in α sein muss. 10
Um näher auf die Gleichheit einzugehen versuchen wir nun die Grundlagen jeglicher extentionaler Gleichheit aufzuzeigen. Dazu benötigen wir zunächst eine Beweisgrundlage. Hierzu soll uns folgender Beweis dienen: 1 ( x + 1) = (1 + Prämisse 2 ( x + 1 > 1) ( x + 1 > 0) Prämisse 3 ( 1+ x > 1) (1 + x > 0) =e 1,2 Im folgenden werden wir das Symbol benutzen. Dieses Symbol drückt die symbolische Folgerung aus. Mit diesen Grundlagen versuchen wir nun folgende Formel zu beweisen: Übernehmen wir unsere vorangegangenen Aussagen können wir für t 1 als (x+1), t 2 als (1+ und schließlich α als ( x > 1) ( x > 0) festlegen. Wir benutzen den Namen =e dann, wenn es das wiedergibt, was die Regel mit den Daten macht: Es eliminiert die Gleichheit in t 1 =t 2 durch Ersetzen aller t 1 in α [ t1/ x] mit t 2. Dies klingt nach dem Substitutionsprinzip, unter der Annahme, dass t 1 ist gleich t 2. Zusammen mit der =i Regel können wir folgende Ausdrücke beweisen: t 1 = t 2 t 2 = t 1 (b) t 1 = t 2, t 2 = t 3 t 1 = t 3 (c) Beweis für (b): 1 t 1 = t 2 Prämisse 2 t 1 = t 1 =i 3 t 2 = t 1 =e 1,2 α ist hierbei t 1 = x. Beweis für (c): 1 t 2 = t 3 Prämisse 2 t 1 = t 2 Prämisse 3 t 1 = t 3 =e 1,2 Nachdem wir nun (a), (b), (c) bewiesen haben, haben wir nun die Grundlagen der extentionalen Gleichheit erfüllt Reflexivität (a), Symmetrie (b) und schließlich Transitivität (c). 11
3.1.2 Beweisregeln für All-Quantoren Die Regel für die Allquantoren-Einführung laute: α xi xα Diese Interferrenzregel besagt, wenn ein Ausdruck α für ein bestimmtes, also willkürliches x bewiesen werden kann, dann können wir daraus folgern, das α für alle möglichen Werte von x gilt, und somit den -Quantor einführen. Die Regel für die Allquantoren-Eliminierung laute: xα α[ t / x] xe Das bedeutet: Wenn xα wahr ist, dann kann man x in α durch irgendeinen Term t ersetzen (natürlich nur unter der Bedingung, dass t für x frei in ist α ist) und folgern, dass α [ t / x] ebenfalls wahr ist. Wir wissen bereits, dass α [ t / x] gelöst werden kann, indem wir alle freien Vorkommen von x in α mit t ersetzen. Man kann sich den Term t als eine Art konkrete Instanz von x vorstellen. Wenn α für alle x wahr ist, so sollte das auch für jeden Term t der Fall sein. Damit kann die Betrachtung von xe abgeschlossen werden und wir gehen nun zu xi über. Für diesen Beweis benötigen wir eine so genannte Beweisbox, da dieser Beweis ein wenig komplizierter zu handhaben ist. Das Prinzip dieses Beweises kennen wir aus der Mathematik unter Es gibt ein x für das gilt.... Wir können mittels der Beweisbox unseren Beweis wie folgt schreiben: Die Variable x 0 steht für einen unspezifizierten Wert aus dem Universum. Indem wir also α für einen willkürlichen Term x 0 beweisen, können wir daraus xα schlussfolgern. Die Box gibt den Gültigkeitsbereich von x 0 an. Der Term x 0 darf nicht außerhalb dieser Box erscheinen, da die Korrektheit der i -Regel sonst nicht gewährleistet wäre. 12
Beispiel: Zu zeigen gilt es: x ( P( Q( ), x P( x Q( 3.1.3 Beweisregeln für Existenz-Quantoren Die Regel für die Existenzquantoren-Eliminierung laute: α [ t / x] xα xi Angenommen, dies sei korrekt: Die Formel bedeutet, dass wir xα herleiten können, wenn α [ t / x] für mindestens einen Term t existiert (vorrausgesetz: t ist frei x in α). Etwas einfacher ausgedrückt, bedeutet dies nicht weiter als dass wir eine Beispiel finden wollen, wo die Formel gilt und haben somit den Beweis für die Existenz abgeschlossen. Die -Eliminierungsregel impliziert eine Fallunterscheidung über alle Elemente aus dem Universum. Dies wird durch die Substitution α [ x0 / x] symbolisiert, in der x 0 eine Generalisierung der zu testendenwerte darstellt. Die Argumentation ist nun, wenn wir wissen, dass ein Wert existiert sodass α gilt, und wenn wir durch Substitution eines Wertes x 0 eine Formel ψ erhalten, so haben wir damit ψ bewiesen, wenn es nicht mehr auf der Wahl von x 0 basiert. 13
Beispiel: x( P( Q( ), xp( xq( Die Formel xq( in Zeile 6 entspricht der erhaltenen Formel ψ in der -Eliminierungsregel. Sie enthält kein Vorkommen von x 0, so wie es in der Regel gefordert ist. Die Boxen, die den Gültigkeitsbereich der Generalisierungen für einen Wert aus dem Universum demonstrieren, können auch ineinander verschachtelt sein, wie das nächste Beispiel zeigt. Beispiel: Es soll nun xp(, x y( P( Q( yq(y) beweisen 14
3.2. Äquivalenz der Quantoren Hierbei verwenden wir das Zeichen - -, als Ausdruck dafür das: ψ α und α ψ gilt. Einige von diesen Äquivalenzen sollen nun beispielhaft durch natürliche Deduktion hergeleitet und somit bewiesen werden. 15
Beweis von Theorem 1 (a) Das Theorem bedeutet wörtlich ausgedrückt, dass wenn eine Formel für nicht alle x gilt, so gibt es ein x für die sie nicht gilt oder umgekehrt ausgedrückt, gibt es ein x für das die Formel nicht gilt, so gilt die Formel nicht für alle x. Um das Theorem zu beweisen, muss sowohl die Hin als auch die Rückrichtung gezeigt werden. Es folgt nun zuerst die Richtung: xφ x φ Der Beweis für die Rückrichtung x φ xφ Sieht wie folgt aus: 16
Der Beweis von Theorem 3 (b) Die Formel wörtlich ausgedrückt bedeutet dieses Theorem, haben wir ein x für das eine Formel gilt oder für eine andere Formel gilt, so gibt es ein x das für mindestens eine von beiden Formeln gilt. Umgekehrt aus gedrückt bedeute dies, haben wir ein x, welches für mindestens eine der beiden Formeln gilt, so gibt es ein x, das für die eine Formel gilt oder für die andere (oder beide). Hinrichtung: ( xφ) ( xψ ) x ( φ ψ ) gezeigt: Der Beweis für die Rückrichtung sieht wie folgt aus: x ( φ ψ ) ( xφ) ( xψ ) 17
4. Schlussfolgerung Die syntaktischen Grundlagen des Bausatzes für die Prädikatenlogik sind nun gegeben und es kann nun zum semantischen Teil der Prädikatenlogik übergegangen werden. Weiterhin wurden die natürlichen Deduktionsregeln für die Prädikatenlogik durchgesprochen und an einigen Beispielen schon praktisch verwendet. Die Prädikatenlogik, dessen Gundlage die Aussagenlogik ist, ist wiederum Grundlage für die temporal Logik und andere weiterführenden logische Sprachen. 5. Literaturangabe Zur Verwendung dieser Ausarbeitung wurde folgendes Buch verwendet: Michael Huth, Mark Ryan: Logic in Computer Science: Modelling and reasoning about systems Cambridge University Press, 2000 18