Semantica Dichiarativa Conseguenza logica ed insoddisfacibilità

Conseguenza logica ed
insoddisfacibilità
Semantica Dichiarativa
Minimo modello di Herbrand
FOL e clausole (generali)
Una clausola(generale) è della forma
A1 or … or Am ← B1 and … and Bn
Teorema
Una qualsiasi teoria FOL T si può riscrivere in un
in sieme di clausole generali T' tali che T e T'
sono equivalenti dal punto di vista della
soddisfacibilità.
Proposizione
Una formula F è conseguenza logica di una teoria
T se e solo se T ∪ not(F) è insoddisfacibile (non
ha modelli).
FOL e Clausole di Horn
Esistono teorie che non si possono formulare con
clausole di Horn
insetto(x) or uccello(x) or pipistrello(x) ← vola(x)
ma …
è possibile definire un metodo di prova per le
clausole di Horn molto più efficiente di quanto sia
possibile fare per la FOL in generale.
Soddisfacibilità di P
„
Un insieme di formule S è soddisfacibile se
esiste almeno una interpretazione in cui tutte
le formule di S sono vere (modello).
Interpretazioni ed assegnazioni
„
Dato un dominio di interpretazione D, una
interpretazione è una corrispondenza che
associa
„
„
Dimostreremo che ogni programma logico
ammette sempre almeno un modello (il
minimo modello di Herbrand)
„
„
Interpretazioni e modelli
„
„
Una formula atomica p(t1,..,tn) è vera in una
interpretazione I se esiste una assegnazione
delle variabili α tale che
<[t1]α, …, [tn]α> ∈ pI
Una interpretazione I è un modello per una
formula chiusa A se A è vera in I
(notazione: I |=A)
ad ogni costruttore di arietà k una funzione da
DK --> D (nel caso di costanti un elemento di D);
ad ogni simbolo di predicato p di arietà k una
relazione pI su DK .
Dato un dominio di interpretazione D, una
assegnazione è una funzione che associa ad
ogni variabile un elemento di D.
Interpretazione di Herbrand
„
Una interpretazione di Herbrand è un qualsiasi
sottoinsieme I della Base di Herbrand.
Nota: E' una interpretazione sintattica dove la funzione di
interpretazione è quella che mappa ogni simbolo in se
stesso:
„
il Dominio è l'Universo di Herbrand
„
<t1,..,tn> ∈ pI sse p(t1,…,tn) ∈ I
„
La relazione di soddisfacibilità per gli atomi ground è
definita da: I |= A sse A ∈ I
Modello di Herbrand
„
Una interpretazione di Herbrand M è un
modello di Herbrand se soddisfa tutte le
clausole di P, viste come formule logiche:
Per ogni clausola H <- B1,…,Bn e per ogni
istanziazione ground (assegnazione di termini
ground alle variabili) σ si ha che
se M |= B1σ e …. M|=Bnσ allora M|= Hσ
Esistenza modello di Herbrand
Teorema
1.
Dato un insieme di clausole di Horn, se esso
ammette un modello allora ammette un
modello di Herbrand.
2.
Un programma logico (insieme di clausole di
Horn definite) ammette sempre un modello
di Herbrand minimo, che indicheremo con
M(P).
Dimostrazione - traccia
„
„
„
Dato un modello M definiamo una
interpretazione di Herbrand I:
I = {p(t1,…,tn) | <[t1],…,[tn]> ∈ PM}
Esiste sempre almeno un modello: la Base
di Herbrand e' un modello per ogni
programma logico.
L'intersezione di tutti i modelli di Herbrand
per P è un modello (di Herbrand) per P.
Proprietà minimo modello
Osserviamo che:
„
„
„
Tutte le istanze ground dei fatti di P sono in
M(P)
Per ogni clausola H <- B1,…,Bn e per ogni
istanziazione ground σ: se B1σ, …, Bnσ
sono in M(P) allora anche Hσ deve stare in
M(P)
Niente altro sta in M(P)
Esempio
sum(0,y,y)
sum(s(x),y,s(z)) ← sum(x,y,z)
Semantica minimo modello
„
M(P) contiene:
sum(0,0,0), sum(0, s(0), s(0) ), sum(0, s(s(0)), s(s(0)) ), …..
Il minimo modello di Herbrand M(P) contiene
tutti i teoremi (atomici) di P e può quindi
essere propriamente considerato la semantica
(dichiarativa) del programma logico P:
semantica del minimo modello di Herbrand
sum(s(0),0,s(0)), sum(s(0), s(0), s(s(0)) ),
sum(s(0), s(s(0)), s(s(s(0))) ), ………
Costruzione modello minimo
„
„
Definiamo l'operatore Tp nel seguente modo
Tp(I) = {Hσ | H <- B1,…,Bn ∈ P
σ è una istanziazione ground,
B1σ, …, Bnσ ∈ I}
Potenze di Tp
„
„
„
Si può dimostrare che M(P) è il minimo punto
fisso dell'operatore Tp e che questo si ottiene
iterando le potenze di Tp.
Sia C un insieme su cui è definita una relazione
d'ordine e che contiene un elemento minimo ∅
Sia T: C -> C un operatore su C.
T↑n (potenza n-esima di T) è l'elemento che si
ottiene applicando n volte T a ∅:
„
„
„
T↑0 = T0(∅) = ∅
T↑n = T(T↑(n-1)) = Tn(∅) , n>0
T↑ω = ∪n>=0T↑n
Minimo punto fisso
„
Un cpo (complete partial order) è formato da
un insieme A su cui è definita una relazione
d'ordine parziale ⊆ (riflessiva, antisimmetrica
e transitiva) e tale che
„
„
„
esiste un elemento minimo e
ogni catena crescente ha un estremo superiore
Sia C un cpo e T: C -> C un operatore
continuo su C allora T↑ω è il minimo punto
fisso di T
continuo, monotono e finitario
„
„
„
T è monotono:
se I ⊆ J allora T(I) ⊆ T(J)
T è finitario:
per ogni catena infinita I0 ⊆ I1 ⊆ I2 …
si ha T(∪In) ⊆ ∪T(In)
T è continuo:
per ogni catena infinita I0 ⊆ I1 ⊆ I2 …
si ha T(∪In) = ∪T(In)
Teorema: T è continuo sse è monotono e finitario
Semantica di punto fisso
„
„
„
„
Sia B la base di Herbrand e 2B il suo insieme
delle parti
2B con la relazione d'ordine ⊆ è un cpo
Tp: 2B -> 2B è monotono e finitario (e quindi
continuo) sul cpo (2B, ⊆)
e quindi il suo punto fisso è Tp↑ω
Esempio
sum(0,y,y)
sum(s(x),y,s(z)) ← sum(x,y,z)
Tp↑1 = {sum(0,0,0), sum(0, s(0), s(0) ),
sum(0, s(s(0)), s(s(0)) ), …..}
Tp↑2 = Tp↑1 ∪ {sum(s(0),0,s(0)), sum(s(0), s(0), s(s(0)) ),
sum(s(0), s(s(0)), s(s(s(0))) ), …..}
Tp↑3 = Tp↑2 ∪ {sum(s(0),0,s(0)), sum(s(0), s(0), s(s(0)) ),
sum(s(0), s(s(0)), s(s(s(0))) ), …..}
……………..