Presentation laddar. Vänta.

Presentation laddar. Vänta.

Logik med tillämpningar

Liknande presentationer


En presentation över ämnet: "Logik med tillämpningar"— Presentationens avskrift:

1 Logik med tillämpningar 97-11-07
Föreläsning 3 Logik med tillämpningar 1 1

2 Innehåll Semantiska tablåer
Bevis av tablåernas sundhet och fullständighet Kapitel i Ben-Ari Efter dagens föreläsning kan uppgift 1-5 på laboration 1 lösas. 2

3 Beslutsprocedurer Vi skall titta på 5 olika beslutsprocedurer för satslogik under kursen: Refutering Semantiska tablåer Gentzen-system (naturlig deduktion) Hilbert-system (diskret matte…) Resolution 7

4 Semantiska tablåer Någorlunda effektiv algoritm för att avgöra satisfierbarhet för satslogiska formler. Semantiska tablåer används för att systematiskt söka en modell för en formel. Hittar vi en modell, så är formeln satisfierbar, annars inte. 8

5 Några definitioner som behövs:
En literal är en atom eller negationen av en atom. {p, p} är ett kompletterande par av literaler om p är en atom. Definition (2.6.2) För alla formler A så är {A, A} ett kompletterande par av formler. A är komplementet till A och tvärt om. 9

6 Vi använder ett träd för att få en struktur på sökandet:
O X (p  q)  p (p  q), p p, p q, p Stängt löv Öppet löv 10

7 -regler: En formel vars yttersta operator medför att båda delarna i formeln måste satisfieras för att hela formeln skall vara satisfierbar kan delas upp med en alfa-regel. 11

8 -regler: Om den yttersta operatorn medför att en av delarna i formeln måste satisfieras används en beta-regel: 12

9 Algoritm: Skapa ett träd med endast en nod, innehållande den formel vi vill avgöra satisfierbarhet för. Välj ett icke markerat löv l i trädet. l innehåller en mängd formler U(l). Om U(l) är en mängd literaler, markera lövet som stängt om det innehåller kompletterande literaler, annars som öppet. Annars, välj en formel ur U(l). 13

10 U(l´) = (U(l) -{A})  {1, 2}
- Om formeln är en -formel A, skapa en ny nod l' som barn till l och låt l' innehålla U(l´) = (U(l) -{A})  {1, 2} - Om formeln är en -formel B, skapa två nya noder l' och l" som barn till l. De nya noderna får följande innehåll: U(l´) = (U(l) -{B})  {1} U(l”) = (U(l) -{B})  {2} Algoritmen terminerar när alla löv är märkta med O eller X. 14

11 Exempel p  (p  q) (p  q)  (p  q) ((p  q)  (p  q))

12 Definition (2.6.3) En tablå vars algoritm har terminerat kallas för en avslutad tablå. En avslutad tablå är stängd om alla löv i trädet är stängda. Annars är tablån öppen. Teorem (2.6.4) Algoritmen för skapandet av en semantisk tablå terminerar för alla formler. 15

13 Men är algoritmen korrekt?
Om algoritmen är korrekt måste den vara sund och fullständig. Sundhet (soundness) innebär att alla formler som beslutsproceduren anger som valida faktiskt är valida. Fullständighet (completeness) innebär att om en formel är valid, så kan vi med hjälp av beslutsproceduren visa detta.

14 Här kommer det ”stora” teoremet:
Teorem (2.6.5) Låt T vara en avslutad tablå för en formel A. A är osatisfierbar omm T är stängd. Innan vi bevisar satsen så tittar vi på vilka följder teoremet har. 18

15 A är satisfierbar omm T är öppen. Följdsats (2.6.7)
A är valid omm tablån för A är stängd. Följdsats (2.6.8) Semantiska tablåer är en beslutsprocedur för validitet i satslogiken. 19

16 Sundhet? Dvs alla formler som beslutsproceduren anger som valida faktiskt är valida.
Vi vill visa följande: Om en tablå T för en formel A är stängd, så är A osatisfierbar. Hur går vi till väga? Induktionsbevis över höjden h av (del)trädet T med rotnoden n. 20

17 Fullständighet? Dvs om en formel är valid, så kan vi med hjälp av beslutsproceduren visa detta
Att bevisa: Om A är osatisfierbar så är den semantiska tablån för A stängd. Enligt (2.6.6) är detta ekvivalent med att visa att om det finns en öppen gren på trädet så är A satisfierbar. Vi visar detta genom att konstruera en modell för A utgående från en öppen gren. 21

18 Vi behöver hjälpdefinitioner:
Låt U vara en mängd av formler. U är en Hintikka-mängd om följande gäller: l. För alla atomer p gäller att antingen pU eller pU. 2. Om AU är en -formel (som Al A2) så är {Al, A2} U. 3. Om BU är en -formel (som Bl  B2) så gäller att Bl  U eller B2  U. 22

19 Bevis: Vi måste kontrollera de tre reglerna för Hintikka-mängder.
Teorem (2.6.10) Låt l vara ett öppet löv i T. Låt U= nU(n), där n är noderna på grenen från roten till lövet. Då är U en Hintikka-mängd. Bevis: Vi måste kontrollera de tre reglerna för Hintikka-mängder. 23

20 Teorem (2.6.11) (Hintikkas lemma för satslogiken)
Det vi har kvar att göra nu är att konstruera en modell för Hintikka-mängden som definieras av grenen. Teorem (2.6.11) (Hintikkas lemma för satslogiken) Låt U vara en Hintikka-mängd. Då är U satisfierbar. (Lemma är ett hjälpteorem som inte har något med huvudteoremet att göra men med hjälp av det kan man bevisa huvudteoremet.) 24

21 Hintikkas lemma visar direkt fullständigheten:
Givet en öppen gren i tablån för A, så är mängden formler på grenen en Hintikka-mängd U, och vi kan hitta en modell för denna. Eftersom A tillhör U så är denna modell även en modell för A. Detta avslutar beviset av fullständighet. 25

22 Exempel på bevis av validitet
Vi vill visa att följande formel är valid: A = p  q  (p  q) Semantiska tablåer kan bara avgöra satisfier-barhet, men en negationen av en valid formel är osatisfierbar: A= (p  q  (p  q)) 26


Ladda ner ppt "Logik med tillämpningar"

Liknande presentationer


Google-annonser