Sei sulla pagina 1di 37

Tableau proposizionali

Forma normale a clausole


Risoluzione proposizionale

Informatica e Computazione
Sistemi Deduttivi Proposizionali

Marco Maratea

Corso di Laurea in Ingegneria Informatica


Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi
Università degli Studi di Genova

logo.aiia.png
logoUnige.png
siteLogo.png

1/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Outline

1 Tableau proposizionali

2 Forma normale a clausole

3 Risoluzione proposizionale

logo.aiia.png
logoUnige.png
siteLogo.png

2/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Introduzione (I)

In queste slides introduciamo il concetto di derivazione, da un


insieme di formule o teoria.

Introdurremo sistemi deduttivi che manipolano sintatticamente


le formule.

Tali sistemi deduttivi sono indipendenti dalle funzioni di


valutazione (funzioni V e IV ) e dai modelli.

Vedremo poi come legare le formule derivanti dal processo di


deduzione e le formule verificabili (tautologie) nei modelli della
teoria.
logo.aiia.png
logoUnige.png
siteLogo.png

3/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Introduzione (II)

Sistemi deduttivi per il calcolo proposizionale:

• Sistema assiomatico hilbertiano (troppo teorico, non lo


vedremo)
• Tableau proposizionali

• Risoluzione proposizionale (*)(**)

• Algoritmo di Davis-Putnam-Logemann-Loveland (*)(**)(***)

(*) necessita di formule in una forma specifica


(**) vedremo anche implementazione
(***) vedremo l’argomento solo nelle lezioni pratiche
logo.aiia.png
logoUnige.png
siteLogo.png

4/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Outline

1 Tableau proposizionali

2 Forma normale a clausole

3 Risoluzione proposizionale

logo.aiia.png
logoUnige.png
siteLogo.png

5/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tableau proposizionali

Sono una schema per la scomposizione delle formule


proposizionali.

In tale schema le formule che non siano atomi o letterali (atomi


negati), sono suddivise in due categorie:
• α: formula proposizionale congiuntiva;
• β: formula proposizionale disgiuntiva.

In pratica, lo schema raggruppa in due categorie tutte le


formule del tipo, con F e G formule:

(F ◦ G), ¬(F ◦ G), ◦ ∈ {∧, ∨, →}


logo.aiia.png
logoUnige.png
siteLogo.png

6/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Componenti delle α- e β-formule

α α1 α2 β β1 β2
F ∧G F G F ∨G F G
¬(F ∨ G) ¬F ¬G ¬(F ∧ G) ¬F ¬G
¬(F → G) F ¬G F →G ¬F G

Per ogni valutazione Booleana IV , e per tutte le formule α e β


di sopra si ha che:
• IV (α) = IV (α1 ) ∧ IV (α2 )
• IV (β) = IV (β1 ) ∨ IV (β2 )
Inoltre per ogni formula α e β valgono le seguenti tautologie:
• α ↔ (α1 ∧ α2 )
• β ↔ (β1 ∨ β2 ) logo.aiia.png
logoUnige.png
siteLogo.png

7/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Regole per tableau


La scomposizione è usata per definire le corrispondenti regole
per i tableau, o regole di espansione dei tableau (“,” sta
intuitivamente per “and”, mentre “|” sta per “or”)
¬¬A ¬> ¬⊥
¬-regole A ⊥ >
α1 ∧α2 ¬(α1 ∨α2 ) ¬(α1 →α2 )
α-regole α1 ,α2 ¬α1 ,¬α2 α1 ,¬α2
β1 ∨β2 ¬(β1 ∧β2 ) β1 →β2
β-regole β1 |β2 ¬β1 |¬β2 ¬β1 |β2

Tali regole possono essere espresse in forma compatta:


¬¬A ⊥ > α β
A ¬> ¬⊥ α1 ,α2 β1 |β2

Il connettivo ↔ può essere trattato riscrivendolo in termini di


{∧, →}, oppure si può definire una regola composta:
F ↔G ¬(F ↔G)
↔-regole F |¬G,¬F |G ¬F ,G|F ,¬G logo.aiia.png
logoUnige.png
siteLogo.png

