Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Informatica e Computazione
Sistemi Deduttivi Proposizionali
Marco Maratea
logo.aiia.png
logoUnige.png
siteLogo.png
1/37
Outline
1 Tableau proposizionali
3 Risoluzione proposizionale
logo.aiia.png
logoUnige.png
siteLogo.png
2/37
Introduzione (I)
3/37
Introduzione (II)
4/37
Outline
1 Tableau proposizionali
3 Risoluzione proposizionale
logo.aiia.png
logoUnige.png
siteLogo.png
5/37
Tableau proposizionali
6/37
α α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
7/37
8/37
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
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
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.
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
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.
12/37
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
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
{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∗
17/37
(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
R ∨ P, P ∧ Q, ¬Q, R
P, Q∗
19/37
R ∨ P, P ∧ Q, ¬Q, R
Q∗ logo.aiia.png
logoUnige.png
siteLogo.png
20/37
`T F iff |= F
F è una tautologia iff F ha un tableau-dimostrazione.
Γ `T F iff Γ |= F
la semantica. 21/37
Outline
1 Tableau proposizionali
3 Risoluzione proposizionale
logo.aiia.png
logoUnige.png
siteLogo.png
22/37
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
C1 ∧ · · · ∧ Cn (o, {C1 , . . . , Cn })
24/37
25/37
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
logo.aiia.png
logoUnige.png
siteLogo.png
27/37
28/37
Outline
1 Tableau proposizionali
3 Risoluzione proposizionale
logo.aiia.png
logoUnige.png
siteLogo.png
29/37
{L} ∪ D1 {¬L} ∪ D2
D1 ∪ D2
30/37
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 Γ.
logo.aiia.png
logoUnige.png
siteLogo.png
31/37
P Q ¬P ∨ ¬Q
¬P
logo.aiia.png
logoUnige.png
siteLogo.png
{}
32/37
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.
Example
Costruiamo una refutazione, visto come insieme di passi, per
verificare che {A → B, B → C} `R A → C:
34/37
¬A ∨ B ¬B ∨ C A ¬C
¬A ∨ C
logo.aiia.png
logoUnige.png
siteLogo.png
{}
35/37