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: