Logica Matematica Corso di Laurea in Informatica ... - Mbox.dmi.unict.it
Logica Matematica Corso di Laurea in Informatica ... - Mbox.dmi.unict.it
Logica Matematica Corso di Laurea in Informatica ... - Mbox.dmi.unict.it
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
112 CAPITOLO 5. CALCOLO DELLA RISOLUZIONE<br />
Le clausole Ci si chiamano centrali e tutte salvo la prima, detta top e appartenente<br />
a S, sono risolventi; le clausole Bi sono dette laterali e o appartengono<br />
a S oppure sono una delle Cj con j < i. Per queste laterali non è rispettata<br />
la con<strong>di</strong>zione che le foglie siano elementi <strong>di</strong> S, ma la con<strong>di</strong>zione si può riprist<strong>in</strong>are<br />
(<strong>di</strong>struggendo la l<strong>in</strong>ear<strong>it</strong>à) aggiungendo sopra ad esse la derivazione<br />
da cui sono dedotte.<br />
Alla struttura l<strong>in</strong>eare della derivazione si aggiunge la con<strong>di</strong>zione che le<br />
clausole non sono più considerate come <strong>in</strong>siemi <strong>di</strong> letterali, cioè a meno <strong>di</strong><br />
equivalenze logiche; ogni clausola <strong>in</strong>tesa come <strong>di</strong>sgiunzione è considerata <strong>di</strong>versa<br />
dalle clausole equivalenti che si ottengono per permutazioni dei lette-<br />
rali; le clausole sono successioni or<strong>di</strong>nate <strong>di</strong> letterali, <strong>in</strong>clusa eventualmente<br />
la successione vuota, sempre <strong>in</strong><strong>di</strong>cata con ✷.<br />
Si ev<strong>it</strong>ano peraltro le ripetizioni <strong>di</strong> letterali convenendo che quando un<br />
letterale occorre più <strong>di</strong> una volta <strong>in</strong> una clausola, si cancellando automaticamente<br />
tutte le occorrenze salvo la prima (operazione detta anche <strong>di</strong> merg<strong>in</strong>g<br />
left).<br />
Anche la regola <strong>di</strong> risoluzione deve essere mo<strong>di</strong>ficata per adattarsi alla<br />
natura or<strong>di</strong>nata delle clausole, e deve <strong>in</strong><strong>di</strong>care quale letterale scegliere come<br />
letterale risolvente e <strong>in</strong> quale delle due clausole gen<strong>it</strong>rici (che anch’esse sono<br />
date <strong>in</strong> modo or<strong>di</strong>nato come prima e seconda gen<strong>it</strong>rice). Per como<strong>di</strong>tà <strong>di</strong><br />
scr<strong>it</strong>tura conveniamo che sia l’ultimo letterale della prima clausola gen<strong>it</strong>rice<br />
(ma non cambierebbe nulla con un’altra scelta, ad esempio il primo) nel<br />
formulare la<br />
Def<strong>in</strong>izione 5.1.7 (Regola <strong>di</strong> risoluzione or<strong>di</strong>nata). Se l è l’ultimo letterale<br />
<strong>di</strong> una prima clausola, ed l c occorre <strong>in</strong> una seconda clausola D1 ∨ l c ∨ D2,<br />
dove D1 o D2 possono essere la clausola vuota, a significare che l c può essere<br />
<strong>in</strong> una posizione qualunque, allora<br />
C ∨ l D1 ∨ l c ∨ D2<br />
C ∨ D1 ∨ D2<br />
Si noti che se un letterale <strong>di</strong> una clausola ha il complementare <strong>in</strong> un’altra,<br />
ma non è all’ultimo posto della sua, non può essere il letterale risolto <strong>di</strong> una<br />
risoluzione delle due clausole: ad esempio p ∨ q e ¬p ∨ q non possono essere<br />
risolte rispetto a p con una risoluzione or<strong>di</strong>nata.<br />
Una derivazione per risoluzione l<strong>in</strong>eare or<strong>di</strong>nata <strong>di</strong> C da S è una derivazione<br />
l<strong>in</strong>eare <strong>di</strong> C da S <strong>in</strong> cui le clausole sono considerate or<strong>di</strong>nate e le<br />
risoluzioni sono risoluzioni or<strong>di</strong>nate tra la centrale e la laterale, nell’or<strong>di</strong>ne.<br />
Esempio 5.1.8. La derivazione nell’Esempio 5.1.2 a p. 109 è una derivazione<br />
l<strong>in</strong>eare ma non l<strong>in</strong>eare or<strong>di</strong>nata. Essa può essere sost<strong>it</strong>u<strong>it</strong>a, per refutare<br />
S = {¬p ∨ q, p, ¬q}, dalla derivazione l<strong>in</strong>eare or<strong>di</strong>nata: