Lo schema che seguiremo per la realizzazione dell'operatore di negazione prevede due fasi distinte: a tempo di compilazione è necessario un traduttore che, ricevuto in input il programma P da complementare, restituisce in output la coppia , dove è il programma ottenuto da rimpiazzando ogni letterale negativo con e è il programma che rappresenta il complemento calcolato di .
viene ottenuto negando una parte dei predicati di con la NI e lasciando solo indicata la negazione per la restante parte, in base alla partizione stabilita dal criterio che testa la terminazione.
La coppia di programmi sarà, a tempo di esecuzione, l'input, insieme ai goal da valutare, dell'interprete demo. Ogni sottogoal della forma p sarà sostituito con il sottogoal , cioè con la chiamata del predicato che rappresenta il complemento di p.
L'interprete tratterà i sottogoal secondo una versione semplificata della negazione costruttiva di Chan, poiché i programmi in esame sono n.v.i..