Prolog è un linguaggio di programmazione logica utilizzato per la creazione di sistemi di intelligenza artificiale, analisi di database, e programmazione basata sulla logica. La sua caratteristica principale è l’utilizzo della programmazione logica basata sulla logica del primo ordine e dell’inferenza di tipo backward.
In Prolog, un programma è definito come un insieme di fatti e regole che vengono utilizzati per dedurre nuove informazioni (chiamati goal) da quelli esistenti.
Tau Prolog è una piattaforma Prolog che supporta la programmazione logica basata su vincoli, che è una forma estesa di programmazione logica. Tau Prolog emula Prolog attraverso l’implementazione di un interprete o compilatore che comprende tutte le regole e i meccanismi di inferenza del linguaggio Prolog originale.
Tau Prolog implementa la semantica di Prolog e aggiunge funzionalità aggiuntive, come ad esempio i vincoli, che consentono di esprimere relazioni più complesse e di risolvere problemi più avanzati. L’emulazione di Prolog in Tau Prolog avviene tramite l’interpretazione dei comandi Prolog e l’applicazione delle regole di inferenza specificate nel programma.