Перезапись - Rewriting

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

Переписывание может быть недетерминированный. Одно правило для переписывания термина может применяться к этому термину разными способами или может применяться более одного правила. Тогда системы перезаписи не обеспечивают алгоритм для замены одного термина на другой, но набор возможных правил применения. Однако в сочетании с соответствующим алгоритмом системы перезаписи можно рассматривать как компьютерные программы, и несколько средства доказательства теорем[2] и декларативные языки программирования основаны на переписывании терминов.[3][4]

Примеры случаев

Логика

В логика, порядок получения конъюнктивная нормальная форма (CNF) формулы может быть реализована как система перезаписи.[5] Правила примера такой системы будут:

(исключение двойного отрицания )
(Законы де Моргана )
(распределенность )
[примечание 1]

где символ () указывает, что выражение, соответствующее левой части правила, может быть переписано в выражение, образованное правой частью, и каждый символ обозначает часть выражения. В такой системе каждое правило выбрано так, чтобы левая часть эквивалент в правую сторону, и, следовательно, когда левая сторона соответствует части выражения, выполнение перезаписи этой части выражения слева направо поддерживает логическую согласованность и значение всего выражения.

Арифметика

Системы перезаписи терминов могут использоваться для вычисления арифметических операций над натуральные числа. С этой целью каждое такое число должно быть закодировано как срок. Самая простая кодировка - та, которая используется в Аксиомы Пеано, исходя из константы 0 (нуля) и функция преемника S. Например, числа 0, 1, 2 и 3 представлены терминами 0, S (0), S (S (0)) и S (S (S (0))) соответственно. Затем можно использовать систему перезаписи терминов для вычисления суммы и произведения заданных натуральных чисел.[6]

Например, вычисление 2 + 2 для получения 4 можно продублировать, переписав термы следующим образом:

где номера правил указаны над переписывает в стрелка.

В качестве другого примера вычисление 2⋅2 выглядит так:

где последний шаг включает вычисление из предыдущего примера.

Лингвистика

В лингвистика, переписать правила, также называемый правила структуры фраз, используются в некоторых системах порождающая грамматика,[7] как средство создания грамматически правильных предложений языка. Такое правило обычно принимает форму A → X, где A - синтаксическая категория ярлык, например словосочетание или же приговор, а X - последовательность таких меток или морфемы, выражая тот факт, что A может быть заменен на X при генерации составляющей структуры предложения. Например, правило S → NP VP означает, что предложение может состоять из именной фразы, за которой следует фразовый глагол; Дальнейшие правила будут определять, из каких подкомпонентов может состоять именная и глагольная фразы и т. д.

Системы рерайтинга абстрактных

Из приведенных выше примеров ясно, что мы можем думать о переписывании систем абстрактным образом. Нам нужно указать набор объектов и правила, которые можно применить для их преобразования. Наиболее общий (одномерный) вариант этого понятия называется абстрактная система редукции, (сокращенно ARS), хотя в последнее время авторы используют абстрактная система переписывания также.[8] (Предпочтение здесь слова «сокращение» вместо «переписывание» представляет собой отход от единообразного использования слова «переписывание» в названиях систем, которые являются конкретизацией ARS. Поскольку слово «сокращение» не встречается в названиях более специализированные системы в старых текстах система редукции является синонимом ARS).[9]

ARS - это просто набор А, элементы которого обычно называют объектами вместе с бинарное отношение на А, традиционно обозначаемый → и называемый редукционное отношение, переписать отношение[10] или просто снижение.[9] Эта (укоренившаяся) терминология с использованием «редукции» немного вводит в заблуждение, потому что отношение не обязательно уменьшает некоторую меру объектов; это станет более очевидным, когда мы обсудим системы перезаписи строк далее в этой статье.

Пример 1. Предположим, что набор объектов Т = {а, б, c} и бинарное отношение задается правилами аб, ба, аc, и бc. Обратите внимание, что эти правила могут применяться как к а и б любым способом получить термин c. Такое свойство явно важно. В некотором смысле c это «самый простой» термин в системе, так как ничего нельзя применить к c чтобы преобразовать его дальше. Этот пример приводит нас к определению некоторых важных понятий в общем контексте ARS. Для начала нам потребуются основные понятия и обозначения.[11]

