Beweistheorie für Aussagenlogik
Transcription
Beweistheorie für Aussagenlogik
Aussagenlogik Beweistheorie Michael Leuschel Softwaretechnik und Programmiersprachen 05/11/2012 Lecture 4 Wiederholung n n Wff’s: atomic propositions, ¬, ∧, ∨, → Interpretations: n n n n n n propositions Ê {true,false} wff’s Ê {true,false} by truth-tables Models Satisfiable wff, tautology, contradiction all wff’s Logical equivalence ≡ satisfiable Logical consequence ⇒ 05/11/2012 tautologies Erläuterungen n Notationen: n n n Unterschied zwischen ⇔ und ≡ n n n p ⇔ q ist eine erfüllbare Formel p ≡ q ist keine Formel (und ist falsch) Unterschied zwischen → und ⇒ n n n α ⇔ β steht für (α → β) ∧ (β → α) α ← β steht für (β → α) p → ¬p ist eine erfüllbare Formel p ⇒ ¬p ist keine Formel (und ist falsch) →, ⇔ sind Junktoren ≡, ⇒ sind math. (Meta-)Aussagen über Formeln 05/11/2012 Bedeutung n Bedeutung einer logischen Theorie S: alle Formeln Li so dass S ⇒ Li n n n S = Wissen über alle möglichen Zustände der Welt Li = Aussagen die in allen möglichen Zuständen wahr sind S = Beschreibung unserer Überzeugungen Li = alle Sachen die wir dann auch glauben müssen S = logisches Programm für ein Problem Lösungen sind in den Li’s eingebettet 05/11/2012 Berechnung der Logischen Folgen n S⇒L n Alle Interpretationen vi ausprobieren n n n ? Ist vi ein Modell von S (truth tables) ? Wenn ja, prüfen dass vi auch ein Modell von L ist Wenn alle Modelle von S auch Modelle von L sind: OK, wir haben S ⇒ L. 05/11/2012 lecture3.prolog/truth_values.pl Logic Teaser (adapted) n Knights: always tell the truth, Knaves: always lie Three persons: knights or knaves n A says: “B is a knave or C is a knave” n B says “A is a knight” n Theory ⇒ A ∧ B ? 05/11/2012 A ⇔ ¬B ∨ ¬C B⇔A A B C ¬B ∨ ¬C Theory A∧B True True True False False True True True False True True False True True False False False True True False True False False False True False False False lecture3.prolog/truth_values.pl Logic Teaser solution n Knights: always tell the truth, Knaves: always lie Three persons: knights or knaves n A says: “B is a knave or C is a knave” n B says “A is a knight” n {A ⇔ ¬B ∨ ¬C, B ⇔ A} ⇒ A∧B 05/11/2012 A ⇔ ¬B ∨ ¬C B⇔A A B C ¬B ∨ ¬C Theory A∧B True True True False False True True True False True True True True False True True False False True False False True False False False True True False False False False True False True False False False False True True False False False False False True False False Berechnung II n S⇒L n n n Alle Interpretation ausprobieren Aufwändig L Prädikatenlogik: n n ? unendliche Interpretationen L, unendliche viele Interpretationen L Wie machen wir das ohne alle Interpetationen auszuprobieren ? 05/11/2012 Recap: What is a logic ? 1. Language of expressions/formulas P 2. Proof Theory Axioms = things which are true Inference Rules to derive new theorems from existing ones (truth preserving inference) 3. Model Theory P Mapping from formulas to “real” objects 05/11/2012 Refutationsbeweis (Beweis durch Widerspruch) n Theorem: S ⇒ L gdw S ∧ ¬L ein Widerspruch n Idee: Beweis für S ⇒ L: n n n Wir starten von S ∧ ¬L Regeln anwenden die Widersprüche beibehalten Wir versuchen einen “offensichtlichen” Widerspruch zu finden n n n n p∧¬p true → false false “Reductio ad absurdum” 05/11/2012 Widerspruchsbeweis (cont’d) S ⇒ L gdw S ∧ ¬L ist ein Widerspruch A B C Theory S L=A∧B S∧ ¬L True True True False True False True True False True True False True False True False False False True False False False False False False True True False False False False True False False False False False False True False False False False False False False False False 05/11/2012 S = {A ⇔ ¬B ∨ ¬C, B ⇔ A} Resolution n Resolvent From p ∨ α and ¬p ∨ β derive α ∨ β n n n p ist eine atomare Aussage α, β beliebige Formeln (auch leer) Anm: Disjunktion ist assoziativ und kommutativ: n s ∨ (¬t ∨ r) ≡ (s ∨ ¬t) ∨ r ≡ ¬t ∨ (s ∨ r) Resolution Beispiele n Aus p ∨ α und ¬p ∨ β entsteht α ∨ β p∨α ¬p ∨ β α∨β p∨q ¬p ∨ r q∨r t∨q s ∨ ¬t ∨ r q∨s∨r rains wet ∨ ¬rains wet ¬rains ∨ wet ¬ wet ¬ rains Resolution II n From p ∨ α and ¬p ∨ β derive α ∨ β n If both α and β are empty: n n n n Theorems: n n → → → p and ¬p hold we have found a contradiction Denoted by o (empty formula, false) {p ∨ α, ¬p ∨ β} ⇒ α ∨ β If S ∪ {p ∨ α, ¬p ∨ β} is inconsistent if-and-only-if S ∪ {p ∨ α, ¬p ∨ β, α ∨ β} is inconsistent resolution is “inconsistency preserving” We can use it for “proof by refutation”! Notation: {F1,F2,…,Fn} shorthand for F1 ∧ F2 ∧ …∧ Fn 05/11/2012 /* Prolog example */ p. q. A Proof by Refutation ?- p,q. {p, q} ⇒ p ∧ q ? 1. Add negation of p n {p, q, ¬(p ∧ q)} 2. No disjunction: ⇒ Resolution cannot be applied ⇒ Transform into equivalent wff with ∨ n {p, q, ¬p ∨ ¬q} n ∧ q 3. Resolve p and ¬p ∨ ¬q n {p, q, ¬p ∨ ¬q , ¬q} n {p, q, ¬p ∨ ¬q , ¬q, false} 05/11/2012 4. Resolve q and ¬q Yes: {p, q} ⇒ p ∧ q Konjunktive Normalform (KNF) n n Literal = p oder ¬p mit p atomare Aussage (p: positives, ¬p: negatives Literal) Klausel= Disjunktion von Literalen n n n n n Bsp: ¬p ∨ q, wet ∨ ¬rains ∨ ¬outside Horn Klausel wenn maximal 1 positives Literal Anfrage (Denial) wenn kein positives Literal KNF: Konjunktion von Klauseln (manchmal als Menge dargestellt) Gut für Resolution! 05/11/2012 Prolog & KNF n n Anmerkung: ¬p ∨ q ≡ p → q Prolog n n wet :- rains, outside. Dies steht für die logische Formel: wet ← rains ∧ outside n Diese ist logisch äquivalent zu wet ∨ ¬rains ∨ ¬outside n 05/11/2012 Every Prolog rule can be viewed as a Horn clause! Converting formulas into CNF n Eliminate Implications: n For this you just have to replace n n (α → β) by (¬α ∨ β) Move negations down to the atomic propositions: n For this you have to replace: n n n 05/11/2012 1.(¬ (α ∧ β) by (¬α ∨ ¬β) 2.(¬(α ∨ β) by (¬α ∧ ¬β) 3.¬ ¬ α by α Converting formulas into CNF n n Move the disjunctions (∨) down to the literals: For this you should replace n α ∨ (β ∧γ) by (α ∨ β) ∧(α ∨ γ) n n n 05/11/2012 The following, more general rewrite can also be applied: n α ∨ (β1 ∧ β2 ∧... ∧βn) by (α ∨ β1) ∧(α ∨ β2) ... (α ∨ βn) Note that ∧is associative, meaning that ((α ∧ β) ∧γ) is logically equivalent to (α ∧ (β ∧ γ)). One therefore often writes (α ∧ β ∧ γ). The same holds for ∨. This also means that we can replace, e.g, n (β1 ∧ β2 ∧... ∧ βn) ∨ α by (β1 ∨ α) ∧(β2 ∨ α) ... (βn ∨ α) Converting formulas into CNF n Eliminate the conjunctions: n n n Actually, all you have to do is simply write each part of a conjunction as a seperate wff. For example (p ∨ q) ∧(q ∨ r) is turned into a set consisting of two wff's: { (p ∨ q), (q ∨ r) } Simplify clauses and eliminate redundant clauses: n Remove extra literals which occur more than once in a clause. n n Remove the clauses that contain a proposition and its negation. n 05/11/2012 For example (p ∨ ¬q ∨ p) can be simplified into (p ∨ ¬q). For example (p ∨ ¬p ∨ q) can be removed (the clause is always true and does not add any information). Exercise: Do our logic teaser by resolution n n n n 05/11/2012 Theorie: (A ⇔ ¬B ∨ ¬C) ∧ (B ⇔ A) Query (negiert): ¬(A ∧ B ∧ ¬C) Exercise: Do our logic teaser by resolution n n n n n n n n n n 05/11/2012 Theorie: (A ⇔ ¬B ∨ ¬C) ∧ (B ⇔ A) (A → ¬B ∨ ¬C) ∧(¬B ∨ ¬C → A) ∧ (B → A)∧ (A → B) (¬A ∨ ¬B ∨ ¬C) ∧(¬(¬B ∨ ¬C) ∨ A) ∧ (¬B ∨ A)∧ (¬A ∨ B) (¬A ∨ ¬B ∨ ¬C) ∧((B ∧ C) ∨ A) ∧ (¬B ∨ A)∧ (¬A ∨ B) (¬A ∨ ¬B ∨ ¬C) ∧(B ∨ A) ∧ (C ∨ A) ∧(¬B ∨ A)∧ (¬A ∨ B) {¬A ∨ ¬B ∨ ¬C, B ∨ A, C ∨ A, ¬B ∨ A, ¬A ∨ B} Query (negiert): ¬(A ∧ B ∧ ¬C) {¬A ∨ ¬B ∨ C} c CanonicalCNFFormat p cnf 3 6 -1 -2 -3 0 120 130 1 -2 0 -1 2 0 -1 -2 3 0 Gantõ’s Ax n n One day Tokusan told his student Gantõ, “I have two monks who have been here for many years. Go and examine them.” Gantõ picked up an ax, saying, “If you say a word I will cut off your heads; and if you do not say a word, I will also cut off your heads.” 05/11/2012 Quelle: D. Hofstadter;Gödel, Escher, Bach. See also http://en.wikipedia.org/wiki/Ganto's_Ax Gantõ’s Ax Continued n n G = {cut_head ← say_word, cut_head ← ¬ say_word} G ⇒ {cut_head} ? n n n n n n 1. cut_head ∨ say_word 2. cut_head ∨ ¬say_word 3. ¬cut_head 4. cut_head (by resolving 1,2) 5. o (by resolving 3,4) Yes: G ⇒ {cut_head} 05/11/2012 Gantõ’s Ax Finished n n n Both monks continued their meditation as if he had not spoken. Gantõ dropped the ax and said, “you are true Zen students.” He returned to Tokusan and related the incident. “I see your side well,” Tokusan agreed, “but tell me, how is their side?” “Tõzan may admit them,” replied Gantõ, “but they should not be admitted under Tokusan.” 05/11/2012 Was haben wir gelernt ? n n n Widerspruchsbeweis Resolution Konjuktive Normalform 05/11/2012