Prolog è un linguaggio di programmazione logica dichiarativa, sviluppato all'inizio degli anni '70 da Alain Colmerauer e Robert Kowalski, ed è basato su un sottoinsieme della logica del primo ordine noto come clausole di Horn. La sua peculiarità risiede nel fatto che non si limita a eseguire istruzioni sequenziali (come avviene nei linguaggi procedurali), ma consente di rappresentare la conoscenza attraverso fatti e regole, delegando al motore di inferenza il compito di dedurre nuove informazioni
Sebbene esistano numerosi linguaggi specializzati per la rappresentazione computazionale del diritto, in questa sede si concentrerà l'analisi su Prolog, per il suo ruolo storico e concettuale nella programmazione logica applicata alle norme giuridiche. Sul tema, si veda: Körner, P., Leuschel, M., Barbosa, J., Costa, V. S., Dahl, V., Hermenegildo, M. V., ... & Ciatto, G. (2022). Fifty years of Prolog and beyond. Theory and Practice of Logic Programming, 22(6), 776-858; https://swish.swi-prolog.org...
Argomenti
I punti chiave
- I linguaggi formali per la computabilità del diritto
- Le regole come elemento fondamentale nella programmazione logica in Prolog
- Le altre regole: argomenti dei predicati
- Prolog e modo in cui il linguaggio gestisce la negazione
- Il ruolo dei qualificatori nella logica Prolog
- Prolog e backtracking, quale utilità?
