Теорема Левина
Версия от 20:55, 31 мая 2012; Kirelagin (обсуждение | вклад)
| Теорема (Левин): | 
| Для любого языка  и соответствующего ему (из определения ) отношения  существует «оптимальная» (работающая «не сильно дольше», чем любая другая) программа , сопоставляющая словам из  их сертификаты, то есть:
 
 | 
| Доказательство: | 
| Построим «оптимальную» программу . Пронумеруем все программы . Поместим их в различные потоки, подадим на вход слово и будем исполнять по одной инструкции в следующем порядке: на шаге с номером запустим программу , где таково, что делится на и не делится на . Таким образом, программа будет исполняться на каждом -м шаге начиная с -того. Следовательно, если завершит работу за инструкций, то к этому времени нами будет сделано шагов. Как только , выдав некоторое значение, завершит работу, запустим в том же потоке проверку сертификата слова , используя вывод в качестве сертификата. Если результат проверки положителен, искомый сертификат найден, иначе — продолжим работу больше ничего не запуская в этом потоке.Таким образом, если некоторая программа генерирует верные сертификаты, то наша программа завершит работу не более, чем за шагов. и из определения , значит это равно . | 
