| | | corso | | | |
Semantica e teoria dei tipi
Codice: | AA269 | Crediti: | 6 | Semestre: | 2 | Sigla: | STT | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Ugo Montanari
Tel. 0502212721Obiettivi di apprendimento
Il corso intende presentare alcuni concetti essenziali
dell'informatica, quali tipi, applicazione funzionale, concorrenza,
interazione, nella forma astratta correntemente considerata standard.
Il corso sostituisce quello di "Fondamenti dell'Informatica:
Semantica II" offerto negli anni precedenti.
Descrizione
Verranno presentate alcune proprietà fondamentali dei modelli di
calcolo, come la semantica operazionale ed astratta, la struttura dei
tipi, l'ordine superiore, la concorrenza, l'interazione. Verranno
utilizzate la semantica algebrica e la teoria elementare dei tipi, ma
non vi sono prerequisiti eccetto una conoscenza elementare
dell'algebra e della logica.
English Description
Some basic properties of models of computation are studied, like
operational and abstract semantics, typing, higher order,
concurrency, interaction. Algebraic semantics and elementary category
theory are employed, but no prerequisites are required except for
some elementary knowledge of logic and algebra.
Programma
Il lambda calcolo con tipi semplici.
L'isomorfismo di Curry-Howard.
Il PCF e il suo modello cpo, con applicazione ai linguaggi di
programmazione funzionali.
Elementi di tipi ricorsivi e polimorfi, con applicazione ai linguaggi
di programmazione orientati agli oggetti.
Le categorie come algebre parziali.
Categorie monoidali, cartesiane e cartesiane chiuse (CCC).
Le CCC come modelli del lambda calcolo con tipi semplici.
Specifiche algebriche, categorie di modelli e aggiunzioni.
Le reti di Petri e i loro modelli monoidali (strettamente) simmetrici.
I sistemi di riscrittura etichettati (LTS) come coalgebre.
I sistemi LTS composizionali come bialgebre.
Il CCS di Milner e i suoi modelli bialgebrici. Il pi-calcolo e i sui modelli di coalgebre in una categoria di presheaf.
Ore lezione: | 30 | Ore esercitazione: | 10 | | | |
Bibliografia
John Mitchell, "Foundations for Programming Languages", MIT Press,
1996, capitoli: 2.5,4,5,7.2,9,10,11.
Materiale distribuito a lezione.
Modalità di esame
Un esame orale o la preparazione di un seminario su argomenti attinenti il corso, da definire caso per caso.