Перезапись


Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Логика

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

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

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

Арифметика

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

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

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

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

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

Лингвистика

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

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

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

Многие понятия и обозначения могут быть определены в общих настройках ARS. является рефлексивным транзитивным замыканием в . это симметричное замыкание на . является рефлексивным транзитивен симметричным замыканием на . Слово проблема для АПС заключается в определении, данные х и у , то ли . Объект x в A называется приводимым, если существует другой y в A такой, что ; в противном случае она называется неприводимой или нормальной формой. Объект y называется «нормальной формой x », если и y неприводим. Если нормальная форма x уникальна, то это обычно обозначается значком . Если каждый объект имеет хотя бы одну нормальную форму, ARS называется нормализующей . или x и y называются соединяемыми, если существует некоторый z со свойством that . Говорят, что ARS обладает свойством Черча – Россера, если это подразумевается . ARS является конфлюэнтным, если для всех w , x и yв A , влечет . АРС является локально конфлюэнтны , если и только если для всех ш , х и у в А , предполагает . ARS называется завершающим или нётеровым, если нет бесконечной цепи . Сливающийся и завершающийся ARS называется конвергентным или каноническим .

Важные теоремы для абстрактных систем переписывания является то, что АПС является сливающийся тогда и только тогда обладает свойством Черча-Россера, лемму Ньюмена , который гласит , что нагрузочные ARS является сливающийся тогда и только тогда , когда оно локально сливающиеся, и что слово проблема для АПС является неразрешимой В основном.

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

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

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

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

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

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

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

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

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

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

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

Правило перезаписи представляет собой пару терминов , обычно записывается в виде , чтобы показать , что левая сторона л можно заменить на правой стороне р . Система перезаписи терминов - это набор R таких правил. Правило может быть применено к сроку с , если левым термином л соответствует некоторому подтерму из S , то есть, если есть замена такой , что подтермы с корнем в некоторой позиции р является результатом применения подстановки к термину л . Подтермин, соответствующий левой части правила, называется редексом или сокращаемым выражением . [13] Результирующий член t этого применения правила является результатом замены подтерма в позиции p в s термином с примененной заменой , см. Рисунок 1. В этом случае говорят, что он был переписан за один шаг , или переписано непосредственно к системе , формально обозначаются как , или , как некоторые авторы.

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

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

Прекращение

Помимо раздела « Завершение и конвергенция» , следует учитывать дополнительные тонкости для систем переопределения терминов.

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

Следующая система перезаписи терминов является нормализующей, [примечание 3], но не завершающейся, [примечание 4] и не сливающейся: [17]

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

а также

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

См. Раздел « Порядок перезаписи» и « Порядок пути (перезапись терминов)» для получения информации об отношениях упорядочения, используемых в доказательствах завершения для систем перезаписи терминов.

Системы перезаписи высшего порядка

Системы перезаписи высшего порядка являются обобщением систем перезаписи термов первого порядка на лямбда-термы , позволяя использовать функции более высокого порядка и связанные переменные. Различные результаты, касающиеся TRS первого порядка, также могут быть переформулированы для HRS. [20]

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

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

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

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

Философия

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

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

  • Критическая пара (логика)
  • Компилятор
  • Алгоритм завершения Кнута – Бендикса
  • L-системы определяют перезапись, которая выполняется параллельно.
  • Ссылочная прозрачность в информатике
  • Регулируемая перезапись
  • Rho исчисление

Примечания

  1. ^ Этот вариант предыдущего правила необходим, поскольку коммутативный закон A B = B A нельзя превратить в правило перезаписи. Такое правило, как A B B A, приведет к тому, что система перезаписи не будет завершаться.
  2. ^, поскольку применение этой замены к левой части правиладает числитель
  3. ^ т.е. для каждого члена существует некоторая нормальная форма, например, h ( c , c ) имеет нормальные формы b и g ( b ), так как h ( c , c ) → f ( h ( c , c ), h ( c , c )) → f ( h ( c , c ), f ( h ( c , c ), h ( c ,c ))) → f ( h ( c , c ), g ( h ( c , c ))) → b , и h ( c , c ) → f ( h ( c , c ), h ( c , c ) ) → g ( h ( c , c ), h ( c , c )) → ... → g ( b ); ни одинb или g ( b ) можно переписать дальше, поэтому система не является конфлюэнтной
  4. ^ т.е. существует бесконечное количество производных, например, h ( c , c ) → f ( h ( c , c ), h ( c , c )) → f ( f ( h ( c , c ), h ( c , c ) ), h ( c , c )) → f ( f ( f ( h ( c , c ), h( c , c )), h ( c , c )), h ( c , c )) → ...