8/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tableau: Definizioni

Tableau
Dato un insieme di formule Γ, un tableau T per Γ è un albero
binario i cui nodi sono etichettati da formule di Γ.

Tableau iniziale
Dato un insieme di formule Γ, l’albero binario costituito dal solo
nodo radice etichettato dalla congiunzione delle formule di Γ è
detto tableau iniziale per Γ, e denotato T0 .

logo.aiia.png
logoUnige.png
siteLogo.png

9/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Espansione (I)
Passo di espansione
Dato un insieme di formula Γ, se T1 è un tableau per Γ e F é un nodo
foglia su un ramo di T1 , possiamo costruire un tableau T2 per Γ
attraverso un passo di espansione tra questi
1. Se ¬¬G, oppure ¬>, oppure ¬⊥ occorrono sul ramo di T1 che
porta alla foglia F , allora si aggiunge come figlio di F un ramo
contenente rispettivamente G, ⊥ oppure > (prime tre regole in
forma compatta).
2. Se una formula del tipo α occorre sul ramo di T1 che porta alla
foglia F , allora si aggiunge come figlio di F un ramo contenente
(in successione) α1 e α2 (quarta regola in forma compatta).
3. Se una formula del tipo β occorre sul ramo di T1 che porta alla
foglia F , allora si aggiungono come figli di F due rami contenenti
rispettivamente β1 e β2 (quinta regola in forma compatta).
logo.aiia.png
logoUnige.png
siteLogo.png
Il tableau T2 si dice ottenuto da T1 attraverso un passo di espansione. 10/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Espansione (II)
Espansione coerente
Dati due tableau T1 e T2 per un insieme di formule Γ, T2 è una espansione
coerente di T1 se esiste un nodo n in T1 tale che T2 è stato ottenuto da T1
attraverso un numero finito di passi di espansione, ogniuno dei quali ha
espanso la formula che etichetta n su tutte le foglie del sottoalbero che ha
come radice n.

Tableau ben costruito e completo


Un tableau T per Γ di dice ben costruito se è ottenuto per espansioni coerenti
di T e nessun nodo è oggetto di più di una espansione coerente; è completo
se è ben costruito e non può più essere oggetto di espansioni coerenti.

Intuitivamente
• il ramo di un tableau può essere visto come la congiunzione delle
formule che appaiono in esso, e
• l’intero tableau come una disgiunzione di congiunzioni. logo.aiia.png
logoUnige.png
siteLogo.png

11/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Espansione e soddisfacibilità

Soddisfacilità di un tableau
Un ramo di un tableau è soddisfacibile se la congiunzione delle
formule che etichettano i suoi nodi è soddisfacibile.
Un tableau è soddisfacibile se almeno uno dei suoi rami è
soddisfacibile.

Proprietà dell’espansione rispetto alla soddisfacibilità


L’espansione preserva la soddisfacibilità, ovvero se un tableau
è soddisfacibile, il tableau ottenuto attraverso l’applicazione di
una regola di espansione è ancora soddisfacibile.
logo.aiia.png
logoUnige.png
siteLogo.png

12/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Rami e chiusura di tableau


Rami e tableau chiusi
Un ramo di un tableau si dice chiuso se, per qualche formula F ,
entrambe F e ¬F etichettano nodi che occorrono sul ramo,
oppure ¬> o ⊥ occorrono sul ramo. Altrimenti, è detto aperto.
Un tableau è chiuso se tutti i suoi rami sono chiusi (e non vi è
bisogno che sia completo), altrimenti è aperto.

Tableau-refutazione
La refutazione si usa per stabilire l’insoddisfacibilità.
Un tableau-refutazione di una formula F è un tableau chiuso la
cui radice è etichettata da F .
Un tableau-refutazione di una formula F da Γ è un tableau
chiuso la cui radice è etichettata da Γ ∪ {F }. logo.aiia.png
logoUnige.png
siteLogo.png

13/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Dimostrazione e deduzione
Tableau-dimostrazione
Un tableau-dimostrazione di una formula F è un tableau chiuso
la cui radice è etichettata da ¬F . F è un teorema (o tautologia)
nel sistema di calcolo dei tableau se F ha un
tableau-dimostrazione. In questo caso scriviamo:

