Innehåll. Föreläsning Ett exempel. Svarsextraktion. Träden i läsematerialet

Relevanta dokument
*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Grundläggande logik och modellteori

Grundläggande logik och modellteori (5DV102)

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Grundläggande logik och modellteori (5DV102)

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

Grundläggande logik och modellteori

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Grundläggande logik och modellteori

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

Grundläggande logik och modellteori

Föreläsning 9: NP-fullständighet

Innehåll. Föreläsning 4-5. Logiska system. Alfabet. Calculus. Well-formed formulas. Vanliga termer i logik Satslogik. Första ordningens predikatlogik

PCP-satsen på kombinatoriskt manér

Föreläsning 5. Deduktion

Om semantisk följd och bevis

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Grundläggande logik och modellteori

Algoritmer, datastrukturer och komplexitet

DD1350 Logik för dataloger

Algoritmer, datastrukturer och komplexitet

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013

DD1350 Logik för dataloger

Predikatlogik: Normalformer. Klas Markström

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Algoritmer, datastrukturer och komplexitet

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Algoritmer, datastrukturer och komplexitet

Substitution och unifiering

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Algoritmer, datastrukturer och komplexitet

Grundläggande logik och modellteori

Kap. 7 Logik och boolesk algebra

Logik och bevisteknik lite extra teori

