Изменения
Нет описания правки
{{Определение
|definition =
}}
{{Определение
|definition =
}}
{{Определение
|definition =
}}
{{Теорема
|id=th1
|statement=
|proof=
Пусть имеется перечисляющая программа для языка <tex>L-</tex>, построим полуразрешающуюперечислимый. Сделаем это следующим образом. Получаем на вход некоторое слово :<tex>wp(x):</tex>, запускаем перечисляющую программу. Если в процессе вывода слов встретится :: <tex>wfor ~ i = 1 ~ .. ~ \infty</tex>, то завершаем работу, вернув ::: <tex>1if ~ g(i) = x</tex>. Таким образом при подаче на вход слова из языка построенная программа вернет :::: <tex>return ~ 1</tex> и завершится. Если же мы подадим на вход слово не из языка, то построенная программа будет работать бесконечно долго, что вполне устраивает. Таким образом полуразрешающая программа построена. Теперь пусть имеется полуразрешающая программа <tex>p</tex> для языка Пусть <tex>L-</tex>, построим перечисляющуюполуразрешимый. : for <tex>TLg_0(i):</tex> = ::<tex>1</tex> .. <tex>+\inftycnt = 0</tex> {:: for <tex>length</tex> for ~ k = <tex>1</tex> ~ .. <tex>TL~ \infty</tex> {::: for <tex>w for ~ x \in L</tex>\{x_1, x_2, .., <tex>|w| = lengthx_k\}</tex> { :::: if <tex>if ~ p|_{TL}_k(wi)=1</tex>::::: выводим <tex>wcnt++</tex>;:::}::}:} Если слово <tex>w</tex> принадлежит языку, то условие <tex>p|_{TL}(w)if ~ cnt =1i</tex> будет выполнено для какого-то ::::: <tex>TLreturn ~ x</tex>, а значит на выходе построенной программы рано или поздно появится <tex>w</tex>. Если же слово <tex>w</tex> не принадлежит языку, то <tex>p|_{TL}(w)=1</tex> ну будет выполнено ни для какого <tex>TL</tex>, а значит оно никогда не появится на выходе.
}}
{{Теорема
|statement=
Любой разрешимый язык <tex>L</tex> является перечислимым.
|proof=Язык <tex>L</tex> резрешимый, значит существует программа <tex>p</tex>, которая за конечное время определит, принадлежит ли поданное на вход слово языку Любой разрешимый язык <tex>L</tex>является полуразрешимым. Таким образом перечисляющая программа будет иметь следующий вид. : for <tex>w \in L</tex> { :: if <tex>p(w)=1</tex>::: выводим <tex>w</tex>;:} Таким образомА так как любой полуразрешимый язык является перечислимым, на выходе появится слово то разрешимый язык <tex>w</tex> тогда и только тогда, когда <tex>w \in L</tex>, теорема доказана.}} {{Теорема|id=th3|statement=Существуют перечислимые, но не разрешимые языкиявляется перечислимым.
}}