Теорема Райса-Шапиро — различия между версиями
Romanosov (обсуждение | вклад) м (→Источники информации) |
Romanosov (обсуждение | вклад) м |
||
| Строка 5: | Строка 5: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | '''Образцом''' (англ. ''pattern'') называется конечное множество слов, объединённое | + | '''Образцом''' (англ. ''pattern'') называется конечное множество слов, объединённое свойством. |
}} | }} | ||
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | '''Язык <tex>L</tex> удовлетворяет свойству <tex>A</tex>''', если <tex>L \in A</tex> ( этот язык содержится в <tex>A</tex>). | ||
| + | }} | ||
| + | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | '''Язык <tex>L</tex> удовлетворяет образцу <tex> | + | '''Язык <tex>L</tex> удовлетворяет образцу <tex>X</tex>''', если <tex>L</tex> содержит все элементы <tex>X</tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | '''Язык <tex>L</tex> удовлетворяет множеству образцов <tex> | + | '''Язык <tex>L</tex> удовлетворяет множеству образцов <tex>\Gamma</tex>''', если <tex>L</tex> удовлетворяет хотя бы одному образцу <tex>X \in \Gamma</tex>. |
}} | }} | ||
Теорема Райса-Шапиро позволяет дать простое описание перечислимым свойствам языков. Заметим, что вычислимо работать с произвольными языками возможности нет, поэтому далее неявно подразумевается, что все рассматриваемые языки являются [[Перечислимые языки|перечислимыми]]. | Теорема Райса-Шапиро позволяет дать простое описание перечислимым свойствам языков. Заметим, что вычислимо работать с произвольными языками возможности нет, поэтому далее неявно подразумевается, что все рассматриваемые языки являются [[Перечислимые языки|перечислимыми]]. | ||
| Строка 23: | Строка 29: | ||
Райса-Шапиро | Райса-Шапиро | ||
|statement= | |statement= | ||
| − | Свойство языков <tex>A</tex> перечислимо | + | Свойство языков <tex>A</tex> перечислимо \iff \exists\Gamma : L \in A \iff L \subseteq \Gamma . |
}} | }} | ||
| Строка 91: | Строка 97: | ||
== См. также== | == См. также== | ||
| + | * [[m-сводимость]] | ||
| + | * [[Примеры_неразрешимых_задач:_проблема_соответствий_Поста | Проблема соответствий Поста]] | ||
| + | * [[Неразрешимость исчисления предикатов первого порядка]] | ||
== Источники информации == | == Источники информации == | ||
Версия 01:09, 16 января 2017
| Определение: |
| Свойством программ (англ. property) называется подмножество перечислимых языков. |
| Определение: |
| Образцом (англ. pattern) называется конечное множество слов, объединённое свойством. |
| Определение: |
| Язык удовлетворяет свойству , если ( этот язык содержится в ). |
| Определение: |
| Язык удовлетворяет образцу , если содержит все элементы . |
| Определение: |
| Язык удовлетворяет множеству образцов , если удовлетворяет хотя бы одному образцу . |
Теорема Райса-Шапиро позволяет дать простое описание перечислимым свойствам языков. Заметим, что вычислимо работать с произвольными языками возможности нет, поэтому далее неявно подразумевается, что все рассматриваемые языки являются перечислимыми.
Заметим, что образцы являются конструктивными объектами, следовательно, можно говорить о разрешимых и перечислимых множествах образцов.
| Теорема (Райса-Шапиро): |
Свойство языков перечислимо \iff \exists\Gamma : L \in A \iff L \subseteq \Gamma . |
1)
Доказательство в одну сторону тривиально: пусть — перечислимое множество образцов. Будем обозначать за образец с номером , а за — элемент с номером образца с номером . Далее приведён код полуразрешителя , который принимает на вход код полуразрешителя и возвращает значение .
A(L): for t = 1 to for i = 1 to t ok true for j = 1 to if ok false if ok return true
2)
Для доказательства в другую сторону понадобятся следующие леммы:
| Лемма: |
Пусть — перечислимое свойство языков, . Тогда верно следствие: . |
| Доказательство: |
|
Строим доказательство от противного. Пусть , , , — перечислимое неразрешимое множество. Построим следующую вычислимую функцию: Вычисляется эта функция следующим образом: параллельно запускаем проверки и . Если , то , следовательно, функция возвращает единицу вне зависимости от . Если , то запускаем проверку . Разрешим множество с помощью этой функции. Для проверяемого элемента подготовим программу : g(x): if return if returnПосле этого запустим параллельно проверки и . Если , то первая проверка завершится. Иначе функция задаёт язык , который обладает свойством , следовательно, вторая проверка завершится, сигнализируя о том, что . Но не является разрешимым множеством, получено противоречие. |
| Лемма: |
Пусть — перечислимое свойство, . Тогда существует конечное множество , которое является подмножеством . |
| Доказательство: |
|
Строим доказательство от противного. Пусть , и любое конечное подмножество не удовлетворяет свойству , — перечислимое неразрешимое множество. Определим следующую функцию:
Заметим, что если , то распознаёт некоторое конечное подмножество и всё множество иначе. Эта функция тривиальным образом разрешима, построим с её помощью разрешитель . Аналогично доказательству первой леммы, подготовим программу : g(x): return f(x, y)После этого параллельно запустим проверки и . Аналогично, данная процедура разрешает множество . Но не является разрешимым, получено противоречие. |
Полуразрешитель для множества образцов, удовлетворяющих строится следующим образом: для каждого образца строится текст программы
f(x): return x
Текст программы передаётся полуразрешителю .
Докажем, что данное построение корректно. Обозначим множество образцов, принимаемое построенным выше полурарешителем . Пусть существует такой, что удовлетворяет . По определению , язык удовлетворяет свойству . Язык удовлетворяет свойству по первой лемме как надмножество .
Пусть . Тогда по второй лемме найдётся образец , который является подмножеством и удовлетворяет свойству . Следовательно, этот образец лежит в множестве и язык удовлетворяет множеству образцов , что и требовалось доказать.
См. также
Источники информации
- Верещагин Н. К., Шень A. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7
- Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — М.: Издательский дом «Вильямс», 2008. — С. 528 — ISBN 978-5-8459-1347-0 (рус.)