Перечислимые языки — различия между версиями
Строка 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 |
Теорема: |
Любой разрешимый язык является перечислимым. |
Доказательство: |
Любой разрешимый язык | является полуразрешимым. А так как любой полуразрешимый язык является перечислимым, то разрешимый язык является перечислимым.