Lezioni di MODELLI di CALCOLO

dott. Ivano Salvo
anno accademico 2006/07


Introduzione

[1] lunedì 25 settembre
Presentazione del corso: cenni alle motivazioni all'introduzione del lambda calcolo e alle sue applicazioni:

Parte I: Sintassi e Lambda definibilità

[2] lunedì 2 ottobre
Sintassi. Teoria equazionale sui lambda termini. Variabili libere e legate.
Sostituzioni: cattura di variabili libere. Teorema Fallace.
Teorema di Punto Fisso e esistenza di un combinatore di punto fisso.

[3] mercoledì 4 ottobre
Definizione formale di sostituzione.
Concetto di riduzione. Definizione di forme normali.
Curryficazione.

[4] lunedì 9 ottobre
Definizioni della nozione di funzione computabile.
Detour: nozione di cardinalità di insiemi.
Esistenza di funzioni non computabili.

[5] mercoledì 11 ottobre
Richiami di teoria della computabilità
esempi di modelli di Calcolo: MdT, RAM, TinyC.
aritmetizzazione dei programmi ed esistenza della funzione universale
e non decidibilita' del problema della fermata. Teorema di Rice.
Rappresentazione dei numeri naturali nel lambda calcolo.

[6] lunedì 16 ottobre
Numerali di Church: successore, predecessore, test per zero.
Definizione della classe R delle funzioni ricorsive parziali.

[7] mercoledì 18 ottobre
Operatore di punto fisso di Turing.
Dimostrazione che ogni funzione ricorsiva parziale è lambda definibile.


Parte II: Consistenza della Teoria: Teorema di Church-Rosser

[8] lunedì 23 ottobre
Sistemi di riduzione astratti: definizione di forma normale, normalizzazione, compatibilità, convertibilità.
Definizione di proprietà di confluenza: (Weakly) Church-Rosser, Diamond Property.
Rapporto tra confluenza di una relazione di riduzione e consistenza della teoria equazionale associata.
Lemma di Newmann
Substitution Lemma.

[9] mercoledì 25 ottobre
Parallel reduction: equivalenza tra chiusura riflessiva e transitiva di beta riduzione e parallel reduction.
Proprietà di parallel reduction.

[10] lunedì 30 ottobre
Dimostrazione di diamond property per parallel reduction.
Estensioni della beta convertibilita': termini inconsistenti.

[11] lunedì 6 novembre
eta-riduzione ed eta-equivalenza. Lemma di Hindley-Rosen e consistenza della beta-eta equivalenza.


Parte III: Solvibilità e Teorema di Bohm

[12] mercoledì 8 novembre
Definizione di termine solvable.
Definizione di head normal form.
Caratterizzazioni sintattiche di Forme Normali e Head Normal Form.

[13] lunedì 13 novembre
Caratterizzazione dei termini solvable, come termini aventi head normal form.
Termini incompatibili.
Alberi di Boehm.

[14] lunedì 20 novembre
Teorema di Bohm: termini ready, Boehm-transformations e proprietà

[15] mercoledì 22 novembre
Teorema di Boehm.

[16] lunedì 27 novembre
Teorema di Boehm.
Cenni alle principali varianti della teoria: logica combinatoria e lambda-I calcolo.


Parte IV: Lambda calcolo tipato

[17] mercoledì 29 novembre
Introduzione al lambda calcolo tipato semplice:
sintassi dei tipi, definizione di base, dichiarazione, giudizio.
Regole formali di tipaggio.
Versione à la Curry e versione à la Church.

[18] lunedì 4 dicembre
Tipaggi dei numerali di Church con Tipi Semplici e
considerazioni sulle funzioni computabili nei sistemi tipati.
Enunciato delle principali proprietà dei sistemi tipati:
Basis Lemma, Generation Lemma, tipabilità dei sottotermini, Substitution Lemma.
Teorema di Subject Reduction.

[19] mercoledì 6 dicembre
Tipi del second'ordine: sistema F.
Osservazioni sui tipaggi in F. Generation Lemma e Subject Reduction.

[20] lunedì 11 dicembre
Teorema di Normalizzazione Forte per il lambda calcolo tipato semplice.
Generalizzazione al sistema F.