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ωD∞Pω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?D∞D∞

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 . D∞Pω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. D∞D∞Pω
— 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ωD∞D∞βξηλ

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,v∈PωuvΛ(u)(v)uu′u≠u′Λ(u)=Λ(v)Γ∘Λ≠idv todavía u ≠ u ′ . La extensión se viola.uv=uv′u≠u′

[D∞→D∞]D∞

Λ:D∞→[D∞→D∞]
Γ:[D∞→D∞]→D∞
u,u′∈D∞uv=u′vv∈D∞Λ(u)(v)=Λ(u′)(v)v∈D∞Λ(u)=Λ(u′)u=Γ(Λ(u))=Γ(Λ(u′))=u′

Γ∘Λ=idΛ∘Γ=idλ

λX.u(X)=Γ(v↦u(v))
u(X)Xvu(v)λλX.u(X)ΓΛ∘Γ=id
(λX.u(X))w=Λ(Γ(v↦u(v)))(w)=(v↦u(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.