Нормальные формы, возможность соединения и проблема слова

Объект Икс в А называется сводимый если есть другой у в А такой, что ; иначе это называется несводимый или нормальная форма. Объект у называется нормальной формой Икс если , и у неприводимо. Если Икс имеет уникальный нормальная форма, то это обычно обозначается . В примере 1 выше c нормальная форма и . Если каждый объект имеет хотя бы одну нормальную форму, ARS называется нормализация.

Связанное, но более слабое понятие, чем существование нормальных форм, состоит в том, что два объекта являются присоединяемый: Икс и у называются присоединяемыми, если существуют некоторые z со свойством, что . Из этого определения очевидно, что можно определить отношение соединяемости как , куда это состав отношений. Присоединяемость обычно обозначается несколько сбивчиво также с помощью , но в этих обозначениях стрелка вниз является бинарным отношением, т.е. мы пишем если Икс и у присоединяются.

Одна из важных проблем, которые можно сформулировать в ARS, - это проблема со словом: данный Икс и у, эквивалентны ли они ? Это очень общий параметр для формулирования проблема слов для представления алгебраической структуры. Например, проблема слов для групп является частным случаем проблемы со словом ARS. Центральным элементом "простого" решения проблемы слов является существование уникальных нормальных форм: в этом случае, если два объекта имеют одинаковую нормальную форму, то они эквивалентны при . Проблема слова для ARS: неразрешимый в целом.

Собственность и слияние церкви и Россера

Говорят, что ARS обладает Церковь – Россер собственность если подразумевает . На словах свойство Черча – Россера означает, что любые два эквивалентных объекта соединимы. Церковь Алонсо и Дж. Баркли Россер доказал в 1936 г., что лямбда-исчисление имеет это свойство;[12] отсюда и название собственности.[13] (Это свойство лямбда-исчисления также известно как Теорема Черча – Россера.) В ARS со свойством Черча – Россера проблема слов может быть сведена к поиску общего преемника. В системе Чёрча – Россера объект имеет максимум один нормальная форма; то есть нормальная форма объекта уникальна, если она существует, но вполне может не существовать.

Несколько различных свойств эквивалентны свойству Черча – Россера, но может быть проще проверить в определенных условиях. Особенно, слияние эквивалентно Чёрчу – Россеру. ARS говорят:

  • сливаться если для всех ш, Икс, и у в А, подразумевает . Грубо говоря, слияние говорит о том, что как бы два пути не расходились от общего предка (ш) пути сходятся в немного общий преемник. Это понятие может быть уточнено как свойство конкретного объекта. ш, а система называется конфлюэнтной, если все ее элементы сливаются.
  • локально сливной если для всех ш, Икс, и у в А, подразумевает . Это свойство иногда называют слабое слияние.

Теорема. Для ARS следующие условия эквивалентны: (i) он обладает свойством Черча – Россера, (ii) он конфлюэнтен.[14]

Следствие.[15] В сливном ОРС, если тогда

  • Если оба Икс и у нормальные формы, то Икс = у.
  • Если у нормальная форма, то

Из-за этих эквивалентностей в литературе встречается немало различий в определениях. Например, в Беземе и другие. 2003: собственность и слияние Черча-Россера определены как синонимы и идентичны приведенному здесь определению слияния; Черч – Россер, как здесь определено, остается безымянным, но дается как эквивалентное свойство; это отступление от других текстов является преднамеренным.[16] Из-за приведенного выше следствия в конфлюэнтной ARS можно определить нормальную форму у из Икс как несводимый у со свойством, что . Это определение, данное в Книге и Отто, эквивалентно общепринятому, данному здесь в конфлюэнтной системе, но оно более инклюзивное. [заметка 2] больше в неконфлюэнтной ARS.

С другой стороны, локальное слияние не эквивалентно другим понятиям слияния, приведенным в этом разделе, но оно строго слабее, чем слияние. локально сливается, но не сливается, поскольку и эквивалентны, но не могут быть соединены.[17]

Прекращение и сближение

