Разрешимые (рекурсивные) языки — различия между версиями
| Строка 30: | Строка 30: | ||
Универсальный язык неразрешим. | Универсальный язык неразрешим. | ||
|proof= | |proof= | ||
| − | + | Доказательство от противного. <br/> | |
Пусть язык <tex> U </tex> разрешим. <br/> | Пусть язык <tex> U </tex> разрешим. <br/> | ||
Тогда существует такая программа <tex> u </tex>, что <tex> \forall \langle p, x \rangle \in U: u(\langle p, x \rangle) = 1</tex>, а для <tex> \forall \langle p, x \rangle \notin U: u(\langle p, x \rangle) = 0</tex>. <br/> | Тогда существует такая программа <tex> u </tex>, что <tex> \forall \langle p, x \rangle \in U: u(\langle p, x \rangle) = 1</tex>, а для <tex> \forall \langle p, x \rangle \notin U: u(\langle p, x \rangle) = 0</tex>. <br/> | ||
Версия 07:08, 14 декабря 2011
| Определение: |
| Язык называется разрешимым (рекурсивным), если существует такая программа , что , а для . |
Примеры
Пример разрешимого множества
| Утверждение: |
Язык чётных чисел разрешим. |
|
Приведём программу, разрешающую наш язык:
if остаток от деления i на 2 = 0
return 1
else
return 0
Заметим, что программа нигде не может зависнуть. |
Пример неразрешимого множества
| Определение: |
| Язык называется универсальным. |
| Утверждение: |
Универсальный язык неразрешим. |
|
Доказательство от противного.
if u(<x, x>) = 1
while true
else
return 1
Теперь рассмотрим вызов .
|