Docente:
Giuseppe Scollo
Università di Catania
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica, I livello, AA 2009-10
come si è visto in una lezione precedente:
gli elementi di ciascuna clausola disgiuntiva, detti letterali, possono essere:
il principio di risoluzione
(J.A. Robinson, 1963)
è una regola di inferenza che permette di dedurre la clausola
Γ ∪
Δ,
detta risolvente, dalle clausole
Γ ∪
{α
}
e
Δ ∪
{¬α
}
similmente ai metodi Herbrand-Skolem e al metodo dei tableau, i metodi deduttivi basati sul principio di risoluzione sono di tipo refutativo:
ψ
per deduzione della clausola vuota dalla CNF di Skolem(Φ ∪
{¬ψ
})
a differenza dei metodi Herbrand-Skolem, però, la presenza delle variabili richiede la considerazione non solo delle clausole date, o via via dedotte, ma anche delle loro istanze, ottenute per sostituzione di variabili con termini
indipendentemente dall'efficienza, una proprietà fondamentale del principio di risoluzione, supplementato da una regola di sostituzione (che può anche essere espressa assieme ad esso in un'unica regola di inferenza) è che ci fornisce un sistema deduttivo completo per la logica predicativa
dato un insieme di variabili V e una
segnatura algebrica Σ
,
una sostituzione è una
funzione σ
: V→TΣ
(V),
che manda variabili in termini
una sostituzione σ
viene naturalmente estesa ad una
funzione σ
: TΣ
(V)→TΣ
(V)
per induzione strutturale:
σ
(ω
(t1,...,tn)) =
ω
(σ
(t1),...,σ
(tn))
σ
(κ
) =
κ
se il termine è un simbolo di costante κ
similmente una sostituzione viene estesa a una funzione sulle
Σ
(V)-formule
l'esistenza di sostituzioni determina il
preordine di sussunzione dei
termini:
t' ≼
t ⇔ ∃σ
t'=σ
(t)
quali termini sono minimali nel preordine di sussunzione? quali sono massimali?
un unificatore di due termini è una sostituzione che ne dà immagini uguali
l'unificabilità di termini si estende in modo ovvio a quella di formule
più generalmente, un unificatore di un insieme S, di termini o di formule, è una sostituzione
σ
tale che
σ
(S)
ha un solo elemento;
S è unificabile se ha un unificatore
un preordine di sussunzione è definito anche sulle sostituzioni, dalla
condizione
σ'≼ σ
⇔ ∃τ σ' = τ∘σ
non tutti gli insiemi di termini o formule sono unificabili:
ad es.
{x, ω
(x)}
non lo è
vale tuttavia un fatto notevole:
il Teorema di Unificazione appena enunciato è dimostrato dall'esistenza di un algoritmo che, dato in input S, termina sempre, producendo in output tale elemento, detto unificatore di massima generalità (m.g.u.), quando S è unificabile, o altrimenti determina che S non lo è
σ = σ∘μ
se μ
è un m.g.u. di S e
σ
è un unificatore di S
esistono diverse varianti dell'algoritmo di unificazione, qui ci si limita all'idea essenziale, considerando per semplicità solo l'unificabilità di due termini t,t'
si definisce, per induzione strutturale, l'insieme diff(t,t') di coppie non ordinate di sottotermini dei rispettivi termini, essendo ciascuna coppia relativa a posti corrispondenti nelle strutture ad albero (radicato, ordinato) dei due termini
l'insieme delle riduzioni di diff(t,t') è il suo sottoinsieme costituito dalle coppie {u, v} che soddisfano la condizione di negoziabilità, costituita da entrambe le condizioni seguenti:
diff(t,t') è negoziabile se è non vuoto e tutte le sue coppie soddisfano tale condizione
un algoritmo di unificazione, dovuto a A.J.Robinson (1963) può essere concisamente descritto come segue, con l'impiego della seguente notazione:
ε
designa la sostituzione identica
σ
←
ε
σ
(t), σ
(t' ))
negoziabile do
μ
di
diff(σ
(t), σ
(t' ))
σ
←
μ∘σ
σ
(t), σ
(t' ))
vuoto
σ
)