Переписывание
В математике , информатике и логике рерайтинг другими охватывает широкий спектр методов замены подчленов формулы терминами . Такие методы могут быть реализованы с помощью систем перезаписи (также известных как системы перезаписи , механизмы перезаписи , [1] [2] или системы сокращения ). В своей самой базовой форме они состоят из набора объектов и отношений, позволяющих преобразовать эти объекты.
Переписывание может быть недетерминированным . Одно правило переписывания термина может быть применено к этому термину по-разному, или может быть применимо более одного правила. В этом случае системы переписывания предоставляют не алгоритм замены одного термина на другой, а набор возможных применений правил. Однако в сочетании с соответствующим алгоритмом системы перезаписи можно рассматривать как компьютерные программы и несколько средств доказательства теорем. [3] а декларативные языки программирования основаны на переписывании терминов. [4] [5]
Примеры случаев
[ редактировать ]Логика
[ редактировать ]В логике процедура получения конъюнктивной нормальной формы (КНФ) формулы может быть реализована как система переписывания. [6] Правила примера такой системы будут следующими:
где символ ( ) указывает, что выражение, соответствующее левой части правила, может быть переписано в выражение, образованное правой частью, а каждый из символов обозначает подвыражение. В такой системе каждое правило выбирается таким образом, чтобы левая часть была эквивалентна правой стороне, и, следовательно, когда левая часть соответствует подвыражению, выполнение перезаписи этого подвыражения слева направо сохраняет логическую согласованность и значение всего выражения. .
Арифметика
[ редактировать ]Системы переписывания терминов можно использовать для вычисления арифметических операций над натуральными числами . Для этого каждое такое число приходится закодировать как терм . Самая простая кодировка — та, которая используется в Пеано , основанная на константе 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 при создании составной структуры предложения. Например, правило означает, что предложение может состоять из именной группы (NP), за которой следует глагольная группа (VP); дальнейшие правила будут определять, из каких субкомпонентов могут состоять именной и глагольный обороты, и так далее.
Абстрактные системы переписывания
[ редактировать ]Из приведенных выше примеров ясно, что мы можем думать о переписывании систем абстрактным образом. Нам нужно указать набор объектов и правила, которые можно применить для их преобразования. Наиболее общая (одномерная) постановка этого понятия называется абстрактной системой редукции. [9] или абстрактная система переписывания (сокращенно ARS ). [10] ARS — это просто набор A объектов вместе с бинарным отношением → на A, называемым отношением редукции , переписать отношение [11] или просто сокращение . [9]
Многие понятия и обозначения могут быть определены в общих условиях АРС. это замыкание рефлексивное транзитивное . является симметричным замыканием . есть рефлексивное транзитивное симметричное замыкание . Словесная проблема для ARS заключается в том, чтобы определить по заданным x и y , является ли . Объект x из A называется приводимым , если существует другой объект y из A такой, что ; в противном случае она называется неприводимой или нормальной формой . Объект y называется «нормальной формой x », если , и y неприводим. Если нормальная форма x уникальна, то это обычно обозначается через . Если каждый объект имеет хотя бы одну нормальную форму, ARS называется нормализацией . или x и y называются соединяемыми, если существует некоторый z со свойством, что . Говорят, что ARS обладает собственностью Чёрча-Россера, если подразумевает . ARS является конфлюэнтным , если для всех w , x и y в A , подразумевает . ARS является локально конфлюэнтным когда для всех w , x и y в A тогда и только тогда , подразумевает . ARS называется завершающейся или нетеровой, если не существует бесконечной цепи. . Сливающаяся и завершающаяся ARS называется конвергентной или канонической .
Важные теоремы для абстрактных систем переписывания заключаются в том, что ARS конфлюэнна тогда и только тогда, когда она обладает свойством Чёрча-Россера, леммой Ньюмана (завершающая ARS конфлюэнна тогда и только тогда, когда она локально конфлюэнна), и что проблема слов для ARS неразрешима в общий.
Системы перезаписи строк
[ редактировать ]Система переписывания строк (SRS), также известная как система полу-Туэ , использует свободную моноидную структуру строк ( слов) в алфавите для расширения отношения переписывания. , ко всем строкам алфавита, которые содержат левые и соответственно правые части некоторых правил в качестве подстрок . Формально система полуТуэ представляет собой кортеж где является (обычно конечным) алфавитом, и — это бинарное отношение между некоторыми (фиксированными) строками в алфавите, называемое набором правил перезаписи . Отношение одношаговой перезаписи вызванный на определяется как: если любые строки, то если существуют такой, что , , и . С это отношение к , пара соответствует определению абстрактной системы переписывания. Поскольку пустая строка находится в , является подмножеством . Если отношение симметрична . то система называется системой Туэ ,
В SRS соотношение приведения совместимо с операцией моноида, что означает, что подразумевает для всех строк . Аналогично, рефлексивное транзитивное симметричное замыкание , обозначенный , является конгруэнцией , то есть это отношение эквивалентности (по определению), а также совместимо с конкатенацией строк. Отношение называется конгруэнцией Туэ, порожденной . В системе Туэ, т.е. если симметрично, отношение перезаписи совпадает с конгруэнтностью Туэ .
Понятие о системе полуТуэ по существу совпадает с представлением о моноиде . С является конгруэнцией, мы можем определить фактормоноид свободного моноида по конгруэнтности Туэ. Если моноид изоморфен , то система полуТуэ называется моноидным представлением .
Мы сразу получаем очень полезные связи с другими областями алгебры. Например, алфавит с правилами , где пустая строка — представление свободной группы на одном генераторе. Если вместо этого правила просто , то получим представление бициклического моноида . Таким образом, системы полуТуэ представляют собой естественную основу для решения проблемы слов для моноидов и групп. Фактически, каждый моноид имеет представление вида , т. е. он всегда может быть представлен системой полу-Туэ, возможно, над бесконечным алфавитом.
Проблема слов для системы полуТуэ, вообще говоря, неразрешима; этот результат иногда называют теоремой Поста-Маркова . [12]
Системы переписывания терминов
[ редактировать ]Система переписывания терминов ( TRS ) — это система переписывания, объектами которой являются термины , которые представляют собой выражения со вложенными подвыражениями. Например, система, показанная выше в разделе «Логика», представляет собой систему переписывания терминов. Термины в этой системе состоят из бинарных операторов. и и унарный оператор . В правилах также присутствуют переменные, которые представляют любой возможный термин (хотя одна переменная всегда представляет один и тот же термин в одном правиле).
В отличие от систем переписывания строк, объектами которых являются последовательности символов, объекты системы переписывания терминов образуют алгебру терминов . Термин можно представить как дерево символов, при этом набор допустимых символов фиксируется заданной сигнатурой . Как формализм, системы переписывания терминов обладают всей мощью машин Тьюринга , то есть каждая вычислимая функция может быть определена с помощью системы переписывания терминов. [13]
Формальное определение
[ редактировать ]Правило перезаписи — это пара терминов , обычно записываемая как , чтобы указать, что левая часть l может быть заменена правой частью r . Система переписывания терминов представляет собой набор R таких правил. Правило может быть применено к термину s, если левый термин l соответствует некоторому подтерму s , то есть если существует некоторая замена такой, что подчлен с корнем в некоторой позиции p является результатом применения замены к термину л . Подтерм, соответствующий левой части правила, называется редексом или сокращаемым выражением . [14] Результатом применения этого правила является результат замены подтерма в позиции p в s на термин с заменой применено, см. рисунок 1. В данном случае говорят, что оно переписано за один шаг или переписано напрямую , чтобы по системе , формально обозначаемый как , или как некоторыми авторами.
Если срок можно переписать в несколько шагов в термин , то есть, если , термин говорят, что он переписан на , формально обозначаемый как . Другими словами, отношение является транзитивным замыканием отношения ; часто также обозначение используется для обозначения рефлексивно-транзитивного замыкания , то есть, если или . [15] Переписывание термина, заданное множеством правил можно рассматривать как абстрактную систему переписывания, определенную выше , с терминами в качестве ее объектов и как его отношение перезаписи.
Например, — это правило перезаписи, обычно используемое для установления нормальной формы относительно ассоциативности . Это правило можно применить к числителю члена с соответствующей заменой , см. рисунок 2. [примечание 2] Применение этой замены к правой части правила дает член , и замена числителя этим термином дает , что является результатом применения правила перезаписи. В целом, применение правила перезаписи привело к тому, что называется «применением закона ассоциативности для к » в элементарной алгебре. В качестве альтернативы это правило можно было применить к знаменателю исходного члена, что дало бы .
Прекращение действия
[ редактировать ]Проблемы завершения систем перезаписи в целом рассматриваются в разделе Абстрактная система перезаписи#Завершение и конвергенция . В частности, для систем переписывания терминов необходимо учитывать следующие дополнительные тонкости.
Прекращение даже системы, состоящей из одного правила с линейной левой частью, неразрешимо. [16] [17] Завершение также неразрешимо для систем, использующих только унарные функциональные символы; однако это разрешимо для конечных основных систем. [18]
Следующая система перезаписи терминов нормализуется, [примечание 3] но не прекращается, [примечание 4] и не сливаются: [19]
Следующие два примера прекращения работы систем перезаписи терминов принадлежат Тояме: [20]
и
Их объединение представляет собой незавершающуюся систему, поскольку
Этот результат опровергает гипотезу Дершовица о том , что [21] который утверждал, что объединение двух завершающих систем перезаписи терминов и снова завершается, если все левые части и правые части линейны перекрытий нет никаких « » . , и между левыми частями и правые части . Всем этим свойствам удовлетворяют примеры Тоямы.
См. Порядок перезаписи и Порядок путей (переписывание терминов) для отношений упорядочивания, используемых в доказательствах завершения для систем переписывания терминов.
Системы перезаписи высшего порядка
[ редактировать ]Системы переписывания более высокого порядка — это обобщение систем переписывания терминов первого порядка на лямбда-термины , позволяющие использовать функции более высокого порядка и связанные переменные. [22] Различные результаты о TRS первого порядка можно переформулировать и для HRS. [23]
Системы перезаписи графов
[ редактировать ]Системы перезаписи графов — это еще одно обобщение систем перезаписи терминов, работающее с графами вместо ( основных ) терминов /их соответствующего древовидного представления.
Системы перезаписи трассировки
[ редактировать ]Теория трассировки предоставляет средства для обсуждения многопроцессорной обработки в более формальных терминах, например, с помощью моноида трассировки и моноида истории . Перезапись также может выполняться в системах трассировки.
См. также
[ редактировать ]- Критическая пара (логика)
- Компилятор
- Алгоритм завершения Кнута – Бендикса
- L-системы определяют перезапись, выполняемую параллельно.
- Ссылочная прозрачность в информатике
- Регулируемый рерайтинг
- Сети взаимодействия
Примечания
[ редактировать ]- ^ Этот вариант предыдущего правила необходим, поскольку коммутативный закон A ∨ B = B ∨ A нельзя превратить в правило перезаписи. Правило типа A ∨ B → B ∨ A приведет к тому, что система перезаписи будет незавершенной.
- ^ с момента применения этой замены к левой части правила дает числитель
- ^ т.е. для каждого термина существует некоторая нормальная форма, например, h ( c , c ) имеет нормальные формы b и g ( b ), поскольку h ( c , c ) → f ( h ( c , c ), h ( c , c )) → ж ( час ( c , c ), ж ( час ( c , c ), час ( c , c ))) → ж ( час ( c , c ), г ( час ( c , c ))) → б , и час ( c , c ) → ж ( час ( c , c ), час ( c , c )) → грамм ( час ( c , c )) → ... → грамм ( б ); ни b, ни g ( b ) не могут быть переписаны дальше, поэтому система не является конфлюэнтной
- ^ т.е. существуют бесконечные дифференцирования, например час ( c , c ) → f ( h ( c , c ), час ( c , c )) → f ( f ( h ( c , c ), час ( c , c ) ) , час ( c , c )) → ж ( ж ( ж ( час ( c , c ), час ( c , c ))), час ( c , c )) , час ( c , c )) → ...
Дальнейшее чтение
[ редактировать ]- Баадер, Франц ; Нипков, Тобиас (1999). Переписывание сроков и все такое . Издательство Кембриджского университета. ISBN 978-0-521-77920-3 . 316 страниц.
- Марк Безем , Ян Виллем Клоп , Роэль де Вриер («Тереза»), Term Rewriting Systems («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 .
Внешние ссылки
[ редактировать ]- Домашняя страница переписывания
- Рабочая группа ИФИП 1.6
- Исследователи переписывания текста , Аарт Миддельдорп , Инсбрукский университет
- Портал прекращения
- Maude System — программная реализация универсальной системы переписывания терминов. [5]
Ссылки
[ редактировать ]- ^ Жозеф Гоген «Доказательство и переписывание», Международная конференция по алгебраическому и логическому программированию, 1990 г., Нэнси, Франция, стр. 1-24.
- ^ Скалторп, Нил; Фрисби, Николас; Гилл, Энди (2014). «Машина переписывания Канзасского университета» (PDF) . Журнал функционального программирования . 24 (4): 434–473. дои : 10.1017/S0956796814000185 . ISSN 0956-7968 . S2CID 16807490 . Архивировано (PDF) из оригинала 22 сентября 2017 г. Проверено 12 февраля 2019 г.
- ^ Сян, Цзе; Киршнер, Элен; Лесканн, Пьер; Русинович, Майкл (1992). «Подход к переписыванию терминов для автоматического доказательства теорем» . Журнал логического программирования . 14 (1–2): 71–99. дои : 10.1016/0743-1066(92)90047-7 .
- ^ Фрювирт, Том (1998). «Теория и практика правил обработки ограничений» . Журнал логического программирования . 37 (1–3): 95–138. дои : 10.1016/S0743-1066(98)10005-5 .
- ^ Перейти обратно: а б Клавель, М.; Дуран, Ф.; Экер, С.; Линкольн, П.; Марти-Олиет, Н.; Месегер, Дж.; Кесада, Дж. Ф. (2002). «Мод: Спецификация и программирование в переписывании логики» . Теоретическая информатика . 285 (2): 187–243. дои : 10.1016/S0304-3975(01)00359-0 .
- ^ Ким Марриотт; Питер Дж. Стаки (1998). Программирование с ограничениями: Введение . МТИ Пресс. стр. 436–. ISBN 978-0-262-13341-8 .
- ^ Юрген Авенхаус; Клаус Мадленер (1990). «Переписывание терминов и уравнение». В РБ Банерджи (ред.). Формальные методы искусственного интеллекта . Справочник. Эльзевир. стр. 1–43. Здесь: Пример в разд.4.1, стр.24.
- ^ Роберт Фрейдин (1992). Основы генеративного синтаксиса . С Прессой. ISBN 978-0-262-06144-5 .
- ^ Перейти обратно: а б Книга и Отто, с. 10
- ^ Безем и др., с. 7,
- ^ Безем и др., с. 7
- ^ Мартин Дэвис и др. 1994, с. 178
- ^ Дершовиц, Жуанно (1990), раздел 1, стр.245
- ^ Клоп, Дж. В. «Системы переписывания терминов» (PDF) . Статьи Нахума Дершовица и его студентов . Тель-Авивский университет. п. 12. Архивировано (PDF) из оригинала 15 августа 2021 года . Проверено 14 августа 2021 г.
- ^ Н. Дершовиц, Ж.-П. Жуанно (1990). Ян ван Леувен (ред.). Переписать системы . Справочник по теоретической информатике. Том. Б. Эльзевир. стр. 243–320. ; здесь: Разд. 2.3
- ^ Макс Доше (1989). «Моделирование машин Тьюринга с помощью правила леволинейной перезаписи». Учеб. 3-й Межд. Конф. по методам и приложениям переписывания . ЛНКС. Том. 355. Спрингер. стр. 109–120.
- ^ Макс Доше (сентябрь 1992 г.). «Моделирование машин Тьюринга по правилу обычной перезаписи» . Теоретическая информатика . 103 (2): 409–420. дои : 10.1016/0304-3975(92)90022-8 .
- ^ Жерар Юэ, сержант Ланкфорд (март 1978 г.). О единой проблеме остановки для систем переписывания терминов (PDF) (Технический отчет). ИРИА. п. 8. 283 . Проверено 16 июня 2013 г.
- ^ Бернхард Грамлих (июнь 1993 г.). «Относительно самого внутреннего, слабого, единообразного и модульного завершения систем переписывания терминов» . Воронков, Андрей (ред.). Учеб. Международная конференция по логическому программированию и автоматическому рассуждению (LPAR) . ЛНАИ. Том. 624. Спрингер. стр. 285–296. Архивировано из оригинала 4 марта 2016 г. Проверено 19 июня 2014 г. Здесь: Пример 3.3
- ^ Ёшихито Тояма (1987). «Противоположные примеры прекращения действия систем переписывания терминов прямой суммы» (PDF) . Инф. Процесс. Летт . 25 (3): 141–143. дои : 10.1016/0020-0190(87)90122-0 . hdl : 2433/99946 . Архивировано (PDF) из оригинала 13 ноября 2019 г. Проверено 13 ноября 2019 г.
- ^ Н. Дершовиц (1985). «Прекращение» (PDF) . В Жан-Пьере Жуанно (ред.). Учеб. РТА . ЛНКС. Том. 220. Спрингер. стр. 180–224. Архивировано (PDF) из оригинала 12 ноября 2013 г. Проверено 16 июня 2013 г. ; здесь: стр.210
- ^ Вольфрам, Д.А. (1993). Клаузальная теория типов . Издательство Кембриджского университета. стр. 47–50. дои : 10.1017/CBO9780511569906 . ISBN 9780521395380 . S2CID 42331173 .
- ^ Нипков, Тобиас; Прехофер, Кристиан (1998). «Переписывание высшего порядка и уравнение» . В Бибеле, В.; Шмитт, П. (ред.). Автоматизированный вычет – основа для приложений. Том I: Основы . Клювер. стр. 399–430. Архивировано из оригинала 16 августа 2021 г. Проверено 16 августа 2021 г.