La prova di Barendregt di riduzione del soggetto per


12

Ho riscontrato un problema nella prova di riduzione del soggetto di Barendregt (Thm 4.2.5 dei calcoli Lambda con i tipi ).

L'ultimo passaggio della prova (pagina 60) dice:

"e quindi da Lemma 4.1.19 (1), ."Γ,x:ρP:σ

Tuttavia, secondo Lemma 4.1.19 (1) dovrebbe essere , poiché la sostituzione viene effettuata all'intero contesto, non solo a .Γ[α:=τ],x:ρP:σx:ρ

Immagino che la soluzione standard potrebbe essere quella di dimostrare in qualche modo che , ma non sono sicuro di come.αFV(Γ)

Ho avuto una prova che la semplificava rilassando il lemma della generazione delle astrazioni, ma recentemente ho scoperto che c'era un errore e la mia prova è sbagliata, quindi non sono più sicuro di come risolvere questo problema.

Qualcuno può dirmi cosa mi manca qui?


Barendregt assume la cosiddetta convenzione variabile, che i nomi delle variabili legati e nomi delle variabili libere sono standardizzati a parte , vale a dire, abbiamo implicitamente per scontato che essi sono diversi (usando -Conversione Forse questo aiuta..α
Dave Clarke

Grazie per la tua risposta. Tuttavia, non risolve il problema. Arriva a usando Lemma 4.1.19 (1) nel modo seguente: abbiamo e sappiamo che e , quindi usando quel lemma, può fare la stessa sostituzione nel contesto e il tipo inferito allo stesso tempo ... ma sostituisce solo su x: \ rho ', no tutto il contesto! E questo è il mio problema ...Γ,x:ρP:σΓ,x:ρP:σρ[α:=τ]=ρσ[α:=τ]=σ
Alejandro DC,

Risposte:


8

Penso ancora che ci sia un'imprecisione nel modo in cui usa il lemma. Tuttavia c'è una soluzione (devo ringraziare Barbara Petit che è venuta con la soluzione).

In effetti, la soluzione deriva dalla definizione di (def. 4.2.1), che è moralmente questa:

σ>ρ ifΓP:σΓP:ρ

Tuttavia, invece di definirlo in quel modo, definisce la relazione solo in termini di tipi. Il vantaggio nel definirlo in termini di sequenze è che possiamo dedurre che se , allora , che è esattamente ciò di cui ha bisogno nella dimostrazione (e da dove viene l'imprecisione).σ>α.σαFV(Γ)


Ho usato questa tecnica in un'estensione del Sistema F per il calcolo lambda-algebrico lineare. L'articolo con tutti i dettagli della prova è apparso oggi in LMCS 8 (1:11) .
Alejandro DC,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.