...

Corrispondenza di Curry-Howard

by user

on
Category: Documents
36

views

Report

Comments

Transcript

Corrispondenza di Curry-Howard
Università degli Studi Roma Tre
Facoltà SMFN, Dipartimento di Matematica
Tesi di Laurea Magistrale
Corrispondenza di
Curry-Howard:
dal λ-calcolo tipato semplice al
λ-calcolo infinitario
3 maggio 2014
Candidata:
Cecilia Fiorese
[email protected]
.....................................
Relatori:
Prof. Vito Michele Abrusci
Prof. Marco Pedicini
.....................................
.....................................
Indice
1 Introduzione
1.1 Logica intuizionista . . . . . . .
1.2 Deduzione naturale . . . . . . .
1.3 λ-calcolo . . . . . . . . . . . . .
1.3.1 λ-calcolo puro . . . . . .
1.3.2 λ-calcolo tipato semplice
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
5
10
10
15
2 Corrispondenza di Curry-Howard
2.1 Assioma . . . . . . . . . . . . . .
2.2 Congiunzione moltiplicativa . . .
2.3 Disgiunzione moltiplicativa . . . .
2.4 Congiunzione additiva . . . . . .
2.5 Disgiunzione additiva . . . . . . .
2.6 Indebolimento . . . . . . . . . . .
2.7 Contrazione . . . . . . . . . . . .
2.8 Taglio . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
19
19
21
24
26
29
30
31
.
.
.
.
.
.
.
33
33
33
34
35
36
36
38
3 Altri sistemi di calcolo tipato
3.1 Il sistema T . . . . . . . . . . . . . . . .
3.1.1 Sintassi e calcolo . . . . . . . . .
3.1.2 Potere espressivo . . . . . . . . .
3.2 Il Sistema F . . . . . . . . . . . . . . . .
3.2.1 Sintassi e calcolo . . . . . . . . .
3.2.2 Rappresentazione dei tipi semplici
3.2.3 Strutture libere . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Teoremi di normalizzazione
42
4.1 Riducibilità e normalizzazione nel λ-calcolo tipato semplice . . 42
4.2 Riducibilità e normalizzazione nel sistema F . . . . . . . . . . 45
1
INDICE
5 λ-calcolo infinitario e ludica computazionale
5.1 Un λ-calcolo poliadico infinitario Λ8 . . . . .
5.1.1 Topologia sui λ-termini . . . . . . . . .
5.1.2 Sottocalcolo affine . . . . . . . . . . . .
5.1.3 Uniformità e isomorfismo con il lambda
5.2 Ludica computazionale e termini infinitari . .
5.3 Derivazioni in MELLP e termini di Λ8 . . .
2
. . . . .
. . . . .
. . . . .
calcolo
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
48
48
50
55
56
58
63
6 Il λ-calcolo infinitario è elementare
68
6.1 Logica lineare elementare . . . . . . . . . . . . . . . . . . . . . 68
6.2 λ-calcolo infinitario lineare . . . . . . . . . . . . . . . . . . . . 71
A Spazi Metrici
78
B Spazi Topologici
81
C Topologia di Scott
84
Capitolo 1
Introduzione
La corrispondenza di Curry-Howard fu formulata per la prima volta da William Alvin Howard nel 1980 [15] sulla base del lavoro di Haskell Brooks
Curry [7]. Essa fa uso del λ-calcolo tipato, uno dei più comuni sistemi formali per la rappresentazione dei programmi a partire da dimostrazioni logiche.
Il paradigma proofs-as-programs sviluppato da Howard costituisce dunque
un notevole caso di interazione tra due discipline scientifiche: la logica e l’informatica.
Il λ-calcolo fu introdotto dal matematico Alonzo Church nel 1932 [5], con
l’obiettivo di analizzare formalmente le funzioni e il loro calcolo. Le prime
sono espresse per mezzo di un linguaggio formale, che stabilisce quali siano
le regole per formare un termine, e il calcolo dà un sistema di riscrittura,
mostrando come i termini possano essere ridotti e semplificati.
La combinazione di semplicità ed espressività ha reso il λ-calcolo uno strumento frequente in diversi campi scientifici. Un λ-termine può essere considerato come un programma, e la sua riduzione (ovvero il calcolo effettuabile
a partire da esso) l’esecuzione del programma. Da un lato, esso costituisce un
modello semplice ed elegante della nozione di calcolabilità, dall’altro mostra
come vengono calcolati i valori di una funzione, senza passare per il modello della macchina di Turing. Quest’ultimo aspetto lo rende interessante dal
punto di vista informatico: tutti i linguaggi di programmazione funzionale
hanno un nucleo costituito dal λ-calcolo (o una qualche sua versione). Anche il λ-calcolo tipato fu sviluppato grazie al contributo di Church, che nel
1940 [6] introdusse il tipaggio semplice a partire dal quale furono derivati in
seguito diversi approcci di tipizzazione del linguaggio, tra cui il sistema F che
permette la rappresentazione delle dimostrazioni della logica proposizionale
intuizionista del secondo ordine.
3
CAPITOLO 1. INTRODUZIONE
1.1
4
Logica intuizionista
A partire dal λ-calcolo puro si può costruire quello tipato mediante due principali tipi di approccio, uno di Church l’altro di Curry, che si differenziano
per la costruzione dei tipi in relazione con i termini del calcolo.
Dall’esigenza di costruire un sistema formale che permette di studiare gli oggetti funzionali nascosti dietro le dimostrazioni logiche, la corrispondenza di
Curry-Howard stabilisce una relazione tra tipi e proposizioni, tra dimostrazioni e programmi, tra eliminazione dei tagli ed esecuzioni dei programmi. In
particolare induce un isomorfismo tra due punti di vista: la deduzione naturale, vista come modello delle dimostrazioni logiche e delle loro trasformazioni,
e il λ-calcolo tipato, come modello dei programmi e del calcolo.
Viene introdotto il concetto di tipo di oggetto. Ogni formula logica è
un tipo di oggetto e per le dimostrazioni si ha la corrispondenza:
• π dimostrazione di A ù oggetto di tipo A
• π dimostrazione di A da A1 , . . . , An ù oggetto di tipo programma di
input A1 , . . . , An e output A
• π dimostrazione con cut ù programma da eseguire
• π dimostrazione cut-free ù programma eseguito
• riduzione di una dimostrazione π a una dimostrazione cut-free
ù esecuzione del programma π
Ogni passo di riduzione di un λ-termine rappresenta un passo di esecuzione
del programma ad esso correlato. Non tutti i programmi però hanno la
proprietà che ogni loro esecuzione termini, il λ-calcolo tipato serve a isolare
i programmi che terminano sempre la propria esecuzione. Tali programmi
sono associati ai termini che possono essere normalizzati.
La corrispondenza di Curry-Howard nasce e si sviluppa in un’ottica intuizionista. Mentre nella logica classica le dimostrazioni possono avere diverse
letture, ovvero a seconda delle ipotesi usate si sviluppa poi la dimostrazione
relativa al contesto scelto, dall’altra parte la logica intuizionista ha una visione della dimostrazione come esecuzione di un programma attraverso una
macchina, quindi con fissati input (ipotesi) e un unico output (tesi). Si ha
quindi che nella logica classica tutte le dimostrazioni di una data formula A
vengono identificate come la stessa dimostrazione, cioè dimostrazioni diverse
della stessa formula sono tra loro equivalenti, la logica intuizionista mette
invece in luce la pluralità delle dimostrazioni, ognuna delle quali rappresenta
un programma che permette di ottenere come output sempre la formula A.
CAPITOLO 1. INTRODUZIONE
5
Il limite principale di questa visione è certamente la necessità di avere un
output unico. Da questa esigenza seguono varie modificazioni o restrizioni
delle regole del calcolo dei seguenti (LK).
1.2
Deduzione naturale
La deduzione naturale [9] si sviluppa dall’idea di visualizzare una dimostrazione graficamente attraverso un albero, con zero o più ipotesi e un’unica
conclusione.
Notazione: Si usa
..
.
A
per indicare una deduzione di A.
Una deduzione naturale di A indica una dimostrazione con conclusione A.
Ogni deduzione di A è rappresentata da un albero finito le cui foglie sono
etichettate dalla formula coinvolta nel passo di dimostrazione.
Le foglie possono avere due tipi di interpretazione: una foglia si dice viva
se la foglia è una formula con una parte attiva nella dimostrazione, ovvero
è un’ipotesi; si dice morta (e si cancella con una barra nell’albero) se la
formula non svolge più alcun ruolo nella dimostrazione.
La costruzione dell’albero si basa su regole di introduzione e di eliminazione
dei connettivi, le prime mostrano la nascita del connettivo, le altre il suo uso.
Regole di introduzione:
..
.
A
A^B
..
.
B
p^iq
A
..
.
B
AÑB
..
.
A
A_B
pÑ iq
p_1iq
CAPITOLO 1. INTRODUZIONE
6
..
.
B
p_2iq
A_B
pDiq
A[a/ ξ]
DξA
..
.
A
@ξA
[email protected]
con ξ non libera sia in A che in tutte le ipotesi presenti nella deduzione
di A.
Regole di eliminazione:
..
.
A^B
A
p^1q
..
.
A^B
B
..
.
A
p^2q
..
.
AÑB
B
..
.
A_B
pÑ q
A
..
.
B
..
.
C
C
C
A
..
.
DξA
C
C
pDq
p_q
CAPITOLO 1. INTRODUZIONE
7
..
.
@ξA
Ara{ξ s
[email protected]
Una regola si dice globale se è una regola della deduzione naturale in
cui si hanno condizioni globali sulle premesse, si fa particolare attenzione
alle ipotesi coinvolte precedententemente rispetto a quelle che concludono la
formula finale della dimostrazione. Regole globali sono, per esempio, pÑ iq,
p_q, pDq in cui le premesse sono una o più deduzioni; [email protected] ha una globalità
ancora più forte che si riconduce al fatto che la variabile ξ deve essere libera non solo localmente in A ma globalmente in tutta la deduzione, in tutte
le ipotesi coinvolte. Le regole che non sono globali si dicono locali, ovvero
hanno come ipotesi solo formule. Le regole p^iq, pÑ q ma anche quelle di
introduzione per la congiunzione e di eliminazione per la disgiunzione sono
regole locali.
Osservazioni:
• Le regole di introduzione si rifanno alla struttura già conosciuta delle
regole del calcolo dei seguenti. Si presenta una regola per ogni connettivo a parte per la disgiunzione, difatti si può concludere A _ B
dimostrando solo A o solo B.
• Le regole di eliminazione presentano in alcuni casi una formula ausiliaria C. Tale formula ha un ruolo parassitario e non è strutturalmente
legata a nessuna formula presente, nel calcolo dei seguenti è una formula
del contesto. È chiaro tale ruolo per esempio nella regole di eliminazione della disgiunzione: sapendo che è vero A _ B, non si può concludere
nulla sulle formule coinvolte, a meno che non esista una deduzione naturale sia da A che da B con conclusione C e dunque da A _ B si
ottiene C.
• Nella deduzione naturale, il connettivo principale è l’implicazione, perchè
permette di dare il concetto intuitivo di programma, ma soprattutto
perchè sostituisce la dualità: infatti non esistono più formule negate,
dal momento che diventano ipotesi della deduzione dopo essere state trasformate nella loro formulazione positiva. Per esempio se nel
calcolo dei seguenti si ha, come contesto o conclusione del seguente,
$ A, B, nella deduzione naturale la formula A diventa ipotesi/input
dell’implicazione, ovvero A Ñ B.
CAPITOLO 1. INTRODUZIONE
8
Si definisce deduzione normale una deduzione naturale senza cut. I
cut per la deduzione naturale sono formati da due regole che si susseguono
una di introduzione e una di eliminazione, entrambe dello stesso connettivo.
Ovvero del tipo:
i
C Per il teorema di eliminazione del taglio, data una deduzione è sempre
possibile ottenere, tramite operazioni di conversione, un’unica deduzione normale, la cui esistenza e unicità sono garantite dal teorema di Church-Rosser
Teorema 1.8. Infatti ogni deduzione naturale corrisponde a un termine del
λ-calcolo e ridurre un taglio risulterà nient’altro che eseguire un redesso; si
dimostrerà che, dopo un numero finito di passi di riduzione di questo tipo,
si ottiene sempre la forma normale di un λ-termine.
Esempi:
1.
.
1..
A
A^B
B
.
2..
B
p^iq
p^2q
..
si riduce a 2.
B
.
1..
A
2.
A_B
p_iq
A
.
2..
B
.
3..
C
C
C
p_q
.
1..
A
si riduce a .
2..
C
Le conversioni della deduzione naturale mettono inoltre in luce la commutatività delle regole p_q e pDq:
CAPITOLO 1. INTRODUZIONE
• Commutatività di
9
p_q con una qualsiasi regola prq:
A
..
.
B
..
.
C
C
..
.
A_B
p_q
C
..
. prq
D
Ó
A
..
.
C
..
.
..
.
C
prq
D
A_B
B
..
.
..
.
D
D
• Commutatività di
pDq con una qualsiasi regola prq:
A
..
.
..
.
DξA
C
pDq
C
..
. prq
D
Ó
A
..
.
..
.
C
..
.
DξA
D
D
prq
pDq
prq
p_q
CAPITOLO 1. INTRODUZIONE
1.3
10
λ-calcolo
In questa sezione si introduce il λ-calcolo puro e quello tipato [17] [9].
In generale il λ-calcolo è un calcolo formale, sviluppato per rappresentare le
funzioni e il sistema deduttivo sui numeri naturali. Le funzioni sui numeri
naturali possono essere rappresentate da funzioni ricorsive o tramite macchine di Turing. Con il λ-calcolo si fondono queste due visioni: da una parte è
un calcolo di funzioni, in cui i simboli @ e λ rappresentano rispettivamente la
composizione di funzioni e il passaggio di parametri; dall’altra è un calcolo di
sostituzioni. Il λ-calcolo permette quindi di rappresentare le funzioni come
fosse un linguaggio di programmazione.
1.3.1
λ-calcolo puro
I termini del λ-calcolo, detti λ-termini, sono sequenze finite di simboli formate
da variabili x, y, . . ., parentesi e dal simbolo λ.
Definizione 1.1 (Termini) I termini del λ-calcolo puro si costruiscono in
modo induttivo:
- variabile: sia V l’insieme delle variabili, ogni variabile x, y, z . . . P V è
un λ-termine;
- astrazione: se t è un λ-termine, allora λx.t è un λ-termine, t è detto
suo sottotermine;
- applicazione: se t, u sono λ-termini, allora ptqu è un λ-termine, t e u
sono detti suoi sottotermini.
In breve, si usa la notazione:
t : x, y . . .
|
λx.t
| ptqu
Il simbolo λ è detto astrazione in quanto cattura le variabili, ovvero indica
le variabili del termine le cui occorrenze vengono sostituite nel calcolo. Il
termine ptqu è detto applicazione e rappresenta la composizione del termine
t con il termine u.
Definizione 1.2 (Variabili libere e legate) Le occorrenze delle variabili
di un termine t che seguono il simbolo λ si dicono variabili legate, mentre
ulteriori occorrenze di variabili presenti nel termine si dicono variabili libere. In particolare, le occorrenze libere di una variabile x in un termine t si
definiscono per induzione:
CAPITOLO 1. INTRODUZIONE
11
se t x, allora l’occorrenza di x è libera;
se t puqv, allora le occorrenze libere di x in t sono quelle di x in u e v;
se t λy.u, le occorrenze libere di x in t sono quelle di x in u a meno che
x y, in quel caso nessuna occorrenza di x in t è libera.
Un termine che non ha varibili libere si dice chiuso.
Si indicano con F v ptq e Bv ptq rispettivamente gli insiemi delle variabili libere
e legate di un termine t.
Esempio: Nello stesso termine è possibile che la stessa variabile abbia sia
occorrenze libere che legate. Prendendo per esempio il termine
t pxqλx.x
si ha che
F v ptq F v ppxqq
Bv ptq Bv ppxqq
”
”
F v pλx.xq txu H txu
”
”
Bv pλx.xq H
txu txu
Si noti che apparentemente F v ptq e Bv ptq sono lo stesso insieme, ma
in realtà si distinguono in quanto la variabile x che appare non è la
stessa: quella in F v ptq è la prima occorrenza di x in t, mentre quella
in Bv ptq è la seconda. Dunque la variabile x nel termine t è sia libera
che legata, in quanto ha un’occorrenza libera e una legata.
Definizione 1.3 (Sostituzione) Siano t, u temini e x una variabile. Si definisce il termine tru{xs come il termine che risulta sostituendo le occorrenze
libere di x in t con u. Più precisamente, si definisce la sostituzione in un
termine t per induzione strutturale come segue:
se t y,
tru{xs "
u se x y
y se x y
se t pv1 qv2 ,
tru{xs pv1 ru{xsqv2 ru{xs
se t λy.v,
tru{xs "
λz.v ru{x, z {y s se z R F v ptq e x y
t
altrimenti
con v ru{x, z {y s si intende una sostituzione simultanea delle x con u e delle
y con z.
CAPITOLO 1. INTRODUZIONE
12
Si introduce sui λ-termini una relazione di equivalenza, che identifica i termini
che si distinguono solo per il nome delle variabili, ovvero termini per cui
esistono una o più sostituzioni per cui risultano lo stesso termine.
Definizione 1.4 (α-equivalenza) Dati due termini t, t1 si definisce la relazione α per induzione strutturale:
se t x, allora t α t1 se e solo se t1 è una variabile e a meno di sostituzioni
risulta t t1 ;
se t puqv, allora t α t1 se e solo se t1
pu1qv1 con u α u1 e v α v1;
se t λx.u, allora t α t1 se e solo se t1 λx1 .u1 , con ury {xs u1 ry {x1 s per
ogni varibile y x, x1 .
Se t α t1 , t e t1 si dicono α-equivalenti.
Esempio: Il termine λy.xy è α-equivalente al termine λx.yx. Infatti, λy.xy ru{x, z {y s λy.yxru{y, z {xs λz.uz .
Il calcolo di un λ-temine si costruisce tramite l’operazione di riduzione.
Definizione 1.5 (β-riduzione) Si definisce la β-riduzione:
pλx.tqu Ñβ tru{xs
ovvero la trasformazione che, individuata l’applicazione λx.t al parametro u,
costruisce un nuovo λ-termine tru{xs sostituendo in t ogni occorrenza della
variabile legata x con il termine u.
pλx.tqu si dice redesso, tru{xs contratto.
Un termine t si dice riducibile se almeno uno dei suoi sottotermini può essere
ancora ridotto.
Esempio: Il termine pλx.xy q applicato al termine u
nel modo seguente:
λz.zpyq si β-riduce
pλx.xyqt Ñβ pxyqrt{xs ty λz.zpyqy
Un termine u si riduce a un termine v quando esiste una sequenza di βriduzioni da u a v
u t0 , t1 , . . . , tn1 , tn v
tali che per ogni i 0, 1, 2, . . . , n 1, ti 1 è ottenuto da ti sostituendo un
redesso con il suo contratto. Si scrive che u Ñ v, indicando il fatto che per
ottenere v sono stati eseguiti più di un passo di β-riduzione. In particolare,
Ñ è la chiusura riflessiva e transitiva di Ñβ e u, v si dicono β-equivalenti
CAPITOLO 1. INTRODUZIONE
13
Definizione 1.6 (Termine normale) Un termine t si dice normale se nessuno dei suoi sottotermini può essere ridotto.
Definizione 1.7 (Forma normale) Una forma normale per un termine t
è un termine u tale che t Ñ u e u è normale.
La proprietà più significativa della β-riduzione è sicuramente quella detta di
Church-Rosser, che garantisce l’unicità della forma normale e la confluenza
del λ-calcolo. Tale proprietà segue teorema 1.8.
Teorema 1.8 (Church-Rosser) La riduzione del λ-calcolo è confluente,
ovvero:
se t Ñ u e t Ñ v allora esiste w tale che u Ñ w e v
u
t
Ñ w.
v
w
Figura 1.1: Diagramma di confluenza
Immediata conseguenza della proprietà di Church-Rosser è l’unicità della
forma normale.
Corollario 1.9 Sia t un termine, se t ammette una forma normale, questa
è unica.
Dimostrazione:
Se t Ñ u e t Ñ v con u, v due forme normali per t, allora per il
teorema di Church-Rosser esiste un termine w tale che u Ñ w e
v Ñ w per qualche w. Avendo supposto che u, v sono in forma normale, si ha che i due termini non possono essere ridotti ulteriormente,
quindi deve essere u v. CAPITOLO 1. INTRODUZIONE
14
Per ottenere la forma normale di un termine t, non esiste un modo unico. Si
può procedere con la riduzione del termine usando vari approcci. Si introduce
il concetto di strategia normalizzante. Dato un termine t, ogni strategia
normalizzante per t produce una differente sequenza di riduzione, ovvero
una sequenza di termini t0 Ñβ t1 Ñβ . . . Ñβ tn , tale che t0 t, ogni ti è
ottenuto riducendo il termine precedente e tn è la forma normale di t. Per
ogni termine t si cerca la strategia ottimale che permette di ridurre il più
possibile la sequenza di riduzione del termine.
Una delle strategie più note che spesso risulta ottimale è la β-riduzione sinistra: dato un termine non normale t la riduzione procede riducendo di volta
in volta il redesso più a sinistra nel termine.
Proposizione 1.10 Ogni termine del λ-calcolo può essere scritto, in un
unico modo, nella forma
λx1 .λx2 . . . . λxn .pv qu1 u2 . . . um
dove x1 , x2 , . . . , xn sono variabili, v o una variabile o un redesso e u1 , . . . , um
termini.
Se v λx.u, il redesso pλx.uqt è detto redesso di testa.
Definizione 1.11 (Forma normale di testa) Una forma normale di testa per un termine t è un termine della forma
λx1 .λx2 . . . . λxn .py qu1 u2 . . . um
dove y è una della xi o un’ulteriore variabile e gli uj sono termini.
Definizione 1.12 (Termine risolubile) Un λ-termine t è detto risolubile
se, per ogni termine u, esistono variabili x1 , . . . , xk e termini u1 , . . . , uk , v1 , . . . , vl
tali che
ptru1{x1, . . . , uk {xk sqv1 . . . vl Ñβ u
Si hanno anche le seguenti definizioni equivalenti:
t è risolubile se e solo se esistono variabili x1 , . . . , xk e termini u1 , . . . , uk , v1 , . . . , vl
tali che ptru1 {x1 , . . . , uk {xk sqv1 . . . vl Ñβ I : λx.x;
t è risolubile se e solo se, data una variabile x che non occorre in t, esistono
termini u1 , . . . , uk , v1 , . . . , vl tali che ptru1 {x1 , . . . , uk {xk sqv1 . . . vl Ñβ x.
Lemma 1.13 Per ogni λ-termine t, le seguenti condizioni sono equivalenti
1. t è risolubile;
CAPITOLO 1. INTRODUZIONE
15
2. t è β-equivalente ad una forma normale di testa;
3. la riduzione di testa di t termina con una forma normale di testa.
Con riduzione di testa si intende la riduzione che procede riducendo progressivamente il redesso di testa del termine.
Definizione 1.14 (Normalizzabile) Un termine t si dice normalizzabile
se esiste una sequenza di riduzioni per t di lunghezza finita, altrimenti si dice
non normalizzabile.
Esempio: Non tutti i termini del λ-calcolo puro sono normalizzabili. Per
esempio, il termine Ω pλx.xxqλx.xx si riduce a se stesso, produce
cioè una sequenza di riduzioni infinita. Quello che principalmente causa
questo loop è il fatto che il termine Ω non è altro che risultato di un
termine, ∆ λx.xx, applicato a se stesso.
Definizione 1.15 (Fortemente normalizzabile) Un termine t si dice fortemente normalizzabile se tutte le sequenze di riduzioni hanno lunghezza
finita.
Osservazione: Un termine fortemente normalizzabile è banalmente anche
normalizzabile.
Esempio: Il termine λf x.f pf pf xqqqpλx.xqλxy.y Ñ λxy.y è fortemente normalizzabile, si riduce infatti alla forma normale indipendentemente dalla strategia usata.
Il termine pλxy.y qΩλf x.f pf xq Ñ λf x.f pf xq con una riduzione di testa, ma se si inizia dalla riduzione di Ω si ottiene, come si è visto, una
sequenza infinita di riduzioni, il termine è perciò normalizzabile ma non
fortemente.
Lemma 1.16 Un termine t è fortemente normalizzabile se e solo se esiste
un numero ν ptq che limita la lunghezza di ogni sequenza di riduzione di t.
1.3.2
λ-calcolo tipato semplice
Tramite la corrispondenza di Curry-Howard ad ogni dimostrazione può essere
associato un programma: ogni formula A è considerata un tipo e ogni sua
dimostrazione è di tipo A.
Definizione 1.17 (Tipi) Data una formula A, si definisce il tipo A. I tipi
sono definiti induttivamente, come per le formule, nel modo seguente:
CAPITOLO 1. INTRODUZIONE
16
1. i tipi atomici T1 , . . . , Tn sono tipi
2. se U e V sono tipi, allora U xV e U
ÑV
sono tipi
3. gli unici tipi si ottengono da 1 e 2
Definizione 1.18 (Termini) I termini del λ-calcolo tipato, come in quello
puro, sono costruiti in modo induttivo:
- Le variabili xT , y T , z T . . . sono termini di tipo T .
Spesso indicati anche con x : T, y : T, z : T . . ..
- Se u e v sono termini rispettivamente di tipo U e V allora xu, v y è un
termine di tipo U ^ V . u e v sono sottotermini di xu, v y.
La coppia ordinata di u e v viene rappresentata con xu, v y.
- Se t è un termine di tipo U xV allora π 1 t e π 2 t sono rispettivamente
termini di tipo U e V , t è sottotermine di entrambi.
I due termini π 1 t e π 2 t rappresentano le proiezioni di t.
- Se v è un termine di tipo V e xU è una variabile di tipo U allora λxU .v
è un termine di tipo U Ñ V , v è un suo sottotermine.
λxU .v rappresenta una funzione che ad ogni u di tipo U associa il
termine v ru{xs.
- Se t e u sono termini rispettivamente di tipo U Ñ V e U allora ptqu è
un termine di tipo V , con t e u suoi sottotermini.
ptqu rappresenta analogamente al λ-calcolo puro l’applicazione.
Osservazione: Nel λ-calcolo puro si defisce quindi una lista infinita di variabili, mentre il λ-calcolo tipato permette di avere una lista infinita di variabili
per ogni tipo. Il λ-calcolo tipato risulta essere quindi più ricco e anche più
corretto, in quanto non c’è ambiguità nel tipo di input da considerare e il
tipo di output che si ottiene. Dato per esempio un λ termine py qx dove y è
l’implicazione:
nel λ-calcolo puro di Church: y può essere tipato come y : A Ñ B che
applicato a un termine x : A si ha py qx : B, ma anche come y : C Ñ D
con x : C e quindi si ottiene py qx : D e cosı̀ via.
nel λ-calcolo tipato di Curry-Howard: si parte dal λ-termine y di tipo
programma A Ñ B e x : A ottenendo cosı̀ py qx : B senza alcuna
ambiguità.
CAPITOLO 1. INTRODUZIONE
17
Ogni termine rappresenta un programma e il tipo di un programma indica
la sua specifica, ovvero i valori di input e di output.
Analogamente al λ-calcolo puro, per il λ-calcolo tipato si definisce la
riduzione e la forma normale.
Definizione 1.19 (Riduzione) Un termine t si riduce a un termine t1 ,
t ; t1 , nel modo seguente:
π 1 xu, v y ; u
π 2 xu, v y ; v
pλxU .vqu ; vru{xs
il primo termine si dice redesso, quello ottenuto dopo la riduzione si dice
contratto.
; è la chiusura riflessiva e transitiva di ; e indica più passi di riduzione.
Osservazione: Il redesso e il contratto sono sempre dello stesso tipo. Ad
esempio, se u : U e v : V , π 1 xu, v y : U si riduce a u : U .
Definizione 1.20 (Forma Normale) Un termine t è normale se nessuno
dei suoi sottotermini è in una delle seguenti forme:
π 1 xu, v y
π 2 xu, v y
pλxU .vqu
Un termine t ha una forma normale u se esiste una successione di riduzioni
t t0 ; t1 ; . . . ; tn u, ovvero t ; u, tale che u è un termine normale.
Il λ-calcolo tipato è anch’esso un calcolo confluente in quanto soddisfa il teorema 1.8.
A differenza del λ-calcolo puro, nel calcolo semplicemente tipato tutti i termini sono fortemente normalizzabili, infatti termini come Ω non sono tipabili:
un termine non può essere applicato a se stesso qualunque sia il suo tipo.
Capitolo 2
Corrispondenza di
Curry-Howard
La corrispondenza di Curry-Howard [9] è un isomorfismo fra due strutture:
la deduzione naturale e il λ-calcolo semplicemente tipato. Per descrivere tale
corrispondenza (dagli appunti del corso di Tipi e logica lineare [1]), si considerano i seguenti della logica lineare e se ne da una lettura intuizionista, in
cui una sola formula è vista come output e tutte le altre costituiscono l’input,
e infine si costruisce il λ-termine rappresentante tale dimostrazione.
Più nel dettaglio, i seguenti vengono modificati: si sposta nella parte sinistra
del seguente ($) il duale di una o più formule, che vengono in questo modo
considerate come input del programma, mentre nella parte destra rimane
al massimo una formula che ha invece il ruolo di output. In questo modo
non esistono formule negate, infatti ogni volta che una formula è duale di
un’altra, tale formula si sposta nella parte sinistra del seguente con la sua
formulazione positiva.
Dal momento che si vuole costruire un programma che possa essere eseguito
da una macchina, e visto che ogni macchina produce un unico risultato, si ha
la necessità di avere un unico input. Le regole LK possono essere interpretate in modi diversi, a seconda delle formule cosiderate come ipotesi (input)
e quella che indica la tesi (output); si costruisce poi da ognuna di tali interpretazioni facilmente il λ-termine corrispondente. Viene inoltre mostrato
l’albero che rappresenta graficamente il termine, in cui i nodi sono formule,
ogni padre è conseguenza logica dei figli, le foglie sono le ipotesi e la radice
è la conclusione.
18
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
2.1
19
Assioma
L’assioma, pAxq, corrisponde alla funzione identità con un input e output di
tipo A. Si ha che:
$ A, AK pAxq
diventa
A$A
pAxq
con programma
xA : A.
L’albero corrispondente sarà costituito da un solo punto
A
2.2
Congiunzione moltiplicativa
La regola della congiunzione moltiplicativa (o del tensore),
$ Γ, A $ B, ∆ pbq
$ Γ, ∆, A b B
può essere interpretata in tre modi.
1. Ponendo come ipotesi i contesti con
Γ ΦK
∆ ΨK
si ottiene
$ ΦK, A $ B, ΨK
$ ΦK, ΨK, A b B
e si ha cosı̀ l’introduzione del connettivo ^ :
Φ$A
Ψ$B
Φ, Ψ $ A ^ B
prm, Rq
pbq,
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
Φ
Ψ
A
B
20
A^B
Figura 2.1: Rappresentazione dell’albero di prm, Rq
I seguenti Φ $ A, Ψ $ B corrispondono rispettivamente ai termini
srx : Φs : A
try : Ψs : B.
Tali termini sono però indipendenti l’uno dall’altro e, non interagendo
tra loro, sarebbero necessarie due macchine per programmarli.
Questa formulazione del tensore non è un programma ma introduce il
tipo coppia:
A ^ B di tipo xs, ty.
2. Se l’output è una formula C in ∆ si ha:
Γ ΦK
∆ ΨK , C
B
DK
quindi il seguente diventa
$ ΦK, A $ B, ΨK, C
$ ΦK, ΨK, A b DK
dal momento che pA b DK qK
zione dell’implicazione:
AK _ D A Ñ D, si ottiene l’elimina-
Φ$A
D, Ψ $ C
Φ, Ψ, A Ñ D $ C
pÑ, Lq
In questo caso, si rappresenta l’uso del programma:
w : A Ñ D è applicato a srx : Φs : A,
sostituendo poi in
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
21
Φ
A
AÑD
D
Ψ
C
Figura 2.2: Rappresentazione dell’albero di
pÑ, Lq
try : D, z : Ψs
si ottiene il λ-termine
trwpsrx : Φsq{y : D, z : Ψs : C.
3. Analogamente, può rappresentare l’uso del programma w : B
questo caso però
Γ ΦK , C
∆ ΨK
Φ, D $ C
Ψ$B
Φ, Ψ, B Ñ D $ C
2.3
Ñ D, in
A DK
pÑ, Lq
Disgiunzione moltiplicativa
La regola della disgiunzione moltiplicativa, (`),
$ Γ, A, B p`q
$ Γ, A ` B
ha quattro interpretazioni.
1. Se si ha come input il contesto
Γ ΦK
si ha una formulazione che non può essere programmabile in quanto ha
due output, A e B:
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
22
$ ΦK, A, B
$ ΦK, A ` B
Φ $ A, B
Φ$A_B
2. Nel caso in cui l’input è sia il duale del contesto sia il duale della
formula, ovvero
Γ ΦK
A DK
si ottiene l’introduzione dell’implicazione:
$ ΦK, DK, B
$ ΦK, DK ` B
e dal momento che DK ` B
D Ñ B si ha:
Φ, D $ B
Φ$DÑB
pÑ, Rq
Φ
D
B
D
ÑB
Figura 2.3: Rappresentazione dell’albero di pÑ, Rq: formula D tra parentesi
indica una foglia morta, viene infatti inglobata poi in A Ñ B
La regola del `, vista in questo modo rappresenta la creazione del
programma w : D Ñ B, il λ-termine corrispondente è:
λx.srx : D, y : Φs : D
Ñ B.
Viene usato il programma come oggetto, la variabile x non è più libera
ma incorporata nel programma, l’astrazione λ opera come quantificatore.
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
23
3. Analogamente al punto precedente, si ottiene la creazione del programma w : D Ñ A, con
Γ ΦK
B
DK
$ ΦK, A, B
$ ΦK, A ` DK
Γ, D $ A
Γ$DÑA
pÑ, Rq
4. Se, di nuovo, una formula C del contesto è l’ouput, si può interpretare
la regola come l’uso di entrambe le componenti di una coppia.
Γ ΦK , C
A DK
B
EK
si ha:
$ ΦK, C, DK, E K
$ ΦK, C, DK ` E K
Da pDK ` E K qK
D ^ E, si ottiene:
Φ, D, E $ C
Φ, D ^ E $ C
D
E
prm, Lq
Φ
C
Figura 2.4: Rappresentazione dell’albero di prm, Lq
Il λ-termine corrispondente è:
srx : Φ, y : D, z : E s : C
trx : Φ, xy, zy : D ^ E s
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
2.4
24
Congiunzione additiva
La regola della
modi.
$ Γ, A $ Γ, B (&)
$ Γ, A&B
congiunzione additiva, p&q, può essere
interpratata in tre
1. Ponendo come input il contesto
Γ ΦK
si ottiene l’introduzione della congiunzione
$ ΦK, A $ ΦK, B
$ ΦK, A ^ B
Φ$A
Φ$B
Φ$A^B
Φ
Φ
A
B
p^, Rq
A^B
Figura 2.5: Rappresentazione dell’albero di
p^, Rq
Entrambi i seguenti delle ipotesi hanno stessi input che si contraggono
nella conclusione.
Visto come λ-termine, rappresenta l’introduzione della coppia:
dai due termini srx : Φs : A e trx : Φs : B si ottiene xs, ty : A ^ B.
2. Ponendo come input da una parte tutte le formule del contesto tranne
una e la formula A, dall’altra analogamente con la formula B, si ha:
Γ ΦK , C
A DK
B
EK
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
25
$ ΦK, C, DK $ ΦK, C, E K
$ ΦK, C, DK ^ E K
Per pDK ^ E K qK
D _ E, si ottiene:
Φ, D $ C
Φ, E $ C
Φ, D _ E $ C
Φ
D
Φ
E
D_E
C
p_, Lq
C
C
Figura 2.6: Rappresentazione dell’albero di
p_, Lq
Si ha quindi l’eliminazione del _ che rappresenta il comando di condizione if-then-else: A _ B può essere ottenuto da $ Γ, A oppure (then)
da $ Γ, B, in entrambi i casi si ottiene la formula C.
Nell’albero, A e B sono foglie morte perchè poi inglobate in A _ B.
3. L’ultima interpretazione considera come input da una parte il duale del
contesto e il duale della formula A, dall’altra solo il duale del contesto:
Γ ΦK , C
A DK
Si ottiene però un seguente con due output, B e C, e ciò non permette
di costruire un programma.
Φ, D
$C
Φ $ B, C
Φ, D $ B, C
Analogamente se si considera solo B insieme al contesto come input
nella parte destra, ovvero con
Γ ΦK , C
B
E K.
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
2.5
26
Disgiunzione additiva
Le due regole della disgiunzione additiva,
`,
$ Γ, A p`1q
$ Γ, A _ B
$ Γ, B p`2q
$ Γ, A _ B
hanno due interpretazioni ciascuna, che introducono gli oggetti di tipo immersione e di tipo proiezione.
Per la prima regola si hanno i seguenti casi.
1. Se
Γ ΦK
si ha l’introduzione del connettivo
_:
$ ΦK, A
$ ΦK, A _ B
Φ$A
Φ$A_B
p_1, Rq
Φ
A
A_B
Figura 2.7: Rappresentazione dell’albero di
p_1, Rq
Il λ-termine permette di introdurre il primo oggetto di tipo immersione:
il termine trx : Φs : A viene inglobato nel termine i1 ptq : A _ B.
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
27
2. Se invece:
Γ ΦK , C
A DK
si ha l’eliminazione del connettivo
B
EK
^:
$ ΦK, C, DK
$ ΦK, C, DK _ E K
Dal momento che pDK _ E K qK
D ^ E, si ottiene:
Φ, D $ C
Φ, D ^ E $ C
p^1, Lq
D^E
D
Φ
C
Figura 2.8: Rappresentazione dell’albero di
p^1, Lq
Il λ-termine indica l’uso della coppia come proiezione della prima componente:
la proiezione del termine trx : Φ, y : Ds : D ^ E è il termine P1 ptq : D.
Per quanto riguarda la seconda regola, analogamente si ottiene l’immersione
di B e la proiezione della seconda componente.
1. Se
Γ ΦK
si ha l’introduzione del connettivo
_:
Φ$B
Φ$A_B
p_2, Rq
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
28
Φ
B
A_B
Figura 2.9: Rappresentazione dell’albero di
p_2, Rq
Il λ-termine descrive il secondo oggetto di tipo immersione:
il termine trx : Φs : B viene inglobato nel termine i2 ptq : A _ B.
2. Se
Γ ΦK , C K
A DK
si ha l’eliminazione del connettivo
B
EK
^:
Φ, E $ C
Φ, D ^ E $ C
p^2, Lq
D^E
E
Φ
C
Figura 2.10: Rappresentazione dell’albero di
p^2, Lq
Il λ-termine indica l’uso della coppia come proiezione della prima componente:
la proiezione del termine trx : Φ, y : Ds : D ^ E è il termine P2 ptq : E.
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
2.6
29
Indebolimento
La regola dell’indebolimento, pwq,
$Γ
$ Γ, A pwq
può essere interpretata in due modi.
1. Se
Γ ΦK
si ha la concezione dell’assurdo, ovvero dal contesto Φ segue qualsiasi
formula A:
$ ΦK
$ ΦK, A
Φ$
pw, Rq
Φ$A
Φ
K
A
Figura 2.11: Rappresentazione dell’albero di pw, Rq
2. Se
Γ ΦK , C
A DK
si interpreta come una regola in cui si possono aggiungere ipotesi che
poi non sono però usate per la dimostrazione.
$ ΦK, C
$ ΦK, C, A
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
30
Φ D
C
Figura 2.12: Rappresentazione dell’albero di pw, Lq
Φ$C
Φ, D $ C
pw, Lq
Il λ-termine rappresenta una funzione in cui si aggiunge una variabile
che non gioca alcun ruolo nella formulazione:
srx : Φs : C diventa s1 rx : Φ, y : Ds : C
Vedendo i termini come funzioni, si ha f pxq
alcuna dipendenza da y.
2.7
f px, yq in cui non c’è
Contrazione
La regola di contrazione, pcq,
$ Γ, A, A pcq
$ Γ, A
si può interpretare come contrazione degli output o come contrazione degli
input.
1. Se
Γ ΦK
si ha la contrazione degli output, ma si ottiene un seguente con due
output quindi non programmabile:
$ ΦK, A, A
$ ΦK, A
Φ $ A, A
Φ$A
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
2. Ponendo invece
Γ ΦK , C
31
A DK
si ottiene la contrazione degli input:
$ ΦK, C, DK, DK
$ ΦK, C, DK
Φ, D, D $ C
Φ, D $ C
A
A
pc, Lq
Φ
C
Figura 2.13: Rappresentazione dell’albero di pc, Lq
Il λ-termine rappresenta l’operazione di diagonalizzazione, ovvero si
identificano le due variabili di tipo D come la stessa variabile, in cui
quindi più occorenze di un’ipotesi vengono considerate come una sola:
srx : D, y : D, z : Φs : C diventa
s1 rw : D, z : Φs srw{x : D, w{y : D, z : Φs : C.
Vedendo i termini come funzioni, si passa da una funzione in due variabili, f px, y q, ad una funzione ad una variabile definita a partire dalla
prima, g pwq f pw, wq.
2.8
Taglio
La regola del taglio, pcutq,
$ Γ, A $ AK, ∆
$ Γ, ∆
(cut)
CAPITOLO 2. CORRISPONDENZA DI CURRY-HOWARD
si può vedere con
Γ ΦK
32
∆ ΨK , C
nel modo seguente
$ ΦK, A $ AK, ΨK, C
$ ΦK, ΨK, C
Φ$A
Ψ, A $ C
(cut)
Φ, Ψ $ C
Rappresenta la composizione di due λ-termini:
srx : Φs : A e try : A, z : Ψs : C
applicati l’uno all’altro diventano il termine
trsrx : Φs{y, z : Ψs : C
si sostituisce cioè la variabile di tipo A con un termine di tipo A.
Graficamente:
Φ
Φ
i due alberi A ,
Ψ
A
C
A
si compongono in uno solo
Ψ
C
.
Capitolo 3
Altri sistemi di calcolo tipato
Girard nel suo libro Proos and types [9] presenta ulteriori sistemi di calcolo
tipato finalizzati ad ottenere una maggiore espressività del calcolo stesso. A
tale scopo si introducono nuovi tipi, o nuovi termini (o entrambi), da cui segue
la definizione di sistemi come il sistema T di Go:del e il sistema F. Il primo
permette di proporre un miglioramento di espressività del calcolo a discapito
certamente della semplicità e componibilità concettuale, ma rimane limitato
alla sola rappresentazione dei booleani e degli interi. Il sistema F è invece
più completo grazie all’aggiunta di un nuovo schema logico che consente di
lavorare con tipi di dati comuni (liste, alberi . . . ). Entrambi questi sistemi
vengono descritti e discussi in questo capitolo, con particolare attenzione al
confronto dei loro rispettivi poteri espressivi.
3.1
3.1.1
Il sistema T
Sintassi e calcolo
Definizione 3.1 (Tipi) Si definiscono solo due tipi: quello degli interi, Int,
e quello delle costanti booleane, Bool.
Definizione 3.2 (Termini) I termini si costruiscono tramite operazioni di
introduzione e eliminazione.
Int-introduction:
• 0 è una costante di tipo Int;
• se t è di tipo Int, allora St è di tipo Int, dove S è la funzione
successore;
33
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
34
Int-elimination: se u, v e t sono rispettivamente di tipo U ,
U Ñ pInt Ñ U q e Int, allora Ruvt è di tipo U, dove R è un operatore
di ricorsione, definito da
"
Ruvm ;
u
se m 0
v pRuvnqn se m n
1
Bool-introduction: T e F sono le costanti di tipo Bool, ovvero rappresentano i valori di verità;
Bool-elimination: se u, v, t sono rispettivamente di tipo U , V e Bool, allore
Duvt è di tipo U ., dove D è l’operatore if . . . then . . . else, definito per
casi
"
u se b T
Duvb ;
v se b F
Definizione 3.3 (Conversione:) Le regole di riduzione sono le stesse del
λ-calcolo tipato semplice più le seguenti:
Ruv0 ; u
Ruv pStq ; v pRuvtqt
DuvT ; u
DuvF ; v
Teorema 3.4 (Normalizzazione) In T tutte le sequenze di riduzioni sono
finite e permettono di ottenere la stessa forma normale.
Dimostrazione:
Per estenzione del teorema di Church-Rosser, non è difficile estendere
la dimostrazione al sistema T, procedendo per induzione sui termini. 3.1.2
Potere espressivo
Perchè si garantisca che un oggetto di tipo Int rappresenti davvero un intero,
uno di tipo Bool un booleano, . . . si ha il seguente Lemma:
Lemma 3.5 Sia t un termine normale chiuso:
• se t è di tipo Int, allora t è della forma n, per qualche n P N;
• se t è di tipo Bool, allora t è della forma T o F;
• se t è di tipo U xV , allora t è della forma xu, v y;
• se t è di tipo U
Ñ V , allora t è della forma λx.v.
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
35
In particolare, se t è un termine di tipo Int Ñ Int di T, induce una funzione
|t| da N a N definita da:
|t|pnq m
sse
tn ; m
Analogamente, un termine chiuso del tipo Int Ñ Bool induce un predicato
|t| su N:
|t|pnq T sse tn ; T
Le funzioni |t| sono calcolabili: l’algoritmo di normalizzazione restituisce
|t|pnq come una funzione di n, quindi le funzioni rappresentabili in T sono
ricorsive.
Visto come algoritmo, il calcolo di |t| equivale ad una sequenza di riduzioni
per t che termina con la forma normale di t. Il teorema di normalizzazione
garantisce la terminazione di tutti gli algoritmi ottenuti da funzioni definite
in T.
È sufficiente l’Aritmetica di Peano (PA) per esprimere la riducibilità di un
termine t e dei suoi sottotermini e mostrare che con un numero finito di passi
si ottiene la forma normale di t, ovvero in PA è dimostrabile che |t| sia totale.
Inoltre anche il viceversa è vero: se f è una funzione ricorsiva e dimostrabilmente totale in PA, allora si può trovare un termine di tipo Int Ñ Int in T
tale che f pnq |t|pnq per ogni n.
Il potere espressivo del sistema T è però limitato alle funzioni di PA, il
sistema F risulta essere più completo e ricco.
3.2
Il Sistema F
Nella versione più classica del sistema F, i tipi vengono costruiti dalle variabili
di tipo variabili X, Y, Z . . . per mezzo dell’implicazione e della quantificazione
universale. Le regole della costruzione dei termini sono quelle del semplice
λ-calcolo tipato a cui vanno aggiunti i seguenti schemi di regole per il secondo
ordine:
generalizzazione: se t è un termine di tipo A e se la variabile di tipo X
non è libera nel tipo di una variabile libera t, allora ΛX.t è un termine
di tipo @X, A;
estrazione: se t è un termine di tipo @X.A e se B è un tipo, allora ttuB è
un termine di tipo ArB {X s.
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
3.2.1
36
Sintassi e calcolo
Definizione 3.6 (Tipi) I Tipi sono definiti a partire dai tipi variabile X, Y, Z, . . .
attraverso due operazioni:
• se U e V sono tipi, allora U
ÑV
è un tipo;
• se V è un tipo, e X un tipo variabile, allora @X.V è un tipo.
Definizione 3.7 (Termini) Si hanno cinque tipi di schemi per costruire i
termini:
1. variabili: xT , y T , z T , . . . sono variabili di tipo T ;
2. applicazione: se t e v sono rispettivamente di tipo U
ptqu è di tipo V ;
ÑV
e U , allora
3. λ-astrazione: se xU è una variabile di tipo U e v di tipo V , allora λxU .v
è di tipo U Ñ V ;
4. astrazione universale: se v è un termine di tipo V , allora si costruisce
ΛX.v di tipo @X.V , dove X non è una variabile libera nel tipo di varibile
di v;
5. applicazione universale: se t è un termine di tipo @X.V e U è un tipo,
allora ptqU è un termine di tipo V rU {X s.
Definizione 3.8 (Conversione) Il sistema viene fornito di una conversione analoga a quella definita per il λ-calcolo puro
pΛX.vqU ; vrU {X s
che soddisfa la proprietà di Church-Rosser, quindi l’unicità della forma normale.
3.2.2
Rappresentazione dei tipi semplici
Booleani
Il tipo Bool è definito come @X.X
sono:
T : ΛX.λxX .λy X .x
Ñ X Ñ X, gli oggetti di questo tipo
F : ΛX.λxX .λy X .y
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
37
Si definisce, analogamente come per il sistema T, l’operatore D: se u, v, t
sono rispettivamente di tipo U ,V e Bool, allora Duvt è di tipo U secondo la
seguente definizione:
Duvt : tU uv
Si verifica che
DuvT ; u
DuvF ; v
Prodotto di tipi
Si definisce U xV , dove U e V sono tipi, come il tipo @X.pU
Gli oggetti di questo tipo sono le coppie:
Ñ V Ñ X q Ñ X.
xu, vy : ΛX.λxU ÑV ÑX .xuv
Data una coppia, si definiscono le proiezioni delle componenti.
π 1 t : tU pλxU .λy V .xq
π 2 t : tV pλxU .λy V .y q
Si ha infatti che
π 1 xu, v y ; u
π 2 xu, v y ; v.
Tipo vuoto
Si può definire il tipo Emp come @X.X. L’unico oggetto di questo tipo è
U t : tU
Tipo somma
Se U, V sono tipi, si può definire il tipo U V come
@X.pU Ñ X q Ñ pV Ñ X q Ñ X. Gli oggetti di questo tipo sono costruiti nel
modo seguente:
i1 u : ΛXλxU ÑX λy V ÑY .xu
i2 u : ΛXλxU ÑX λy V ÑY .yu
con u : U
con u : V
Dato un oggetto di tipo somma si definiscono le iniezioni canoniche tramite
l’operazione
δx.uy.vt : tU pλxU .uqpλy V .v q
Si ha:
δx.uy.v pi1 rq ; urr{xs
con s, v : U
V.
δx.uy.v pi2 sq ; urs{y s
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
38
Tipo esistenziale
Si definisce il tipo DX.V come @Y [email protected]
sono
Ñ Y q Ñ Y . Gli oggetti di questo tipo
xU, vy : ΛY pλ[email protected] ÑY .xU vq
con v : V rU {X s e U un tipo.
I termini di questo tipo si costruiscono per mezzo delle regole
..
.
ArB {X s
DXA
pD2iq
A
..
.
..
.
DXA
B
B
pD2q
Il tipo esistenziale permette di definire la funzione
∆X.x.wt : tW pΛX.λxV .wq
che definisce la regola di conversione
p∆X.x.wqxU, uy wrU {X srv{xV rU {X ss
con w : W , t : DX.V , X tipo variabile e x : V , dove le uniche occorrenze
libere di X nel tipo variabile di w sono di tipo x.
3.2.3
Strutture libere
La rappresentazione dei tipi (anche di quelli precedentemente descritti) avviene tramite strutture libere, ovvero costruzioni di tipi descritte da due
classi di funzioni, i costruttori e distruttori.
I costruttori sono funzioni f1 , . . . , fn che generano una struttura Θ. Ogni
elemento di Θ è quindi rappresentato in modo unico da una successione di
applicazioni dell fi . Tali funzioni sono rispettivamente di tipo S1 , . . . , Sn ,
dove ogni tipo è della forma Si : T1i Ñ T2i . . . Ñ Tki Ñ Θ.
Ponendo S i Si rX {Θs, il tipo che rappresenta Θ è definito come
T : @X.S 1
Ñ S2 Ñ . . . Ñ Sn Ñ X
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
39
I distruttori sono funzioni che, applicate ad oggetti di tipo T , permettono
di descrivere l’utilizzo di tali oggetti. Per esempio la funzione D mostra
l’utilizzo dei booleani, ovvero distinguere i casi nella programmazione del
If. . . Then. . . Else.
Mostrare formalmente la rappresentazione dei costruttori risulta complesso,
si capirà la loro forma meglio negli esempi. In breve, un costruttore deve
essere una funzione fi con ki argomenti di tipo Tji rT {X s che restituisce un
valore di tipo T .
Tipi semplici
I tipi semplici sono casi particolari di strutture libere. Vedendoli come tali,
vengono ora mostrati i costruttori e la forma del tipo seguendo il sistema
appena descritto sulle strutture libere.
• Bool
Il tipo Bool ha come costruttori f1 e f2 che sono entrambi la funzione
costante, ovvero di tipo S1 , S2 X, è infatti T @X.X Ñ X Ñ X e
il distruttore è la funzione D che utilizza i booleani per distinguere i
casi nella programmazione del If. . . Then. . . Else;
• Prodotto di tipi
Il tipo risultante dal prodotto di tipi ha un unico costruttore f1 di tipo
S1 U Ñ V Ñ X, è T @X.pU Ñ V Ñ X q Ñ X e i distruttori sono
le due proiezioni π 1 , π 2 ;
• Somma di tipi
Il tipo risultante dalla somma di tipi ha due costruttori f1 e f2 , di tipo
S1 U Ñ X e S2 V Ñ X, è T @X.pU Ñ X q Ñ pV Ñ X q Ñ X e
il distruttore è la funzione δ che definisce la riduzione;
• Emp
Il tipo vuoto non ha costruttori, ovvero l’arità della funzione costruttore
è n 0.
Tipi induttivi
Vengono ora descritte delle strutture molto più complesse, che rappresentano
tipi i cui oggetti si costruiscono induttivamente.
• Int
Il tipo Int ha due costruttori f1 e f2 , di tipo S1
ed è
X e S2 X Ñ X,
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
T
40
@X.X Ñ pX Ñ X q Ñ X
Gli oggetti di questo tipo hanno la seguente forma (che è una versione
tipata dei numerali di Church)
n : ΛXλxX λy X ÑX ylooomooon
py . . . py xq . . .q
n
Si costuiscono gli oggetti di tipo Int iterando la funzione successore
Sn : n 1
0 : ΛXλxX λy X ÑX x
St : ΛXλxX λy X ÑX y ptXxy q
con t : Int
Il distruttore in questo caso è una funzione di iterazione definita nel
modo seguente:
Ituf t : tU uf
con t : Int
In particolare si ha
Ituf p0q : u
Ituf pStq : f pItuf tq
• List
Sia U un tipo, si vuole costruire il tipo ListU , i cui oggetti sono sequenze finiti di oggetti di tipo U , pu1 , . . . , un q.
I costruttori di questo tipo sono due: f1 di tipo S1 X che costituisce
la lista vuota e f2 di tipo S2 U Ñ X Ñ X che rappresenta la concatenazione di un elemento in una lista. Il tipo associato a una lista è
quindi
T ΛX Ñ pU Ñ X Ñ X q Ñ X
I costruttori si definiscono come segue:
r s nil : ΛXλxX λyU ÑX ÑX x
ru1, . . . , un, t1, . . . , tms consputq : ΛXλxX λyU ÑX ÑX yuptXxyq
CAPITOLO 3. ALTRI SISTEMI DI CALCOLO TIPATO
41
Una lista di oggetti di tipo U ha quindi la seguente forma nel sistema
F
ru1, u2, . . . , uns ΛXλxX λyU ÑX ÑX yu1pyu2 . . . pyunxq . . .q
dove y cons e x nil.
Il comportamento delle liste è molto simile a quello degli interi. In
particolare, anche in questo caso si ha un operatore di iterazione sulle
liste:
Itwf t : tW wf
Ñ W Ñ W e t : ListU , che soddisfa
Itwf pnilq : w
Itwf pconsputqq : f uItwf t
con W tipo, w : W , f : U
• BinaryTree
Con il sistema F si possono definire anche oggetti gli alberi binari finiti,
molto utilizzati nell’ambito della programmazione.
Il tipo BinTree ha due costruttori: f1 di tipo S1 X, che indica
l’albero con una sola radice, e f2 di tipo S2 X Ñ X Ñ X, che
definisce l’operazione di costruzione di un albero a partire da due alberi.
Il tipo associato è
T
ΛX Ñ pX Ñ X Ñ X q Ñ X
I costruttori si definiscono come segue:
nil : ΛXλxX λy p X
Ñ X Ñ X qx
couplepuv q : ΛXλxX λy p X Ñ X Ñ X qy puXxy qpvXxy q
Anche per il tipo BinTree si ha un operatore di iterazione definito da
Itwf t : tW wf
con W tipo, w : W , f : W
Ñ W Ñ W e t : BinT ree, che soddisfa
Itwhpnilq ; w
Itwf pcouplepuv qq f pItwf uqpItwf v q
Capitolo 4
Teoremi di normalizzazione
La normalizzazione per il sistema F [9] risulta complessa da definire. Si procede prendendo in esame innanzitutto il caso del λ-calcolo tipato semplice, in
cui si considerano solo i termini riducibili (come accennato nel primo capitolo
i termini irriducibili non si possono tipare) e dalle proprietà sulla riducibilità
segue il teorema di forte normalizzazione. I risultati sul λ-calcolo tipato semplice si estendono al sistema F, ma si applica l’induzione su una struttura che
non è ben fondata: si ha infatti il problema che al secondo ordine non vale
la proprietà della sottoformula. Anche per la sostituzione ci sono problemi
di struttura, che però si risolvono definendo il tipo ArB {X s e la riducibilità
di tipo B: procedendo come nel caso del λ-calcolo tipato semplice, si ottiene
la forte normalizzazione per i tutti i termini del sistema F.
4.1
Riducibilità e normalizzazione nel λ-calcolo
tipato semplice
Definizione 4.1 Si definisce un insieme REDT di termini riducibili di tipo
T per induzione sui tipi:
1. per t di tipo atomico T , t è riducibile se è fortemente normalizzabile;
2. per t di tipo U xV , t è riducibile se π 1 t e π 2 t sono riducibili;
3. per t di tipo U Ñ V , t è riducibile se, per ogni termine riducibile u di
tipo U , ptqu è riducibile di tipo V .
Definizione 4.2 Un termine si dice neutro se non inizia con un simbolo
astrazione, ovvero se è in una delle seguenti forme
x
π1t
π2t
42
ptqu
CAPITOLO 4. TEOREMI DI NORMALIZZAZIONE
43
Proposizione 4.3 L’insieme dei termini riducibili verifica le seguenti proprietà per ogni tipo T :
(CR 1) se t P REDT , allora t è fortemente normalizzabile;
(CR 2) se t P REDT e t ; t1 , allora t1
P REDT ;
(CR 3) se t è neutro e se per tutte le riduzioni di t si ottiene un termine
t1 P REDT , allora t P REDT .
In particolare,
(CR 4) se t è neutro e normale, allora t P REDT .
Dimostrazione:
Si procede per induzione sui tipi. Lemma 4.4 (Riducibilità del tipo coppia) Se u, v sono riducibili allora
xu, vy è riducibile.
Dimostrazione:
Per la proprietà (CR 1) si procede per induzione su ν puq ν pv q mostrando che π 1 xu, v y e π 2 xu, v y sono riducibili per poi concludere per il
punto 2 della definizione.
π 1 xu, v y si può ridurre a
- u che è riducibile per ipotesi;
- π 1 xu1 , v y con u ; u1 . u1 è riducibile per (CR 2) e si ha che
ν pu1 q ν puq, per ipotesi induttiva π 1 xu1 , v y è riducibile;
- π 1 xu, v 1 y con v ; v 1 , si conclude analogamente al punto precedente.
Quindi π 1 xu, v y è riducibile per (CR 3), procedendo allo stesso modo
lo è anche π 2 xu, v y. Si conclude che xu, v y è riducibile. Lemma 4.5 (Riducibilità per l’astrazione) Se per ogni termine u di tipo U , v ru{xs è riducibile, allora λx.v è riducibile.
Dimostrazione:
Si deve mostrare che pλx.v qu è riducibile per ogni u. Si procede per
induzione, come per il lemma precedente, su ν pv q ν puq.
pλx.vqu si può ridurre a
- v ru{xs che è riducibile per ipotesi;
CAPITOLO 4. TEOREMI DI NORMALIZZAZIONE
44
- pλx.v 1 qu con v ; v 1 . v 1 è riducibile per (CR 2) e si ha che
ν pv 1 q ν pv q, per ipotesi induttiva pλx.v 1 qu è riducibile;
- pλx.v qu1 con u ; u1 , si conclude analogamente al punto precedente.
Quindi λx.v è riducibile. Si può ora dimostrare il teorema.
Teorema 4.6 (Riducibilità) Tutti i temini tipati semplici sono riducibili.
Applicando la proprietà (CR 1) si ottiene:
Corollario 4.7 (Normalizzazione forte) Tutti i termini tipati semplici
sono fortemente normalizzabili.
Per dimostrare il teorema di riducibilità, oltre ai risultati precedenti,
è necessaria la riducibilità per sostituzione in parallelo al fine di ottenere
un’ipotesi induttiva più forte nel caso dell’astrazione.
Proposizione 4.8 Sia t un termine con variabili libere in tx1 , . . . , xn u. Se
u1 , . . . , un sono termini riducibili di tipo U1 , . . . , Un , allora tru1 {x1 , . . . , un {xn s
è riducibile.
Dimostrazione:
Si procede per induzione su t.
– se t xi , allora tru{xs ui che è riducibile per ipotesi;
– se t π 1 w, per ipotesi induttiva wru{xs è riducibile quindi anche
π 1 pwru{xsq è riducibile e coincide con tru{xs, segue la tesi;
– se t π 2 w, si procede come per π 1 w;
– se t xv, wy, per ipotesi induttiva v ru{xs e wru{xs sono riducibili,
segue dal lemma che tru{xs xuru{xs, v ru{xsy è riducibile;
– se t pwqv, per ipotesi induttiva v ru{xs e wru{xs sono riducibili,
segue dal lemma che tru{xs pwru{xsqv ru{xs è riducibile;
– se t λy.w di tipo V Ñ W per ipotesi induttiva wru{x, v {y s è
riducibile per ogni v di tipo V , segue dal lemma che tru{xs λy.wru{xs è riducibile. CAPITOLO 4. TEOREMI DI NORMALIZZAZIONE
4.2
45
Riducibilità e normalizzazione nel sistema F
Definizione 4.9 (Candidato di riducibilità) Sia A un tipo, si definisce
candidato di riducibilità di tipo A un insieme R di termini di tipo A che
soddisfa le seguenti condizioni:
(CR 1) ogni termine in R è fortemente normalizzabile;
(CR 2) se t P R e t ; t1 , allora t1
P R;
(CR 3) se t è semplice e ogni volta che si converte un redesso di t si ottiene un
termine t1 P R, allora t P R.
Dalla (CR 3) si ha in particolare che
(CR 4) Se t è neutrale e normale, allora t P R.
Si noti che R non è mai vuoto, in quanto contiene sempre almeno le variabili
di tipo U .
Se R e S sono candidati di riducibilità di tipo U e V , si può definire un
insieme R Ñ S di termini di tipo U Ñ V :
tPR
se e solo se per ogni upu P Rq si ha ptqu P S
Definizione 4.10 (Riducibilità parametrica) Sia R una sequenza di candidati di riducibilità dei tipi corrispondenti, si definisce riducibilità parametrica un insieme REDT rR{X s di termini di tipo T rU {X s come segue
Xi, allora REDT rR{X s Ri;
se T V Ñ W , allora REDT rR{X s REDV rR{X s Ñ REDW rR{X s;
±
se T Y.W allora REDT rR{X s è l’insieme di temini t di tipo
T rU {X s tali che, per ogni tipo V e candidato di riducibilità S di questo
tipo, allora tV P REDW rR{X, S {Y s.
1. se T
2.
3.
Lemma 4.11 REDT rR{X s è un candidato di riducibilità di tipo T rU {X s.
Dimostrazione:
Si procede per induzione sui tipi:
– se T
Xi è ovvio in quanto REDT rR{X s Ri;
CAPITOLO 4. TEOREMI DI NORMALIZZAZIONE
46
– se T V Ñ W , per ipotesi induttiva REDV rR{X s e REDW rR{X s
sono cadidati di riducibilità di tipo T rU {X s e quindi lo è anche
anche REDT rR{X s per il punto 2 della definizione;
– se T
(CR 1)
± Y.W , allora si verificano le proprietà.
se t P REDT rR{X s, sia V un tipo arbitrario e S un candidato
di riducibilità di tipo V , allora per definizione
tV P REDW rR{X, S {Y s e per ipotesi induttiva tV è fortemente normalizzabile, dal fatto che ν ptq ¤ ν ptV q segue che t
è fortemente normalizzabile;
(CR 2) se t P REDT rR{X s e t ; t1 per tutti i tipi V e candidati
di riducibilità S, si ha che tV P REDW rR{X, S {Y s e tV ;
t1 V , per ipotesi induttiva t1 V P REDW rR{X, S {Y s, segue
t1 P REDW rR{X s;
(CR 3) se t è neutro e tutti i t1 ottenuti da t son in REDT rR{X s,
allora sia V un tipo arbitrario e S un candidato di riducibilità di tipo V , si ha che tV ; t1 V , perchè t è neutrale per
ogni conversione in t, e t1 V P REDW rR{X, S {Y s, perchè t1 P
REDT rR{X s. Per ipotesi induttiva tV P REDW rR{X, S {Y s
e quindi t P REDW rR{X s. Il seguente lemma mostra che la riducibilità parametrica ha un buon comportamento rispetto alla sostituzione.
Lemma 4.12 (Lemma di sostituzione)
REDT rV {Y s rR{X s REDT rR{X, REDV rR{X s{Y s
Per l’astrazione e l’applicazione universale si ottengono i seguenti risultati.
Lemma 4.13 Se per ogni tipo V e candidato S, wrV {Y s P REDW rR{X, S {Y s,
allora ΛY.w P RED± Y.W rR{X s.
Dimostrazione:
Si deve dimostrare che pΛY.wqV P REDW rR{X, S {Y s per ogni tipo V
e candidato di riducibilità S.
Si procede per induzione su ν pwq. Convertendo un redesso di pΛY.wqV
si può ottenere:
– pΛY.w1 qV con ν pw1 q ν pwq che ı̀n REDW rR{X, S {Y s per ipotesi
induttiva;
– wrV {Y s che per ipotesi è in REDW rR{X, S {Y s.
CAPITOLO 4. TEOREMI DI NORMALIZZAZIONE
segue dalla proprietà (CR 3) che ΛY.w
Lemma 4.14 Se t
ogni tipo V .
47
P RED± Y.W rR{X s. P RED± Y.W rR{X s, allora tV P REDW rV {Y srR{X s per
Dimostrazione:
Per ipotesi tV P REDW rR{X, S {Y s per ogni S candidato di riducibilità. Ponendo S REDV rR{X s segue da lemma di sostituzione.
Per concludere si ha la seguente definizione di riducibilità.
Definizione 4.15 (Termine riducibile) Un termine t di tipo T si dice riducibile se è in REDT rSN {X s, con X1 , . . . , Xm tipo variabili libere di T e
SNi è l’insieme dei termini fortemente normalizzabili di tipo Xi .
Si può dimostrare che
Teorema 4.16 Tutti i termini di F sono riducibili.
Anche per il sistema F è necessario un risultato pig̀enerale che permette la
sostituzione due volte in parallelo e da cui segue il teorema ponendo Ri SNi
e uj xj .
Proposizione 4.17 Sia t un termine di tipo T e siano tutte le variabili libere
di t tra x1 , . . . , xn di tipo U1 , . . . , Un e tutti i tipi variabili libere U1 , . . . , Un
di T tra V1 , . . . , Vm . Se R1 , . . . , Rm sono candidati di riducibilità di tipo
V1 , . . . , Vm e u1 , . . . , un termini di tipo U1 rV {X s, . . . , Un rV {X su appartenti a
REDU1 rR{X s, . . . , REDUn rR{X s, allora trV {X sru{xs P REDT rR{X s.
Dimostrazione:
Si dimostra in modo ±
simile al caso del λ-calcolo tipato semplice, aggiungendo i casi per
Y.W e ΛY.w in cui si ottiene la tesi usando i
lemmi ad essi relativi. Infine per il teorema e la proprietà (CR 1), si ottiene la normalizzazione forte.
Lemma 4.18 Tutti i termini di F sono fortemente normalizzabili.
Capitolo 5
λ-calcolo infinitario e ludica
computazionale
In questo capitolo viene descritto il λ-calcolo infinitario introdotto da Damiano Mazza [18] basato su un frammento della logica lineare intuizionista.
Tale calcolo è dotato di una metrica che rende l’insieme dei termini uno spazio metrico incompleto, il cui completamento viene ottenuto producendo un
λ-calcolo affine infinitario. Quest’ultimo, quozientato con una determinata
relazione di equivalenza, risulterà isomorfo all’usuale λ-calcolo. Si mostrano inoltre alcuni risultati relativi all’usuale topologia sui λ-termini definita
in [4], mettendola in relazione con il nuovo spazio topologico ottenuto con il
λ-calcolo affine infinitario.
Nel secondo paragrafo dopo aver definito la ludica computazionale di Terui [22], si presenta una corrispondenza nel senso di Curry-Howard tra le
derivazioni nella logica moltiplicativa esponenziale polarizzata e i termini infinitari definiti da Mazza nel suo articolo, tali termini vengono definiti tramite
i disegni della ludica computazionale.
5.1
Un λ-calcolo poliadico infinitario Λ8
Definizione 5.1 (Termini) Sia V un insieme infinito non numerabile di
N
variabili e Vinj
il sottoinsieme delle funzioni inettive di V N . Si definisce
Λ08
Λh8
1
¤
V tKu
¤
¤
N
Λh8 tλx.t|t P Λh8, x P Vinj
u ttu|t P Λh8, u P pΛh8qNu
48
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE49
L’ insieme dei termini è
Λ 8 :
¤
P
Λh8
h N
L’altezza di un termine t è definita come il minimo h tale che t P Λh8 .
Si denota con B pΛ8 q il sottoinsieme di ΛN8 delle sequenze di altezza limitata
h, ovvero:
se u P B pΛ8 q allora esiste h P N tale che per ogni i P N l’altezza di u è al massimo h.
Le nozioni standard di variabile libera e legata, α-equivalenza e sostituzione
sono definite come nel normale λ-calcolo.
N
, si definisce sru{xs per
In particolare, dato s P Λ8 , u P pΛh8 qN e x P Vinj
induzione:
xru{xs "
upiq se esiste i P N : xpiq x
x
se per ogni i P N : xpiq x
pλy.tqru{xs λy.tru{xs
ptvqru{xs tru{xsv’ con v’piq vru{xs
Definizione 5.2 (Riduzione one-step) La riduzione one-step è definita
da pλx.tqu Ñ tru{xs
Ñ ,
La riduzione, denotata da
riduzione one-step.
è la chiusura transitiva e riflessiva della
Definizione 5.3 (Termini finiti) Se S è un insieme tale che K R S e S pNq
il sottoinsieme di S N delle funzioni con supporto finito, allora gli elementi di
S pNq sono sequenze finite xs0 , s1 , . . . , sn1 y con sn1 K e sn p K, per ogni
p P N. I termini finiti sono generati da:
t, u :: K
|
x
|
λx0 . . . xn1 .t
| txu0, u1, . . . , un1y
e si denota con Λp l’insieme dei termini finiti.
Il calcolo Λp è semplicemente un λ-calcolo poliadico (indicato dalla p al pedice) con un termine speciale (K) che ha il ruolo di una variabile che non si
può sostituire. Le operazioni di α-equivalenza, sostituzione e riduzione su Λp
sono le stesse del normale λ-calcolo.
Si definisce il calcolo finito con Λ8 per mezzo di un processo di completamento metrico. Per fare questo è necessario definire una topologia su Λ8 , a
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE50
tale scopo si considerano i termini come alberi.
Osservazione: I termini vengono visti come alberi di altezza finita ma
con infinite ramificazioni. Questo risulterà utile per molte dimostrazioni per
procedere con un’induzione sull’altezza.
5.1.1
Topologia sui λ-termini
Esiste una topologia naturale sui termini del λ-calcolo [4], detta topologiaalbero. Tale topologia viene ottenuta associando ad ogni termine un albero
di Böhm e poi addattando la topologia di Scott (Appendice C) su questi
alberi ai termini.
Definizione 5.4 (Albero parziale Σ-etichettato) Si definisce posizione
un elemento di P N , l’insieme delle parole finite di N e un alfabeto un
insieme Σ tale che K R Σ.
Un albero parziale è una funzione dall’insieme delle posizioni all’alfabeto
delle etichette, ovvero un elemento di
TpΣq : pΣ Y tKuqP
Sia il supporto di una funzione f P pΣ Y tKuqP l’insieme
supppf q ta P P|f paq Ku, allora un albero parziale è finito se il suo
supporto è finito e ha lunghezza finita se le parole nel suo supporto hanno
lunghezza limitata.
Si denota con T0 pΣq e Th pΣq gli insiemi di tutti gli alberi parziali finiti e di
altezza finita, rispettivamente, sull’alfabeto Σ.
”
N
, y P V u,
Definizione 5.5 (Albero di Böhm) Sia Σ V tλx.y |x P Vinj
si defisce albero di Böhm un elemento di TpΣq.
Dato un λ-termine t il corrispondente albero di Böhm BT ptq si costruisce nel
modo seguente.
Se t non è un termine risolubile, l’albero di Böhm non è definito, ovvero
BT ptq K
Se t è un termine risolubile (Definizione 1.12) e quindi nella forma normale
di testa (Lemma 1.13) t λx.yt1 . . . tn , il λ-termine viene rappresen-
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE51
tato dall’albero
BT ptq λx.y
BT pt1 q... BT ptn q
Si indica con tpaq il simbolo presente nella posizione a di un termine t.
B è l’insieme degli alberi di Böhm.
Osservazione: La definizione di BT ptq non è una definizione induttiva, in
quanto i sottotermini t1 . . . tn potrebbero essere più complessi di t stesso, descrive più che altro un processo che porta ad un possibile albero infinito.
Ogni albero di Böhm corrisponde a un λ-termine. Sia A un albero di
Böhm e tpAq il rispettivo λ-temine, allora si ha:
A K ÝÑ tpAq Ω, con Ω pλx.xxqλx.xx
A λx.y
ÝÑ tpAq λx.y
A λx.y
A1 ...
... An
ÝÑ tpAq λx.ytpA1q . . . tpAnq
Esempio: sia A
λxy.x
y
K
y
λx.x
allora tpAq λxy.xyΩpyλx.xq
La relazione tra alberi di Böhm e λ-termini è quindi uno a uno. Utilizzare
la scrittura funzionale del λ-termine o considerare il rispettivo albero che
lo rappresenta è dunque indifferente. In particolare, è molto utile vedere i
termini come alberi per definire una struttura topologica ed osservare alcune
proprietà sui λ-termini e loro interazioni, legate appunto alla topologia, che
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE52
altrimenti non risalterebbero.
Gli alberi di Böhm sono di fatto funzioni parziali, B „ N Ñ Σ, e poichè le
funzioni parziali con la relazione „ formano un cpo (ordine parziale completo, Def C.1), si ha che „ determina una relazione d’ordine parziale anche su
B.
Definizione 5.6 Dati A, B
alberi „ in cui
PB
si definisce una relazione d’ordine tra gli
A „ B se e solo se A risulta da B tagliando alcuni dei suoi sottoalberi.
Definizione 5.7 Si considera il cpo B
O „ Λ è aperto se e solo se
pB, „q con la topologia di Scott.
(i) t P O, BT ptq „ BT pt1 q ñ t P O
(ii) se t P O e BT ptq i tale che ti P O.
”
i
BT pti q, con tBT pti qui
„ B diretto, allora esste
In particolare, lo spazio di funzioni TpΣq può essere dotato della topologia di
semplice convergenza, che si può metrizzare come segue.
Definizione 5.8 Se a n1 . . . nk P P, ponendo αpaq 2n1 1 . . . 2nk 1 , si
defisce
ds pt, t1 q suptαpaq|a P P, tpaq t1 paqu
È immediato verificare che ds è un’ultrametrica limitata, la cui uniformità
ammette come base di entourages gli insiemi
tpt, t1q P TpΣq2| per ogni a P A, tpaq t1paqu
dove A ta P P|αpaq ¥ u, con 0 ¤ 1.
U
Si ha quindi che più gli alberi sono vicini, rispetto a tale distanza, più coincidono su molte posizioni, questo significa che ds produce una topologia di
semplice convergenza.
Lo spazio TpΣq è quindi uno spazio uniforme. A partire da uno spazio
uniforme si definisce la topologia indotta.
Definizione 5.9 Un insieme A „ TpΣq è aperto se per ogni t P A esiste
U P tU u0 ¤1 tale che
U rts tt1 |pt, t1 q P U u „ A
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE53
Si verifica che tali aperti sono aperti di Scott.
Proposizione 5.10 Gli insiemi aperti della topologia indotta dall’uniformità sono aperti di Scott.
Dimostrazione:
– Si deve dimostrare che se t P A e t „ t2 allora t2 P A.
Se t P A, allora esiste U tale che U rts tt1 |pt, t1 q P U u „ A. Per
definizione si ha che tpaq t1 paq per ogni a P A e t1 P U rts. Dato
t2 con t „ t2 , allora t2 paq tpaq per ogni posizione a di t, quindi
anche t2 P U . Si ha quindi che t2 P U rts „ A.
”
– Resta da far vedere che se t i ti P A con tti ui diretto, allora
esiste i tale che ti P A. È banale in quanto almeno uno dei ti P U
e quindi ti P U rts „ A
Si conclude che A è un aperto di Scott. Segue la topologia:
H tt1|pt, t1q P U1u è un insieme aperto;
dati A1 , A2 due aperti allora
A1
£
$
$
& A1 se A1 „ A2
& A1
¤
A se A2 „ A1 , A1 A2 A
A2 % H2 altrimenti
% A2
1
A2
se A2 „ A1
se A1 „ A2
altrimenti
sono insiemi aperti. In particolare TpΣq è un insieme aperto.
Considerando la pseudometrica banale
ρpt, t1 q "
0 se t, t1 hanno la stessa altezza
1 altrimenti
su T0 pΣq, si ottiene che la metrica maxtρ, ds u è ancora un’ultrametrica limitata in accordo con la quale una sequenza ptn qnPN P T0 pΣq è di Cauchy se
e solo se è di Cauchy per ds e, per n sufficientemente grande, ogni tn ha la
stessa altezza.
Dunque, il completamento di pT0 pΣq, maxtρ, ds uq è lo spazio Th pΣq degli alberi con altezza finita, ma possibile larghezza infinita.
In seguito si userà come alfabeto di etichettatura l’insieme
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE54
ΣV
¤
¤
N
tλx|x P Vinj
u [email protected]
e come distanza su TpΣq
d maxtρ, ds u
Si può definire per induzione sui termini una famiglia di ultrametriche:
Definizione 5.11 Due termini si definiscono isocefali se sono o uguali o
entrambi astrazioni o entrambi applicazioni.
Dati 0 γ1 , γ2 ¤ 1 si definisce un’ultrametrica d per induzione sui termini:
dpt, t1 q $
discreta
'
'
'
'
'
&1
se
se
o
se
t, t1 P Λ08
t, t1 non sono isocefali
hanno differente altezza
t λx.t1 , t1 λx.t11
'
γ1 dpt1 , t11 q
'
'
!
!
1 ))
'
'
piqq
% γ2 max dpt1 , t1 q, supiPN d(u(i),u
se t t1 u, t1 t11 u1
i
1
1
2
Nel caso dell’astrazione si utilizza l’α-equivalenza per riscrivere t e t1 in modo
tale che le variabili astratte coincidano.
Osservazione: Ponendo γ1 γ2 1{2, si ottiene d maxtds , ρu. Inoltre,
tutte le metriche definite sopra sono uniformemente equivalenti, quindi i
valori γ1 , γ2 non hanno importanza.
Nei risultati che seguono, si indicherà con δ la metrica induttiva ottenuta con
γ1 γ2 1.
Lemma 5.12 Come sottoinsieme di pTpΣq, dq, Λ8 è chiuso.
Dimostrazione:
Sia t un albero che non è un termine. Allora t contiene qualche anomalia, un nodo etichettato da una variabile che non è una foglia o un
nodo etichettato da λx che ha più di un fratello. Tale anomalia occorre
ad una certa posizione a P P. Allora esiste ¡ 0 tale che a P A , ogni
palla aperta centrata in t contiene la stessa anomalia, ciò dimostra che
TpΣq å Λ8 è aperto. Dunque si conclude che Λ8 è chiuso. Lemma 5.13 Per ogni t P Λ8 e n P N, esiste rtn s P Λp tale che
δ prtsn , tq 2n
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE55
Dimostrazione:
Si definisce rtn s per induzione si t:
- se t P Λ08 , allora rtsn
-
t per ogni n P N e t è finito per ipotesi;
se t λx.t1 , allora rtsn λx.rt1 sn . Per induzione, rtsn è finito;
se t t1 u, allora rtsn rt1 sn xrup0qsn , . . . , rupn 1qsn y, che per
induzione è finito.
La disuguaglianza si domostra per induzione su t:
- se t P Λ08 , allora
dpt, rtsn q dpt, tq 0 2n per ogni n P N;
- se t λx.t1 , allora
dpt, rtsn q dpλx.t1 , λx.rt1 sn q 12 dpt1 , rt1 sn q 12 2n 2n1 2n;
- se t t1 u, allora
dpt, rtsn q dpt1 u, rt1 sn xrup0qsn , . . . , rupn 1qsn yq !
!
))
piqsn q
21 max dpt1, rt1snq, supiPN d(u(i),[u
i
1
2
!
!
2n
2i 1
))
))
!
!
12 max 2n, supiPN 2ni1 12 2n 2n1 2n. Proposizione 5.14 pΛ8 , δ q è il completamento metrico di pΛp , δ q
1
max
2
2n , supiPN
Dimostrazione:
Si è visto che pΛ8 , dq è completo; dunque poichè Λ8 è chiuso e δ è uniformemente equivalente a d, allora anche pΛ8 , δ q è completo. Dal momento che Λp è denso in Λ8 per il lemma precedente, si può concludere
la tesi per unicità di completamento. 5.1.2
Sottocalcolo affine
Definizione 5.15 (Termine affine) Un termine t P Λ8 è affine se ogni
variabile, libera o legata, appare al massimo una volta in t, in particolare
t : K
|
| txt1, . . . , tny
indica l’i-esima variabile del sistema con i P N, xi xj
xi
|
λx.t
dove xi
per ogni
i j e x la sequenza infinita di tutte le varibili indicizzate da i.
aff
aff aff
Si denota con Λ8 , Λp e B pΛ8 q rispettivamente l’insieme dei termini affini, l’insieme dei termini affini finiti e l’insieme di tutte le sequenze dei
termini affini di altezza limitata.
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE56
L’affinità è chiaramente preservata per riduzione, in particolare si indica con
pλx.tqu Ñ tru{xs
la riduzione in cui xi Ñ upiq per ogni i P N.
Ogni termine affine, analogamente al paragrafo precedente, si può vedere
come un albero parziale etichettato, ovvero una funzione
t : N
¤
Ñ Σ tKu
in cui N rappresenta le posizioni, ognuna determinata da una sequenza di
interi.
5.1.3
Uniformità e isomorfismo con il lambda calcolo
Ci sono sicuramente molti più termini in Λaff
8 rispetto all’usuale λ-calcolo.
Per poter costruire un isomorfismo è necessario ridurre l’insieme, si definisce
quindi una relazione di equivalenza per cui si avrà pΛaff
8 { , ñq pΛ, Ñβ q.
Definizione 5.16 (Uniformità) Si definisce la più piccola relazione di
aff
equivalenza parziale, detta uniformità, su Λ8 tale che:
xj per ogni variabile x e i, j P N;
- se t t1 , allora λx.t λx.t1 , per ogni variabile x;
- se t t1 e u, u’ sono tali che upiq u’pi1 q per ogni i, i1 P N, allora
tu t1 u’.
Un termine t è uniforme se t t e si denota con Λu8 l’insieme dei termini
- xi
uniformi.
Intuitivamente la relazione uguaglia termini che sono uguali a meno di permutazioni dei sottotermini. In particolare, sono uguali tutte le occorrenze
della stessa variabile: mentre si distinguono due occorrenze di x indicizzandolo, xi e l’altra xj (i j), non importa quale ha indice i e quale j.
Osservazioni:
- Tutti i termini finiti non sono uniformi: infatti un termine finito txuy
viene visto come txu, K, . . . , K, . . .y in Λaff
8 e chiaramente
txuy txu, K, . . . , K, . . .y, in quanto K non è uniforme a nessuno.
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE57
- Per quanto detto nel punto precedente, un termine uniforme non contiene K.
- Se tu è uniforme, allora ogni upiq ha la stessa altezza, quella per esempio
di up0q. Quindi tutti i termini uniformi hanno altezza finita.
- L’uniformità non è stabile per riduzione: se ho un termine uniforme
txu, u, . . .y e u ; u’
txu, u, . . .y ; txu’, u, . . .y
non si può affermare che txu’, u, . . .y sia uniforme. Per risolvere il
problema si sostituiscono tutte le u con la loro riduzione u’ contemporaneamente, e allora sarà facile vedere che txu’, u’, . . .y è anche lui
uniforme.
Definizione 5.17 (Riduzione infinitaria) Si definiscono ñk le relazioni
aff
su Λ8 con k P N come le più piccole relazioni che soddisfano:
- pλx.tqu ñ0 tru{xs, ovvero per k 0 è una semplice riduzione di testa
che corrisponde a un singolo passo di riduzione;
- se t ñk t1 , allora λx.t ñk λx, t1 ;
- se t ñk t1 , allora tu ñk t1 u;
- se tu P Λu8 e up0q ñk u10 , per uniformità la stessa riduzione può essere
fatta per tutti gli upiq (i P N), ottenendo il termini u1i .
Se si pone u’piq ñk u1i per ogni i P N, allora tu ñk 1 tu’.
Si denota con
ñ l’unione di tutte ñk , per k P N.
Proposizione 5.18 Sia t P Λu8 , allora:
- t ñ t1 implica che t1
P Λu8;
- inoltre, per tutti u t, se u ñ u1 , allora u1
t1.
Come visto nell’osservazione, la proposizione afferma che l’uniformità è stabile sotto ñ e quindi che tale relazione è compatibile con le classi di equivalenza
di . Quindi, l’insieme pΛu8 { q può essere dotato della riduzione (one step)
ñ, si vedrà che questo è esattamente l’usuale λ-calcolo non lineare.
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE58
Teorema 5.19 (Isomorfismo)
pΛu8{ , ñq pΛ, Ñβ q
nel senso di Curry-Howard, ovvero esistono due mappe
xxyy : Λu8 Ñ Λ
tali che per tutti M P Λ e t P Λu8
1.
2.
3.
4.
rrss : Λ Ñ Λu8
xxrrM ssyy M ;
rrxxtyyss t;
M Ñβ M 1 implica rrM ss ñ rrM 1 ss;
t ñ t1 implica xxtyy Ñβ xxt1 yy.
Le due mappe dell’isomorfismo sono entrambe definite per induzione.
5.2
Ludica computazionale e termini infinitari
In questa sezione si presenta la ludica computazionale introdotta da Terui [22], la quale riprende concetti legati alla ludica di Girard [10]. Si definiscono in particolare i disegni, oggetti principali della ludica, visti come
termini infinitari.
Definizione 5.20 (Termine Sintetico) Si definiscono i seguenti insiemi
di termini:
N0
tKu
Nh
1
N
tλx1, . . . , xn.t|t P P h, xi P x P Vinj
, n P Nu
P0
tzu
Ph
1
ttu1, . . . , un.t|t P N h, ui P pN hqN, n P Nu
Un termine
” h sintetico”è unh termine affine (Definizione 5.15) di N
N hN e P hP .
Sia in N h 1 che in P h 1 , n indica l’ arità del termine.
”
P, con
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE59
Osservazione: I termini di arità 0 si indicano con .t e t., rispettivamente
quello negativo e positivo.
f
L’insieme dei termini sintetici non è altro che un’estensione di Λaf
8 a cui
va aggiunto il simbolo z, detto demone, che nella ludica indica la regola per
cui una dimostrazione risulta valida supponendo la conclusione di tale regola
vera oppure si può anche interpretare come un elemento di errore nella dimostrazione.
Introducendo una versione di riduzione inifinitaria (Definizione 5.17) in parallelo, ovvero in cui si effettuato più sostituzioni contemporaneamente, si
può definire la forma normale dei termini sintetici. Si presenta un algoritmo
di ricerca della forma normale che permette di costruire una successione di
termini, la quale all’infinito o diventa stazionaria o restituisce un termine
ancora da ridurre e quindi diverge.
Si definisce per i temini in N
”
P, la riduzione
pλx1, . . . , xn.tqu1, . . . , un ; tru1{x1s . . . run{xns
zu ; z @u P N
e dato un termine sintetico t, si calola nf n ptq, il termine ottenuto all’n-esimo
passo di riduzione, se è possibile ridurre t, altrimenti si ha nf n ptq Ω, tale
simbolo è detto divergenza e indica appunto l’impossibilità di ridurre t.
La successione tnf n ptqunPN viene costruita per induzione sui termini:
nf 0 ppλ~x.t0 q~uq Ω
nf
n 1
ppλx1, . . . , xl .t0qu1, . . . , umq "
nf n pt0 ru1 {x1 s . . . rum {xm sq se l m
Ω
altrimenti
con
nf n ptq t se t z, K
nf pλ~x.t0 q n
"
λ~x.u se nf n pt0 q u Ω
Ω
se nf n pt0 q Ω
nf n pxu1 , . . . , un q xv1 , . . . , vn con xvk piq nf n puk piqq
per ogni 1 ¤ k ¤ m e i P N
nf n pK~uq Ω
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE60
Dato un termine sintetito t, se tnf n ptqunPN è stazionaria in u, ovvero esiste
N P N tale che nf n ptq u per ogni n ¡ N , allora la forma normale di t,
nf ptq, sarà proprio u; altrimenti, nf ptq Ω se t è positivo e nf ptq K se
t è negativo. Con nf n ptq si cerca la forma normale del termine t riducendo
ripetutatamente il redesso più a sinistra.
Definizione 5.21 (Disegno) Un disegno è un termine sintetico normale,
in particolare è un disegno positivo se appartiene a P e un disegno negativo
se appartiene a N .
L’insieme dei disegni si indica con D.
Definizione 5.22 (Disegno Atomico) Un disegno si dice atomico se è
positivo ed è o z o ha come unica variabile libera z, oppure è negativo e
chiuso.
Definizione 5.23 (Ortogonalità) Siano t, u due disegni atomici, con t positivo e u negativo. Si dice che t, u sono ortogonali, si indica con t K u (o
u K t, la relazione è simmetrica considerando sempre t positivo e u negativo), se nf ptru{z sq z. Dato un insieme di disegni atomici A, si definisce
il corrispondente insieme ortogonale
AK
tt1 P D| per ogni t P A, t1 K tu.
Osservazione: Per ogni disegno u negativo, si ha che z K u. Non esiste
invece alcun disegno negativo ortogonale a tutti i positivi, infatti se t K u,
per avere u negativo e t z, t e u devono avere la stessa arità.
Proposizione 5.24 Gli insiemi ortogonali soddisfano le seguenti proprietà:
(i) A „ AKK ;
(ii) A „ B implica B K
(iii) AKKK
„ AK;
AK.
Dimostrazione:
(i) Sia t1 P A, per definizione per ogni t P AK si ha che t1 K t, segue
che anche t1 P AK . Allora per ogni t2 P AKK si ha che t2 K t1 ,
dunque t1 P AKK . Per l’arbitrarietà di t1 , si ha la tesi.
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE61
(ii) Siano B K tt P D| per ogni bi P B, t K bi u e AK tt P D| per ogni ai
A, t K ai u. Sia t P B K , allora t K bi per ogni bi P B, poichè A „ B
si ha che t K ai per ogni ai P A, segue che t P AK e quindi la tesi
per arbitrarietà di t.
(iii) Per la (i) AK „ pAK qKK e per la (ii), poichè A
l’inclusione inversa pAKK qK „ AK . „
AKK , segue
Gli insiemi ortogonali permettono di dare una definizione di tipo che estende
quella data dal sistema F e dal λ-calcolo tipato semplice.
Definizione 5.25 (Tipo) Si definisce innanzitutto un pre-tipo come un insieme non vuoto di disegni atomici della stessa polarità.
Un tipo è un pre-tipo A tale che AKK A e la sua polarità è quella dei
disegni che contiene.
Osservazione: È immediato vedere che l’insieme di tutti i disegni atomici
negativi T e 0 tzu sono entrambi tipi, ortogonali l’uno con l’altro.
Un tipo si dice proprio se è diverso da T e 0. In particolare gli elementi
( z) di un tipo proprio A hanno tutti la stessa arità ed è l’arità di A.
Segue banalmente che l’arità di AK è la stessa di A.
Osservazione: Si notiche z è presente in tutti i tipi positivi.
Definizione 5.26 (Tensore) Siano t, u disegni atomici positivi. Si definisce
"
z~u~v se t z~u e u z~v
tbu
z
se uno tra t, u è uguale a z
Siano A, B due tipi positivi, si definisce:
A b B tt b u|t P A, u P B u
A b B pA b B qKK .
Osservazione: Se A, B sono entrambi propri di arità n e m rispettivamente,
allora A b B è proprio di arità n m.
Lemma 5.27 (Completezza interna del Tensore) Per tutti i tipi positivi A, B si ha
AbB AbB
P
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE62
Dimostrazione:
Se uno tra A, B non è proprio, si ha A b 0 A b 0 0 0KK .
Siano quindi A, B entrambi propri, allora
(…) per la proprietà (i) degli insiemi ortogonali si ha
A b B pA b B qKK A b B;
(„) sia s P A b B
“
∗ se s z poichè z P A B e t b z z b u z, segue che
s P A b B;
~ l’arità di s è m n, quindi s z u~1 . . . u~m v~1 . . . v~n
∗ se s z w
con t z u~1 . . . u~m e u z v~1 . . . v~n . Resta da far vedere che
t P A e u P B.
Definizione 5.28 (Tipo Esponenziale) Sia A un tipo proprio negativo.
Si definisce
:A tzu| per ogni n P N, upiq P Au ”tzu
!A p:AqKK .
Lemma 5.29 (Completezza interna dell’Esponenziale) Per tutti i tipi
negativi propri A, si ha
!A :A.
Dimostrazione:
(…) per la proprietà (i) degli insiemi ortogonali si ha
:A „ p:AqKK !A;
(„) sia t P!A:
∗ se t z allora per definizione z P :A;
∗ poichè l’arità di !A è 1, si può supporre t zu ed è sufficiente
dimostrare che upnq P A per ogni n P N.
Siano u1 zv P AK e s λx.xn~v con xn xpnq, allora
s P p:AqK q.
Infatti, sia w una sequenza di termini di A, si ha
nf ppsqwq nf pwpnq~vq nf pu1 rwpnq{z sq z
in quanto wpnq K u1 . Ma trs{z s ; upnq~v u1 rupnq{z s ha
forma normale z per l’ipotesi t P!A p:AqKK , quindi
upnq K u1 .
Per arbitrarietà di u1 e n, upnq P A per ogni n P N. CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE63
Per dualità si definiscono i tipi:
A ` B pAK b B K qK
?A p!AK qK .
5.3
Derivazioni in MELLP e termini di Λ8
Con il sistema di regole della Logica Lineare Polarizzata Moltiplicativa ed
Esponenziale a cui si aggiunge la regola del demone (MELLPz ) si ottengono le derivazioni rappresentabili con i disegni. In questa sezione si presenta
f
la corrispondenza considerata in [18] tra MELLPz e i termini di Λaf
8 .
Il sistema logico di MELLPz è data dalle seguenti regole:
Γ$Σ
Γ$A
(z)
A, Γ $ Σ
(cut)
Γ$Σ
Γ$Σ
(1 $)
1, Γ $ Σ
Γ$1
($ 1)
A, B, Γ $ Σ
(b $)
A b B, Γ $ Σ
Γ$A
Γ$B
($ b)
Γ$AbB
!AK , Γ $ A
(! $)
!AK , Γ $
A, Γ $
($!)
Γ $!AK
Definizione 5.30 (Seguente Polarizzato) Un seguente polarizzato è un’espressione della forma Γ $ Σ in cui Γ e Σ sono sequenze finite di formule
positive, con Σ che ha al massimo una formula.
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE64
Definizione 5.31 (Interpretazione) L’ interpretazione di una formula A,
denotata con rrAss, è un tipo definito per induzione su A:
rr1ss 1 rrKss 1K
rrA b B ss rrAss b rrB ss rrA ` B ss prrAssK b rrB ssKqK
rr!Ass !rrAss rr?Ass p!rrAssKqK
Definizione 5.32 (Disegno Funzionale) Un disegno funzionale è un disegno negativo della forma λ~x.z~u, tale che z è l’unica variabile libera.
Definizione 5.33 (Tipi Funzione) Dati A, B due tipi positivi, con A di
arità n. Si definisce A $ B come segue:
- A $ 0 è AK ;
- se B è proprio, allora A $ B è l’insieme dei disegni funzionali s tali
che per ogni t P A e u1 P B K si ha nf ptrsru1 {z s{z sq z.
Ogni regola di MELLPz può essere associata al tipo della sua interpretazione che non è altro che un disegno, ovvero un termine infinitario normale.
Questa correlazione si può vedere nel senso di Curry-Howard.
Un seguente polarizzato Γ $ Σ si interpreta interpreta nel modo seguente:
• se Γ C1 , . . . , Cn allora
per n 0, rrΓss 1;
• se Σ B allora
quindi si definisce
rrΓss rrC1ss b . . . b rrCnss e in particolare
rrΣss rrB ss, altrimenti rrΣss 0;
rrΓ $ Σss rrΓss $ rrΣss
L’interpretazione di una dimostrazione π di MELLPz di un seguente
Γ $ Σ è un disegno rrπ ss definito per induzione sull’ultima regola di π. Si ha
allora la seguente corrispondenza.
Γ$Σ
pzq
ù rrπ ss λ~c.z dove ~c è una sequenza di supervariabili in relazione
con le formule in Γ.
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE65
.
π 1 ..
.
π 2 ..
Γ$A
A, Γ $ Σ
Γ$Σ
(cut)
ù rrπ ss λ~c.trλ~x.v {z s, con rrπ 1 ss λ~c.t e rrπ 2 ss λ~x~c.v interpretazioni delle dimostrazioni le cui conclusioni sono le premesse della regola,
in cui ~x è una sequenza di arità rrAss e ~c di arità rrΓss.
.
π 1 ..
Γ$Σ
p1 $q
1, Γ $ Σ
ù rrπ ss rrπ 1 ss dove π 1 è la dimostrazione la cui conclusione è la
premessa della regola.
Γ$1
p$ 1q
ù rrπ ss λ~c.z con ~c sequenza di supervariabili in relazione con le
formule di rrΓss.
.
π 1 ..
A, B, Γ $ Σ
A b B, Γ $ Σ
pb $q
ù rrπ ss è definita come per p1 $q.
.
π 1 ..
.
π 2 ..
Γ$A
Γ$B
Γ$AbB
p$ bq
ù rrπ ss λ~c.t b u con rrπ 1 ss λ~c.t e rrπ 2 ss λ~c.u interpretazioni
delle dimostrazioni le cui conclusioni sono le premesse della regola, in
cui ~c è una sequenza di arità rrΓss.
.
π 1 ..
!AK , Γ $ A
!AK , Γ $
p! $q
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE66
~1 con rrπ 1 ss λ~x~c.z~u interpretazione della dimoù rrπ ss λ~x~c.x0 u
strazione la cui conclusione è la premessa della regola, in cui sostituendo
~1 in cui x0 è l’unica variabile libera.
ogni xI ~xpiq con xi 1 si ottiene u
.
π 1 ..
A, Γ $
Γ $!AK
p$!q
ù rrπ ss λ~c.z xλ~x.s0 , λ~x.s1 , . . .y con rrπ 1 ss λ~x~c.s interpretazione
della dimostrazione la cui conclusione è la premessa della regola, dove
~x e ~c sono sequenze di astrazioni di supervariabili di arità rrAss e rrΓss
rispettivamente. Fissando in : N Ñ N infinite iniezioni le cui coppie
pk, inpkqq sono disgiunte per ogni n P N, si definiscono le sn come
i disegni ottenuti da s sostituendo ogni variabile ck piq (se presente)
con ck p“
in piqq, si ha che sn s (Definizione 5.16) per ogni n P N e
f v psn q f v psm q H per ogni n m.
Se un termine sintetico rappresenta una dimostrazione, esso è sempre normalizzabile in un disegno. In generale, tutte le dimostrazioni, cut-free o no,
possono essere interpretate dai disegni e questo permette di avere una corrispondenza tra dimostrazioni e termini infinitari analoga a quella di CurryHoward.
Ovviamente non tutti i disegni sono interpretazioni di dimostrazioni MELLPz .
Si introduce a tal proposito una nozione di validità dei disegni.
Definizione 5.34 (Validità) Un disegno è valido se è uniforme e daimonfree, ovvero non contiene z come sottotermine. La validità induce una
nozione di verità sui tipi: un tipo è vero se contiene un disegno valido.
Al massimo uno tra A e AK può essere valido, infatti se t P A e t1 P AK ,
poichè t K t1 uno dei due deve avere un sottotermine z, dal momento che
non si può ottentere per riduzione. Permette inoltre di dare una nozione di
correttezza per MELLPz .
Teorema 5.35 (Correttezza) Sia π una dimostrazione MELLPz di
Γ $ Σ. Allora:
1.
rrπss è uniforme, è un disegno non appena π è cut-free ed è valido non
appena π è in MELLPz ;
2. se π0 è una forma cut-free di π, allora
3.
rrπ0ss P rrΓ $ Σss.
rrπss ñ rrπ0ss;
CAPITOLO 5. λ-CALCOLO INFINITARIO E LUDICA COMPUTAZIONALE67
Come corollario immediato del teorema si ha la completezza di MELLPz .
Teorema 5.36 (Completezza per MELLPz ) Sia s P rrΓ
me. Allora esiste una dimostrazione π di MELLPz tale che
rrπss s.
$ Σss unifor-
Capitolo 6
Il λ-calcolo infinitario è
elementare
In questo capitolo si introduce la logica elementare [3], ovvero il sistema logico
in cui tutte le dimostrazioni sono programmi eseguibili in tempo elementare.
In particolare si mostra che, a partire da Λ8 , si può costruire un λ-calcolo
infinitario lineare elementare, presentato da Mazza in [19].
I termini infinitari servono per rappresentare dati del tipo !A, che contengono
cioè infinite copie di A: dal punto di vista della programmazione, essi indicano
celle di memoria persistente a cui si può accedere un numero infinito di volte
durante l’esecuzione di un programma. Per esprimere tali dati nella logica,
si usa la logica lineare. In particolare si presenta una modifica di Λ8 e
si introduce un calcolo infinitario lineare; infine si mostra, a partire dalla
dimostrazione nel caso polinomiale presentata da Mazza [19], che tale sistema
di calcolo è elementare.
6.1
Logica lineare elementare
Frammenti della logica lineare possono essere visti come linguaggi di programmazione in grado di rappresentare tutte e sole le funzioni di una data
classe di complessità. Chiedersi se esiste un limite alla complessità delle funzioni definibili tramite la logica equivale ad analizzare la complessità della
procedura di cut-elimination. Infatti, l’esecuzione di un programma nella
logica non è altro che l’eliminazione delle regole del cut della derivazione.
La logica lineare elementare (ELL) è un sottosistema della logica lineare
che permette di descivere esattamente la classe delle funzioni elementari. La
classe delle funzioni elementari, introdotte da Kalmàr [16], è il più piccolo insieme E contenente le funzioni di base (costanti, proiezione, addizione,
68
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
69
moltiplicazione e sottrazione) e chiuso per composizione, prodotti e somme
limitati. Le funzioni elementari non sono altro che le funzioni che si possono
implementare in tempo elementare, cioè la classe di funzioni calcolabili da
una macchina di Turing in un numero di passi limitato da una qualche funzione elementare.
Si considera la variante intuizionista anche per ELL, che si indica con IELL.
Il sistema di regole di IELL è il seguente:
A$A
pidq
Γ$A
∆, A $ B
Γ, ∆ $ B
Γ, A $ B
Γ$A(B
pcutq
p( Rq
Γ$A
∆, B $ C
Γ, ∆, A ( B $ C
p( Lq
Γ$A
p!q
!Γ $!A
Γ$A
Γ $ @X.A
[email protected]
Γ, ArB {X s $ C
Γ, @X.A $ C
Γ$B
Γ, !A $ B
[email protected]
pwq
!A, !A, Γ $ A
pcq
!A, Γ $ A
In particolare un λ-termine M è tipabile in IELL con tipo Γ $ M : A, in cui
il contesto Γ è un’applicazione da variabili a formule ed è definito su tutte le
variabili libere di M , se esiste una derivazione nel sistema:
x:A$x:A
pidq
Γ $ M1 : A
∆, x : A $ M2 : B
Γ, ∆ $ M1 rM2 {xs : B
pcutq
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
Γ, x : A $ M : B
Γ $ λx.M : A ( B
70
p( Rq
Γ$x:A
∆, M1 : B $ M2 : C
Γ, ∆, λy.N : A ( B $ M2 rpN qx{M1 s : C
p( Lq
Γ$M :A
p!q
!Γ $!M :!A
Γ$M :A
Γ $ M : @X.A
[email protected]
Γ, x : ArB {X s $ M : C
Γ, x : @X.A $ M : C
Γ$M :B
Γ, x :!A $ M : B
[email protected]
pwq
x :!A, y :!A, ∆ $ M : B
z :!A, ∆ $ M rz {x, z {y s : B
pcq
Dal momento che l’insieme delle funzioni elementari E è chiuso per composizione, per ogni m l’iterazione m volte di un esponenziale 2m
n è in E,
dove
"
n
se m 0
m 1
m
2n 22n se m ¡ 0
In particolare, si ha il seguente risultato:
Proposizione 6.1 Se f
P E allora esiste m P N tale che per ogni x
f pxq ¤ 2m
n
con n dimensione di x.
In ELL si ha che la procedura di cut-elimination è limitata da 2m
n per
qualche m, dove n è legato alla grandezza dell’input.
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
6.2
71
λ-calcolo infinitario lineare
Si definisce un λ-calcolo infinitario lineare, un calcolo infinitario a partire da
quello descritto nel Capitolo 5, in cui però si distinguono due tipi di variabili: le variabili lineari e le variabili non-lineari, quest’ultime con occorrenze
distinte tramite indici (x1 , x2 , . . .). Ogni occorrenza di variabile compare al
massimo una volta in un termine. L’utilità delle variabili non-lineari è quello
di riuscire a descrivere formule di tipo !A.
Definizione 6.2 (Termini) Dati due insiemi disgiunti di variabili lineari,
ta, b, c, . . .u, e variabili non-lineari, tx, y, z, . . .u, si definiscono i pre-termini
come segue.
t, u : K
|
dove i P N e
a
|
|
xi
p, q : a
λp.t
|
x
| ptqu |
|
tbu
|
u
pbq
x indica la variabile x di occorrenze xi e u una sequenza finita di termini,
xup0q, . . . , upn 1qy con upiq K per ogni i ¥ n. u si dice box.
Le occorrenze di ogni variabile (lineare e non-lineare) compare al massimo
una volta in un termine. Se x(risp. a) appare in p, si scrive che x P p(risp.
a P p). In particolare x P p indica che tutte le occorrenze xi di x sono legate
in λp.t (usando la stessa definizione data precedentemente di variabili libere
e legate). Le variabili libere di u sono non-lineari.
f
L’insieme dei termini ottenuti si indica con lΛaf
p .
Definizione 6.3 (Sostituzione) Data la relazione , definita nel modo seguente:
. t
a per ogni t;
. t
x se t u;
. da t
peu
q segue che t b u
Allora si definisce tru{ps se u
p b q.
p e si ha che:
. tru{as è la sostituzione usuale;
. tru{xs è il termine t in cui ogni occorrenza xi viene sostituita con upiq;
. tru1 b u1 {p1 b p2 s tru1 {p1 sru2 {p2 s.
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
72
f
Definizione 6.4 (Contesto) Dato un termine t P lΛaf
si definisce il conp
testo debole S di t
S : |
λp.S
| pS qu |
Sbu
|
ubS
dove indica il contesto vuoto nel caso in cui il termine sia una variabile
(lineare o non-lineare).
Il contesto di t è dato da:
C : S
| xup0q, . . . , C, . . . upn 1qy
Osservazione: Un termine u è sottotermine di t (u „ t) se esiste un contesto
C tale che t C rus, dove C rus è il termine ottenuto sostituendo u a nel
contesto C.
Definizione 6.5 (Riduzione) La riduzione di un termine t si indica con
Ñ ed è l’unione di due operazioni Ñs , riduzione debole, e ù, riduzione
nella box, definite nel modo seguente:
. pλp.tqu Ñs tru{ps se e solo se u
p;
. t Ñs t1 allora S rts Ñs S rt1 s;
. u ù up0q.
Il termine della forma pλp.tqu u p con si dice redesso. Ogni passo di riduzione Ñs è chiaramente associato a un redesso che è detto focalizzato dal
passo di riduzione.
Si indica con Ñ la chiusura riflessiva-transitiva di Ñ e con Ñl la composizione di esattamente l P N passi di Ñ.
Le definizioni di distanza e uniformità defnite nel Capitolo 5 si estendono
f
a lΛaf
considerando come variabili anche quelle lineari e indicando l’astrap
f
zione con λp invece di λx. Analogamente si indica con lΛaf
8 il completamento
af f
metrico di lΛp rispetto alla metrica d.
Usando la Proposizione 6.1, si vuole dimostrare che lΛ8 { è elementare.
Per arrivare a questa conclusione è necessario introdurre il concetto di stratif
ficazione che permette di analizzare i termini di lΛaf
8 in base alla profondità
nell’albero che li rappresenta delle box, da cui si può dedurre il risultato
cercato.
f
Definizione 6.6 (Box-profondità) Dato un termine t P lΛaf
8 si definisce
box-profondità :
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
73
- di una specifica occorrenza di un sottotermine u di t, denotata con du ptq,
il numero delle box nidificate di t che contengono u;
- di t, denotata con dptq, il Suppdu ptqq con u sottotermine di t;
- relativa di un’occorrenza xi che appare (libera o legata) in t, denotata con
rdxi ptq, nel modo seguente:
• rdxi ptq dxi ptq se xi è libera in t;
• rdxi ptq dxi ptq dλp.u ptq se xi è legata in t e quindi esiste un
sottotermine λp.u di t tale che x P p e xi appare in u.
Definizione 6.7 (Termine stratificato) Un termine t è stratificato se,
per ogni xi „ t, rdxi ptq 1.
L’insieme dei termini stratificati si indica con lΛs8 e lΛs0
8 l’insieme dei termini stratificati che non hanno variabili libere non-lineari.
Osservazione: I sottotermini di termini stratificati non sono necessariamente
stratificati. Per esempio: xx0 y P lΛs8 ma x0 R lΛs8 .
Lemma 6.8 Siano t, u P lΛs8 e u p. Si suppone che x P p e x libera in t
implica che dxi ptq 1 per ogni i P N. Allora, per ogni v „ u
dv ptru{psq dv puq (con v che non viene cancellata dalla sostituzione).
Proposizione 6.9 (La riduzione preserva la stratificazione) Se t P lΛs8
1
1
s0
e t Ñs t1 , allora t1 P lΛs8 . Inoltre, Se t P lΛs0
8 e t ù t , allora t P lΛ8 .
Dimostrazione:
Sia xi „ t1 , è sufficiente mostrare che rdxi pt1 q 1. Dal momento che
con la riduzione non si crea alcuna occorrenza di varibile, si ha xi „ t
e per ipotesi rdxi ptq 1.
Sia t S rpλp.uqv s e t1 S rurv {pss
– se xi ı̀n S, segue automaticamente il risultato.
– se xi
R p, si hanno due casi
1. xi „ u, il lemma segue a prescindere dalla stratificazione;
2. xi „ v, allora per la stratificazione e per il Lemma 6.8 si
ottiene
dxi purv {psq dxi pv q
Nel caso in cui x sia libera in v, si conclude la tesi; altrimenti
si ha che λq.v „ v lega x, applicando il Lemma 6.8 si ha
dλq.v purv {psq dλq.v pv q
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
74
Si conclude la tesi per definizione di box-profondità relativa.
Definizione 6.10 (Grandezza) Dato t P lΛ8 , si definisce la grandezza di
t, denotata con |t| nel modo seguente:
|K| : |a| : |u| : 1 |xi| : 1 i
|λp.t| : 1 |p|0 |t| |ptqu| : |t b u| : 1 |t| |u|
con |a|0 : |x|0 : 1 e |p b q |0 : 1 |p|0 |q |0 .
Lemma 6.11 Sia t P lΛs8 di altezza finita e t Ñs t1 . Allora
1. dpt1 q ¤ dptq;
2. |t1 | |t|.
Dimostrazione:
1. Sia t S rpλp.uqv s e t1 S rurv {pss, si assume che dpt1 q ¡ 0 (nel
caso in cui dpt1 q 0 è banale).
Dalla definizione di box-profondità si ha allora che esiste un’occorrenza xi „ t1 tale che dxi pt1 q è massimale con x R p. Poichè
allora xi appare in S o in u, si conclude per il Lemma 6.8.
2. Procedendo per induzione su p si dimostra che |urv {ps| ¤ |u| |v |.
Il caso piè rilevante è con p x e v v. Per stratificazione si ha
che dxi puq 1 per ogni i P N, segue che i vpiq vengono sostituiti
a profondità 1 e la loro grandezza non è rilevante. Quindi
|urv{ps| |pλp.uqv|.
Il risultato segue per induzione su S. Proposizione 6.12 (Terminazione) Ogni t
temente normalizzabile.
P lΛs08 di altezza finita è for-
Dimostrazione: Si procede per induzione su pdptq, |t|q usando il Lemma 6.11. Definizione 6.13 (Grandezza nella box) Sia t P lΛ8 si definisce la grandezza di t nella box a profondità j, denotata con |t|j per ogni 0 ¤ j ¤ dptq,
nel modo seguente:
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
|K|j |a|j | xi | j "
1
0
"
"
75
1 se j 0
0 altrimenti
j se j 0
altrimenti
|λp.t|j ||pt||j |q|j
"
se j 0
altrimenti
|ptqu|j |t b u| ||tt||jj ||uu||jj 1
"
se j 0
|u| 1°8 |upiq|j1 altrimenti
j 0
Inoltre si ha
|t| se j 0
altrimenti
pq
¸
d t
|t|j.
j 0
Osservazione: In ogni box le occorrenze delle variabili lineari sono in numero
finito, anche se x indica l’insieme di tutte le occorrenze senza porre un limite.
La grandezza
°8 di u è potenzialmente infinita, ma quanto detto garantisce che
la serie j 0 |upiq|j 1 non può divergere.
Definizione 6.14 (Lista di sostituzioni) Data una variabile x non-lineare
e u una box, una sostituzione esplicita è della forma rx : us. Si indica con
σ un elemento dell’insieme delle liste finite di sostituzioni esplicite, dette liste di sostituzione.
Si denota con σσ 1 la concatenazione di tali liste e con la lista vuota.
Si definiscono allora
σ ru{ps:
- ru{ps : ;
prx : usσ1qru{ps : rx : uru{pssσ1ru{ps.
tru{pl s con t, u pre-termini e u p:
- tru{al s : tru{as;
- tru{xl s t;
- tru1 b u2 {pp1 b p2 ql s tru1 {pl1 sru2 {pl2 s.
la lista di sostituzioni rrp : uss con p u:
-
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
-
76
rra : uss : ;
rrx : uss rx : us;
rrp1 b p2 : u1 b u2ss rrp2 : u2ssrrp1 : u1ss.
Definizione 6.15 (Configurazione) Dato un termine t P lΛ8 e σ una lista di sostituzioni, la coppia pt, σ q è detta configurazione. Una configurazione
si denota con c.
Su ogni configurazione si hanno le seguenti regole di riscrittura:
- pS rpλp.tqus, σσ 1 q Ñm pS rtru{pl ss, σ rrp : ussσ 1 q dove u
variabile non-lineare di p compare in σ 1 ;
- pt, σ rx : usσ 1 q Ñe
p e nessuna
prtru{xss, σru{xsσ1q.
dove S è un contesto debole.
Quindi, quando un redesso è focalizzato (Definizione 6.5), la parte lineare delle sostituzioni è eseguita immediatamente, mentre la parte non-lineare viene
mantenuta nella lista di sostituzione ed eseguita successivamente. Infatti, si
ha che t Ñs t1 implica pt, σ q Ñm Ñe pt1 , σ 1 q per ogni σ con σ 1 ottenuta da σ
come visto.
Si denota con Ñc :Ñm Y Ñe .
Definizione 6.16 (Sequenza di riduzioni normale) Una sequenza di riduzione c Ñ c1 è normale se si può decomporre in c Ñm Ñe c1
Si verifica facilmente che in lΛs8 , i passi di riduzione Ñe possono sempre
essere postposti: ovvero se t P lΛs8 e pt, σ q Ñe c1 Ñm c1 , allora esiste c2 tale
che pt, σ q Ñm c2 Ñe c1 .
D’ora in avanti si assume che tutte le occorrenze di λ alla profondità 0 in
un termine t legano variabili distinte. Dal momento che il calcolo è affine tale
caratteristica si mantiene anche dopo ogni passo di riduzione Ñs . Questo ci
da un modo implicito per tenere traccia dei residui durante una riduzione:
un’occorrenza xi in t1 è necessariamente il residuo (unico) di xi in t, se t Ñs t1 .
Definizione 6.17 (Arità) Sia x una variabile legata alla box-profondità 0
di t P lΛs0
8 , cioè esiste λp.u „ t tale che x P p e dλp.u ptq 0.
Sia X ti P N|xi è libera in uu. L’ arità di x in t, denotata con ∇t pxq, è
definita come segue:
• se X è finito, allora ∇t pxq : maxpX q
• se X è infinito, allora esiste un’unica box u „ u che contiene tutte le
occorrenze di x ma in numero finito, più precisamente esiste h P N tale
che xi è contenuta in u per ogni i ¤ k, dunque si ha ∇t pxq : k.
CAPITOLO 6. IL λ-CALCOLO INFINITARIO È ELEMENTARE
77
Definizione 6.18 (Grandezza potenziale di c) Date due variabili x e y
tali che σ σ1 ry : vsσ2 rx : usσ3 ed esistono infinite occorrenze
° di x in
v, si indica con x œσ y. Data c : pt, σ q, si definisce µc pxq : xœσ y ∇t py q.
Sia σ rx1 : u1 s . . . rxn : un s. Allora la grandezza potenziale di c a
profondità j, con j ¥ 1 è definita come segue
n
¸
rcsj : |t|j
µc pxk q|uk |j .
k 1
Lemma 6.19 Sia t P lΛs0
8 e t Ñs t1 , allora
per ogni 1 ¤ j
¤ dptq.
|t1|j ¤ |t|j |t|1|t|
0
Dimostrazione:
Si considera una sequenza normale pt, σ q Ñm pt1 , σ1 q Ñe pt1 , σ 1 q e si
ottiene che |t1 | ¤ |t|. Dunque si osserva che rpt1 , σ 1 qsj |t1 |j . In
particolare si può mostrare che c1 Ñe c2 implica rc1 sj ¤ rc2 sj . Dunque
la grandezza potenziale di pt1 , σ1 q limita la grandezza alla fine della
riduzione. Si conclude osservando che la grandezza potenziale verifica
il limite del lemma. l 1
Teorema 6.20 Sia t P lΛs0
8 e t Ñ t con l P N, allora
|t1| ¤ 2d|tp|tq #
|t| p q
d t
2|t|
2
se d(t)=0
1
altrimenti
ovvero il λ-calcolo infinitario stratificato è elementare.
Dimostrazione:
Si procede per induzione sul numero dei passi di riduzione ù.
t Ñls1 t1 si possono avere due casi:
1. t1 t1 : per il Lemma 6.19 si ha |t1 |j
|t|
segue che |t1 | ¤ |t||t|1 0 ;
¤ |t|j |t|1|t|
0
per ogni j
2. t1 u: si ha quindi che t1 ù t2 Ñl2 t1 con l 1
applicando l’ipotesi induttiva sulla riduzione di t2 si ha
l1
¡ 0,
l2 ,
|t1| ¤ 2d|tpt| q
per il Lemma 6.11 si ha dpt2 q dpt1 q 1 ¤ dptq 1.
Più in generale, |t2 |j |t1 |j 1 per ogni j, quindi si ha che |t2 | °dpt q
j 0 |t1 |j 1 ¤ |t1 | ¤ |t|, quindi si ha la tesi. 2
2
1
Appendice A
Spazi Metrici
Definizione A.1 (Metrica) Dato un insieme X, si dice metrica (o distanza) in X una funzione d che ad ogni coppia di punti x, y diX associa un
numero dpx, y q con le seguenti proprietà:
1. dpx, y q ¥ 0, in particolare dpx, y q 0 se e solo se x y
2. dpx, y q dpy, xq
3. dpx, y q ¤ dpx, z q
lare)
dpz, y q per ogni x, y, z
P X ( disuguaglianza triango-
La coppia pX, dq si chiama spazio metrico.
Osservazione: In un insieme si possono definire più metriche e in generale
metriche diverse definite nello stesso spazio X identificano spazi metrici diversi.
Su un insieme X è sempre possibile introdurre una distanza discreta
dpx, y q "
0 se x y
1 se x y
Tramite la distanza, in uno spazio metrico si possono definire dischi aperti.
Definizione A.2 (Disco Aperto) Dato un punto x0
0,
si dice disco aperto di centro x0 e raggio r l’insieme
P X e un intero r ¡
Dpx0 , rq tx P X : dpx, x0 qxru
Definizione A.3 (Insieme Aperto) Un sottoinsieme di X si dice aperto
(rispetto alla distanza d) se è unione di dischi aperti.
78
APPENDICE A. SPAZI METRICI
79
X e i suoi dischi aperti sono particolari aperti di X.
Definizione A.4 (Distanza Ultrametrica) Si definisce distanza ultrametrica una distanza ottenuta sostituendo la disuguaglianza triangolare con la
seguente
dpx, y q ¤ maxtdpx, z q
dpz, y qu se per ogni x, y, z
PX
detta disuguaglianza ultrametrica. In questo caso la coppia pX, dq costituisce
uno Spazio Ultrametrico.
È facile vedere come la disuguaglianza ultrametrica implichi quella triangolare, ma non viceversa.
Definizione A.5 (Distanze Topologicamente Equivalenti) Due distanze d1 , d2 definite sullo stesso insieme X si definiscono topologicamente equivalenti se definiscono gli stessi insiemi aperti.
Dato uno spazio metrico pX, dq e un intero r ¡ 0 si può definire, per esempio,
una nuova distanza a partire da d topologicamente equivalente:
dr px, y q : rdpx, y q. Per r 1 le due distanze sono diverse e identificano gli
stessi aperti.
Con la distanza di uno spazio metrico si possono dare nuove definizioni
di contiunuità, convergenza etc . . .
Definizione A.6 (Chiusura di un insieme) In uno spazio metrico
” X si
defisce la chiusura di un insieme E „ X come l’insieme E E δE, o
equivalentemente come l’intersezione degli insiemi chiusi che contengono E.
Teorema A.1 Un punto x appartiene a E se e solo se è limite di una
successione xn di punti di E.
Un particolare interesse hanno gli insiemi densi, cioè gli insiemi E la cui
chiusura è tutto lo spazio X.
Definizione A.7 (Successione Convergente) Sia X uno spazio metrico
e xn una successioni di valori in X. Si dirà che xn converge a x0 se per ogni
¡ 0 esiste un ν tale che per ogni n ¡ ν si ha dpxn , x0 q .
Definizione A.8 (Successione di Cauchy) Sia X uno spazio metrico e
xn una successioni di valori in X. Si dirà che xn è di Cauchy se per ogni
¡ 0 esiste un ν tale che per ogni n, m ¡ ν si ha dpxn , xm q .
APPENDICE A. SPAZI METRICI
80
Utilizzando la disuguaglianza triangolare, si vede facilmente che ogni successione convergente è di Cauchy. Il viceversa in generale non è vero, ma
dipende dallo spazio metrico.
Definizione A.9 (Spazio Completo) Uno spazio metrico X si dice completo se ogni successione di Cauchy in X è convergente.
Teorema A.2 Uno spazio metrico X è completo se e solo se l’intersezione
di una qualsiasi successione C1  C2  . . .  Cn  . . . di insiemi chiusi non
vuoti, con diametro che tende a zero, è costituita da un solo punto.
Definizione A.10 (Funzione Continua) Sia f : X Ñ Y un’applicazione
tra due spazi metrici con distanze rispettivamente dX e dY , f si dice continua
in x P X se
per ogni ¡ 0 esiste δ
¡ 0 : dY pf pxq, f pyqq per ogni y P Y tale che dX px, y q δ .
In particolare, f si dice continua se lo è per ogni x P X
Definizione A.11 (Omeomorfismo) Sia f : X Ñ Y un’applicazione biettiva tra spazi metrici, allora f si dice omeomorfismo se è continua e anche
la sua inversa lo è.
Due spazi metrici X, Y si dicono omeomorfi se esiste un omeomorfismo di
uno sull’altro.
In particolare, l’omeomorfismo definisce una relazione di equivalenza tra spazi
metrici.
Appendice B
Spazi Topologici
Definizione B.1 (Struttura Topologica) Si definisce una struttura topologica o topologia su X, con X ∅, una famiglia non vuota τ di sottoinsiemi di X, detti insiemi aperti della topologia, tali che:
1. ∅, X sono aperti
2. l’unione di una qualsiasi famiglia di insiemi aperti è un aperto
3. l’intersezione di due insiemi aperti è un aperto
La coppia pX, τ q è detta spazio topologico e i suoi elementi punti. L’insieme
X si dice supporto dello spazio topologico pX, τ q.
Dato uno spazio metrico pX, dq si può sempre costruire una topologia
su X considerando la famiglia di aperti rispetto a d, tale topologia si dice
topologia indotta da d.
La famiglia B tX, ∅u è una topologia per ogni X ∅, è detta topologia
banale e pX, B q spazio topologico banale.
Considerando aperto ogni sottoinsieme di X e prendendo τ P pX q si ottine
la topologia discreta e pX, P pX qq è lo spazio topologico discreto.
Definizione B.2 (Spazio Topologico Metrizzabile) Uno spazio topologico pX, τ q è metrizzabile se esiste una distanza su X che induce τ .
Se uno spazio topologico è metrizzabile, la distanza che induce la topologia
non è univocamente determinata.
Osservazione: Non tutti gli spazi topogici sono metrizzabili: per esempio
quelli a supporto finito e non discreto, in quanto ogni spazio metrizzabile finito è discreto.
81
APPENDICE B. SPAZI TOPOLOGICI
82
Definizione B.3 (Topologia Indotta) Sia X uno spazio metrizzabile da
dX , Y „ X con dY restrizione di dX a Y , allora la topologia indotta da dY
su Y è detta topologia indotta da X su Y .
Definizione B.4 (Base di una topologia) Sia τ una topologia su un insieme non vuoto X. Una base di τ è una famiglia di aperti B „ τ tali che
ogni aperto di τ sia un unione di aperti di B, ovvero
per ogni aperto A di X e per ogni punto x P A esiste B
x P B „ A.
P B tale che
Se B è una base per τ , dati due insiemi qualsiasi A, B P B la loro intersezione
è un aperto ed è quindi unione di elementi di B. Anche X essendo aperto è
unione di elementi di B.
Definizione B.5 (Topologia Prodotto) Dati due spazi X1 , X2 con topologia rispettivamente τ1 , τ2 . Si considera il prodotto cartesiano X X1 xX2
e la famiglia di sottoinsiemi
B
tA1xA2 : A1 P τ1, A2 P τ2u
con
A1 , A2
aperti
che è sia un ricoprimento per X ma, si vede facilmente, è anche base di
un’unica topologia τ su X per la prop1osizione.
Allora τ è detta topologia prodotto su X.
pX, τ q si chiama spazio topologico prodotto di X1 per X2.
Si consideri una famiglia qualsiasi tXs usPS di spazi topologici con topologie
rispettivamente τs , s P S, e il prodotto cartesiano
X
¹
P
Xs
tf : S Ñ
s S
¤
P
Xs |f psq P Xs , s P S u
s S
Si definisce la t-esima proiezione l’applicazione
pt : X
Ñ Xt
con pt pf q f ptq
Definizione B.6 (Topologia della Convergenza Puntuale) Considerando
S pa, bq un intervallo aperto di R e Y R. Allora X Rpa,bq è l’insieme
delle funzioni a valori reali definite in pa, bq. La topologia prodotto in R si
chiama topologia della convergenza puntuale, in quanto è una topologia per
cui si ha:
esiste il limite della successione tfn unPN
„ X in τ ðñ
per ogni x P pa, bq la successione tfn pxqunPN ha un limite.
APPENDICE B. SPAZI TOPOLOGICI
83
Definizione B.7 (Filtro) Sia X un insieme, una famiglia F di parti di X
si dice filtro se soddisfa le seguenti prop1rietà:
(i) per ogni U
(ii) se U
(iii)
PF
PF
e U1
… U si ha W P F
allora anche U X U 1 P F
eW
PF
HRF
Definizione B.8 (Uniformità diagonale) Si definisce uniformità diagonale ∆ su X un filtro U di XxX tale che
(i) ∆ tpx, xq|x P X u „ U per ogni U
(ii) se U
PU
PU
P U , dove U 1 tpy, xq|px, yq P U u
P U tale che V 2 tpx, yq| esiste z P X
allora anche U 1
(iii) per ogni U P U esiste V
px, zq, pz, yq P V u „ U
:
Ogni elemento di U è detto entourage.
Definizione B.9 (Spazio Uniforme) Uno spazio definito da una base di
entourages si dice uniforme se è chiuso rispetto all’unione e all’intersezione.
Ogni spazio uniforme si può dotare di una topologia, definendo come aperto
qualunque sottoinsieme A tale che per ogni x P A esiste un entourage U P U
per cui
U rxs ty |px, y q P U u „ A
Definizione B.10 (Uniformità Metrica) Dato uno spazio metrico pX, dq,
si definisce la sua uniformità metrica il filtro generato da
Ur
tpx, yq P XxX |dpx, yq ru
Definizione B.11 (Insieme Denso) Unn sottoinsieme D di uno spazio
topologico X si dice denso nello spazio se ogni elemento dello spazio appartiene all’insieme o ne è punto di accumulazione, in particolare se D X.
Appendice C
Topologia di Scott
Originariamente Scott definı̀ la sua topologia su reticoli completi. Questa
definizione generalizza immediatamente gli ordini parziali completi.
Definizione C.1 Sia pD, „q un poset (insieme parzialmente ordinato) con
„ riflessiva, allora si definisce:
(i) un sottoinsieme X
– X
H
– per ogni x, y
„ D è diretto se
P X esiste z P X tale che x „ z, y „ z
(ii) D è un cpo (ordine parziale completo) se
– esiste un elemento minimo
K < x. K si dice bottom
– per ogni X
K P D, cioè tale che per ogni x P D
„ D diretto esiste il massimo — X P D
Definizione C.2 (Reticolo Completo) Un reticolo completo è un poset
in cui ogni X „ D ha un massimo.
Osservazione: Ogni reticolo completo è un cpo, dal momento che
K —H
Definizione C.3 (Topologia di Scott) Sia pD, „q un cpo, la topologia di
Scott su D è definita come segue:
un insieme O „ D è aperto se
• x P O e x < y implica y
•
—
X
PO
P O, con X „ D diretto implica X X O H
84
APPENDICE C. TOPOLOGIA DI SCOTT
85
La caratterizzazione delle funzioni continue è la principale ragione per cui si
introduce la topologia di Scott.
1 una mappa, con pD, <q, pD1 , <1 q cpo.
Proposizione C.1 Sia f : D Ñ D—
—
Allora f è continua se e solo se f p X q f pX q per ogni X „ D diretto,
dove f pX q tf pxq|x P X u.
Proposizione C.2 Dati pD, <q, pD1 , <1 q cpo. Sia DxD1 il prodotto cartesiano parzialmente ordinato da
xx, x1y < xy, y1y se e solo se x < y, x1 < y1
1
Allora
— DxD
— è un cpo dove, per un sottoinsieme diretto X
x X0, X1y in cui
X0
tx P D| esiste x1 P D1, xx, x1y P X u,
X1
„ DxD1, — X tx1 P D1| esiste x P D, xx, x1y P X u.
In generale, la topologia su DxD1 non è il prodotto delle topologia su D e
D1 .
Definizione C.4 Siano dati pD, <q, pD1 , <1 q cpo. Si definisce
rD Ñ D1s tf : D Ñ D1|f è continuau
Tale insieme può essere ordinato parzialmente puntualmente:
f < g se e solo se per ogni x P D
Si ottiene quindi che rD
particolare:
f pxq <1 g pxq
Ñ D1s è un poset per ogni pD, <q, pD1, <1q cpo.
In
Proposizione C.3 rD Ñ D1 s è un cpo con il massimo un insieme diretto
F „ rD Ñ D1 s definito da
§
p
F qpxq §
tf pxq|f P F u
Proposizione C.4 (Continuità dell’applicazione) Ap : rDxD1 sxD
D con Appf, xq f pxq è continua.
Ñ
Proposizione C.5 (Continuità dell’astrazione) Sia fppxq λy.f px, y q P
D1 con f P rDxD1 Ñ D2 s, allora
(i) fp è continua, cioè fp P rD
(ii)
Ñ rD1 Ñ D2ss
λf.fp : rDxD1 Ñ D2 s Ñ rD Ñ rD1 Ñ D2 ss è continua.
Bibliografia
[1] Appunti del corso di ”Tipi e logica lineare” tenuto dal professor Abrusci
nell’anno accademico 20012/2013.
[2] Arnold A., Nivat M.: The Metric Space of infinite trees. Algebraic and
topological proprerties, Fundation Information 3(4), (445-476), 1980.
[3] Baillot P., Terui K.: A feasible algorithm for typing in Elementary Affine
Logic, Lecture Notes in Computer Science Volume 3461, pp 55-70, 2005
[4] Barendregt H. P.: The Lambda Calculus, North Holland, 1984.
[5] Church, A.: A set of postulates for fondation of logic, Annals of
Mathematics, 1932
[6] Church A.: A Formulation of the Simple Theory of Types, JSL 5, 1940
[7] Curry H.B., Feys R.: Combinatory Logic, volume 1, Olanda, 1958
[8] De Bruijn N.G.: Lambda calculus notation with nameless dummies,
Indagat. Math.34, (95-169), 1972.
[9] Girard J.Y.: Proof and types, Cambridge, Cambridge University Press,
1989
[10] Girard J.Y.: From foundation to ludics, Bulletin of Symbolic Logic, 9(2),
2003
[11] Girard J. Y.: The Blind Spot, Zurigo, European Mathematicall Society,
2011
[12] Giusti E.: Analisi Matematica 1, Bollati Boringhieri, 1985
[13] Giusti E.: Analisi Matematica 2, Bollati Boringhieri, 1985
[14] Harrison J.: Introduction to Functional Programming, 1997
86
BIBLIOGRAFIA
87
[15] Howard W. A.: The formulae-as-types notion of construction in To H. B.
Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism,
J. P. Seldin and J. R. Hindley (ed), pp. 479-490, Academic Press, 1980
[16] Kalmàr L.: Ein einfaches Beispiel für ein unentscheidbares arithmetisches Problem, Mat. Fiz. Lapok, 50:1-23, 1943
[17] Krivine J.L.:Lambda-calcul, types et modles, Masson, Paris, 1990
[18] Mazza D.: An Infinitary Affine Lambda-Calculus Isomorphic to the
Full Lambda-Calculus, Proceedings of the 27th Annual ACM/IEEE
Symposium on Logic In Computer Science, LICS, 2012
[19] Mazza D.:Non-Uniform Polytime Computation in the Infinitary Affine
Lambda-Calculus, Proceedings of ICALP, 2014
[20]
[21] Sernesi E.: Geometria 2, Bollati Boringhieri, 1994
[22] Terui K.: Computational ludics, Theoretical Computer Science, 412(20),
(2048-2071), 2011
Fly UP