stringtranslate.com

Нормальная форма (абстрактное переписывание)

В абстрактном переписывании [ 1] объект находится в нормальной форме , если его нельзя переписать дальше, т. е. он неприводим. В зависимости от системы переписывания объект может переписываться в несколько нормальных форм или ни в одну. Многие свойства систем переписывания связаны с нормальными формами.

Определения

Формально это можно выразить так: если ( A ,→) — абстрактная система переписывания , то xA находится в нормальной форме , если не существует yA такого, что xy , т. е. x — неприводимый терм.

Объект a является слабо нормализующим, если существует хотя бы одна конкретная последовательность переписываний, начинающаяся с a , которая в конечном итоге приводит к нормальной форме. Система переписывания обладает свойством слабой нормализации или является (слабо) нормализующей (WN), если каждый объект является слабо нормализующим. Объект a является сильно нормализующим , если каждая последовательность переписываний, начинающаяся с a, в конечном итоге заканчивается нормальной формой. Абстрактная система переписывания является сильно нормализующей , завершающей , нётеровой или обладает свойством (сильной) нормализации (SN), если каждый из ее объектов является сильно нормализующим. [2]

Система переписывания имеет свойство нормальной формы (NF), если для всех объектов a и нормальных форм b , b может быть достигнута из a серией переписываний и обратных переписываний, только если a сводится к b . Система переписывания имеет свойство уникальной нормальной формы (UN), если для всех нормальных форм a , bS , a может быть достигнута из b серией переписываний и обратных переписываний, только если a равно b . Система переписывания имеет свойство уникальной нормальной формы относительно редукции (UN ), если для каждого члена, сводящегося к нормальным формам a и b , a равно b . [3]

Результаты

В этом разделе представлены некоторые известные результаты. Во-первых, SN подразумевает WN. [4]

Confluence (сокращенно CR) подразумевает, что NF подразумевает UN подразумевает UN . [3] Обратные импликации, как правило, не выполняются. {a→b,a→c,c→c,d→c,d→e} является UN → , но не UN, так как b=e и b,e являются нормальными формами. {a→b,a→c,b→b} является UN, но не NF, так как b=c, c является нормальной формой, и b не сводится к c. {a→b,a→c,b→b,c→c} является NF, так как нормальных форм нет, но не CR, так как a сводится к b и c, а b,c не имеют общего сведения.

WN и UN подразумевают слияние. Следовательно, CR, NF, UN и UN совпадают, если выполняется WN. [5]

Примеры

Одним из примеров является то, что упрощение арифметических выражений дает число - в арифметике все числа являются нормальными формами. Примечательным фактом является то, что все арифметические выражения имеют уникальное значение, поэтому система переписывания является строго нормализующей и конфлюэнтной: [6]

(3 + 5) * (1 + 2) ⇒ 8 * (1 + 2) ⇒ 8 * 3 ⇒ 24.
(3 + 5) * (1 + 2) ⇒ (3 + 5) * 3 ⇒ 3*3 + 5*3 ⇒ 9 + 5*3 ⇒ 9 + 15 ⇒ 24.

Примерами ненормализующихся систем (не слабо и не сильно) являются счет до бесконечности (1 ⇒ 2 ⇒ 3 ⇒ ...) и циклы, такие как функция преобразования гипотезы Коллатца (1 ⇒ 2 ⇒ 4 ⇒ 1 ⇒ ..., это открытая проблема, существуют ли какие-либо другие циклы преобразования Коллатца). [7] Другим примером является система с одним правилом { r ( x , y ) →  r ( y , x ) }, которая не имеет нормализующих свойств, поскольку с любого члена, например r (4,2), начинается одна последовательность переписывания, а именно r (4,2) →  r (2,4) →  r (4,2) →  r (2,4) → ..., которая бесконечно длинна. Это приводит к идее переписывания «модуля коммутативности », где термин находится в нормальной форме, если не применяются никакие правила, кроме коммутативности. [8]

Слабо, но не сильно нормализующая система перезаписи [9]

