Sei sulla pagina 1di 4

Normalizzazione Forte per il

Sistema F
Alessio Marchetti

Definizione 1 Un termine t si dice neutrale se è in una delle seguenti


forme: x, vu o vU , in cui x è una variabile, v e u sonod termini e U è un
tipo.

Definizione 2 Un candidato di riducibilità (o semplicemente candidato)


di tipo U è un insieme R di termini di tipo U per cui valgono:

(CR1) Se t ∈ R allora t è fortemente normalizzabile.


(CR2) Se t ∈ R e t0 è un termine ottenuto da una riduzione di t, cioè t t0 ,
allora t0 ∈ R.
(CR3) Se t è neutrale, e per ogni conversione di uno step di t si ottiene un
termine t0 ∈ R, allora anche t ∈ R.

Definizione 3 Dato un termine t, si definisce ν(t) come la massimo nu-


mero di step di conversione necessari a portare t in forma normale. In
particolare ν(t) = ∞ se e solo se t non è fortemente normalizzabile.

Definizione 4 Se R e S sono insiemi di termini di tipo rispettivamente U


e V , si definisce l’insieme R → S come l’insieme dei termini di tipo U → V
per cui per ogni termine u ∈ R si ha che tu ∈ S.

Lemma 5 Se R e S sono candidati per i tipi U e V , allora R → S è


candidato di tipo U → V .

Dimostrazione. Per mostrare (CR1) prendiamo t ∈ R → S e una variabile


x di tipo U . Poiché le variabili sono sia normali che che neutrali, x ∈ R
e quindi tx ∈ S. Inoltre ν(t) < ν(tx), e quindi siccome tx è fortemente
normalizzabile, anche t lo è.
Per (CR2),se t t0 , per ogni u ∈ R si ha che tu t0 u. Usando la (CR2)
0 0
su S, si ottiene che t u ∈ S. Allora t R → S.
Infine consideriamo t neutrale di tipo U → V per cui per tutte le conver-
sioni di uno step t t0 si ha che t0 ∈ R → S. Sia u ∈ R, e per induzione su
ν(u) dimostriamo che tu si riduce in uno step a termini in S. Infatti poiché
t è normale, tu si può ridurre solo a t0 u o a tu0 per opportuni termini t0 e u0 .

1
Ma il primo appartiene a S perchè t0 ∈ R → S, e il secondo ci appartiene per
ipotesi induttiva in quanto ν(u0 ) < ν(u). Per (CR3) su S allora tu ∈ S.

Definizione 6 Sia T [X] un tipo con variabili libere in X. Sia U un vettore


di tipi della stessa lunghezza e siano R dei rispettivi candidati. Possiamo
allora definire l’insieme REDT [R/X] di termini riducibili parametrici di tipo
T [U /X] nel modo seguente:

(1) Se T = Xi per qualche indice i, allora REDT [R/X] = Ri .


(2) Se T = V → U , allora REDT [R/X] = REDV [R/X] → REDW [R/X].
(3) Se T = ΠY.W , allora REDT [R/X] è l’insieme dei termini t di tipo
[U /X] tali che per ogni tipo V e per ogni candidato S di tale tipo vale
che tV ∈ REDW [R/X][S/Y ].

Lemma 7 REDT [R/X] è un candidato di riducibilità di tipo T [U /X].

Dimostrazione. Lo facciamo per induzione sulla complessità del tipo T . Il


caso in cui T è una variabile individuale, il teorema è una tautologia. Il
caso in cui T = V → W lo abbiamo già fatto. Manca solo il caso in cui
T = ΠY.W .
Verifichiamo (CR1). Sia t ∈ REDT [R/X], V un tipo e S un suo can-
didato. Allora tV ∈ REDW [R/X][S/Y ] per definizione. Usando l’ipotesi
induttiva sul tipo W si ha che tV è fortemente normalizzabile. Ma vale
anche che ν(t) < ν(tV ). Quindi anche t è fortemente normalizzabile.
Per (CR2), supponiamo di avere t t0 con uno step di conversio-
ne. Allora, tV 0 0
t V , per cui t V ∈ REDW [R/X][S/Y ] e quindi t0 ∈
REDT [R/X].
Infine, per (CR3), consideriamo t un qualunque termine di tipo T neu-
trale. Supponiamo che per ogni t0 ottenuto dalla conversione di t in un
singolo step si abbia t0 riducibile parametrico. Allora per ogni tipo V e re-
lativo condidato S, le uniche conversioni di tV sono della forma tV t0 V .
Usando l’ipotesi induttiva allora anche tV è riducibile parametrico, e quindi
si ha la tesi.

Lemmma 8 Sia T un tipo con variabili libere Y e X e V un tipo. Siano R


candidati per X. Allora vale che REDT [V /Y ] [R/X] = REDT [R/X][REDV [R/X]/Y ].

Dimostrazione. Come prima, facciamo un’induzione sulla complessità del


