10.06.2013 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.2. CLAUSOLE DI HORN E PROGRAMMAZIONE LOGICA 119<br />

meccanica, le varie clausole centrali generate, ma solo l’ultima, <strong>in</strong>sieme alle<br />

clausole orig<strong>in</strong>ali <strong>di</strong> S.<br />

Teorema 5.2.2 (Completezza). Se S è un <strong>in</strong>sieme <strong>in</strong>sod<strong>di</strong>sfacibile <strong>di</strong> clausole<br />

<strong>di</strong> Horn, esiste una <strong>in</strong>put-refutazione <strong>di</strong> S.<br />

Dimostrazione. Si consideri una refutazione l<strong>in</strong>eare or<strong>di</strong>nata <strong>di</strong> S che abbia<br />

come top un goal. una tale derivazione esiste, per la completezza della risoluzione<br />

l<strong>in</strong>eare or<strong>di</strong>nata, e supponendo S <strong>in</strong>sod<strong>di</strong>sfacibile m<strong>in</strong>imale, o <strong>di</strong> essersi<br />

ristretti a un suo sottonsieme <strong>in</strong>sod<strong>di</strong>sfacibile m<strong>in</strong>imale, esiste con top qualunque;<br />

ma ogni <strong>in</strong>sieme <strong>in</strong>sod<strong>di</strong>sfacibile <strong>di</strong> clausole <strong>di</strong> Horn contiene almeno<br />

un goal. Scegliamo un top negativo.<br />

La clausola top negativa non può che essere risolta con una clausola mista<br />

o pos<strong>it</strong>iva, ma la risolvente è <strong>di</strong> nuovo negativa. Iterando, tutte le centrali<br />

sono negative, e nessuna può essere risolta con una centrale precedente,<br />

anch’essa negativa.<br />

Qu<strong>in</strong><strong>di</strong> una refutazione l<strong>in</strong>eare or<strong>di</strong>nata <strong>di</strong> S con top una clausola negativa<br />

sod<strong>di</strong>sfa automaticamente la restrizione dell’<strong>in</strong>put.<br />

Si potrebbe def<strong>in</strong>ire una nozione duale rispetto alle clausole <strong>di</strong> Horn,<br />

clausole <strong>in</strong> cui occorre al più un letterale negativo. Anche per queste vale la<br />

completezza della <strong>in</strong>put-risoluzione, con derivazioni che hanno come top una<br />

clausola pos<strong>it</strong>iva.<br />

Nella programmazione logica si usano clausole <strong>di</strong> Horn, <strong>di</strong> l<strong>in</strong>guaggi pre<strong>di</strong>cativi,<br />

ma con un calcolo soggiacente che può essere illustrato con la logica<br />

proposizionale, e non è altro che la <strong>in</strong>put-risoluzione, <strong>in</strong> altra notazione.<br />

Si torna ad usare il con<strong>di</strong>zionale, anche se rovesciato, e una clausola mista<br />

¬qn ∨ . . . ∨ ¬q1 ∨ p, che è logicamente equivalente a qn ∧ . . . ∧ q1 → p, sarà<br />

rappresentata da<br />

p ← q1, . . . , qn<br />

anche se p fosse <strong>in</strong> un posto qualunque. p si chiama testa e q1, . . . , qn corpo<br />

della legge.<br />

Qu<strong>in</strong><strong>di</strong> per uniform<strong>it</strong>à <strong>di</strong> notazione una clausola un<strong>it</strong>aria p sarà rappresentata<br />

da<br />

e un goal ¬qn ∨ . . . ∨ ¬q1 da<br />

p ←<br />

← q1, . . . , qn

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!