`T F

Tableau-deduzione
Un tableau-deduzione di una formula F da un insieme finito di
formule Γ è un tableau chiuso la cui radice è etichettata da
Γ ∪ {¬F }. In questo caso scriviamo:

Γ `T F logo.aiia.png
logoUnige.png
siteLogo.png

14/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tabella riassuntiva per tableau


La seguente tabella riassume, a seconda di quale sia la
proprietà che si vuole verificare:
• su quale formula fare il tableau;
• la chiusura del tableau;
• l’apertura del tableau.

Per provare che F è Fare tableau per Chiuso? Aperto?


Teorema/Tautologia ¬F Sì No
Soddisfacibile F No Sì
Contraddittoria F Sì No
Γ `T F Γ ∪ {¬F } Sì No

Es., la terza riga è per verificare se una formula F è


insoddisfacibile, facendo un tableau con F come radice:
logo.aiia.pngse è siteLogo.png
logoUnige.png
chiuso allora la formula è una contraddizione, altrimento no. 15/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Un algoritmo per tableau-deduzione


Per costruire un tableau-deduzione per Γ `T F possiamo
seguire il seguente algoritmo:
1. Costruire il tableau T0 etichettato con Γ ∪ {¬F }
2. Finchè ci sono nodi non “marcati”, scegliamo un nodo da
espandere, e
• facciamo un passo di espansione coerente (cioè
espandiamo il nodo rispetto a tutte le foglie ad esso
sottostanti nei rami ancora aperti)
• marchiamo (la formula usata nel) nodo come “espansa”
• verifichiamo se i rami interessati dall’espansione sono
chiusi e li marchiamo tali.
Condizioni di terminazione dell’algoritmo sono:
• il tableau è chiuso, allora F è dedotto da Γ, oppure
• il tableau è completo, e c’è ancora qualche ramo aperto,
logo.aiia.png
logoUnige.png
siteLogo.png
allora Γ 6`T F .
16/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tableau: Esempio (I)

Mostriamo ora che da Γ = {P ∧ Q → R, P, P → Q} si deriva


Q ∧ R, ovvero che

{P ∧ Q → R, P, P → Q} `T Q ∧ R.

Un tableau è:
(P ∧ Q) → R
P
P→Q
¬(Q∧R)
¬P∗ Q
¬Q∗ ¬R
¬(P∧Q)
R∗
¬P∗ ¬Q∗

Il tableau è chiuso, allora {P ∧ Q → R, P, P → Q} `T Q ∧ R.


logo.aiia.png
logoUnige.png
siteLogo.png

17/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tableau: Esempio (II)

Esempio precedente si può trovare graficato anche come:

(P ∧ Q) → R, P, P → Q, ¬(Q ∧ R)

¬P∗ Q

¬Q∗ ¬R

¬(P ∧ Q) R∗

¬P∗ ¬Q∗

logo.aiia.png
logoUnige.png
siteLogo.png

18/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tableau: Esempio (III)

Prima dicevamo che per verificare se un tableau è chiuso, non


vi è bisogno che sia completo. Si consideri di avere
Γ = {R ∨ P, P ∧ Q, ¬Q, R}. Il tableau è:

R ∨ P, P ∧ Q, ¬Q, R

P, Q∗

Come si vede il tableau è chiuso, perchè l’unico ramo è chiuso,


quindi questo ùn tableau-refutazione, quindi l’insieme Γ è
insoddisfacibile. logo.aiia.png
logoUnige.png
siteLogo.png

19/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Tableau: Esempio (IV)


Nell’esempio precedente abbiamo etichettato il nodo figlio con
la conginzione delle formula α1 e α2 . Qui invece presentiamo il
tableau in modo alternativo, avendo una successione di figli, il
primo con α1 ed il successivo con α2 , rispettivamente:

R ∨ P, P ∧ Q, ¬Q, R

Q∗ logo.aiia.png
logoUnige.png
siteLogo.png

20/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Correttenza e completezza del tableau


I seguenti risultati mettono in relazione ciò che è verificabile
con il tableau (che svolge manipolazione sintattica di formule),
e ciò che è dimostrabile con la semantica (relazione |= ).
Correttezza e completezza “debole”

`T F iff |= F
F è una tautologia iff F ha un tableau-dimostrazione.

