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

Föreläsning 9

  • Upload
    wilbur

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Föreläsning 9

Föreläsning 9

Logik med tillämpningar

97-11-21

Page 2: Föreläsning 9

Innehåll

Semantiska tablåer i predikatlogiken Klausulform Herbrandmodeller Kapitel 3.5, 3.6-3.8 i Ben-Ari

Page 3: Föreläsning 9

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.

xA(x)

xA(x)

A(a)

A(a)

A(a)

A(a)

xA(x)

xA(x) Allkvantifierade formler Existenskvantifierade formler

Page 4: Föreläsning 9

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.

Page 5: Föreläsning 9

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.

Page 6: Föreläsning 9

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.

Page 7: Föreläsning 9

xyp(x,y), x(p(x) p(x))

xyp(x,y), yp(a0,y), x(p(x) p(x))

xyp(x,y), p(a0 ,a1), x(p(x) p(x))

xyp(x,y), yp(a1,y), p(a0 ,a1), x(p(x) p(x))

Page 8: Föreläsning 9

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.

Page 9: Föreläsning 9

Termer och formler 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.

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 Fi med n argument knyts till varje funktions-symbol fi med n argument.

Page 10: Föreläsning 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.

Page 11: Föreläsning 9

Klausulform Definition: En formel är i klausulform om den

är i PCNF och prefixet endast består av allkvantifikatorer.

Exempel på klausulform:xy((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)pxpy, papy}

Page 12: Föreläsning 9

Skolemfunktioner Problem: Klausulform förutsätter att vi kan få

bort existenskvantorn. Fall 1: xyp(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.

Page 13: Föreläsning 9

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.

Page 14: Föreläsning 9

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.

Page 15: Föreläsning 9

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.

Page 16: Föreläsning 9

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:

aiHs om aiAfi (t1, …,tn) Hs om fi F och tn Hs

Om A är tom, dvs det finns inga konstanter i formeln S, så antas att en godtycklig konstant a A.

Page 17: Föreläsning 9

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 sig själva.

v(a) = av(f(t1, ..., tn)) = f(v(t1), ..., v(tn))

Det finns ingen begränsning för relationerna i tolkningen.

Page 18: Föreläsning 9

Herbrandbas

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

Page 19: Föreläsning 9

Definition (3.9.5)En Herbrandmodell för en klausulmängd S är en Herbrandtolkning som satisfierar S.

Antag vi har en Herbrandmodell Ms för S. Då kan varje element i Herbrandbasen Bs evalueras till T eller F. Vi kan därför beskriva Herbrandmodellen som

ai Ms om v(ai) = Tdvs Herbrandmodellen beskrivs av den delmängd av Herbrandbasen där elementen evalueras till T av tolkningen.

Page 20: Föreläsning 9

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.

Page 21: Föreläsning 9

Början på en algoritm för validitet1. 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.