Sia
, con variabili
e la composizione degli unificatori (rispetto a
) dalla radice al goal terminale sia
.
Se l'ultimo goal è la clausola vuota, la forma pre-normalizzata di una risposta è:
Se l'ultimo goal è
, dove
,
, sono diseguaglianze primitive, la forma pre-normalizzata è:
La forma normale di una risposta alla query con variabili
è il risultato di due passi di trasformazione che vedremo.
Non-goal variabili sono le variabili che non sono in .
Se y è una variabile non-goal che è uguale ad una variabile in
, detta x, allora ogni occorrenza di y è rimpiazzata con x. Così ogni equazione ridondante è rimossa.
Una diseguaglianza è considerata irrilevante se contiene una variabile non-goal che non appare nella parte di eguaglianze. Le variabili localmente quantificate non contano e sono standardizzate a parte.
La dimostrazione della correttezza della procedura di normalizzazione è data in [Chan88].
Vediamo un esempio:
Siano le variabili del goal,
sia la composizione degli unificatori dalla radice al goal terminale
e
sia la risposta normalizzata.
Se è
e
allora
è
=