использованная литература

  1. ^ Джозеф Гогуэн "Доказательство и переписывание" Международная конференция по алгебраическому и логическому программированию, 1990 Нанси, Франция, стр 1-24
  2. ^ Скалторп, Нил; Фрисби, Николас; Гилл, Энди (2014). «Механизм перезаписи Университета Канзаса» (PDF) . Журнал функционального программирования . 24 (4): 434–473. DOI : 10.1017 / S0956796814000185 . ISSN  0956-7968 .
  3. ^ Сян, Цзе; Киршнер, Элен; Лескан, Пьер; Русинович, Михаэль (1992). «Подход переписывания терминов к автоматическому доказательству теорем» . Журнал логического программирования . 14 (1-2): 71–99. DOI : 10.1016 / 0743-1066 (92) 90047-7 .
  4. ^ Frühwirth, Thom (1998). «Теория и практика правил обработки ограничений» . Журнал логического программирования . 37 (1–3): 95–138. DOI : 10.1016 / S0743-1066 (98) 10005-5 .
  5. ^ Клавель, М .; Durán, F .; Eker, S .; Lincoln, P .; Martí-Oliet, N .; Meseguer, J .; Кесада, JF (2002). «Мод: Спецификация и программирование в переписывающей логике» . Теоретическая информатика . 285 (2): 187–243. DOI : 10.1016 / S0304-3975 (01) 00359-0 .
  6. ^ Ким Марриотт; Питер Дж. Стаки (1998). Программирование с ограничениями: введение . MIT Press. С. 436–. ISBN 978-0-262-13341-8.
  7. ^ Юрген Авенхаус; Клаус Мадленер (1990). «Переписывание терминов и логическое обоснование». В RB Banerji (ред.). Формальные методы в искусственном интеллекте . Справочник. Эльзевир. С. 1–43. Здесь: Пример в разделе 4.1, стр.24.
  8. ^ Роберт Фрейдин (1992). Основы генеративного синтаксиса . MIT Press. ISBN 978-0-262-06144-5.
  9. ^ a b Книга и Отто, стр. 10
  10. ^ Bezem et al., Стр. 7,
  11. ^ Bezem et al., Стр. 7
  12. ^ Мартин Дэвис и др. 1994, стр. 178
  13. ^ Клоп, JW "Системы перезаписи терминов" (PDF) . Статьи Начума Дершовица и студентов . Тель-Авивский университет. п. 12 . Проверено 14 августа 2021 года .
  14. ^ Н. Дершовиц, Ж.-П. Жуанно (1990). Ян ван Леувен (ред.). Системы перезаписи . Справочник по теоретической информатике. B . Эльзевир. С. 243–320.; здесь: разд. 2.3
  15. ^ М. Dauchet (1989). "Моделирование машин Тьюринга леволинейным правилом перезаписи". Proc. 3-й RTA . LNCS. 355 . Springer LNCS. С. 109–120.
  16. ^ Gerard Huet, DS Лэнкфорд (март 1978). On the Uniform Halting Problem for Term Rewriting Systems (PDF) (Технический отчет). ИРИЯ. п. 8. 283 . Проверено 16 июня 2013 года .
  17. ^ Бернхард Gramlich (июнь 1993). «Относительно внутреннего, слабого, единообразного и модульного завершения систем перезаписи терминов» . В Воронков, Андрей (ред.). Proc. Международная конференция по логическому программированию и автоматическому мышлению (LPAR) . LNAI. 624 . Springer. С. 285–296. Здесь: Пример 3.3
  18. ^ Yoshihito Тояма (1987). «Контрпримеры к прекращению действия прямой суммы систем перезаписи терминов» (PDF) . Инф. Процесс. Lett . 25 (3): 141–143. DOI : 10.1016 / 0020-0190 (87) 90122-0 . hdl : 2433/99946 .
  19. ^ Н. Дершовиц (1985). «Прекращение действия» (PDF) . В Жан-Пьера Жуано (ред.). Proc. RTA . LNCS. 220 . Springer. С. 180–224. ; здесь: стр.210
  20. ^ Нипков, Тобиас; Прехофер, Кристиан (1998). "Переписывание высшего порядка и рассуждение по уравнениям" . In Bibel, W .; Шмитт П. (ред.). Автоматическое удержание - основа для приложений. Том I: Основы . Kluwer. С. 399–430.

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

  • Баадер, Франц ; Нипков, Тобиас (1999). Переписывание сроков и все такое . Издательство Кембриджского университета. ISBN 978-0-521-77920-3.316 страниц. Учебник для студентов бакалавриата.
  • Марк Безем , Ян Виллем Клоп , Роэль де Фрайер (« Терезе »), Системы перезаписи терминов («TeReSe»), Cambridge University Press, 2003, ISBN 0-521-39115-6 . Это самая последняя всеобъемлющая монография. Однако он использует изрядное количество нестандартных обозначений и определений. Например, собственность Черча – Россера определяется как тождественная слиянию. 
  • Нахум Дершовиц и Жан-Пьер Жуанно «Переписать системы» , глава 6, Ян ван Левен (ред.), Справочник по теоретической информатике , том B: Формальные модели и семантика. , Elsevier и MIT Press, 1990, ISBN 0-444-88074-7 , стр. 243–320. Препринт этой главы находится в свободном доступе от авторов, но не хватает цифру. 
  • Нахум Дершовиц и Дэвид Плейстед . «Переписывание» , глава 9 в книге Джона Алана Робинсона и Андрея Воронкова (ред.), Справочник по автоматизированному мышлению , том 1 .
  • Жерар Хуэ и Дерек Оппен, Уравнения и правила перезаписи, Обзор (1980) Стэнфордская группа проверки, отчет № 15 Отчет отдела компьютерных наук № STAN-CS-80-785
  • Ян Виллем Клоп . «Системы перезаписи терминов», глава 1 в Самсоне Абрамски , Дов М. Габбай и Том Майбаум (ред.), Справочник по логике в компьютерных науках , Том 2: Предпосылки: Вычислительные структуры .
  • Дэвид Плейстед. «Системы рассуждений по уравнениям и переписывания терминов» , в книге Дов М. Габбей , С.Дж. Хоггер и Джон Алан Робинсон (ред.), Справочник по логике в искусственном интеллекте и логическом программировании , Том 1 .
  • Юрген Авенхаус и Клаус Мадленер. «Переписывание терминов и эквациональное рассуждение». В: Ранан Б. Банерджи (ред.), Формальные методы в искусственном интеллекте: Справочник , Elsevier (1990).
Перезапись строк
  • Рональд В. Бук и Фридрих Отто, Системы перезаписи строк , Springer (1993).
  • Бенджамин Беннингхофен, Сюзанна Кеммерих и Майкл М. Рихтер , Системы редукций . LNCS 277 , Springer-Verlag (1987).
Другой
  • Мартин Дэвис , Рон Сигал , Элейн Дж. Вейкер , (1994) Вычислимость, сложность и языки: основы теоретической информатики - 2-е издание , Academic Press, ISBN 0-12-206382-1 . 

внешние ссылки

  • Rewriting Главная страница
  • Рабочая группа 1.6 IFIP
  • Исследователи переписывания по Аарту Middeldorp , Университет Инсбрука
  • Портал прекращения действия
Источник « https://en.wikipedia.org/w/index.php?title=Rewriting&oldid=1039299965#Termination »