P(X nk 1 = j k 1,..., X n0 = j 0 ) = j 1, X n0 = j 0 ) P(X n0 = j 0 ) = etc... P(X n0 = j 0 ) ... P(X n 1

Föreläsning 8: Intro till Komplexitetsteori

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

En introduktion till predikatlogik

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

K2 Något om modeller, kompakthetssatsen

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen.

Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm. Axiom som är ekvivalenta med urvalsaxiomet

KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007

Logik och modaliteter

13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Primitivt rekursiva funktioner och den aritmetiska hierarkin

Komplexitetsklasser och repetition

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

DD1361 Programmeringsparadigm HT16

Om modeller och teorier

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Programmering II (ID1019)

Algebra I, 1MA004. Lektionsplanering

K3 Om andra ordningens predikatlogik

Tentamen i TDDC75 Diskreta strukturer

DD1361 Programmeringsparadigm HT17

Algoritmer, datastrukturer och komplexitet

B. Kvadratkomplettering

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

DD1361 Programmeringsparadigm HT15

Tentamenskod: Inga hjälpmedel är tillåtna

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Rekursion och induktion

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

Föreläsning 6: Induktion

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

Induktionsprincipen Starka induktionsprincipen Välordningsprincipen Divisionsalgoritmen

Hornklausuler i satslogiken

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

Rekursion och induktion

Kimmo Eriksson 12 december Att losa uppgifter av karaktaren \Bevisa att..." uppfattas av manga studenter

MA2047 Algebra och diskret matematik

MATEMATIKENS SPRÅK. Avsnitt 1

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Föreläsning 4 Datastrukturer (DAT037)

Lösningsförslag till övningsuppgifter, del II

Lösningsförslag till tentamen i SF1629, Differentialekvationer och Transformer II (del 1)

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Föreläsning 4 Datastrukturer (DAT037)

F. Drewes Datavetenskapens grunder, VT02. Lite logik

Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Föreläsning 2. AVL-träd, Multi-Way -sökträd, B-träd TDDD71: DALG. Innehåll. Innehåll. 1 Binära sökträd

Övningshäfte 1: Logik och matematikens språk

Programkonstruktion och Datastrukturer, lektion 7

Semantik och pragmatik (serie 5)

Robin Stenwall Lunds universitet

Transkript:

Innehåll Föreläsning 13-14 ÿsvarsextraktion ÿsundhet och fullständighet för resolution i redikatlogiken. Logik med tillämningar 02-03-12 och 02-03-14 ÿavsnitt 3, Kaitel 4.1 (Obs inte 2.7!) och 7.8 Svarsextraktion ÿofta ställer man frågor av tyen x(x) och med hjäl av resolution kan man (kanske) visa att det existerar ett x. ÿmen om man veta vilket/vilka x det gäller då? ÿvi kan använda svarsextraktion. ÿartificiell Intelligens Ett exemel De som har vingar och lägger ägg är fåglar x(has_wings(x) lays_eggs(x) is_bird(x)) Fåglar är djur y(is_bird(y) animal(y)) Klara lägger ägg och har vingar lays_eggs(klara) has_wings(klara) Finns det något djur? w(animal(w)) 1. has_wings(x) lays_eggs(x) is_bird(x) 2 is_bird(y) animal(y) 3. lays_eggs(klara) 4. has_wings(klara) 5. animal(w) 6. is_bird(y) {w y} 2, 5 7. has_wings(y) lays_eggs(y) {x y} 1, 6 8. has_wings(klara) {y Klara} 3, 7 9. [] 4, 8 ÿ Vi vet att det existerar ett djur men inte vem (om vi inte tjuvtittar å unifieringen). Träden i läsematerialet ÿ Slarviga, saknar tex beskrivning av vilken unifiering som gjorts. ÿ Vårt exemel som ett träd: is_bird(y) animal(y) animal(w) {w y} is_bird(y) has_wings(x) lays_eggs(x) is_bird(x) {x y} has_wings(w) lays_eggs(w) lays_eggs(klara) {y Klara} has_wings(klara) has_wings(klara) []

Lägg till ett svarsredikat ÿefter man gjort om frågan till klausulform gör man den till en tautologi. ÿi vårtexemel: animal(w) animal(w) ÿgör om resolutionen igen å exakt samma sätt som tidigare fast nu med svarsredikatet också. 6. is_bird(w) animal(w) {w y} 2, 5 7. has_wings(w) lays_eggs(w) animal(w) {x y} 1, 6 8. has_wings(klara) animal(klara) {y Klara} 3, 7 9. animal(klara) 4, 8 ÿoch då får vi vårt svar, det ett djur och denna någon är Klara! ÿmen vad händer om vi lägger till fakta om fågeln Jaco också? Hur vet vi att vi funnit alla lösningar som finns? ÿmåste generera fler bevis. Men man kan inte alltid söka efter alla lösningar. Vi kan få generiska svar också ÿ En grandarent är en förälder till en förälder x y z (arent(x, y) arent(y, z) grandarent(x,z)) Alla har en förälder y x arent(x, y) Finns det ett x och y så att x är grandarent till y? x y grandarent(x, y) ÿ Klausulerna: arent(x 1,y 1 ) arent(y 1,z 1 ) grandarent(x 1,z 1 ) arent(f(y 2 ), y 2 ) grandarent(x 3,y 3 ) 1. arent(x 1,y 1 ) arent(y 1,z 1 ) grandarent(x 1,z 1 ) 2. arent(f(y 2 ), y 2 ) 3. grandarent(x 3,y 3 ) 4. arent(y 2,z 1 ) grandarent(f(y 2 ),z 1 ) {x 1 f(y 2 ), y 1 y 2 }1,2 2. arent(f(w 2 ), w 2 ) (Dö om variablerna i 2) 5. grandarent(f(f(w 2 )),w 2 ) {y 2 f(w 2 ), z 1 w 2 }2,4 6. [] {x 3 f(f(w 2 )), y 3 w 2 }3,5 OBS! Exakt samma resolution med exakt samma unifieringar! 1. arent(x 1,y 1 ) arent(y 1,z 1 ) grandarent(x 1,z 1 ) 2. arent(f(y 2 ), y 2 ) 3. grandarent(x 3,y 3 ) grandarent(x 3,y 3 ) 4. arent(y 2,z 1 ) grandarent(f(y 2 ),z 1 ) {x 1 f(y 2 ), y 1 y 2 }1,2 2. arent(f(w 2 ), w 2 ) (Dö om variablerna i 2) 5. grandarent(f(f(w 2 )),w 2 ) {y 2 f(w 2 ), z 1 w 2 }2,4 6. grandarent(f(f(w 2 )), w 2 ) {x 3 f(f(w 2 )), y 3 w 2 }3,5 ÿom vi låter f(x) vara en funktion som talar om vad föräldern till x heter så visar vårt svar att för ett valfritt w 2 blir f(f(w 2 )) föräldern till föräldern till w 2 och då ufylls villkoren för vår fråga. ÿkan bli mer komlicerade extraktioner om frågorna innehåller flera redikat eller blir udelad i flera klausuler. Finns fler exemel i läsematerialet. Läs och förstå!

Exemel å flera redikat i frågan ÿanna, Bo och Cissi är läkare. Varje läkare som inte är en secialist, är en allmänläkare. Allmänläkare gillar inte skaleller och om man inte gillar forskning är man inte secialist. Anna gillar inte det Bo gillar och tvärtom. Anna gillar skaleller och forskning. ÿfinns det någon läkare som är en allmänläkare men inte secialist? Formler ÿ Använder redikaten läkare/1, secialist/1, allmänläkare/1, gillar/2. ÿ Anna, Bo och Cissi är läkare. läkare(anna) läkare(bo) läkare(cissi) ÿ Varje läkare som inte är en secialist, är en allmänläkare. x (läkare(x) secialist(x) allmänläkare(x)) ÿ Allmänläkare gillar inte skaleller och om man inte gillar forskning är man inte secialist. x (allmänläkare(x) gillar(x, skaleller)) x( gillar(x, forskning) secialist(x)) Formler ÿ Anna gillar inte det Bo gillar och tvärtom. x(gillar(bo, x) gillar(anna, x)) % Anna gillar inte det Bo gillar x( gillar(anna, x) gillar(bo, x)) % Bo gillar det Anna inte gillar ÿ Anna gillar skaleller och forskning. gillar(anna, skaleller) gillar(anna, forskning) ÿ Finns det någon läkare som är en allmänläkare men inte secialist? x (läkare(x) allmänläkare(x) secialist(x)) och tvärtom ÿ Översätts med en ekvivalens. ÿ "Den som står i skuggan står inte i solen och tvärtom Låt A = står i skuggan och B = står inte i solen. Första delen, A B, säger inget om det finns några andra latser än skuggan där man inte står i solen. ÿ Tänkbara tolkningar i naturligt sråk (1:a korrekt, 2:a vanlig feltolkning): "den som står i skuggan står inte i solen och den som inte står i solen står i skuggan (a b) ( b a) vilket om man tar bort blir ( a b) (b a) lägger till att alla som inte står i solen står i skuggan. Dvs det finns bara två latser att vara å: i solen eller i skuggan. "den som står i skuggan står inte i solen och den som står i solen står inte i skuggan" (a b) (b a) vilket om man tar bort blir ( a b) ( b a) Ingen ny information! Vi vet fortfarande inte om det finns fler latser förutom skuggan där man kan stå utan att stå i solen. Omvandling till klausulform 1. läkare(anna) 2. läkare(bo) 3. läkare(cissi) 4. läkare(x 4 ) secialist(x 4 ) allmänläkare(x 4 ) 5. allmänläkare(x 5 ) gillar(x 5, skaleller) 6. gillar(x 6, forskning) secialist(x 6 ) 7. gillar(bo, x 7 ) gillar(anna, x 7 ) 8. gillar(anna, x 8 ) gillar(bo, x 8 ) 9. gillar(anna, skaleller) 10. gillar(anna, forskning) 11. läkare(x 11 ) allmänläkare(x 11 ) secialist(x 11 ) Resolution 12. gillar(bo, forskning) 10 och 7 {x 7 forskning} 13. secialist(bo) 12 och 6 {x 6 Bo} 14. läkare(bo) allmänläkare(bo) 13 och 4 {x 4 Bo } 15. allmänläkare(bo) 14 och 2 16. läkare(bo) secialist(bo) 15 och 11 {x 11 Bo } 17. secialist(bo) 16 och 2 18. 17 och 13

Svarsextraktionen ÿgör om frågan till en tautologi. ÿ läkare(x 11 ) allmänläkare(x 11 ) secialist(x 11 ) (läkare(x 11 ) allmänläkare(x 11 ) secialist(x 11 )) ÿgör om resolutionen. ÿibland skaar man ett svarsredikat istället för att göra frågan till tautologi (men idén är densamma). ÿ läkare(x 11 ) allmänläkare(x 11 ) secialist(x 11 ) ans(x 11 ) Resolution igen 12. gillar(bo, forskning) 10 och 7 {x 7 forskning} 13. secialist(bo) 12 och 6 {x 6 Bo} 14. läkare(bo) allmänläkare(bo) 13 och 4 {x 4 Bo } 15. allmänläkare(bo) 14 och 2 16. läkare(bo) secialist(bo) ans(bo) 15och11{x 11 Bo } 17. secialist(bo) ans(bo) 16 och 2 18. ans(bo) 17 och 13 Allkvantifierade frågor ÿblir en skolemkonstant eller skolemfunktion införd i frågan. ÿvårt grandarent -exemel med ny fråga: Finns det för alla x ett y så att y är grandarent till x? x y grandarent(y,x) Negerad och i klausulform: grandarent(y 3,a) ÿman kan se det som att man försöker visa att det finns en erson a som inte har en grandarent. 1. arent(x 1,y 1 ) arent(y 1,z 1 ) grandarent(x 1,z 1 ) 2. arent(f(y 2 ), y 2 ) 3. grandarent(x 3,a) ans(x 3 ) 4. arent(y 2,z 1 ) grandarent(f(y 2 ),z 1 ) {x 1 f(y 2 ), y 1 y 2 } 1och 2 2. arent(f(w 2 ), w 2 ) (Dö om variablerna i 2) 5. grandarent(f(f(w 2 )),w 2 ) {y 2 f(w 2 ), z 1 w 2 }2 och4 6. ans(f(f(a))) {x 3 f(f(a)), w 2 a} 3 och 5 Kan tolkas som att det selar ingen roll vem man väljer för att visa att frågan är falsk så får man att denna erson ufyller formeln. Läs mer i häftet om att det är OK att ersätta konstanten (och skolemfunktioner) i frågan med en variabel. Detta ga att denna skolemkonstant/funktion inte kommer att unifieras bort utan finns kvar till slutet av beviset. Sammanfattning om svarsextraktion ÿförst gör man ett vanligt bevis. ÿgör målet till en tautologi genom att lägga till frågeredikaten. (Eller lägg till redikatet ans.) ÿgör ett nytt bevis å samma sätt som det första och alicera alla unifieringar å det nya målet. ÿklausulen som blir kvar å slutet av beviset är vårt svar. ÿ{1. (x 1 =y 1 ) (x 1 ) (y 1 ) 2. (d) 3. (x 3 =g) (x 3 =s) (x 3 =b) 4. (x 4 =y 4 ) t(x 4 ) t(y 4 ) 5. t(g) (g), 6. (g) t(g), 7. t(s) (s), 8. (s) t(s), 9. t(b) (g), 10. (g) t(b), 11. (x 11 )} Exemlet Portias ussel: Ny 11: (x 11 ) ans(x 11 )

12. (x 4 =b) t(x 4 ) (g) 4o10{y 4 b} 13. (x 3 =g) (x 3 =b) t(s) (g) PM 3 och 12 {x 4 x 3 } 14. t(s) ans(s) 8 och 11, {x 11 s} 15. (x 3 =g) (x 3 =b) (g) ans(s) 13 och 14 16. (d=b) (g) ans(s) PM 15 och 2, {x 3 d} 17. t(x 4 ) t(d) (x 4 ) PM2och4,{y 4 d} 18. t(x 4 ) t(b) (g) (x 4 ) ans(s) PM 16 och 17 19. (x 4 =s) t(x 4 ) 4och14,{y 4 s} 20.(b=s) (g) 10 och 19, {x 4 b} 21.(b=s) ans(g) 11 och 20, {x 11 g} 22. t(b) ans(s) ans(g) PM 14 och 21 23. t(x 4 ) (g) (x 4 ) ans(s) ans(g) 18 och 22 24. (g) (x 4 ) ans(s) ans(g) 22 och 23, {x 4 b} 25. (x 4 ) ans(s) ans(g) 11 och 24, {x 11 g} 26. ans(s) ans(g) ans(x 4 ) 11och25{x 11 x 4 } Gick inte så bra 12. (b = y4) t(y4) (g) {x4 b} 4 o 10 13. (b = s) (g) (s) {y4/s} 8 o 12 14. (x3 = g) (x3 = s) (g) (s) PM3o13 15. (d = s) (g) (s) PM {x3 d} 2 o 14 16. (g) (s) PM2o15 17. t(g) (s) 6 o 16 18. (g = y4) t(y4) (s) {x4 g} 4 o 17 19. (g = s) (s) {x4 s} 8 o 18 20. (x3 = s) (s) PM 15 o 19 21. (s) PM {x3 d} 2 o 20 22. [] {x11 s} 11 o 22 Nytt försök Sundhet och fullständighet för resolution ÿvi börjar med satslogiken och bevisar sen för redikatlogiken. ÿresolution med direkt inferens är inte fullständig. ÿresolution som motsägelse bevis är sund och fullständig i satslogiken. Sundhet och fullständighet för resolution ÿsundhet: Om vi nått tomma klausulen med hjäl av resolutionsroceduren ska klausulmängden S vara osatisfierbar. A = A ÿfullständighet: Om en klausulmängd S är osatisfierbar ska vi kunna nå tomma klausulen med hjäl av resolutionsroceduren. = A A Resolution med direkt inferens: ÿ Ett bevis av klausulen A från en mängd med klausuler U är en sekvens φ 1, φ 2,,φ n med följande egenskaer: Varjeφ i är antingen En medlem i U Resultatet från en resolution mellan φ j och φ k där 1 j,k i φ n =A ÿu res A betyder att formeln A kan bevisas från U med hjäl av resolution. Fullständighet för resolution ÿresolution är inte fullständig för direkt inferens, inte ens när målet är en enda literal! ÿexemel som bevisar detta: Låt U = {A 1 }={}ocha= q. Vi ser direkt att {A 1 } A(dvsomärsannsåär qdet också) men vi kan inte göra resolution å något i U för att nå det resultatet.

Fullständighet forts... ÿman löser exemlet ovan genom att negera frågan och lägga det i samma mängd som hyoteserna och sedan nå motsägelse. {A 1 } A omm A 1 A valid omm A 1 A motsägelse ÿa 1 =, A= ( q) = q ÿ1., 2., 3. q 4. [] (1 och 2) ÿvi ska visa att resolution är sunt och fullständigt när man använder det för refutation. Resolutionsroceduren ÿlåt S vara en mängd klausuler och definiera S 0 =S. Antag att vi har konstruerat S i. Välj två kolliderande klausuler C 1,C 2 S i,ochlåt C=Res(C 1,C 2 )=(C 1 - {l}) (C 2 -{l c }) ÿom C= kan roceduren avbrytas, eftersom S då är osatsifierbar. ÿannars konstruera S i+1 =S i {C}. ÿom S i+1 =S i för alla möjliga kollisioner, avbryts roceduren, S är satisifierbar. Sundhet för resolution i satslogiken ÿresolution är sund. Dvs om C 1 och C 2 är kolliderande klausuler och C är resolventen så gäller att {C 1,C 2 } C ÿvi har sagt att det gäller förut men inte bevisat det ÿför att visa att resolution är sund måste man visa ovanstående + använda induktion (I boken använder de semantiska träd för att bevisa det.) Fullständighet för resolution i satslogiken ÿom en klausulmängd S är osatisfierbar så kan vi nå tomma klausulen med hjäl av resolutionsroceduren. ÿstruktur å beviset: Skaa ett hjälmedel semantiskt träd Visa att detta träd är stängt om S osatisfierbar Visa att trädets ubyggnad innebär att man måste ha nått tomma klausulen med resolutionsroceduren. Semantiska träd (Algoritm 4.31) ÿ Det semantiska trädet med höjd n för mängden S är ett fullt binärt träd T vars kanter har följande etiketter ( 1, 2,, n är de atomer som finns i S): Den vänstra kanten från en nod å nivå i har etiketten i. Den högra kanten från en nod å nivå i har etiketten i ÿ Varje gren g i trädet definierar en tolkning där v g ( i )=T om i är etiketten å i:te kanten och v g ( i )=F annars. ÿ Grenen är sluten om v g (S)=F och annars är grenen öen. ÿ Trädet är slutet om alla grenar är slutna och annars är trädet öet. Exemel: S = { q, q, q r} q ÿden gula grenen motsvarar tolkningen v() = T, v(q) = F, v(r) = F. v(s) = T så grenen är öen. ÿden gröna grenen motsvarar tolkningen v() = F, v(q) = F, v(r) = T. v(s) = F så grenen är stängd. q q q r r r r r r r r

ÿ(lemma 4.33) Varje tolkning för mängden S motsvaras av en gren i trädet och varje gren motsvaras av en tolkning. Vi har ju konstruerat trädet så! ÿ(teorem 4.34) Semantiska träd är stängda omm klausulmängden S är osatisfierbar. ÿ(definition 4.35) Om vi har ett stängt träd och en gren g så är failure node den nod i g som falsifierar S och ligger närmast roten. ÿ(definition 4.41) Föräldranoden till två failure nodes kallas inference node. Failure och Inference nodes S={, q, r, q r} 1 q q q q 2 r r r r r r r r 3 4 ÿlemma 4.45: Om v är en artiell tolkning som hör iho med en inference node så falsifierar tolkningen resolventen. ÿfailurenoderna 3 o 4 hör iho q med klausulerna C1 = r... r r ochc2= q r. 3 4 ÿv blir v() = T och v(q) = T ÿresolventen = q ÿaddera resolventen till mängden... Failure och Inference nodes S1 = {, q, r, q r, q} 1 q q q q 5 2 r r r r r r r r 3 4 Res( q, q) = 3 4 S2 = {, q, r, q r, q, } Res(, ) = [] S3 = {, q, r, q r, q,, []} 6 1 q q q q 5 2 r r r r r r r r Huvudbevisets struktur igen: ÿ Om S är osatisfierbar finns ett stängt semantiskt träd. ÿ Klausulerna i S kan kolas samman med failure nodes i trädet. Det finns dessutom minst en inference node i trädet. ÿ Varje inference node raderar två failure nodes och skaar en ny. Antalet failure nodes minskar! ÿ Dessutom hör varje inference node iho med ett resolutionssteg. ÿ När vi minskat ned antalet failure nodes till en så måste det vara roten. Den är associerad med att få fram tomma klausulen i resolutionsroceduren. ÿ Dvs, Om en klausulmängd S är osatisfierbar så kan vi nå tomma klausulen med hjäl av resolutionsroceduren. I redikatlogiken har vi lärt oss: ÿen osatisfierbar klausulmängd medför alltid att hittas i ett ändligt antal steg. ÿen satisfierbar klausulmängd kan ge en icketerminerande beräkning, vilket gör att vi för en godtycklig klausulmängd inte vet om den är satisfierbar eller inte. ÿresolution är alltså inte en beslutsrocedur för validitet i redikatlogiken. (Är inte avgörbar.)

Avgörbarhet ÿvissa delmängder av redikatlogiken är avgörbar. Dvs det finns en beslutsrocedur för satisfierbarhet. ÿett exemel är ändliga klausulmängder utan funktionssymboler. Detta ger en ändlig Herbrandbas och då kan vi undersöka satisfierbarheten. Reetition ÿen grundterm är en term vars variabler har ersatts med element ur Herbranduniversum. Samma gäller för grundatom och grundklausul. ÿs är en klausulmängd. Det finns en modell för S omm det finns en Herbrandmodell för S. ÿherbrands teorem En klausulmängd S är osatisfierbar omm det finns en ändlig mängd av grundklausuler av S som är osatisfierbara. Sundhet för resolution i redikatlogiken ÿsamma idé som i satslogiken. Kärnan i beviset är att om C 1 och C 2 är kolliderande klausuler och C är resolventen så gäller att {C 1,C 2 } C ÿvi måste ta hänsyn till unifieringar och bygger u resolventen å följande sätt: C= (C 1 σ-{l 1 σ}) (C 2 σ -{l 2c σ}) Bevis ÿ C 1 och C 2, satisfierbara. Då finns en modell I så att v(c i )=T. ÿ Definitionen av värderingarna v ger att det finns grunda instanser C i =C i λ i så att v(c i )=T. ÿeftersom σ är en mgu finns det substitutioner θ i så att λ i =σθ i. Med andra ord har vi C i =C i λ i =(C i σ)θ i ochdärmedär v(c i σ) = T under samma tolkning som v(c i )=T. ÿnu bli beviset lika som för satslogiken. Antingenl 1 σeller l 2c σ är satisfierbar (men inte båda!) Omv(l 1 σ) = T måste det finnas någon annan literal i C 2 som är sann. Denna literal finns i resolventen som också blir satisfierad. PSS om v(l 2c σ)=t Fullständighet för resolution i redikatlogiken ÿ Bygger också å sematiska träd som i beviset för satslogiken. Failure-noden definieras om grenen fram till den falsifierar en en grund instans av en klausul. ÿ Induktionsbevis ÿ Kritiskt steg är att bevisa att inferensnoden kan kolas samman med en resolvent mellan två failure-noder. Visas med hjäl av Lifting-lemma som säger att två klausuler C 1 och C 2 kan associeras med grunda klausuler C 1 och C 2. Deras resolvent C kan i sin tur associeras med C.