Docente: F. Cardone
Crediti: 6 CFU
Descrizione e Programma del Corso
Conoscenze: Nella parte istituzionale del corso verranno esaminati i concetti fondamentali della logica proposizionale e del prim'ordine, sia sul piano sintattico che su quello semantico. Nella parte monografica, verranno sviluppate le corrispondenze tra dimostrazioni formalizzate in sistemi di logica costruttiva e programmi funzionali con tipi da un lato, e tra tipi o formule ed oggetti in opportune categorie. Questa parte del corso si propone di servire come prima introduzione ad un insieme di problematiche che sono alla base di molte ricerche nell'ambito della sintassi e della semantica dei linguaggi di programmazione funzionali con tipi.
Abilità: Lo studente acquisterà familiarità con le principali tecniche di formalizzazione della deduzione, e con alcuni comuni metodi di dimostrazione (in particolare, il principìo di induzione matematica). La parte monografica del corso introdurrà lo studente alla teoria delle categorie, un linguaggio usato largamente nella ricerca teorica recente.
Programma:
- Logica proposizionale classica: linguaggio e calcolo della deduzione naturale.
- Semantica mediante tavole di verità e tableaux.
- Teorema di completezza.
- Logica dei predicati: linguaggio e calcolo della deduzione naturale.
- Cenni sui tableaux e la nozione di interpretazione di un linguaggio predicativo.
- Parte monografica: Il frammento positivo del calcolo proposizionale intuizionista. Calcolo dei sequenti e teorema di eliminazione del taglio. Relazioni con le categorie cartesiane chiuse e il lambda-calcolo con tipi semplici.
Testi consigliati:
Per la parte istituzionale:
- Gabriele Lolli: Introduzione alla Logica Formale, il Mulino, Bologna, 1991.
Si vedano anche:
Per la parte monografica:
Modalità di esame: Due compiti scritti durante il corso e una eventuale prova orale.