1 / 21

Föreläsning 9

Föreläsning 9. Logik med tillämpningar 97-11-21. Innehåll. Semantiska tablåer i predikatlogiken Klausulform Herbrandmodeller Kapitel 3.5, 3.6-3.8 i Ben-Ari.  xA(x)  xA(x). A(a)  A(a).  xA(x)  xA(x). A(a)  A(a). Semantiska tablåer för predikatlogiken.

wilbur
Download Presentation

Föreläsning 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Föreläsning 9 Logik med tillämpningar 97-11-21

  2. Innehåll • Semantiska tablåer i predikatlogiken • Klausulform • Herbrandmodeller • Kapitel 3.5, 3.6-3.8 i Ben-Ari

  3. xA(x) xA(x) A(a) A(a) xA(x) xA(x) A(a) A(a) Semantiska tablåer för predikatlogiken • Vi måste modifiera de semantiska tablåerna, eftersom domäner kan vara oändliga. Detta kan leda till icke-terminerande tablåer. • Vi måste kunna hantera kvantifierade formler också. • Detta gör vi genom att instansiera kvantifierade formler. Allkvantifierade formler Existenskvantifierade formler

  4. Viktigt att komma ihåg! • När vi skapar konstanter för existens-kvantifierade formler måste ta en ny konstant varje gång. • En allkvantifierad formel tas inte bort när man skapar en instans eftersom den gäller för alla x. Här väljer man en konstant som redan finns.

  5. Infinita modeller • Semantiska tablåer terminerar inte alltid • Problemet:Vi vet inte om en gren är infinit eller om den kommer att stängas efter x steg… • Semantiska tablåer är alltså inte en besluts-procedur för validitet för predikatlogiken.

  6. Vi vet i alla fall att: • Teorem (3.5.2) (sundhet)A är en predikatlogisk formel, och T dess tablå. Om T är stängd, så är A osatisfierbar. • Teorem (3.5.7) (fullständighet)Om A inte är satisfierbar, så är T stängd. Om A är valid, så är tablån för A stängd.

  7. Funktioner och termer x > y  (x + 1) > (y + 1) (infix notation) >(x, y)  >(+(x, 1), +(y, 1)) är samma formel i vår normala notation. Argumenten till predikatet + är termer eller mer begripligt funktionssymboler. Funktionssymboler binds i en tolkning till funktioner.

  8. a, x, f(a, x) och g(f(a, f(x)) är exempel på termer p(a, b), p(x, f(a, b, c)) och p(x, g(x)) är exempel på formler En term är sluten (stängd, closed) om den inte innehåller variabler. Termer och formler Definition (3.7.2) En tolkning (interpretation) I av en (mängd av) formler: I = (D, {R1, ..., Rn}, {F1, …, Fm}, {d1, …, dk}) där en funktion Fimed n argument knyts till varje funktions-symbol fi med n argument.

  9. Prenex konjunktiv normalform • För att kunna definiera resolution på predikatlogiken så definierar vi först klausulform för predikatlogiken. • Definition: En formel är i prenex konjunktiv normalform (PCNF) omm den har följande utseende: QlXl … QnXnM där Qi är kvantifierare och M är en formel i CNF fri från kvantifierare. Sekvensen med kvantifierare kallas för prefix och M kallas för matris.

  10. Klausulform • Definition: En formel är i klausulform om den är i PCNF och prefixet endast består av allkvantifikatorer. • Exempel på klausulform:xy((p(f(x))p(x)p(y))  (p(a) p(y))){p(f(x))p(x)p(y), p(a) p(y)} • Kan skrivas på kortare form:{pf(x)pxpy, papy}

  11. Skolemfunktioner • Problem: Klausulform förutsätter att vi kan få bort existenskvantorn. • Fall 1:xyp(x,y) Det ”existerar det ett x för alla y så att p(x,y)”. Vi inför en funktion (Skolemfunktion) som ger detta x för varje y. xp(x,f(x)) • Funktionerna måste ha unika namn, dvs f ovan får inte användas någon annanstans i formeln.

  12. Skolemkonstanter • Fall2:yp(y) • I fall 2 ”existerar ett y så att p(y)”. Använd en (Skolem-) konstant c.p(c)där c mappas till just det element i tolkningen som gör formeln sann.

  13. Konstruktion av klausulform: 1. Ge bundna variabler unika namn. 2. Reducera operatorerna till  och . 3. Pressa in negationer. När en negation pressas in innanför en kvantor, så byt mot och tvärt om. 4. Flytta kvantifierarna utanför övriga formeln.Välj en kvantifierare som inte är innanför en kvantifierare som är kvar i matrisen och använd följande regler: A op QxB(x)Qx(A op B(x)) QxB(x) op AQx(B(x) op A) 5. Använd distributiva lagar för att få matrisen i CNF. 6. Använd Skolemkonstanter och skolemfunktioner för att eliminera existenskvantorerna.

  14. Herbrandtolkningar och -modeller • Ett sätt att förenkla arbetet med tolkningar eftersom att diskutera antalet möjliga tolkningar är komplext. • Herbrandtolkningar har en mycket enkel struktur. • Huvudegenskapen för dessa tolkningar är att om en formel har en modell, så har den även en Herbrandmodell, det finns alltså en Herbrandtolkning som satisfierar formeln.

  15. Herbranduniversum • Definition (3.9.1)S är en klausulmängd. Aär mängden av konstant-symboler som förekommer i S, och F är mängden av funktionssymboler i S. Herbranduniversum för S, Hs, definieras rekursivt:aiHs om aiA fi (t1, …,tn)  Hs om fiF och tn HsOm A är tom, dvs det finns inga konstanter i formeln S, så antas att en godtycklig konstant a A.

  16. Definition (3.9.2)En grund term är en term vars variabler har ersatts med element ur Herbranduniversum. Samma gäller för grund atom och grund klausul. • Definition (3.9.3)En Herbrandtolkning är en tolkning vars domän är ett Herbranduniversum och där konstanter och funktioner är bundna till sigsjälva. v(a) = a v(f(t1, ..., tn)) = f(v(t1), ..., v(tn))Det finns ingen begränsning för relationerna i tolkningen.

  17. Herbrandbas • Definition (3.9.4)S är en mängd formler ochHsdess Herbranduniversum. Herbrandbasen Bsär mängden av alla grundatomer som kan formas av predikaten i S och termerna i Hs.

  18. Definition (3.9.5)En Herbrandmodell för en klausulmängd S är en Herbrandtolkning som satisfierar S. • Antag vi har en Herbrandmodell Msför S. Då kan varje element i Herbrandbasen Bsevalueras till T eller F. Vi kan därför beskriva Herbrandmodellen somaiMs om v(ai) = Tdvs Herbrandmodellen beskrivs av den delmängd av Herbrandbasen där elementen evalueras till T av tolkningen.

  19. Teorem (3.9.6)S är en klausulmängd. Det finns en modell för S omm det finns en Herbrandmodell för S. • Teorem (3.9.7) (Herbrands teorem) En klausulmängd S är osatisfierbar omm det finns en ändlig mängd av grundklausuler av S som är osatisfierbara.

  20. Början på en algoritm för validitet 1. Negera formeln 2. Gör om till klausulform 3. Generera en ändlig mängd av grundklausuler. Dvs instansiera klausulmängden med element ur Herbranduniversum för klausulmängden. 4. Visa att mängden av grundklausuler är osatisfierbara. • Problemet här är steg 3.

More Related