next up previous Sommario
Next: 6.2.1 Tipi, modi e Up: 6. Integrazione di NI Previous: 6.1 Negazione intensionale e   Sommario

6.2 Schema

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 $< P^{+} , P^{-}>$, dove $P^{+}$ è il programma ottenuto da $P$ rimpiazzando ogni letterale negativo $\neg q(t)$ con $\sim q(t)$ e $P^{-}$ è il programma che rappresenta il complemento calcolato di $P^{+}$.

$P^{-}$ viene ottenuto negando una parte dei predicati di $P$ 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 $<P^{+},P^{-}>$ sarà, a tempo di esecuzione, l'input, insieme ai goal da valutare, dell'interprete demo. Ogni sottogoal della forma $\neg$ p sarà sostituito con il sottogoal $\sim {p}$, 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..



Subsections

Roberto Giungato 2001-03-14