Jump to content

Явная замена

В информатике , что лямбда-исчисления говорят имеют явные замены , если они уделяют особое внимание формализации процесса замены . В этом отличие от стандартного лямбда-исчисления , в котором замены выполняются путем бета-сокращений неявным образом, который не выражается в исчислении; условия «свежести» в таких неявных исчислениях являются печально известным источником ошибок. [1] Эта концепция появилась в большом количестве опубликованных статей в самых разных областях, например, в абстрактных машинах , логике предикатов и символьных вычислениях .

Обзор [ править ]

Простым примером лямбда-исчисления одну новую форму термина с явной заменой является «λx», который добавляет к лямбда-исчислению , а именно форму M⟨x:=N⟩, которая читается как «M, где x будет заменен на N». . (Значение нового термина такое же, как и распространенная идиома let x:=N ​​в M из многих языков программирования.) λx можно записать с использованием следующих правил переписывания :

  1. (λx.M) N → M⟨x:=N⟩
  2. x⟨x:=N⟩ → N
  3. x⟨y:=N⟩ → x (x≠y)
  4. (M 1 M 2 ) ⟨x:=N⟩ → (M 1 ⟨x:=N⟩) (M 2 ⟨x:=N⟩)
  5. (λx.M) ⟨y:=N⟩ → λx.(M⟨y:=N⟩) (x≠y и x не свободны в N)

Несмотря на явную замену, эта формулировка по-прежнему сохраняет сложность «соглашения о переменных» лямбда-исчисления , требуя произвольного переименования переменных во время сокращения, чтобы гарантировать, что условие «(x≠y и x не свободно в N)» в последнем правиле всегда удовлетворен перед применением правила. Поэтому многие исчисления явной подстановки вообще избегают имен переменных, используя так называемую «безименную» индексную нотацию Де Брейна .

История [ править ]

Явные замены были описаны в предисловии к книге Карри по комбинаторной логике. [2] и выросла из «трюка реализации», использованного, например, AUTOMATH , и стала респектабельной синтаксической теорией в лямбда-исчислении и теории переписывания . Хотя на самом деле оно исходило от де Брейна , [3] Идея специфического исчисления, в котором замены являются частью объектного языка, а не неформальной метатеории, традиционно приписывают Абади , Карделли , Кюрьену и Леви. Их основополагающий документ [4] по исчислению λσ объясняет, что реализации лямбда-исчисления должны быть очень осторожны при работе с заменами. Без сложных механизмов совместного структурирования замены могут вызвать взрывной рост размеров, и поэтому на практике замены задерживаются и явно фиксируются. Это делает соответствие между теорией и реализацией весьма нетривиальным, и корректность реализаций может быть трудно установить. Одно из решений — сделать замены частью исчисления, то есть иметь исчисление явных замен.

Однако как только замена становится явной, ее основные свойства из семантических переходят в синтаксические. Одним из наиболее важных примеров является «лемма о замене», которая с обозначением λx становится

  • (M⟨x:=N⟩)⟨y:=P⟩ = (M⟨y:=P⟩)⟨x:=(N⟨y:=P⟩)⟩ (где x≠y и x не свободны в P )

Удивительный контрпример, предложенный Мельесом: [5] показывает, что способ, которым это правило закодировано в исходном исчислении явных подстановок, не является строго нормализующим . После этого было описано множество исчислений, пытающихся предложить наилучший компромисс между синтаксическими свойствами исчислений явной замены. [6] [7] [8]

См. также [ править ]

Ссылки [ править ]

  1. ^ Клаустон, Ранальд; Бизяк, Алеш; Гратволь, Ганс; Биркедал, Ларс (27 апреля 2017 г.). «Защищенное лямбда-исчисление: программирование и рассуждения с защищенной рекурсией для коиндуктивных типов». Логические методы в информатике . 12 (3): 36. arXiv : 1606.09455 . дои : 10.2168/LMCS-12(3:7)2016 .
  2. ^ Карри, Хаскелл; Фейс, Роберт (1958). Комбинаторная логика, том I. Амстердам: Издательство Северной Голландии.
  3. ^ NG de Bruijn: лямбда-исчисление без имен с возможностью внутреннего определения выражений и сегментов. Технологический университет Эйндховена, Нидерланды, математический факультет, (1978), (TH-Report), номер 78-WSK-03.
  4. ^ М. Абади, Л. Карделли, PL. Курьен и Джей-Джей. Леви, Явные замены, Журнал функционального программирования 1, 4 (октябрь 1991 г.), 375–416.
  5. ^ ПА. Мельес: Типизированные лямбда-исчисления с явными заменами не могут завершиться. ТЛКА 1995: 328–334.
  6. ^ П. Лесканн, От λσ к λυ: путешествие по исчислениям явных замен, POPL 1994, стр. 60–69.
  7. ^ К. Х. Роуз, Явная замена – Учебное пособие и обзор, BRICS LS-96-3, сентябрь 1996 г. ( ps.gz ).
  8. ^ Делия Кеснер: Теория явных замен с безопасным и полным составом. Логические методы в информатике 5 (3) (2009)
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 180ee5753a318e1a439c41db6b8fa533__1690867380
URL1:https://arc.ask3.ru/arc/aa/18/33/180ee5753a318e1a439c41db6b8fa533.html
Заголовок, (Title) документа по адресу, URL1:
Explicit substitution - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)