Система абстрактного переписывания называется прекращение или же нётерский если нет бесконечной цепочки . В завершающей ARS каждый объект имеет по крайней мере одну нормальную форму, поэтому он нормализуется. Обратное неверно. В примере 1, например, есть бесконечная цепочка перезаписи, а именно , хотя система нормализуется. Сливающийся и завершающийся ARS называется сходящийся. В конвергентной ARS каждый объект имеет уникальную нормальную форму.

Теорема (Лемма Ньюмана ): Завершающийся ARS конфлюэнтен тогда и только тогда, когда он локально конфлюэнтен.

Системы перезаписи строк

А система перезаписи строк (SRS), также известный как система полутхуэ, эксплуатирует свободный моноид структура струны (слова) над алфавит чтобы расширить отношение переписывания, , к все строки в алфавите, которые содержат левую и, соответственно, правую части некоторых правил как подстроки. Формально система полутуэ - это кортеж куда является (обычно конечным) алфавитом, и это бинарное отношение между некоторыми (фиксированными) строками в алфавите, называемое переписать правила. В одноэтапное отношение переписывания связь индуцированный на определяется как: для любых строк тогда и только тогда, когда существуют такой, что , , и . С это отношение на , пара соответствует определению абстрактной системы переписывания. Очевидно это подмножество . Если отношение является симметричный, то система называется Система Туэ.

В SRS редукционное отношение совместим с операцией моноида, что означает, что подразумевает для всех струн . Аналогично рефлексивное транзитивное симметричное замыкание , обозначенный , это соответствие, то есть это отношение эквивалентности (по определению), и он также совместим с конкатенацией строк. Соотношение называется Thue congruence создано . В системе Туэ, т.е. если симметрично, соотношение перезаписи совпадает с конгруэнцией Туэ .

Понятие полусистемы Туэ по существу совпадает с понятием представление моноида. С является конгруэнцией, мы можем определить факторный моноид свободного моноида по соответствию Туэ в обычная манера. Если моноид является изоморфный с , то система полутуэ называется моноидное представление из .

Мы сразу получаем очень полезные связи с другими областями алгебры. Например, алфавит {а, б} с правилами { ab → ε, ба → ε}, где ε - пустой строкой, представляет собой презентацию свободная группа на одном генераторе. Если вместо этого правила просто { ab → ε}, то мы получаем представление бициклический моноид. Таким образом, системы полутуэ представляют собой естественную основу для решения проблема со словом для моноидов и групп. Фактически, каждый моноид имеет представление в виде , т.е. он всегда может быть представлен полу-системой Туэ, возможно, над бесконечным алфавитом.

Проблема слов для полутоновой системы в целом неразрешима; этот результат иногда называют Постмарковская теорема.[18]

Системы перезаписи терминов

Рис.1: Принципиальная треугольная диаграмма применения правила перезаписи на позиции в члене с соответствующей заменой
Рис.2: Правило lhs срок соответствие в срок

А система переписывания терминов (TRS) - это система перезаписи, объектами которой являются термины, которые являются выражениями с вложенными подвыражениями. Например, система, показанная под § Логика выше представлена ​​система переписывания терминов. Термины в этой системе состоят из бинарных операторов и и унарный оператор . Также в правилах присутствуют переменные, которые представляют любой возможный термин (хотя одна переменная всегда представляет один и тот же термин в рамках одного правила).

В отличие от систем перезаписи строк, объектами которых являются последовательности символов, объекты системы перезаписи терминов образуют алгебра терминов. Термин можно представить в виде дерева символов, при этом набор допустимых символов фиксируется заданным подпись.

Формальное определение

А правило переписывания терминов пара термины, обычно пишется как , чтобы указать, что левая часть л можно заменить правой частью р. А система переписывания терминов это набор р таких правил. Правило возможно применяемый к сроку s если левый срок л совпадения немного субтерм из s, то есть если для некоторых позиция п в s и немного замена .[заметка 3] Срок действия т применения этого правила затем получается как ;[примечание 4] см. рисунок 1. В этом случае как говорят переписать за один шаг, или же переписать прямо, к по системе , формально обозначаемый как , , или как некоторыми авторами.

Если срок можно за несколько шагов переписать в термин , то есть если , период, термин как говорят переписан к , формально обозначаемый как Другими словами, отношение это переходное закрытие отношения ; часто также обозначение используется для обозначения рефлексивно-транзитивное замыкание из , то есть, если s = т или же .[19]Переписывание терминов заданным набором правил можно рассматривать как абстрактную систему переписывания, как определено над, с терминами в качестве объектов и как его отношение переписывания.