Correttezza e completezza “forte”


Sia Γ un insieme di formule proposizionali,

Γ `T F iff Γ |= F

F ha un tableau-deduzione da Γ iff da Γ si deducelogo.aiia.png


F utilizzando
logoUnige.png
siteLogo.png

la semantica. 21/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Outline

1 Tableau proposizionali

2 Forma normale a clausole

3 Risoluzione proposizionale

logo.aiia.png
logoUnige.png
siteLogo.png

22/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Forma normale a clausole (I)


Tale forma per le formule proposizionali, che utilizza solo i
connettivi ¬, ∨ e ∧, verrà utilizzata nei prossimi due sistemi
deduttivi.
Forma normale negativa
Una formula del calcolo proposizionale è detta in forma
normale negativa se il segno di negazione ¬ compare solo
davanti agli atomi.

Clausola
Un letterale L corrisponde ad un atomo A o alla sua negazione
¬A.
Una clausola del calcolo proposizionale è una disgiunzione di
letterali L1 ∨ · · · ∨ Lm (anche {L1 , . . . , Lm }). logo.aiia.png
logoUnige.png
siteLogo.png

23/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Forma normale a clausole (II)


Clausole sussunte
Una clausola C2 è sussunta da una clausola C1 se ogni
letterale in C1 occorre in C2 . (se consideriamo le clausole come
insieme di letterali, allora C1 ⊆ C2 ).

Se M è un modello per C1 allora lo è anche per C2 .


Forma normale congiuntiva
Una formula nel calcolo proposizionale è detta in forma
normale congiuntiva, od in forma clausale, o CNF, se è in
forma normale negativa ed ha la forma

C1 ∧ · · · ∧ Cn (o, {C1 , . . . , Cn })

con Ci , 1 ≤ i ≤ n, clausole. logo.aiia.png


logoUnige.png
siteLogo.png

24/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Casi particolari di clausole

Una generica clausola C si può scrivere come

A1 ∨ A2 ∨ · · · ∨ Ak ∨ ¬Bk +1 ∨ ¬Bk +2 ∨ · · · ∨ ¬Bn

e (come detto) può essere vista come l’insieme di letterali


{A1 , A2 , . . . , AK , ¬Bk +1 , ¬Bk +2 , . . . , ¬Bn }.

Una clausola vuota, cioè con n = 0, si scrive {}, e corrisponde


a ⊥ (falso).

Se k = 1 la clausola si dice definita ed ha la forma

A1 ∨ ¬Bk +1 ∨ ¬Bk +2 ∨ · · · ∨ ¬Bn


logo.aiia.png
logoUnige.png
siteLogo.png

25/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Trasformazione in clausole
Forniamo ora un algoritmo per trasformare una formula F in CNF.
Passo 1. Si ponga {F } come insieme iniziale.
Passo n+1. Si assuma di aver completato il passo n producendo un
insieme {D1 , . . . , Dm }, dove ciascun Di è una disgiunzione della forma
{X1i , . . . , Xki }.
Se qualche Xji , 1 ≤ j ≤ k , non è un letterale, allora non si è raggiunta
una forma normale congiuntiva e quindi si scelga un tale elemento Xji di
Di , e:
a. se Xji è ¬> lo si sostituisce con ⊥;
b. se Xji è ¬⊥ lo si sostituisce con >;
c. se Xji è ¬¬A lo si sostituisce con A;
d. se Xji è una β-formula, la si sostituisce con β1 , β2 ;
e. se Xji è una α-formula, si sostituisce Di con due clausole
Di1 e Di2 , dove Di1 è Di in cui α è sostituita con α1 , e Di2 è Di
in cui α è sostituita con α2 (Dik = Di [αk /Xji ], klogo.aiia.png
∈ {1,logoUnige.png
2}). siteLogo.png
26/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Proprietà della trasformazione in clausole

Equivalenza mantenuta da applicazione regole


Sia D una delle disgiunzioni di prima. Se D 0 è una disgiunzione
ottenuta da D applicando una delle regole a.-e., allora D 0 ≡ D.

Equivalenza della trasformazione in clausole


Per ogni formula proposizionale F , se F cnf è la formula
proposizionale ottenuta applicando l’algoritmo precedente,
allora F ≡ F cnf .

logo.aiia.png
logoUnige.png
siteLogo.png

27/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Forma normale a clausole: Esempio


Sia F = (P → (Q → (S ∨ T ))) → (T → Q). Applichiamo l’algoritmo.

1. {(P → (Q → (S ∨ T ))) → (T → Q)}


2. D = {¬(P → (Q → (S ∨ T ))), (T → Q)} (β-regola)
3. D1 = {P, (T → Q)}, D2 = {¬(Q → (S ∨ T )), (T → Q)} (α-regola)
4. D1 = {P, ¬T , Q}, D2 = {¬(Q → (S ∨ T )), (T → Q)} (β-regola su D1 )
5. D1 = {P, ¬T , Q)}, D2 = {¬(Q → (S ∨ T )), ¬T , Q} (β-regola su D2 )
6. D1 = {P, ¬T , Q}, D2 = {Q, ¬T , Q}, D3 = {¬(S ∨ T ), ¬T , Q} (α-regola
su D2 )
7. D1 = {P, ¬T , Q}, D2 = {Q, ¬T , Q}, D3 = {¬S, ¬T , Q},
D4 = {¬T , ¬T , Q} (α-regola su D3 )

D2 può essere ulteriormente semplificata in {Q, ¬T } usando equivalenze


viste in lezioni passate, così come D4 = {¬T , Q}. A questo punto D2 e D4
coincidono, e possiamo tenerne solo una delle due. (per queste
semplificazioni abbiamo usato le equivalenze A ∨ A ≡ A e A logo.aiia.png
∧ A ≡ A.) logoUnige.png
siteLogo.png

28/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Outline

1 Tableau proposizionali

2 Forma normale a clausole

3 Risoluzione proposizionale

logo.aiia.png
logoUnige.png
siteLogo.png

29/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione proposizionale (I)


Passo di risoluzione
Sia L un letterale. Siano {L} ∪ D1 e {¬L} ∪ D2 due clausole. Diciamo
che la clausola D1 ∪ D2 è ottenuta da {L} ∪ D1 e {¬L} ∪ D2 per mezzo
di un passo di risoluzione e scriviamo

{L} ∪ D1 {¬L} ∪ D2
D1 ∪ D2

Come per i tableau, possiamo rappresentare la risoluzione come un


albero binario.
Albero di risoluzione
Un albero di risoluzione è un albero binario (come vedremo
graficamente “rovesciato”) i cui nodi sono etichettati da clausole. Se
C1 e C2 sono le etichette di due nodi “fratelli” il cui padre è etichettato
da C, allora C1 = {L} ∪ D1 , C2 = {¬L} ∪ D2 e C = D1 ∪ D2 . logoUnige.png
logo.aiia.png siteLogo.png

30/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione proposizionale (II)

Risoluzione
Sia Γ un insieme finito di clausole e C una clausola. Diciamo
che C si dimostra per risoluzione da Γ iff esiste un albero di
risoluzione la cui radice è etichettata da C e tutte le foglie
dell’albero sono etichettate con clausole di Γ.

Scriviamo Γ `R C per indicare che C si dimostra da Γ per


