La regola r a sostituisce le regole da r 1 a r 4 , la regola r b sostituisce le regole da r 5 a r 7 , ed il predicato bool nonè necessario. In fine, la regola r d sostituisce le regole da r 8 ad r 10. Le regole r 11 , r 12 e r 13 esistono in entrambe le codifiche. Si noti che nel linguaggio NFN riusciamo a rappresentare il problema con un programma molto più succinto ed inoltre non abbiamo bisogno del predicato intermedio bool. Contributi I principali contributi della tesi possono essere riassunti come segue. V • La trasformazione preserva la safety. • La taglia del programma trasformatoè polinomiale nella taglia del programma NFN. • Esiste una corrispondenza biunivoca tra gli answer set del programma NFN e quelli del programma riscritto. In questo modo si possono ottenere gli answer set del programma NFN , da quelli del programma trasformato, con una semplice proiezione. 4. Abbiamo realizzato un sistema, nfn2dlp, che implementa l'algoritmo di riscrittura. Inoltre abbiamo implementato anche un sistema che calcola gli answer set di un programma NFN : nfnsolve. Entrambi i tool sono disponibili al sito http://www.mat.unical.it/software/nfn2dlp/.