tipo T . Per comodità, usiamo l’abbreviazione A = REDV [R/X].
Iniziamo con il caso in cui T = Z è una variabile individuale diversa da
Y . Allora vale che

REDT [V /Y ] [R/X] = REDZ [R/X] = REDZ [R/X][A/Y ].

2
Se invece T = Y si ha che

REDT [V /Y ] [R/X] = REDV [R/X] = REDY [R/X][[V /[R/X]]/Y ].

Consideriamo ora il caso in cui T = U → W . Vale che

REDT [V /Y ] [R/X] =REDU [V /Y ]→W [V /Y ] [R/X] =


REDU [V /Y ] [R/X] → REDW [V /Y ] [R/X] =
REDU [R/X][A/Y ] → REDW [R/X][A/Y ] =
REDU →W [R/X][A/Y ].

Sia Z come prima e svolgiamo il caso T = ΠZ.W . Per definizione,


REDΠZ.W [V /Y ] [R/X] è l’insieme di tutti i termini t per cui per ogni tipo U
e relativo candidato S vale che

tU ∈ REDW [V /Y ] [R/X][S/Z] = REDW [R/X][S/Z][A/Y ].

Dunque si ottiene la tesi per la definizione di REDΠZ.W .


Infine il caso in cui T = ΠY.W è semplice perchè Y non occorre libera
in T .

Lemma 9 Se per ogni tipo V e per ogni candidato di riducibilità S per


V vale che w[V /Y ] ∈ REDW [R/X][S/Y ], allora ΛY.w ∈ REDΠY.W [R/X].

Dimostrazione. Dimostriamo per induzione su ν(w) che tutte le conversioni


in uno step di (ΛY.w)V sono in REDW [R/X][S/Y ]. Una conversione di tali
conversioni possono essere soltanto di due forme. La prima è (ΛY.w0 )V , con
w0 una conversione di w. Ma allora ν(w0 ) < ν(w) e si usa l’ipotesi induttiva.
La seconda forma è del tipo w[V /Y ], e questa è riducibile parametrico per
ipotesi del lemma.
Allora la dimstrazione si conclude per (CR3).

Lemma 10 Se t ∈ REDΠY.W [R/X], allora tV ∈ REDW [V /Y ] [R/X] per


ogni tipo V .

Dimostrazione. Per la definizione di REDΠY.W , per ogni candidato S per V


vale che tV ∈ REDW [R/X][S/Y ]. Allora vale anche per S = REDV [R/X]
e la tesi segue per il lemma XXX.

Lemma 11 Se per ogni u ∈ REDU [R/X] vale che v[u/x] ∈ REDV [R/X],
allora λxU .v ∈ REDU →V [R/X].

3
Dimostrazione. Dimostriamo per induzione su ν(u) + ν(v) che tutte le con-
versioni di (λxU .v)u sono riducibili parametrici. Infatti tale termine si con-
verte in (λxU .v)u0 , con u0 conversione di u, oppure in (λxU .v 0 )u con v 0
conversione di v, oppure in v[u/x]. I primi due casi si risolvono con l’ipotesi
induttiva, il terzo con l’ipotesi del lemma.
Infine il teorema si dimostra per la proprietà (CR3).

Definizione 12 Un termine t di tipo T è riducibile se è in REDT [SN /X]


dove X1 , . . . , Xm sono le variabili libere di T e SN i è l’insieme dei termini
fortemente normalizzabili di tipo Xi .

Proposizione 13 Sia t un termine di tipo T le cui variabili libere sono


x1 , . . . , xn di tipo rispettivamente U1 , . . . , Un . Supponiamo che le variabi-
li libere dei tipi T e di tutti gli Ui siano X1 , . . . , Xm . Siano R1 , . . . , Rm
candidati di riducibilità per dei tipi V1 , . . . , Vm e siano inoltre u1 , . . . , un ter-
mini di tipo U1 [V /X], . . . Un [V /X] presi nei rispettivi REDUi [R/X]. Allora
t[V /X][u/x] ∈ REDT [R/X].

Dimostrazione. Per induzione sulla complessità di t. Distinguiamo allora i


seguenti casi:

(i) t = xi . Questo caso è una tautologia.


(ii) t = wv, con w di tipo W → T e v di tipo W . Per ipostesi indut-
tiva vale che w[V /X][u/x] ∈ REDW →T [R/X] e che v[V /X][u/x] ∈
REDW [R/X]. In questo caso la tesi segue dalla definizione di REDW →T .
(iii) t = wS. Questo caso è una diretta conseguenza del lemma XXX
sull’istanziazione.
(iv) t = ΛZ.Y . Questo discende dal lemma XXX sulla generalizzazione.
(v) t = λy P .w. Questo caso si fa con il lemma XXX sui tipi freccia.

Proposizione 14 Tutti i termini del sistema F sono riducibili.

Dimostrazione. Basta usare la proposizione precedente e prendere Ri =


SN i e ui = xi .

Teorema 15 Tutti i termini del sistema F sono fortemente normalizzabili.