Например, это правило перезаписи, обычно используемое для установления нормальной формы относительно ассоциативности .Это правило может быть применено к числителю в члене с соответствующей заменой см. рисунок 2.[примечание 5]Применение этой замены к правой части правила дает член (а*(а + 1))*(а +2), и замена числителя этим членом дает , который является результатом применения правила перезаписи. В целом, применение правила перезаписи привело к так называемому «применению закона ассоциативности для к "в элементарной алгебре. В качестве альтернативы это правило можно было бы применить к знаменателю исходного члена, получив .

Прекращение

За пределами раздела Прекращение и сближение, необходимо учитывать дополнительные тонкости для систем перезаписи терминов.

Прекращение действия даже системы, состоящей из одного правила с линейный левая часть неразрешима.[20] Завершение также неразрешимо для систем, использующих только унарные функциональные символы; однако он разрешим для конечных земля системы.[21]

Следующая система перезаписи терминов является нормализующей:[примечание 6] но не прекращая,[примечание 7] и не сливаться:[22]

Следующие два примера прекращения системы перезаписи терминов принадлежат Тояме:[23]

и

Их союз - это безостановочная система, поскольку . Этот результат опровергает гипотезу о Дершовиц,[24] кто утверждал, что объединение двух систем перезаписи завершающих терминов и снова завершается, если все левые части и правые части находятся линейный, и нет "перекрывает"между левыми сторонами и правые части . Все эти свойства подтверждаются примерами Тоямы.

Видеть Порядок перезаписи и Упорядочивание путей (переписывание терминов) для упорядочивания отношений, используемых в доказательствах завершения для систем перезаписи терминов.

Системы перезаписи графов

Обобщение систем перезаписи терминов: системы перезаписи графов, работающие на графики вместо (земля -) термины / их соответствующие дерево представление.

Системы перезаписи трассировки

Теория следов предоставляет средства для обсуждения многопроцессорности в более формальных терминах, например, через след моноид и история моноид. Перезапись также может выполняться в системах трассировки.

Философия

Системы перезаписи можно рассматривать как программы, которые выводят конечные эффекты из списка причинно-следственных связей. Таким образом, системы перезаписи можно считать автоматизированными. причинность испытатели.[нужна цитата ]

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

Примечания

  1. ^ Этот вариант предыдущего правила необходим, поскольку коммутативный закон АB = BА не может быть превращено в правило перезаписи. Правило вроде АBBА приведет к тому, что система перезаписи не завершится.
  2. ^ т.е. он рассматривает большее количество объектов как нормальную форму Икс чем наше определение
  3. ^ здесь, обозначает подтермин укоренился в позиции п, пока обозначает результат применения замена к сроку 1
  4. ^ здесь, обозначает результат замена подтермина на позиции п в s по сроку
  5. ^ поскольку применяя эту замену к левой части правила дает числитель
  6. ^ т.е. для каждого члена существует некоторая нормальная форма, например час(c,c) имеет нормальные формы б и грамм(б), поскольку час(c,c) → ж(час(c,c),час(c,c)) → ж(час(c,c),ж(час(c,c),час(c,c))) → ж(час(c,c),грамм(час(c,c))) → б, и час(c,c) → ж(час(c,c),час(c,c)) → грамм(час(c,c),час(c,c)) → ... → грамм(б); ни один б ни грамм(б) можно переписать дальше, поэтому система не конфлюэнтна
  7. ^ т.е. существует бесконечное множество производных, например час(c,c) → ж(час(c,c),час(c,c)) → ж(ж(час(c,c),час(c,c)) ,час(c,c)) → ж(ж(ж(час(c,c),час(c,c)),час(c,c)) ,час(c,c)) → ...

