Rozległość modeli rachunku lambda


11

Tłumaczę książkę na temat LISP i oczywiście dotyka ona niektórych elementów rachunku. Zatem wzmiankowane jest pojęcie ekstensywności wraz z niektórymi modelami λ- rachunku, a mianowicie: P ω i D ∞ (tak, z nieskończonością u góry). I mówi się, że P ω jest ekstensjonalny podczas D ∞ nie jest.λλPωD∞PωD∞

Ale ... Patrzyłem na rachunek Lambda Barendregta , jego składnię i semantykę , i (mam nadzieję, poprawnie) przeczytałem dokładnie odwrotnie: nie jest ekstensywne, D ∞ jest.PωD∞

Czy ktoś wie o tym dziwnym modelu ? Czy może to być ten sam model co D ∞ , ale błędnie napisany? Czy mam rację co do ekstensywności modeli?D∞D∞

Dzięki.


Czy mógłbyś podać kontekst dla książki LISP? Czy zawiera odniesienia do wyników lub modeli, do których się odnosi?
— cody

1
Tak, to LISP Christian Queinnec in Small Pieces , str. 153. Fragment ze wzmianką: [...] Od tego czasu właściwości zostały rozszerzone na kilka różnych sposobów, tworząc kilka różnych modeli: lub P ω w [Sco76, Sto77]. [...] o dziwo, P ω jest ekstensjonalny ponieważ dwie funkcje, które obliczają to samo w każdym punkcie są równe, natomiast D ∞ nie jest ekstensjonalny. [...] stoi Sco76 dla Dana Scotts' typów danych, jak Gratki . Sto77 oznacza Denotational Semantics Josepha Stoysa : The Scott-Stachey Approach to Programming Language Theory . D∞PωPωD∞
— Chris

1
Dzięki! W takim przypadku prawdopodobne jest, że wystąpiła literówka, że oznacza D ∞ i że to P ω nie jest ekstensywne. D∞D∞Pω
— cody

Odpowiedzi:


14

Zakładam, że przez ekstensywność rozumiesz prawo Jeśli to jest to, co masz na myśli następnie model wykres P ω jestnieekstensjonalny, natomiast Dana Scotta D ∞ jest (jak mniemam D ∞ jest modelem Dana Scotta z beta Ę r | X -calculus).

(∀x.fx=gx)⟹f=g.
PωD∞D∞βξηλ

Aby to zobaczyć, przypomnij sobie, że jest siecią algebraiczną z tą właściwością, że jej przestrzeń ciągłych map [ P ω → P ω ] jest właściwym wycofaniem P ω , tzn. Istnieją ciągłe mapy Λ : P ω → [ P ω → P ω ] i Γ : [ P ω → P ω ] → P ω tak, że Λ ∘ Γ = i d ale ΓPω[Pω→Pω]Pω

Λ:Pω→[Pω→Pω]
Γ:[Pω→Pω]→Pω
Λ∘Γ=id . Biorąc pod uwagę u , v ∈ P ω , aplikacja u v jest interpretowana jako Λ ( u ) ( v ) . Teraz weź u i u ′ tak, że u ≠ u ′, ale Λ ( u ) = Λ ( v ) (istnieją, ponieważ Γ ∘ Λ ≠ i d ). Zatem dla wszystkich v mamyΓ∘Λ≠idu,v∈PωuvΛ(u)(v)uu′u≠u′Λ(u)=Λ(v)Γ∘Λ≠idv jeszcze u ≠ u ′ . Przestępczość jest naruszona.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)
β

Wielkie dzięki. Zakładam więc, że w książce jest błąd faktyczny. Może to być możliwe, ponieważ sama książka jest tłumaczeniem z języka francuskiego, aw tym akapicie oryginalnej książki może być kilka podwójnych negacji. Niestety nie mam francuskiego, żeby przynajmniej spróbować sprawdzić.
— Chris

Francuski nie ma znaczenia, masz dowód przed oczami.
— Andrej Bauer,

λ
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.