Sia L un linguaggio del primo ordine il cui insieme di costanti è non vuoto. L'universo di Herbrand per L è l'insieme di tutti i termini ground di L. La base di Herbrand
per L è invece definita come l'insieme di tutti gli atomi ground di L.
Una interpretazione di Herbrand per L è un'interpretazione tale che:
Un modello di Herbrand per un insieme di formule S è un'interpretazione di Herbrand per S che sia anche un modello.
Per caratterizzare i modelli di programmi logici, introduciamo l'operatore di conseguenza immediata che trasforma interpretazioni di Herbrand in interpretazioni di Herbrand.
Dato un programma P ed un'interpretazione I, poniamo
Alternativamente, per un atomo ground A
Elenchiamo ora alcuni risultati fondamentali.
TEOREMA (correttezza della derivazione SLD)
Sia P un programma e
un goal. Supponiamo che esista una refutazione SLD di
con sequenza di sostituzioni
. Allora
è una conseguenza semantica di P.
COROLLARIO
Se esiste una refutazione SLD di allora
è inconsistente.
LEMMA
Sia S un insieme di universali. Se S ha un modello allora ha un modello di Herbrand.
TEOREMA (di Caratterizzazione)
Sia P un programma. Allora P ha un modello di Herbrand che soddisfa le seguenti proprietà:
COROLLARIO
L'insieme di successo di un programma P è contenuto nel suo modello minimo di Herbrand.
Sia P un programma e
un goal. Diciamo che
è una sostituzione di risposta corretta per
se
opera solo su variabili presenti in G e vale
.
TEOREMA
Sia P un programma e G un goal. Per ogni sostituzione di risposta corretta per
esiste una sostituzione di risposta calcolata
per
tale che
è più generale di
.
TEOREMA (Forte Completezza della derivazione SLD)
Dato un programma P ed un goal G, supponiamo che sia inconsistente. Allora ogni albero di derivazione SLD con radice G è di successo.
TEOREMA (di Successo)
Dato un programma P ed un atomo ground A, i seguenti fatti sono equivalenti: