Extensionalidad de los modelos de cálculo lambda


11

Estoy traduciendo un libro sobre LISP y, naturalmente, toca algunos elementos del cálculo . Entonces, una noción de extensionalidad se menciona allí junto con algunos modelos de cálculo λ , a saber: P ω y D (sí, con el infinito en la parte superior). Y se dice que P ω es extensional mientras que D no lo es.λλPωDPωD

Pero ... Estaba mirando el cálculo Lambda de Barendregt , su sintaxis y semántica , y (con suerte, correctamente) leí exactamente lo contrario: no es extensional, D ∞ sí .PωD

¿Alguien sabe acerca de ese extraño modelo ? ¿Podría ser el mismo modelo que D , pero escrito erróneamente? ¿Estoy en lo cierto acerca de la extensionalidad de los modelos?DD

Gracias.


¿Te importaría dar contexto al libro LISP? ¿Tiene referencias para los resultados o los modelos a los que se refiere?
cody

1
Sí, es LISP de Christian Queinnec en Small Pieces , p. 153. El extracto con la mención: [...] desde entonces, las propiedades se han ampliado de varias maneras diferentes, produciendo varios modelos diferentes: o P ω en [Sco76, Sto77]. [...] Curiosamente, P ω es extensional porque dos funciones que calculan lo mismo en todos los puntos son iguales, mientras que D no es extensional. [...] Sco76 significa Dana Scotts tipos de datos como enrejados . Sto77 representa la Semántica Denotacional de Joseph Stoys : El Enfoque Scott-Stachey para la Teoría del Lenguaje de Programación . DPωPωD
Chris

1
¡Gracias! En ese caso, es probable que haya un error tipográfico, que representa D y que sea P ω que no sea extensional. DDPω
cody

Respuestas:


14

Supongo que por extensionalidad te refieres a la ley Si esto es lo que quiere decir entonces el modelo gráfico P ω esnoextensional, mientras que de Dana Scott D es (supongo D es el modelo de Dana Scott, del ß xi eta lambda -calculus).

(x.fx=gx)f=g.
PωDDβξηλ

Para ver esto, recuerde que es una red algebraica con la propiedad de que su espacio de mapas continuos [ P ω P ω ] es una retracción adecuada de P ω , es decir, hay mapas continuos Λ : P ω [ P ω P ω ] y Γ : [ P ω P ω ] P ω tal que Λ Γ = i d pero ΓPω[PωPω]Pω

Λ:Pω[PωPω]
Γ:[PωPω]Pω
ΛΓ=id . Dado u , v P ω , la aplicación u v se interpreta como Λ ( u ) ( v ) . Ahora tome u y u ′ de modo que u u pero Λ ( u ) = Λ ( v ) (estos existen porque Γ Λ i d ). Entonces para todos v tenemosΓΛidu,vPωuvΛ(u)(v)uuuuΛ(u)=Λ(v)ΓΛidv todavía u u . La extensión se viola.uv=uvuu

[DD]D

Λ:D[DD]
Γ:[DD]D
u,uDuv=uvvDΛ(u)(v)=Λ(u)(v)vDΛ(u)=Λ(u)u=Γ(Λ(u))=Γ(Λ(u))=u

ΓΛ=idΛΓ=idλ

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

Muchas gracias. Entonces supondré que hay un error de hecho en el libro. Eso puede ser posible, porque el libro en sí es una traducción del francés, y puede haber algunas travesuras de doble negación en ese párrafo del libro original, o algo así. Desafortunadamente, no tengo uno francés que al menos intente verificar.
Chris

El francés es irrelevante, tienes la prueba frente a tus ojos.
Andrej Bauer

λ
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.