Свойства перечислимых языков. Теорема Успенского-Райса
Свойства языков
Рассмотрим множество всех перечислимых языков .
Определение: |
Свойством языков (англ. property of languages) называется множество | .
Примеры свойств:
- Язык должен содержать слово hello.
- Язык должен содержать хотя бы одно простое число.
Определение: |
Свойство называется тривиальным (англ. trivial), если | или .
Псевдокод для
p_A(p_X) return L(p_X) \in A
Псевдокод для
.p(A) return true
Определение: |
Язык свойства (англ. language of property) | — множество программ, языки которых обладают этим свойством: .
Пример. Пусть
— разрешитель некоторого языкаp() return ('hello')
Определение: |
Свойство разрешимым. | называется разрешимым (англ. recursive), если является
Теорема Успенского-Райса
Теорема: |
Язык никакого нетривиального свойства не является разрешимым. |
Доказательство: |
Приведём доказательство от противного. Предположим, что разрешимо и нетривиально, — программа, разрешающая .Не умаляя общности, можно считать, что (в противном случае перейдём к , которое также будет разрешимым и нетривиальным, так как и .Поскольку непусто, то найдётся перечислимый язык . Пусть — полуразрешитель .Рассмотрим вспомогательную программу: — универсальная функцияif U(i, x) == 1 // если i (где i - это программа), на входе x выдает 1 return else while true Нетрудно понять, что в разумной модели вычислений номер этой программы можно вычислить по данным и . Значит, можно рассмотреть такую программу:return Заметим, что Исключение пустого множества нам нужно чтобы различать Следовательно, и пустое.— программа, разрешающая универсальное множество. Получили противоречие. </td></tr> |
</table> См. такжеИсточники информации
|
</td></tr>