400 likes | 607 Views
Föreläsning 4-5. Logik med tillämpningar 97-11-11. Innehåll. Deduktiva system Gentzensystem Hilbertsystem Resolution Kapitel 2.7 - 2.10 i Ben-Ari Efter dagens föreläsning kan hela laboration 1 lösas.
E N D
Föreläsning 4-5 Logik med tillämpningar 97-11-11
Innehåll • Deduktiva system • Gentzensystem • Hilbertsystem • Resolution • Kapitel 2.7 - 2.10 i Ben-Ari • Efter dagens föreläsning kan hela laboration 1 lösas.
Semantiska tablåer kontrollerar en given formels satisfierbarhet. Den ”uppfinner” inga nya formler och utnyttjar inte några antaganden. • En teoretiker har som uppgift att hitta på en mängd intressanta axiom, från vilka han/hon sedan kan härleda teorem. • I våra termer härleder teoretikern element ur T(U) för att hitta logiska konsekvenser av axiomen U. Definition (2.5.14)Låt T(U) = {A | UA}. T(U) kallas teorin av U och elementen i T(U) kallas teoremen av U. Elementen i U kallas axiomen av T(U).Teorem (2.5.11) Vi har visat att A T(U) omm (A1 ... An) A är valid där U = {A1, ..., An}.
Problem: • Mängden axiom behöver inte vara ändlig. • Inte alla logiska system har beslutsprocedurer för validitet som satslogiken. • En algoritm för validitet ger liten insikt i strukturen av beviset. • Vi har svårt att använda strukturen i ett bevis för att göra ett nytt bevis för en liknande formel.
Deduktiva bevis • Välj • en mängd axiom och • en mängd regler för hur man får dra slutsaster • Slutsatser som man drar bildar teorem och beskrivningen av hur man nått teoremet kallas beviset för teoremet.
Skillnaden mellan semantiska och deduktiva system: • Semantiska system kräver inte att vi är smarta, bevisen är mekaniska. • Deduktiva system kräver att vi planerar vårt bevis, och att vi har viss erfarenhet. De är sämre för datorer.
1862-1943 ”Wir müssen wissen, wir werden wissen.” - Vi måste veta, vi ska veta. 1909-1945Blev Hilberts assistent 1934 Dog av undernäring i ryskt fångenskap Hilbert och Gentzen • Hilbert-system • har flera axiom men bara en regel. • formaliserar klassiska metoder för matematiskt resonerande • Gentzen-system • har ettaxiom men många regler. • är lättare än Hilbert-system att mekanisera
Gentzensystem • Brukar betecknas G och kallas även naturlig deduktion. • Använder mängder av formler, precis som de semantiska tablåerna.
Definition (2.8.1) Systemet G består av axiom och inferensregler. Ett axiom i G är en mängd formler U innehållande ett kompletterande par av literaler. Inferensreglerna har formen och Premisser Slutsatser
Bevis och bevisbarhet Definition (2.8.2) Ett bevis i G är en sekvens av formelmängder så att varje element antingen är ett axiom eller kan härledas från en eller två tidigare element i sekvensen med hjälp av en inferensregel. Om A är sista elementet i en sådan sekvens, så kallas sekvensen för ett bevis av A, och A är bevisbar. Notation: A.
((p q) (p q)) ((p q) (p q)) ((p q) (p q)) p q, (p q) p q, (p q) p, (p q) q, (p q) p, (p q) q, (p q) p, p, q q, p, q p, p, q q, p, q X X X X q, p , q p, p, q q, p , q p, p, q q, (p q) p, (p q) q, (p q) p, (p q) (p q), (p q) (p q), (p q) (p q) (p q) (p q) (p q) (p q) (p q) Semantisk tablå för negationen Gentzens deduktion i trädform Gentzensystemet producerar träd som i princip är semantiska tablåer upp och ner med omvända tecken.
Är systemet korrekt? • För att visa validitet med semantiska tablåer var vi tvungna att negera formeln och visa att den inte är satisfierbar. • Gentzensystemet gör precis detta, fast bakvägen. • Vi kan därför lätt visa att Gentzensystemet är sunt och fullständigt med hjälp av resultaten från semantiska tablåerna.
Teorem (2.8.5) (bevisas i boken) • Låt U vara en mängd formler och låt U' vara mängden av komplementen till formlerna i U. Det finns ett bevis för U i G om det finns en stängd semantisk tablå för U'. • Specialfall: Det finns ett bevis för A i G omm den semantiska tablån för A är stängd.
Sundhet och fullständighet för G Teorem (2.8.6) En formel A är valid omm A är bevisbar i G. Bevis: A är valid omm A är osatisfierbar omm den semantiska tablån för A är stängd omm det finns ett bevis för A i G.
Hilbertsystem • Hilbertsystemet har tre axiom och en inferensregel • Axiomen definierar en oändlig mängd axiom, eftersom A, B och C representerar godtyckliga formler. Definition (2.9.1) För godtyckliga formler A, B och C så är följande formler axiom i H: (A (B A)) ((A (B C)) ((A B) (A C)) (B A) (A B)
Inferensregeln Definition (2.9.2) För godtyckliga formler A och B så är inferensregeln i H. Denna regel kallas för modus ponens eller MP.
Härledda inferensregler • Vi kan utöka Hilbertsystem med s k härledda inferensregler. Vi kan då använda dessa regler precis som vi använder modus ponens. • Vi måste kunna visa att den nya regeln är sund. • Detta görs genom att visa hur ett bevis som använder den nya regeln kan transformeras till ett nytt bevis som bara använder MP.
Antaganden (assumptions) Definition (2.9.4) Låt U vara en mängd formler och A en formel. Notationen U A betyder att formlerna i U är antaganden i beviset av A, dvs, de kan användas precis som axiomen i bevisföringen.
Tranisitivitets regeln Detta teorem visar att det är OK att visa ett teoremmed hjälp av en serie lemman.
Byte av antecedenter Det spelar ingen roll i vilken ordning man gör sinaantaganden.
Vanligt resonemang i matematik. Om inte x y så är x = y Kan vara lurigt att använda i dagligt tal… ”Det är inte sant att jag inte är glad” behöver inte vara samma sak som ”Jag är glad”. Dubbla negeringsregeln
Är Hilbertsystemet korrekt? • Sundhet: Om A så gäller att A.Dvs om A är bevisbar så ska A vara valid. • Visas genom att visa att axiomen är valida (med semantiska tablåer) och sedan göra ett motbevis. Vi antar att Modus Ponens inte är valid och når en motsägelse. • Fullständighet: Om A så gäller att A.Dvs om A är valid så ska A vara bevisbar. • Utnyttjar att vi bevisat fullständighet hos Gentzen-system och visar hur ett bevis i G transformeras till ett i H.
Exempel • p q q p (p q) (q p) • p (p q) p (p (p q)) p (p (p q)) p
Resolution • Resolution lämpar sig ypperligt för att implementera automatisk bevissökning på dator. • Resolution är förhållandevis effektivt. • Resolution bildar den teoretiska basen för logikprogrammering.
CNF Definition (2.10.1) En formel är i konjunktiv normalform (CNF) om den är en konjunktion av disjunktioner av literaler. (p q) (r) (p) (p q) ((p q) r) (p) (p q) (r p) Teorem (2.10.2) Alla satslogiska formler kan omvandlas till konjunktiv normalform.
Klausul, klausulform, enhetsklausul • Klausul = mängd med literaler • Formel = mängd med klausuler • Man säger att en formel enligt ovan är i klausulform • Enhetsklausul = en klausul med endast en literal • En formel i klausulform är satisfierbar omm motsvarande CNF-formel är satisfierbar.
Förkortad skrivform Formler i klausulform tex: (p q r) (q r) (r) skrivs som Notera att negation markeras med ett strecköver symbolen.
Transformationer av formler Definition (2.10.4) Låt S och S' vara klausulmängder. S S' betyder att S är satisfierbar omm S' är satisfierbar. Vi kommer att titta på flera lemman där man kan transformera formlerna till en ny mängd utan att förändra satisfierbarheten.
I följande lemman och teorem kommer S vara klausulmängder, C klausuler och l literaler. Om l är en literal, så är lc dess komplement. • Lemma (2.10.5) Antag att en literal l finns i S, men inte lc. Låt S' vara klausalmängden där alla klausuler som innehåller l tagits bort. Då gäller SS'.
Lemma (2.10.6)Låt {l}S vara en enhetsklausul. S' fås från S genom att ta bort alla klausuler innehållande l och ta bort lc från alla klausuler i S. Då gäller SS' • Lemma (2.10.7)Om både l C och lcC för någon C S, låt S' = S - {C}. Då gäller S S'.
Subsumering • Definition (2.10.8)Om C1 C2, så säger vi att C1 subsumerar C2, och C2 är subsumerad av C1. • Lemma 2.10.9Om C1, C2 S och C1 subsumerar C2, låt S' = S - {C2}. Då gäller S S', dvs den större klausulen kan tas bort.
Tomma mängder av klausuler • Antag S = . S är uppenbart valid, dvs de möjliga interpretationerna v(p) = T och v(p) = F satisfierar båda S. • Enligt lemma (2.10.7) så kan vi ta bort alla klausuler som innehåller kompletterande literaler utan att påverka satisfierbarheten. S' = {} = , dvs tomma mängden. • En tom klausulmängd är alltså satisfierbar.
Tomma klausuler • Antag S ={p, }. S är ekvivalent med p p, en formel som är uppenbart osatisfierbar. • Enligt lemma (2.10.6) kan vi ta bort en enhets-klausul och samtidigt ta bort alla komplement till literalen ur kvarvarande klausuler i S utan att påverka satisfierbarheten. Vi får då S' = {}, där står för den tomma klausulen. • En klausulmängd innehållande en tom klausul är alltså inte satisfierbar.
Resolutionsregeln • Låt C1 och C2 vara klausuler så att lC1 och lcC2.C1 och C2 är då kolliderande (clashing) klausuler och de kolliderar på de kompletterande literalerna l och lc. • Klausulen C = Res(C1, C2) = (C1 - (l}) (C2 - (lc }) kallas för resolventen av C1 och C2. • C1 och C2 är föräldraklausuler till C.
Är resolventen satisfierbar?? • Teorem (2.10.12)Resolventen C är satisfierbar omm föräldra-klausulerna C1 och C2 är (ömsesidigt) satsifierbara.
Resolutionsproceduren • Låt S vara en mängd klausuler och definiera S0 = S. Antag att vi har konstruerat Si. Välj två kolliderande klausuler C1, C2 Si, och låt C vara resolventen Res(C1, C2). • Om C = kan proceduren avbrytas, eftersom S då är osatsifierbar. • Annars konstruera Si+1 = Si {C}.Om Si+1 = Si för alla möjliga kollisioner, avbryts proceduren, S är satisifierbar.
Resolution är inte en beslutsprocedur för validitet, utan för satisiferbarhet. Som vi vet sedan tidigare är detta inte ett problem. • För att avgöra om formeln A är valid, så kontrollerar vi om A är satisfierbar. Om A inte är satisfierbar, så är A valid. • Resolution är alltså en refuteringsprocedur. • Det normala användningssättet för resolution är att använda det för teorembevisning.