Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Deduktion in der Aussagenlogik • Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches. Was folgt logisch aus dieser Theorie? • Deduktion: aus wahren Aussagen andere notwendigerweise wahre Aussagen ableiten • Beispiele Wenn es regnet, dann wird die Strasse nass. Es regnet. ----------------------------Die Strasse wird nass. Vögel können fliegen. Tweetie ist ein Vogel. ----------------------------Tweetie kann fliegen. • verallgemeinert zur universellen Schlussregel "modus ponens" Wenn A gilt, dann gilt B. A gilt. ---------------------------B gilt. • Wie kann man diese und andere Schlussregeln formalisieren? Weitere Logik: Deduktion in der Aussagenlogik 1 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Semantische Folgerungsbeziehung • Wenn in einer bestimmten Situation die Aussagen M wahr sind, ist dann notwendigerweise auch die Aussage P wahr? • Folgerung sollte unabhängig von der Situation sein, d.h. unabhängig von der Zuordnung von Wahrheitwerten, die M und P erfüllen • Definition: eine Aussage P ist die logische Konsequenz einer Menge von Aussagen M, wenn jede Zuordnung von Wahrheitswerten, die M wahr macht, auch P wahr macht M |= P • Beispiel: Aussage P = ¬ p ∨ (q ∧ ¬ r) ist logische Konsequenz von M = {p → q, q → ¬ r, r → (p ∨ s)} d.h. {p → q, q → ¬ r, r → (p ∨ s)} |= (¬ p ∨ (q ∧ ¬ r)) • Beweis durch Wahrheitstabellen oder – wie früher gezeigt – durch Widerspruch Weitere Logik: Deduktion in der Aussagenlogik 2 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Syntaktische Folgerungsbeziehung • nach festen syntaktischen Regeln – Deduktionsregeln oder Inferenzregeln – werden aus Aussagen andere Aussagen hergeleitet • Aussage P ist aus einer Menge von Aussagen M herleitbar, wenn man P nach endlichen vielen Anwendungen der Regeln auf M erhält M |− P Ausgangsaussagen M werden Axiome hergeleitete Aussagen P Theoreme genannt, Ableitung wird auch Beweis genannt • Beweis ist endliche Folge von Aussagen P1, P2, ..., Pn wobei jedes Pi ein Axiom oder eine nach den Regeln hergeleitete Aussage ist Beweis gelingt, wenn die letzte Aussage Pn das zu beweisende Theorem ist • Axiome werden in logische Axiome und nichtlogische oder eigentliche Axiome eingeteilt logische Axiome sind Tautologien eigentliche Axiome heissen auch Hypothesen Weitere Logik: Deduktion in der Aussagenlogik 3 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Zusammenhang zwischen semantischer und syntaktischer Folgerung • Deduktionssystem besteht aus Axiomen, Deduktionsregeln und – was oft vergessen wird – einer Beweisstrategie • Deduktionssystem muss korrekt sein, d.h. jedes hergeleitete Theorem muss logische Konsequenz der Axiome sein M |− P → M |= P • Deduktionssystem sollte vollständig sein, d.h. jede logische Konsequenz der Axiome sollte auch hergeleitet werden können M |= P → M |− P • wenn ein Deduktionssystem korrekt und vollständig ist, dann kann man die (aufwendige) logische Konsequenz durch einen endlichen Beweis ersetzen Weitere Logik: Deduktion in der Aussagenlogik 4 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion • natürliche Deduktion ist ein Deduktionssystem mit ungefähr einem Dutzend von Deduktionsregeln; es gibt nur Hypothesen, keine logischen Axiome • natürliche Deduktion soll das menschliche Argumentieren formalisieren • natürliche Deduktion erklärt die Bedeutung der Konnektoren unabhängig von Wahrheitstabellen • Wann kann man eine Aussage mit einem bestimmten Konnektor als Hauptkonnektor herleiten? Die Antwort führt zu Konnektoren einführen. I-Deduktionsregeln, die • Welche Aussagen kann man aus einer Aussage mit einem bestimmten Hauptkonnektor herleiten? Die Antwort führt zu Konnektoren eliminieren. E-Deduktionsregeln, die • Regeln – und Beweise – werden als Bäume geschrieben, deren Blätter die Hypothesen und deren Wurzeln die Schlüsse sind Weitere Logik: Deduktion in der Aussagenlogik 5 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Konjunktion • Einführung der Konjunktion P Q -------- ∧I P∧Q Bedeutung: wenn P und Q entweder als Hypothesen gegeben sind oder hergeleitet wurden, dann kann man die Konjunktion P ∧ Q herleiten. • man kann auch {P, Q} |− (P ∧ Q) schreiben • Beispiel: p q ------- ∧I p∧q r ------------- ∧I (p ∧ q) ∧ r d.h. {p, q, r} |− (p ∧ q) ∧ r Weitere Logik: Deduktion in der Aussagenlogik 6 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Konjunktion • Eliminierung der Konjunktion P∧Q -------- ∧E P P∧Q -------- ∧E Q Bedeutung: aus der Konjunktion P ∧ Q kann man sowohl P wie Q herleiten. • Beispiel: p∧q p∧q -------- ∧E -------- ∧E p q ---------------------------------------- ∧I q∧p d.h. p ∧ q |− q ∧ p (Kommutativität von ∧) Weitere Logik: Deduktion in der Aussagenlogik 7 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Implikation • Eliminierung der Implikation (modus ponens) P→Q P ---------------- →E Q • Beispiel: p∧r -------- ∧E p∧r r r→q -------- ∧E --------------------------------- →E p q ---------------------------------------------------------- ∧I p∧q d.h. {p ∧ r, r → q} |− p ∧ q Weitere Logik: Deduktion in der Aussagenlogik 8 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Implikation • Einführung der Implikation Um P → Q herzuleiten, nehmen wir P als Hypothese und leiten Q her. Dann können wir den Schluss P → Q ziehen. Die Hypothese P wird anschliessend nicht länger benötigt und "gestrichen", d.h. sie ist nicht mehr verfügbar. [P] . . Q --------- →I P→Q • Man kann sich die Einführung der Implikation über die Wahrheitstabelle von → klarmachen. • Hinter der Einführung der Implikation steht eine Richtung des Deduktionstheorems der Aussagenlogik M ∪ {P} |− Q genau dann, wenn M |− (P→ Q) Weitere Logik: Deduktion in der Aussagenlogik 9 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Implikation • Beispiel: (p ∧ q) → r |− (q ∧ p) → r Herleitung [q ∧ p] 1 [q ∧ p] 1 --------- ∧E --------- ∧E q p ---------------------------- ∧I p∧q (p ∧ q) → r ---------------------------------------------------- →E r ---------------------------------------------------- →I1 (q ∧ p) → r NB. nach →I1 ist die Hypothese [q ∧ p]1 gestrichen • Wie geht man vor, um (q ∧ p) → r herzuleiten? Heuristische Regel: man nimmt die Vorbedingung der Implikation – in diesem Fall (q ∧ p) – und versucht, die Konsequenz – in diesem Fall r – herzuleiten. Die Aussage selber kann dann mit Hilfe von →I abgeleitet werden. Weitere Logik: Deduktion in der Aussagenlogik 10 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Disjunktion • Einführung der Disjunktion P -------- ∨I P∨Q Q -------- ∨I P∨Q • Eliminierung der Disjunktion Um aus einer Disjunktion P ∨ Q einen Schluss R zu ziehen, muss R aus P und aus Q hergeleitet werden können. [P] [Q] . . . . R R P∨Q ----------------------- ∨E R • Beispiel p ∨ q |− q ∨ p Herleitung [p]1 [q]2 --------- ∨I1 --------- ∨I2 q∨p q∨p p∨q --------------------------------------------------------------- ∨E q∨p Weitere Logik: Deduktion in der Aussagenlogik 11 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Negation • Einführung der Negation [P] . . ⊥ --------- ¬I ¬P • Eliminierung der Negation P ¬P ---------- ¬E ⊥ • ¬P wird effektiv als P → ⊥ interpretiert • Beispiel: |− ¬(p ∧ ¬p) Herleitung [p ∧ ¬p]1 [p ∧ ¬p]1 ----------- ∧E ----------- ∧E p ¬p ---------------------------------------- ¬E ⊥ ---------------------------------------- ¬I1 ¬( p ∧ ¬p) Weitere Logik: Deduktion in der Aussagenlogik 12 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: ex falso quodlibet • aus einer falschen Annahme kann alles hergeleitet werden. ⊥ ----- ⊥E (auch EFSQ genannt) P • Beispiel: |− ¬p → (p → q) Herleitung [¬p]1 [p]2 ----------------- ¬E ⊥ ----- ⊥E q ----------------- →I2 p→q ----------------- →I1 ¬p →(p → q) (zweimal Heuristik für →) Weitere Logik: Deduktion in der Aussagenlogik 13 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: reductio ad absurdum • RAA (reductio ad absurdum) [¬P] . . ⊥ ----- RAA P • Wenn wir aus der Annahme [¬P] die Aussage ⊥ ableiten können, dann dürfen wir P schliessen. • intuitionistische Logik lehnt diese Regel als nichtkonstruktiv ab • alternativ zu RAA können auch die Regeln vom ausgeschlossenen Dritten (tertium non datur) oder die Regel der doppelten Verneinung verwendet werden • ausgeschlossenes Drittes (tertium non datur) ---------- TND P ∨ ¬P • doppelte Verneinung ¬¬P ----- DV P Weitere Logik: Deduktion in der Aussagenlogik 14 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Reflexivität & Monotonie • natürliche Deduktion ist reflexiv M ∪ {P} |− P • natürliche Deduktion ist monoton Wenn M |− P und M ⊆ N, dann N |− P Weitere Logik: Deduktion in der Aussagenlogik 15 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Heuristiken • für die Herleitung von Aussagen gibt es eine Reihe von Heuristiken, die eine Art Beweisstrategie nahelegen Um P → Q herzuleiten, nehme man P als Annahme und versuche, Q abzuleiten. Um P ∧ Q herzuleiten, versuche man, P und Q abzuleiten. Um P ∨ Q herzuleiten, versuche man, P oder Q abzuleiten. Um R aus P ∨ Q herzuleiten, versuche man, R aus P und R aus Q abzuleiten. Um ¬P abzuleiten, nehme man P als Annahme und versuche, zwei Aussagen Q und ¬Q abzuleiten. • trotzdem erfordert natürliche Deduktion Erfahrung und ein gewisses Mass an Ausprobieren Weitere Logik: Deduktion in der Aussagenlogik 16 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Beispiel • Beispiel von Folie 2 Auf Folie 2 wurde gezeigt, dass {p → q, q → ¬ r, r → (p ∨ s)} |= (p → (q ∧ ¬ r)) Hier wird nun gezeigt, dass {p → q, q → ¬ r, r → (p ∨ s)} |− (p → (q ∧ ¬ r)) Herleitung [p]1 p → q ----------------- →E q q→¬r ------------------------------------------------- →E ¬r ------------------------------------------------- ∧I q∧¬r ------------------------------------------------- →I1 p → (q ∧ ¬ r) Weitere Logik: Deduktion in der Aussagenlogik 17 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Beispiel • umfangreicheres Beispiel (Truss, p. 290); die Zahlen numerieren die Annahmen und zeigen ausserdem an, wann die Annahmen gestrichen werden, d.h. anschliessend nicht mehr zur Verfügung stehen |− (¬p → q) → ((¬p → ¬q) → p) • zum Erzeugen der (zu streichenden) Hypothesen wird mehrfach die Heuristik für → verwendet [¬p ]1 [¬p → q]3 [¬p ]1 [¬p → ¬q]2 ---------------------- →E -------------------------- →E q ¬q ------------------------------------------------------------ ¬E ⊥ ------ RAA1 p ---------------------------------------- →I2 (¬p → ¬q) → p ---------------------------------------- →I3 (¬p → q) → ((¬p → ¬q) → p) Weitere Logik: Deduktion in der Aussagenlogik 18 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Natürliche Deduktion: Korrektheit & Vollständigkeit • natürliche Deduktion ist korrekt, d.h. wenn M |− P, dann M |= P Beweis durch Wahrheitstafeln • Menge M von Aussagen heisst inkonsistent, wenn man aus ihr ⊥ herleiten kann; sonst ist M konsistent • M |− P genau dann, wenn M ∪ {¬P} inkonsistent ist Spezialfall des Deduktionstheorems M ∪ {A} |− B genau dann, wenn M |− (A → B) setze A = ¬P und B = ⊥ M ∪ {¬P} |− ⊥ genau dann, wenn M |− (¬P → ⊥), d.h. wenn M |− P • M |= P genau dann, wenn M ∪ {¬P} unerfüllbar ist • natürliche Deduktion ist vollständig, d.h. wenn M |= P, dann M |− P Skizze des Beweises: wenn M |= P, dann M |− P ist M ∪ {¬P} unerfüllbar, dann ist M ∪ {¬P} inkonsistent ist M ∪ {¬P} konsistent, dann ist M ∪ {¬P} erfüllbar angenommen, dass M ∪ {¬P} konsistent ist, wird eine Belegung gefunden, die M ∪ {¬P} wahr macht Weitere Logik: Deduktion in der Aussagenlogik 19 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Resolution • Resolution ist ein Deduktionssystem mit einer einzigen Deduktionsregel; es gibt nur Hypothesen, keine logischen Axiome • Resolution entstand beim Versuch, Deduktion zu automatisieren, d.h. Beweise durch den Computer automatisch ausführen zu lassen • Resolution ist u.a. die Grundlage der logischen Programmierung • Grundidee der Resolution: aus den beiden wahren Aussagen P∨Q ¬P∨R kann man die wahre Aussage Q∨R schliessen, denn entweder ist P wahr, dann muss R wahr sein, oder P ist falsch, dann muss Q wahr sein; in jedem Fall ist dann Q ∨ R wahr • Resolution setzt voraus, dass Aussagen in der Klauselform, d.h. als konjunktive Normalform, dargestellt werden Weitere Logik: Deduktion in der Aussagenlogik 20 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Klauselform der Aussagenlogik • konjunktive Normalform einer aussagenlogischen Formel: Konjunktion von Disjunktionen von atomaren und negierten atomaren Aussagen D1 ∧ D2 ∧ ... ∧ Dn (Di heissen Klauseln) Di = Li1 ∨ Li2 ∨ ... ∨ Lim (Lij heissen Literale) • systematische Umwandlung in Klauselform Beispiel (A → ¬(B → C)) 1. Schritt: Elimination von → (A → ¬ (B → C)) ≡ [Regel: P → Q ≡ ¬ P ∨ Q] (¬ A ∨ ¬ (¬ B ∨ C)) 2. Schritt: Verteilung von ¬ auf atomare Ausdrücke (¬ A ∨ ¬ (¬ B ∨ C)) ≡ [Regel: ¬ (P ∨ Q) ≡ ¬ P ∧ ¬ Q)] (¬ A ∨ (¬ ¬ B∧ ¬ C)) ≡ [Regel: ¬ ¬ P ≡ P] (¬ A ∨ (B ∧ ¬ C)) 3. Schritt: Umwandlung in eine Konjunktion von Disjunktionen durch distributive Regel (¬ A ∨ (B ∧ ¬ C)) ≡ [Regel: P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R)] ((¬ A ∨ B) ∧ (¬ A ∨ ¬ C)) 4. Schritt: Darstellung als Menge von Klauseln {(¬ A ∨ B) , (¬ A ∨ ¬ C)} Weitere Logik: Deduktion in der Aussagenlogik 21 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Klauselform der Aussagenlogik • Klausel ist Aussage der Form P1 ∨ P2 ∨ ... ∨ Pn ∨ ¬ N1 ∨ ¬ N2 ∨ ... ∨ ¬ Nm • äquivalente Formen ≡ P1 ∨ P2 ∨ ... ∨ Pn ∨ ¬ (N1 ∧ N2 ∧ ... ∧ Nm) ≡ N1 ∧ N2 ∧ ... ∧ Nm → P1 ∨ P2 ∨ ... ∨ Pn • Notation der logischen Programmierung ≡ P1 , P2 , ... , Pn ← N1 , N2 , ... , Nm (NB. Kommata auf der linken Seite bedeuten Disjunktion, auf der rechten Seite Konjunktion) Weitere Logik: Deduktion in der Aussagenlogik 22 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Schlussregel Resolution • Resolutionsregel (Robinson) Klausel K1 mit dem positiven Literal L Klausel K2 mit dem negativen Literal ¬ L Aus den Klauseln K1 und K2 leitet man die Resolvente, d.h. die Klausel {K1 - {L}} ∪ { K2 - {¬ L}} ab. K1 K2 -----------------------------------{K1 - {L}} ∪ { K2 - {¬ L}} • Beispiel p∨q∨¬r s∨¬p -----------------------------------q∨¬r∨s Weitere Logik: Deduktion in der Aussagenlogik 23 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Andere Schlussregeln als Resolution • Resolution ist eine mächtige Schlussregel, die andere Schlussregeln als Spezialfälle enthält • modus ponens P→Q P --------------------Q als Resolution ¬P∨Q P --------------------Q • modus tollens P→Q ¬Q --------------------¬P als Resolution ¬P∨Q ¬Q --------------------¬P Weitere Logik: Deduktion in der Aussagenlogik 24 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Leere Klausel • leere Klausel {}, d.h. Klausel ohne positive und negative Literale, steht für die widersprüchliche Aussage ⊥, d.h. für Inkonsistenz • Beispiel Klauselmenge M = {¬p ∨ q, p, ¬ q} Resolutionen ¬p ∨ q p ----------------q ¬q ------------------{} d.h. die Klauselmenge M ist inkonsistent andere Ableitung der leeren Klausel ¬p ∨ q ¬q ----------------¬p p ------------------{} • Eine Klauselmenge ist inkonsistent, wenn man durch Resolution auf irgendeine Weise die leere Klausel {} ableiten kann. Weitere Logik: Deduktion in der Aussagenlogik 25 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Deduktion mit Resolution • Deduktion mit Resolution verwendet Beweise durch Widerspruch (Refutation) • Vorgehensweise M |− P genau dann, wenn M ∪ {¬P} inkonsistent ist Um nachzuweisen, dass M ∪ {¬P} inkonsistent ist, transformiert man M ∪ {¬P} in Klauselform. Dabei verwendet man den Satz: Eine Menge M von aussagenlogischen Formeln kann in eine Menge von Klauseln transformiert werden, die genau dann konsistent ist, wenn M konsistent ist. Wenn man aus den aus M ∪ {¬P} entstandenen Klauseln durch Resolution die leere Klausel ableiten kann, dann ist diese Klauselmenge inkonsistent. Damit ist auch M ∪ {¬P} inkonsistent, und somit gilt M |− P. Falls man die leere Klausel nicht ableiten kann, ist M ∪ {¬P} konsistent und somit kann P nicht aus M abgeleitet werden. Weitere Logik: Deduktion in der Aussagenlogik 26 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Deduktion mit Resolution: Beispiele • Beispiel Beweis von (p → q) → r |− p → (q → r) Ist {(p → q) → r, ¬ (p → (q → r))} inkonsistent? Umwandlung in Klauselform ≡ {¬ (¬ p ∨ q) ∨ r, ¬ (¬p ∨ (¬ q ∨ r))} ≡ {(p ∧ ¬ q) ∨ r, p ∧ q ∧ ¬ r} ≡ {(p ∨ r) ∧ (¬ q ∨ r), p ∧ q ∧ ¬ r} ≡ { p ∨ r, ¬ q ∨ r, p, q, ¬ r} Resolution ¬q∨r ¬r -----------------¬q q ------------------------------{} Beweis wurde erbracht Weitere Logik: Deduktion in der Aussagenlogik 27 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Deduktion mit Resolution: Beispiele • Beispiel (Umkehrung der Aussagen) Beweis von p → (q → r) |− (p → q) → r Ist { p → (q → r), ¬ ((p → q) → r)} inkonsistent? Umwandlung in Klauselform ≡ {¬ p ∨ (¬ q ∨ r), ¬ (¬ (¬p ∨ q) ∨ r)} ≡ {¬ p ∨ ¬ q ∨ r, (¬p ∨ q) ∧ ¬ r } ≡ {¬ p ∨ ¬ q ∨ r, ¬p ∨ q, ¬ r} Resolution führt in diesem Fall nicht zur leeren Klausel; man kann sich leicht überzeugen, dass immer eine Resolvente ¬p übrigbleibt D.h. die obige Ableitung gilt nicht. Weitere Logik: Deduktion in der Aussagenlogik 28 Formale Grundlagen der Informatik (Fuchs/Kraan SS 99) Korrektheit und Vollständigkeit • Korrektheit der Resolution Wenn eine Klausel K aus einer Menge M von Klauseln durch Resolution abgeleitet werden kann, dann ist K eine logische Konsequenz von M. • Korollar Wenn die leere Klausel aus einer Menge M von Klauseln durch Resolution abgeleitet werden kann, dann ist die leere Klausel eine logische Konsequenz von M, d.h. M inkonsistent. • Vollständigkeit der Resolution bezüglich Refutation Wenn eine Menge von Klauseln inkonsistent ist, dann kann man aus ihr durch Resolution die leere Klausel ableiten. Weitere Logik: Deduktion in der Aussagenlogik 29