risoluzione.

logo.aiia.png
logoUnige.png
siteLogo.png

31/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione proposizionale (III)


Example
Mostriamo, partendo da Γ = {{P}, {Q}, {¬P ∨ ¬Q}}, l’albero di
risoluzione per Γ `R {}:
Q ¬P∨¬Q
P ¬P
{}
Example
Mostriamo la risoluzione come un albero:

P Q ¬P ∨ ¬Q

¬P
logo.aiia.png
logoUnige.png
siteLogo.png
{}
32/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione e (in)soddisfacibilità
Mantenimento della soddisfacibilità
a. Sia Γ un insieme di clausole, {L} ∪ D1 ∈ Γ e {¬L} ∪ D2 ∈ Γ.
Se Γ è soddisfacibile allora Γ ∪ {D1 ∪ D2 } (Γ più la clausola
della risoluzione) è soddisfacibile.

b. Sia Γ un insieme di clausole, se Γ `R {} allora Γ è


insoddisfacibile.

Visto b., possiamo usare la risoluzione come sistema di


refutazione: ad esempio, per dimostrare che una formula F è
un teorema basta negare la formula, trasformarla in clausole e
verificare se via risoluzione si genera la clausola vuota.
Per verificare che Γ `R F si può verifica se Γ ∪ {¬F }cnf `R {},
dove {¬F }cnf è la formula {¬F } transformata in CNF. SelogoUnige.png
logo.aiia.png Γ nonsiteLogo.png
è in CNF, allora bisogna trasformare anche Γ in CNF. 33/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione e (in)soddisfacibilità: Esempio (I)