Рекомендации

  1. ^ Скалторп, Нил; Фрисби, Николас; Гилл, Энди (2014). "Механизм перезаписи Университета Канзаса" (PDF). Журнал функционального программирования. 24 (4): 434–473. Дои:10.1017 / S0956796814000185. ISSN  0956-7968.
  2. ^ Сян, Цзе; Киршнер, Элен; Лескан, Пьер; Русинович, Михаэль (1992). «Подход переписывания терминов к автоматическому доказательству теорем». Журнал логического программирования. 14 (1–2): 71–99. Дои:10.1016/0743-1066(92)90047-7.
  3. ^ Фрювирт, Том (1998). «Теория и практика правил обработки ограничений». Журнал логического программирования. 37 (1–3): 95–138. Дои:10.1016 / S0743-1066 (98) 10005-5.
  4. ^ Clavel, M .; Durán, F .; Eker, S .; Lincoln, P .; Martí-Oliet, N .; Meseguer, J .; Кесада, Дж. Ф. (2002). «Мод: Спецификация и программирование в логике перезаписи». Теоретическая информатика. 285 (2): 187–243. Дои:10.1016 / S0304-3975 (01) 00359-0.
  5. ^ Ким Марриотт; Питер Дж. Стаки (1998). Программирование с ограничениями: введение. MIT Press. С. 436–. ISBN  978-0-262-13341-8.
  6. ^ Юрген Авенхаус; Клаус Мадленер (1990). «Переписывание терминов и логическое обоснование». В R.B. Banerji (ed.). Формальные методы в искусственном интеллекте. Справочник. Эльзевир. С. 1–43. Здесь: Пример в разделе 4.1, стр.24.
  7. ^ Роберт Фрейдин (1992). Основы генеративного синтаксиса. MIT Press. ISBN  978-0-262-06144-5.
  8. ^ Безем и др., Стр. 7,
  9. ^ а б Книга и Отто, стр. 10
  10. ^ Безем и др., Стр. 7
  11. ^ Баадер и Нипков, стр. 8–9.
  12. ^ Алонзо Черч и Дж. Баркли Россер. «Некоторые свойства преобразования». Пер. AMS, 39:472–482, 1936
  13. ^ Баадер и Нипков, стр. 9
  14. ^ Баадер и Нипков, стр. 11
  15. ^ Баадер и Нипков, стр. 12
  16. ^ Безем и др., Стр.11
  17. ^ M.H.A. Нейман (1942). «О теориях с комбинаторным определением Эквивалентность". Анналы математики. 42 (2): 223–243. Дои:10.2307/1968867. JSTOR  1968867.
  18. ^ Мартин Дэвис и др. 1994, стр. 178
  19. ^ Н. Дершовиц, Ж.-П. Jouannaud (1990). Ян ван Леувен (ред.). Системы перезаписи. Справочник по теоретической информатике. B. Эльзевир. С. 243–320.; здесь: разд. 2.3
  20. ^ М. Дауше (1989). «Моделирование машин Тьюринга леволинейным правилом перезаписи». Proc. 3-й RTA. LNCS. 355. Springer LNCS. С. 109–120.
  21. ^ Джерард Хуэт, Д.С. Ланкфорд (март 1978 г.). О проблеме равномерной остановки для систем переписывания терминов (PDF) (Технический отчет). ИРИЯ. п. 8. 283. Получено 16 июн 2013.
  22. ^ Бернхард Грамлих (июнь 1993 г.). «Связь с внутренним, слабым, единообразным и модульным завершением систем перезаписи терминов». В Воронков, Андрей (ред.). Proc. Международная конференция по логическому программированию и автоматизированному мышлению (LPAR). LNAI. 624. Springer. С. 285–296. Здесь: Пример 3.3
  23. ^ Ёсихито Тояма (1987). "Контрпримеры к прекращению действия прямой суммы систем перезаписи терминов" (PDF). Инф. Процесс. Латыш. 25 (3): 141–143. Дои:10.1016/0020-0190(87)90122-0. HDL:2433/99946.
  24. ^ Н. Дершовиц (1985). «Прекращение действия» (PDF). В Жан-Пьер Жуанно (ред.). Proc. RTA. LNCS. 220. Springer. С. 180–224.; здесь: стр.210

дальнейшее чтение

Перезапись строк
  • Рональд В. Книга и Фридрих Отто, Системы перезаписи строк, Спрингер (1993).
  • Бенджамин Беннингхофен, Сюзанна Кеммерих и Майкл М. Рихтер, Системы редукций. LNCS 277, Springer-Verlag (1987).
Другой

внешняя ссылка