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.
110 CAPITOLO 5. CALCOLO DELLA RISOLUZIONE<br />
Prima <strong>di</strong> <strong>di</strong>mostrare il viceversa, <strong>in</strong>troduciamo la seguente operazione su<br />
<strong>in</strong>siemi <strong>di</strong> clausole, con la notazione<br />
S l = {C \ {l c } : C ∈ S e l /∈ C}.<br />
Analogamente per Slc, osservando che (lc ) c = l,<br />
Slc = {C \ {l} : C ∈ S e lc /∈ C}.<br />
L’<strong>in</strong>sieme S l si ottiene da S tenendo le clausole che non contengono né l né<br />
l c , elim<strong>in</strong>ando quelle che contengono l e mo<strong>di</strong>ficando quelle che contengono<br />
l c con l’elim<strong>in</strong>azione <strong>di</strong> l c .<br />
Lemma 5.1.5. Se S è <strong>in</strong>sod<strong>di</strong>sfacibile, anche S l e S lc<br />
lo sono.<br />
Dimostrazione. Supponiamo che S l sia sod<strong>di</strong>sfatto da i (per S lc<br />
il <strong>di</strong>scorso è<br />
analogo). Poiché né l né l c occorrono <strong>in</strong> S l , i non è def<strong>in</strong><strong>it</strong>a per l e la si può<br />
estendere a i ′ ponendo i ′ (l) = 1.<br />
Le clausole <strong>di</strong> S che sono anche <strong>in</strong> S l perché non contengono né l né l c e<br />
che sono sod<strong>di</strong>sfatte da i cont<strong>in</strong>uano a essere sod<strong>di</strong>sfatte da i ′ . Le clausole <strong>di</strong><br />
S che si ottengono da clausole <strong>di</strong> S l re<strong>in</strong>serendo il letterale l c che era stato<br />
tolto, cont<strong>in</strong>uano a essere sod<strong>di</strong>sfatte da i ′ . Le clausole <strong>di</strong> S che non sono <strong>in</strong><br />
S l perché contengono l sono sod<strong>di</strong>sfatte da i ′ (l) = 1.<br />
Vale anche il viceversa (esercizio).<br />
Se S è f<strong>in</strong><strong>it</strong>o, Sl e Slc hanno meno letterali <strong>di</strong> S. Iterando il passaggio<br />
da S a Sl e Slc, determ<strong>in</strong>ando (Sl ) M , (Slc) M e via riducendo, si perviene a<br />
<strong>in</strong>siemi la cui <strong>in</strong>sod<strong>di</strong>sfacibil<strong>it</strong>à è facilmente deci<strong>di</strong>bile. L’organizzazione <strong>di</strong><br />
questo proce<strong>di</strong>mento sui vari <strong>in</strong>siemi <strong>di</strong> clausole non è semplice, e useremo<br />
Sl e Slc solo per <strong>di</strong>mostrare, per S f<strong>in</strong><strong>it</strong>o, il<br />
Teorema 5.1.6 (Completezza). Se S è <strong>in</strong>sod<strong>di</strong>sfacibile, allora S ⊢ ✷.<br />
Dimostrazione. La <strong>di</strong>mostrazione è per <strong>in</strong>duzione sul numero <strong>di</strong> letterali degli<br />
<strong>in</strong>siemi <strong>di</strong> clausole. Sl e Slc hanno meno letterali <strong>di</strong> S e sono <strong>in</strong>sod<strong>di</strong>sfacibili.<br />
per ipotesi <strong>in</strong>duttiva, Sl ⊢ ✷ e Slc ⊢ ✷. Se nella refutazione <strong>di</strong> Sl si re<strong>in</strong>tro-<br />
duce l c nelle clausole <strong>di</strong> S l che sono foglie e che si ottengono da clausole <strong>di</strong> S<br />
per cancellazione <strong>di</strong> l c , questo letterale si trasmette nelle clausole risolventi,<br />
e la derivazione <strong>di</strong>venta una derivazione <strong>di</strong> lc da S. Analogamente, se nella<br />
refutazione <strong>di</strong> Slc si re<strong>in</strong>troduce l nelle clausole da cui era stato cancellato,<br />
si ottiene una derivazione <strong>di</strong> l da S.<br />
Accostando queste due derivazioni e aggiungendo una risoluzione tra l e<br />
lc , si ottiene una refutazione <strong>di</strong> S.<br />
Per la base dell’<strong>in</strong>duzione, si può considerare il caso <strong>di</strong> zero letterali, e<br />
allora S deve contenere solo la clausola ✷, che è qu<strong>in</strong><strong>di</strong> derivabile da S.