Перечислимые языки — различия между версиями
| Строка 21: | Строка 21: | ||
|proof= | |proof= | ||
Пусть <tex>L-</tex> перечислимый. | Пусть <tex>L-</tex> перечислимый. | ||
| − | + | <tex>p(x):</tex> | |
| − | + | for <tex> i = 1 ~ .. ~ \infty</tex> | |
| − | + | if <tex> g(i) == x</tex> | |
| − | + | return <tex> 1</tex> | |
Пусть <tex>L-</tex> полуразрешимый. | Пусть <tex>L-</tex> полуразрешимый. | ||
| − | + | <tex>g_0(i):</tex> | |
| − | + | <tex>cnt = 0</tex> | |
| − | + | for <tex> k = 1 ~ .. ~ \infty</tex> | |
| − | + | for <tex> x \in \{x_1, x_2, .., x_k\}</tex> | |
| − | + | if <tex> p|_k(i) == 1</tex> | |
| − | + | <tex>cnt</tex>++ | |
| − | + | if <tex> cnt == i</tex> | |
| − | + | return <tex> x</tex> | |
| − | + | <tex>g(i):</tex> | |
| − | + | <tex>U = \emptyset</tex> | |
| − | + | for <tex> j = 1 ~ .. ~ \infty</tex> | |
| − | + | <tex>x = g_0(j)</tex> | |
| − | + | if <tex> x \notin U</tex> | |
| − | + | <tex>cnt</tex>++ | |
| − | + | if <tex> cnt == i</tex> | |
| − | + | return <tex> x</tex> | |
| − | + | <tex>U.insert(x)</tex> | |
| − | |||
Приведённые программы доказывают эквивалентность определений. | Приведённые программы доказывают эквивалентность определений. | ||
}} | }} | ||
Версия 00:17, 19 декабря 2011
| Определение: |
| Полуразрешимый язык язык, для которого существует программа такая, что . |
| Определение: |
| Перечислимый язык язык, для которого существует программа такая, что . |
| Определение: |
| Пусть имеется некоторая программа , которая может либо завершиться за конечное время и что-то вернуть, либо зависнуть. Тогда запуск программы с тайм-лимитом будем обозначать как и иметь в виду следующее: если за операций программа корректно завершилась и что-то вернула, то вернет то же самое; если же за операций программа не успела завершиться, то вернет (специально зарезервированное значение). |
| Теорема: |
перечислимый полуразрешимый. |
| Доказательство: |
|
Пусть перечислимый. for if return Пусть полуразрешимый. for for if ++ if return for if ++ if returnПриведённые программы доказывают эквивалентность определений. |
| Теорема: |
Любой разрешимый язык является перечислимым. |
| Доказательство: |
| Любой разрешимый язык является полуразрешимым. А так как любой полуразрешимый язык является перечислимым, то разрешимый язык является перечислимым. |