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ωDPω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?DD

Dzięki.

Chris
źródło
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 . DPω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. DDPω
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ωDDβξηλ

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,vPωuvΛ(u)(v)uuuuΛ(u)=Λ(v)ΓΛidv jeszcze u u . Przestępczość jest naruszona.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)
β
Andrej Bauer
źródło
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,
λ