next up previous Sommario
Next: 3.1 La negazione come Up: tesi Previous: 2.4.1 Modelli di Herbrand   Sommario

3. Negazione in programmazione logica

I metaoperatori di base, a partire dai quali è possibile ottenere estensioni interessanti della programmazione logica, sono tre: unione, intersezione e negazione. Una volta definiti questi, e realizzati in modo soddisfacente, è possibile, oltre che utilizzarli direttamente, definire una serie di metaoperatori derivati e specializzati a trattare, per esempio, relazioni gerarchiche tra programmi logici.

Mentre gli operatori di unione e intersezione non presentano particolari problemi di definizione, quello di negazione si presta a diverse definizioni, essendo la negazione in programmazione logica un problema tuttora aperto.



In questa tesi viene proposta una definizione dell'operatore di negazione che integra due metodi presenti in letteratura, la negazione intensionale e quella costruttiva di Chan; per inquadrarla è necessario presentare in dettaglio i problemi legati alla negazione.

In particolare, dopo aver evidenziato i problemi della Logica in Clausole di Horn, vengono presentati la regola di negazione come fallimento finito, e i due metodi che sono stati proposti per superarne i limiti in riferimento al calcolo di risposte a interrogazioni negative, la negazione intensionale e la negazione costruttiva di Chan.



Subsections
next up previous Sommario
Next: 3.1 La negazione come Up: tesi Previous: 2.4.1 Modelli di Herbrand   Sommario
Roberto Giungato 2001-03-14