Система { ba , bc , cb , cd } (изображенная на рисунке) является примером слабо нормализующей, но не сильно нормализующей системы. a и d являются нормальными формами, а b и c могут быть сведены к a или d , но бесконечная редукция bcbc → ... означает, что ни b, ни c не являются сильно нормализующими.

Нетипизированное лямбда-исчисление

Чистое нетипизированное лямбда-исчисление не удовлетворяет свойству сильной нормализации и даже свойству слабой нормализации. Рассмотрим терм (приложение слева ассоциативно ). Оно имеет следующее правило переписывания: для любого терма ,

Но подумайте, что происходит, когда мы применяем это к себе:

Следовательно, этот член не является сильно нормализующим. И это единственная редукционная последовательность, следовательно, он не является и слабо нормализующим.

Типизированное лямбда-исчисление

Различные системы типизированного лямбда-исчисления, включая простое типизированное лямбда-исчисление , систему F Жана-Ива Жирара и исчисление конструкций Тьерри Коканда , являются сильно нормализующими.

Система лямбда-исчисления со свойством нормализации может рассматриваться как язык программирования со свойством, что каждая программа завершается . Хотя это очень полезное свойство, у него есть недостаток: язык программирования со свойством нормализации не может быть полным по Тьюрингу , в противном случае можно было бы решить проблему остановки, посмотрев, проверяется ли тип программы. Это означает, что существуют вычислимые функции, которые не могут быть определены в просто типизированном лямбда-исчислении, и аналогично для исчисления конструкций и Системы F. Типичным примером является самоинтерпретатор в общем языке программирования . [10]

Смотрите также

Примечания

Ссылки

  1. ^ Франц Баадер ; Тобиас Нипков (1998). Переписывание терминов и все такое. Cambridge University Press . ISBN 9780521779203.
  2. ^ Олебуш, Энно (1998). "Теоремы Чёрча-Россера для абстрактной редукции по модулю отношения эквивалентности". Переписывание методов и приложений . Конспект лекций по информатике. Том 1379. стр. 18. doi :10.1007/BFb0052358. ISBN 978-3-540-64301-2.
  3. ^ ab Klop, JW; de Vrijer, RC (февраль 1989). «Уникальные нормальные формы для лямбда-исчисления с сюръективным спариванием». Information and Computation . 80 (2): 97–113. doi : 10.1016/0890-5401(89)90014-X .
  4. ^ "логика - В чем разница между сильной нормализацией и слабой нормализацией в контексте систем перезаписи?". Computer Science Stack Exchange . Получено 12 сентября 2021 г. .
  5. ^ Олебуш, Энно (17 апреля 2013 г.). Продвинутые темы в переписывании терминов. Springer Science & Business Media. стр. 13–14. ISBN 978-1-4757-3661-8.
  6. ^ Тереза ​​(2003). Системы переписывания терминов . Кембридж, Великобритания: Cambridge University Press. стр. 1. ISBN 0-521-39115-6.
  7. ^ Тереза ​​(2003). Системы переписывания терминов . Кембридж, Великобритания: Cambridge University Press. стр. 2. ISBN 0-521-39115-6.
  8. ^ Дершовиц, Нахум; Жуанно, Жан-Пьер (1990). «6. Переписать системы». Ян ван Леувен (ред.). Справочник по теоретической информатике . Том. Б. Эльзевир. стр. 9–10. CiteSeerX 10.1.1.64.3114 . ISBN  0-444-88074-7.
  9. ^ N. Dershowitz и J.-P. Jouannaud (1990). "Rewrite Systems". В Jan van Leeuwen (ред.). Formal Models and Semantics . Handbook of Theoretical Computer Science. Vol. B. Elsevier. стр. 268. ISBN 0-444-88074-7.
  10. ^ Риоло, Рик; Ворзель, Уильям П.; Котанчек, Марк (4 июня 2015 г.). Теория и практика генетического программирования XII. Springer. стр. 59. ISBN 978-3-319-16030-6. Получено 8 сентября 2021 г. .