Example
Costruiamo una refutazione, visto come insieme di passi, per
verificare che {A → B, B → C} `R A → C:

1. Γ ∪ {F }cnf = {(A → B) ∧ (B → C) ∧ ¬(A → C)}


2. {{¬A ∨ B}, {¬B ∨ C}, {A}, {¬C}} (F in clausole)
3. {{¬A ∨ C}, {A}, {¬C}} (risoluzione sulle prime clausole)
4. {{C}, {¬C}} (risoluzione sulle prime clausole)
5. {{}} (risoluzione sulle rimanenti clausole, da cui si ottiene
la clausola vuota)
logo.aiia.png
logoUnige.png
siteLogo.png

34/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione e (in)soddisfacibilità: Esempio (II)


Costruiamo l’albero di risoluzione dell’esempio precedente:
Example
Mostriamo la risoluzione come un albero:

¬A ∨ B ¬B ∨ C A ¬C

¬A ∨ C

logo.aiia.png
logoUnige.png
siteLogo.png
{}
35/37

M. Maratea Deduzione proposizionale


Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Risoluzione e (in)soddisfacibilità: Esempio (III)


Vediamo un altro esempio ed una nota atti a sottolineare alcuni
aspetti particolari.
Example
Se usiamo la definizione originale a slide 31, per verificare che
{A → B, B → C} `R A → C possiamo trasformare la premessa e la
conseguenza come clausole e verificare se esiste un albero di
risoluzione con foglie le clausole nella premessa e radice la
conseguenza. Questo corrisponde a verificare
{¬A ∨ B, ¬B ∨ C} `R ¬A ∨ C. Ma questo è verificato risolvendo le
due clausole nella premessa e si ottiene la clausola nella
conseguenza (si veda prossima slide).

Nota: Per verificare con la risoluzione che un insieme di clausole è


soddisfacibile dobbiamo creare un albero completo con tutte le
possibili risoluzioni, mentre non è necessario per l’insoddisfacibilità.
Si consideri ad esempio l’insieme di clausole {. . . , D, . .logo.aiia.png
. , ¬D,logoUnige.png
. . . } siteLogo.png
che contiene un letterare D ed il suo negato: basta un passo di 36/37

M. Maratea Deduzione proposizionale


risoluzione per tale verifica.
Tableau proposizionali
Forma normale a clausole
Risoluzione proposizionale

Correttezza e Completezza della risoluzione


La correttezza e completezza della risoluzione dovrebbe
essere enunciata come:
Γ `R C iff Γ |= C.
Ma si consideri il seguente esempio:
Example
Sia Γ = {P} e C = {P ∨ Q}. Ovviamente {P} |= P ∨ Q, ma non
è vero che Γ `R C visto che non si può applicare nessun passo
di risoluzione.
Il risultato che possiamo dare è il seguente:
Correttezza e completezza della risoluzione per la
soddisfacibilità
Γ `RlogoUnige.png
Sia Γ un insieme di clausole. Γ è insoddisfacibile ifflogo.aiia.png{}. siteLogo.png
37/37

M. Maratea Deduzione proposizionale

Potrebbero piacerti anche