Розширення моделей обчислення лямбда


11

Я перекладаю книгу на LISP і, природно, вона торкається деяких елементів -calculus. Отже, поняття розширеності згадується там поряд з деякими моделями -calculus, а саме: і (так, з нескінченністю вгорі). І кажуть, що є екстенсіональним, тоді як - ні.λ P ω D P ω D λλПωDПωD

Але ... я переглянув обчислення Ламбди Барендрегта , це синтаксис і семантика , і (сподіваюся, правильно) прочитав там прямо навпаки: не є екстенсіональним, є.D ПωD

Хтось знає про ту дивну модель ? Чи може це бути та сама модель, що і , але помилково написана? Я правий щодо розширеності моделей?D DD

Дякую.


Ви не хотіли б дати контекст для книги LISP? Чи є в ньому посилання на результати чи моделі, на які вони посилаються?
коді

1
Так, це LISP Крістіана Квіненка в невеликих шматочках , с. 153. Уривок із згадкою: [...] З тих пір властивості були розширені декількома різними способами, даючи кілька різних моделей: або в [Sco76, Sto77]. [...] Як не дивно, є розширенням, оскільки дві функції, які обчислюють одну й ту саму річ у кожній точці, рівні, тоді як не є розширенням. [...] Sco76 означає типи даних Дани Скоттс як Решітки . Sto77 означає « Денотаційну семантику Джозефа Стоїса» : підхід Скотта-Стейчі до теорії мови програмування . P ω P ω D DПωПωD
Кріс

1
Дякую! У цьому випадку, ймовірно, був помилковий помилок, що означає і що не є екстенсіональним. D P ωDDПω
Коді

Відповіді:


14

Я припускаю, що під розширенням ви маєте на увазі закон Якщо це саме ви маєте на увазі, то модель графіка не є екстенсіональною, тоді як Дани Скотт (я припускаю, що - модель Дати Скотта - числення).P ω D D β ξ η λ

(х.fх=гх)f=г.
ПωDDβξηλ

Для цього згадайте, що - це алгебраїчна решітка із властивістю, що її простір безперервних карт - це правильне відведення , тобто існують безперервні карти та так, що але . З огляду на , додаток інтерпретується як . Тепер візьміть[ Р ш Р ш ] P зі | Л : Р ш [ Р ш Р ш ] Г : [ Р ш Р ш ] Р ш Л Г = я д Г Л я d U , V P ω u v Λ ( u ) ( vПω[ПωПω]Пω

Λ:Пω[ПωПω]
Γ:[ПωПω]Пω
ΛΓ=iгΓΛiгу,vПωуvu u u u Λ ( u ) = Λ ( v ) Γ Λ i d v u v = u v u u Λ(у)(v)уі такий, що але (вони існують тому, що ). Тоді для всіх маємо все ж . Напруженість порушується.у'уу'Λ(u)=Λ(v)ΓΛidvuv=uv'уу'

На відміну від є ізоморфним для , тобто існують безперервні карти і які є оберненими один до одного. Тому розглянемо будь-яке і припустимо, що для всіх . Це означає, що для всіх , отже, і так . Встановлено розтяжність.D Λ : D [ D D ] Γ : [ D D ] D u , u D u v = u v v D Λ ( u ) ( v ) = Λ ( u[DD]D

Λ:D[DD]
Γ:[DD]D
у,у'Dуv=у'vvDv D Λ ( u ) = Λ ( u ) u = Γ ( Λ ( u ) ) = Γ ( Λ ( u ) ) = u Λ(у)(v)=Λ(у')(v)vDΛ(у)=Λ(у')у=Γ(Λ(у))=Γ(Λ(у'))=у'

Ми бачимо, що розширеність є наслідком . Для чого корисне інше рівняння ? Для цього нам слід пам'ятати, як інтерпретується -abstraction: Словами, може бути інтерпретований вираз зі змінною як карта, яка приймає до . Тоді -abstraction інтерпретується як -образ цієї функції. Тепер із отримуємо Л Г = я д А , А , Х . у ( х ) = Γ ( v U ( v ) ) у ( Х ) Х v у ( V ) А , А , Х . у ( Х ) Г Л Г = я д ( λ х . у (ΓΛ=iгΛΓ=iгλ

λХ.у(Х)=Γ(vу(v))
у(Х)Хvу(v)λλХ.у(Х)ΓΛΓ=iг
(λХ.у(Х))ш=Λ(Γ(vу(v)))(ш)=(vу(v))(ш)=у(ш)
що є просто зменшення.β

Щиро дякую. Тож я буду припускати, що в книзі є фактична помилка. Це можливо, тому що сама книга є перекладом з французької мови, і в цьому абзаці оригіналу книги може бути подвійне заперечення шенагіганів чи щось подібне. На жаль, у мене немає французької, щоб хоча б спробувати перевірити.
Кріс

Французька мова не має значення, у вас є доказ перед очима.
Андрій Бауер

До речі, LIPS - це не розширення -calculus, воно просто натхнене ним. Схему можна вважати розширенням, хоча, звичайно, розширення схеми виходить з ладу через наявність обчислювальних ефектів. λ
Андрій Бауер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.