Estensione dei modelli di calcolo lambda


11

Sto traducendo un libro su LISP e naturalmente tocca alcuni elementi del calcolo . Quindi, una nozione di estendibilità è menzionata lì accanto ad alcuni modelli di -calculus, vale a dire: e (sì, con l'infinito in alto). E si dice che sia estensivo mentre no.λλPωDPωD

Ma ... stavo guardando attraverso il Lambda Calculus di Barendregt , è sintassi e semantica , e (si spera, correttamente) leggevo esattamente il contrario: non è estensivo, è.PωD

Qualcuno sa di quello strano modello ? Potrebbe essere lo stesso modello di , ma scritto erroneamente? Ho ragione sull'estensione dei modelli?DD

Grazie.


Ti dispiacerebbe dare un contesto per il libro LISP? Ha riferimenti per i risultati o i modelli a cui si riferisce?
cody

1
Sì, è LISP in Piccoli pezzi di Christian Queinnec , p. 153. L'estratto con la menzione: [...] Da allora, le proprietà sono state estese in diversi modi, producendo diversi modelli: o P ω in [Sco76, Sto77]. [...] Stranamente, P ω è un'estensione perché due funzioni che calcolano la stessa cosa in ogni punto sono uguali, mentre D non è un'estensione. [...] Sco76 sta per Tipi di dati di Dana Scotts come reticoli . Sto77 è l'acronimo di Joseph Stoys 'Denotational Semantics: The Scott-Stachey Approach to Programming Language Theory . DPωPωD
Chris

1
Grazie! In quel caso è probabile che ci fosse un refuso, che sta per D e che è P ω che non è estensivo. DDPω
cody

Risposte:


14

Presumo che per estensione si intenda la legge Se questo è quello che vuoi dire allora il modello grafico P ω ènonestensionale, mentre Dana Scott D è (presumo D è modello della Dana Scott ß ξ η À -calcolo).

(X.fX=gX)f=g.
PωDDβξηλ

Per vedere ciò, ricorda che è un reticolo algebrico con la proprietà che il suo spazio di mappe continue [ P ω P ω ] è una retrazione corretta di P ω , cioè ci sono mappe continue Λ : P ω [ P ω P ω ] e Γ : [ P ω P ω ] P ω tale che Λ Γ = i d ma ΓPω[PωPω]Pω

Λ:Pω[PωPω]
Γ:[PωPω]Pω
ΛΓ=iod . Dato u , v P ω , l'applicazione u v viene interpretata come Λ ( u ) ( v )tale che u u ' ma Λ ( u ) = Λ ( v ) (questi esistono perché y Λ i d ). Quindi per tutti i v che abbiamoΓΛiodu,vPωuvΛ(u)(v). Ora prendete e u 'uu'uu'Λ(u)=Λ(v)ΓΛiodv ancora u u . L'estensione è violata.uv=uv'uu'

Al contrario, è isomorfo a D , cioè ci sono mappe continue Λ : D [ D D ] e Γ v per tutto v D . Ciò significa che Λ ( u ) ( v ) = Λ ( u ) ( v ) per tutti v[DD]D

Λ:D[DD]
che sono inverse di ciascun altro. Quindi considera qualsiasi u , u D e supponi che u v = u
Γ:[DD]D
u,u'Duv=u'vvDΛ(u)(v)=Λ(u')(v) , quindivD e quindi u = Γ ( Λ ( u ) ) = Γ ( Λ ( u )Λ(u)=Λ(u') . L'estensione è stabilita.u=Γ(Λ(u))=Γ(Λ(u'))=u'

ΓΛ=iodΛΓ=iodλ

λX.u(X)=Γ(vu(v))
u(X)Xvu(v)λλX.u(X)ΓΛΓ=iod
(λX.u(X))w=Λ(Γ(vu(v)))(w)=(vu(v))(w)=u(w)
β

Grazie mille. Quindi supporrò che ci sia un errore di fatto nel libro. Ciò potrebbe essere possibile, perché il libro stesso è una traduzione dal francese e potrebbero esserci degli shenanigans doppia negazione in quel paragrafo del libro originale, o qualcosa del genere. Sfortunatamente, non ne ho uno francese da provare almeno a controllare.
Chris,

Il francese è irrilevante, hai la prova davanti ai tuoi occhi.
Andrej Bauer,

λ
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.