Свойства перечислимых языков. Теорема Успенского-Райса — различия между версиями
 (→Теорема Успенского-Райса)  | 
				 (→Теорема Успенского-Райса)  | 
				||
| Строка 39: | Строка 39: | ||
Предположим, что <tex>A</tex> разрешимо и нетривиально, <tex>p_A</tex> {{---}} программа, разрешающая <tex>A</tex>.  | Предположим, что <tex>A</tex> разрешимо и нетривиально, <tex>p_A</tex> {{---}} программа, разрешающая <tex>A</tex>.  | ||
| − | Не умаляя общности, можно считать, что <tex>\varnothing \notin A</tex> (в противном случае перейдём к <tex> \mathrm {RE} \setminus A</tex>, которое также будет разрешимым и нетривиальным, так как <tex> \mathrm {RE} \setminus A</tex> != <tex>\varnothing </tex>  и <tex> \mathrm {RE} \setminus A</tex> != <tex>\mathrm {RE}   | + | Не умаляя общности, можно считать, что <tex>\varnothing \notin A</tex> (в противном случае перейдём к <tex> \mathrm {RE} \setminus A</tex>, которое также будет разрешимым и нетривиальным, так как <tex> \mathrm {RE} \setminus A</tex> != <tex>\varnothing </tex>  и <tex> \mathrm {RE} \setminus A</tex> != <tex>\mathrm {RE} ) </tex>.    | 
Поскольку <tex>A</tex> непусто, то найдётся перечислимый язык <tex>X \in A</tex>. Пусть <tex>p_X</tex> {{---}} полуразрешитель <tex>X</tex>.  | Поскольку <tex>A</tex> непусто, то найдётся перечислимый язык <tex>X \in A</tex>. Пусть <tex>p_X</tex> {{---}} полуразрешитель <tex>X</tex>.  | ||
| Строка 50: | Строка 50: | ||
   '''else'''  |    '''else'''  | ||
      '''while''' ''true''  |       '''while''' ''true''  | ||
| − | + | Исключение пустого множества нам нужно чтобы различать <tex> X</tex> и пустое (при построении функции  <tex>L(g_{i,x}))</tex>.  | |
Нетрудно понять, что в разумной модели вычислений номер этой программы можно вычислить по данным <tex>i</tex> и <tex>x</tex>. Значит, можно рассмотреть такую программу:  | Нетрудно понять, что в разумной модели вычислений номер этой программы можно вычислить по данным <tex>i</tex> и <tex>x</tex>. Значит, можно рассмотреть такую программу:  | ||
  <tex>US(\langle i, x \rangle )</tex>  |   <tex>US(\langle i, x \rangle )</tex>  | ||
Версия 11:58, 14 декабря 2014
Свойства языков
Рассмотрим множество всех перечислимых языков .
| Определение: | 
| Свойством языков (англ. 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 Заметим, что Следовательно,— программа, разрешающая универсальное множество. Получили противоречие.  | 
См. также
Источники информации
- Wikipedia — Rice's theorem
 - Rice, H. G. "Classes of Recursively Enumerable Sets and Their Decision Problems." Trans. Amer. Math. Soc. 74, 358-366, 1953.
 - Хопкрофт Д., Мотванн Р., Ульманн Д. Введение в теорию автоматов, языков и вычислений страница 397.