<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.66.152.196&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.66.152.196&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/217.66.152.196"/>
		<updated>2026-05-19T18:46:36Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B8&amp;diff=58216</id>
		<title>Теорема о рекурсии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B8&amp;diff=58216"/>
				<updated>2016-12-23T19:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.152.196: /* Теорема о рекурсии */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Теорема о рекурсии==&lt;br /&gt;
Давайте рассмотрим произвольную вычислимую функцию от двух аргументов - &amp;lt;tex&amp;gt;V(x, y)&amp;lt;/tex&amp;gt;. Теорема о рекурсии утверждает, что всегда можно найти эквивалентную ей &amp;lt;tex&amp;gt;p(y) = V(p, y)&amp;lt;/tex&amp;gt;, которая будет использовать саму себя для вычисления значения. Сформулируем теорему более формально.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1&lt;br /&gt;
|author=Клини&lt;br /&gt;
|about=о рекурсии / ''Kleene's recursion theorem''&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;V(n, x)&amp;lt;/tex&amp;gt; {{---}} [[Вычислимые функции|вычислимая функция]]. Тогда найдётся такая вычислимая &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\forall y&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;p(y) = V(p, y)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведем конструктивное доказательство теоремы.&lt;br /&gt;
Пусть есть вычислимая &amp;lt;tex&amp;gt;V(x,y)&amp;lt;/tex&amp;gt;. Будем поэтапно строить функцию &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Предположим, что у нас в распоряжении есть функция &amp;lt;tex&amp;gt;\mathrm{getSrc()}&amp;lt;/tex&amp;gt;, которая вернет код &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt;. Тогда саму &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt; можно переписать так:&lt;br /&gt;
 '''function''' p('''T''' y): &lt;br /&gt;
    '''T''' V('''T''' x, '''T''' y):&lt;br /&gt;
       ...&lt;br /&gt;
 &lt;br /&gt;
    '''void''' main():&lt;br /&gt;
       '''return''' V(getSrc(), y)&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getSrc():&lt;br /&gt;
       ...&lt;br /&gt;
Теперь нужно определить функцию &amp;lt;tex&amp;gt;\mathrm{getSrc()}&amp;lt;/tex&amp;gt;. Предположим, что внутри &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt; мы можем определить функцию &amp;lt;tex&amp;gt;\mathrm{getOtherSrc()}&amp;lt;/tex&amp;gt;, состоящую из одного оператора &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;, которая вернет весь предшествующий ей код. Тогда &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt; перепишется так. &lt;br /&gt;
 '''function''' p('''T''' y):&lt;br /&gt;
    '''T''' V('''T''' x, '''T''' y):&lt;br /&gt;
       ...&lt;br /&gt;
 &lt;br /&gt;
    '''void''' main():&lt;br /&gt;
       '''return''' V(getSrc(), y)&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getSrc():&lt;br /&gt;
       '''string''' src = getOtherSrc()&lt;br /&gt;
       '''return''' src + &amp;quot;string getOtherSrc():&amp;quot; + &amp;quot;\n&amp;quot; + &amp;quot;return&amp;quot; + src + &amp;quot;\n&amp;quot;;&lt;br /&gt;
Теперь &amp;lt;tex&amp;gt;\mathrm{getOtherSrc()}&amp;lt;/tex&amp;gt; определяется очевидным образом, и мы получаем '''итоговую версию''' функции &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt;&lt;br /&gt;
 '''function''' p('''T''' y):&lt;br /&gt;
    '''T''' V('''T''' x, '''T''' y):&lt;br /&gt;
       ...&lt;br /&gt;
 &lt;br /&gt;
    '''void''' main():&lt;br /&gt;
       '''return''' V(getSrc(), y)&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getSrc():&lt;br /&gt;
       '''string''' src = getOtherSrc()&lt;br /&gt;
       '''return''' src + &amp;quot;string getOtherSrc():&amp;quot; + &amp;quot;\n&amp;quot; + &amp;quot;return&amp;quot; + src + &amp;quot;\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getOtherSrc():&lt;br /&gt;
       '''return''' &amp;quot;function  p('''T''' y):       &lt;br /&gt;
                            V('''T''' x, '''T''' y):&lt;br /&gt;
                               ...&lt;br /&gt;
 &lt;br /&gt;
                            main():&lt;br /&gt;
                               return V(getSrc(), y)&lt;br /&gt;
  &lt;br /&gt;
                            string getSrc():&lt;br /&gt;
                               string src = getOtherSrc();&lt;br /&gt;
                               return src + &amp;quot;string getOtherSrc():&amp;quot; + &amp;quot;\n&amp;quot; + &amp;quot;return&amp;quot; + src + &amp;quot;\n;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
Иначе говоря, если рассмотреть &amp;lt;tex&amp;gt;V(x, y)&amp;lt;/tex&amp;gt;, как программу, использующую x в качестве исходного кода и выполняющую действие над y, то теорема о рекурсии показывает, что мы можем написать эквивалентную ей программу &amp;lt;tex&amp;gt;p(y) = V(p, y)&amp;lt;/tex&amp;gt;, которая будет использовать собственный исходный код.&lt;br /&gt;
&lt;br /&gt;
Приведем так же альтернативую формулировку теоремы и альтернативное (неконструктивное) доказательство.&lt;br /&gt;
&lt;br /&gt;
==Теорема о неподвижной точке==&lt;br /&gt;
Введем на множестве натуральных чисел следующее отношение: &amp;lt;tex&amp;gt;x \equiv y \Leftrightarrow U_x = U_y&amp;lt;/tex&amp;gt; и докажем вспомогательную лемму.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = Функция &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt; называется '''&amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением''' функции &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;, если для всех таких &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f(x)&amp;lt;/tex&amp;gt; определено, &amp;lt;tex&amp;gt;g(x) \equiv f(x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement= Для всякой вычислимой функции &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; существует вычислимая и всюду определенная функция &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt;, являющаяся ее &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением.&lt;br /&gt;
|proof= Рассмотрим вычислимую функцию от двух аргументов &amp;lt;tex&amp;gt; V(n, x) = U(f(n), x)&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — вычислимая, то существует вычислимая и всюду определенная функция &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; такая, что: &amp;lt;tex&amp;gt;V(n, x) = U(s(n), x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Покажем, что &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; будет являться &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением функции &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt; определено, то &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; вернет другой номер той же вычислимой функции. Если же &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt; не определено, то &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; вернет номер нигде не определенной функции.&lt;br /&gt;
Таким образом, мы нашли &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжение для произвольно взятой вычислимой функции &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th2&lt;br /&gt;
|author=Роджерс&lt;br /&gt;
|about=о неподвижной точке / ''Rogers' fixed-point theorem''&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; {{---}} [[Диагональный_метод|универсальная функция]] для класса вычислимых функций одного аргумента, &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; {{---}} всюду определённая [[Вычислимые_функции|вычислимая функция]] одного аргумента. Тогда найдется такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;U_n=U_{h(n)}&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;h(n)&amp;lt;/tex&amp;gt; - номера одной функции.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать теорему от противного: предположим, что существует всюду определенная вычислимая функция &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt;, такая, что &amp;lt;tex&amp;gt;U_n \neq U_{h(n)}&amp;lt;/tex&amp;gt; для любого &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. В терминах введенного нами отношения, это значит, что &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; не имеет &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} неподвижных точек. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим некоторую вычислимую функцию, от которой никакая вычислимая функция не может отличаться всюду. Такой будет, например &amp;lt;tex&amp;gt;f(x) = U(x, x)&amp;lt;/tex&amp;gt; (действительно, если предположить, что существует вычислимая функция &amp;lt;tex&amp;gt;g(n)&amp;lt;/tex&amp;gt;, всюду отличная от &amp;lt;tex&amp;gt;f(n) = U(n, n)&amp;lt;/tex&amp;gt;, то нарушается определение универсальной функции.)&lt;br /&gt;
&lt;br /&gt;
Согласно доказанной нами лемме, существует вычислимая и всюду определенная функция &amp;lt;tex&amp;gt;g(x)&amp;lt;/tex&amp;gt;, являющаяся &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением функции &amp;lt;tex&amp;gt;f(x)&amp;lt;/tex&amp;gt;. Давайте зададим функцию &amp;lt;tex&amp;gt;t(x)&amp;lt;/tex&amp;gt; следующим образом: &amp;lt;tex&amp;gt;t(x) = h(g(x))&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;h(x)&amp;lt;/tex&amp;gt; - искомая всюду определенная, вычислимая функция, не имеющая &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} неподвижных точек. Тогда &amp;lt;tex&amp;gt;t(x)&amp;lt;/tex&amp;gt; всюду отличается от &amp;lt;tex&amp;gt;f(x)&amp;lt;/tex&amp;gt; (в силу того, что &amp;lt;tex&amp;gt;h(x)&amp;lt;/tex&amp;gt; не имеет неподвижных точек.) Получили противоречие, из чего следует, что такой функции &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; не существует.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
*[[Участник:Shersh/Теорема_о_рекурсии]]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [[wikipedia:Kleene's_recursion_theorem | Wikipedia {{---}} Kleene's recursion theorem]]&lt;br /&gt;
* ''Верещагин Н. К., Шень А.'' '''Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции''' — М.: МЦНМО, 1999 - С. 176&lt;br /&gt;
* ''Kleene, Stephen'' '''On notation for ordinal numbers''' - The Journal of Symbolic Logic, 1938 - С. 150-155&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;/div&gt;</summary>
		<author><name>217.66.152.196</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B8&amp;diff=58215</id>
		<title>Теорема о рекурсии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B8&amp;diff=58215"/>
				<updated>2016-12-23T19:03:17Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.152.196: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Теорема о рекурсии==&lt;br /&gt;
Давайте рассмотрим произвольную вычислимую функцию от двух аргументов - &amp;lt;tex&amp;gt;V(x, y)&amp;lt;/tex&amp;gt;. Теорема о рекурсии утверждает, что всегда можно найти эквивалентную ей &amp;lt;tex&amp;gt;p(y) = V(p, y)&amp;lt;/tex&amp;gt;, которая будет использовать саму себя для вычисления значения.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1&lt;br /&gt;
|author=Клини&lt;br /&gt;
|about=о рекурсии / ''Kleene's recursion theorem''&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;V(n, x)&amp;lt;/tex&amp;gt; {{---}} [[Вычислимые функции|вычислимая функция]]. Тогда найдётся такая вычислимая &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\forall y&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;p(y) = V(p, y)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведем конструктивное доказательство теоремы.&lt;br /&gt;
Пусть есть вычислимая &amp;lt;tex&amp;gt;V(x,y)&amp;lt;/tex&amp;gt;. Будем поэтапно строить функцию &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Предположим, что у нас в распоряжении есть функция &amp;lt;tex&amp;gt;\mathrm{getSrc()}&amp;lt;/tex&amp;gt;, которая вернет код &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt;. Тогда саму &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt; можно переписать так:&lt;br /&gt;
 '''function''' p('''T''' y): &lt;br /&gt;
    '''T''' V('''T''' x, '''T''' y):&lt;br /&gt;
       ...&lt;br /&gt;
 &lt;br /&gt;
    '''void''' main():&lt;br /&gt;
       '''return''' V(getSrc(), y)&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getSrc():&lt;br /&gt;
       ...&lt;br /&gt;
Теперь нужно определить функцию &amp;lt;tex&amp;gt;\mathrm{getSrc()}&amp;lt;/tex&amp;gt;. Предположим, что внутри &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt; мы можем определить функцию &amp;lt;tex&amp;gt;\mathrm{getOtherSrc()}&amp;lt;/tex&amp;gt;, состоящую из одного оператора &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;, которая вернет весь предшествующий ей код. Тогда &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt; перепишется так. &lt;br /&gt;
 '''function''' p('''T''' y):&lt;br /&gt;
    '''T''' V('''T''' x, '''T''' y):&lt;br /&gt;
       ...&lt;br /&gt;
 &lt;br /&gt;
    '''void''' main():&lt;br /&gt;
       '''return''' V(getSrc(), y)&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getSrc():&lt;br /&gt;
       '''string''' src = getOtherSrc()&lt;br /&gt;
       '''return''' src + &amp;quot;string getOtherSrc():&amp;quot; + &amp;quot;\n&amp;quot; + &amp;quot;return&amp;quot; + src + &amp;quot;\n&amp;quot;;&lt;br /&gt;
Теперь &amp;lt;tex&amp;gt;\mathrm{getOtherSrc()}&amp;lt;/tex&amp;gt; определяется очевидным образом, и мы получаем '''итоговую версию''' функции &amp;lt;tex&amp;gt;p(y)&amp;lt;/tex&amp;gt;&lt;br /&gt;
 '''function''' p('''T''' y):&lt;br /&gt;
    '''T''' V('''T''' x, '''T''' y):&lt;br /&gt;
       ...&lt;br /&gt;
 &lt;br /&gt;
    '''void''' main():&lt;br /&gt;
       '''return''' V(getSrc(), y)&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getSrc():&lt;br /&gt;
       '''string''' src = getOtherSrc()&lt;br /&gt;
       '''return''' src + &amp;quot;string getOtherSrc():&amp;quot; + &amp;quot;\n&amp;quot; + &amp;quot;return&amp;quot; + src + &amp;quot;\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    '''string''' getOtherSrc():&lt;br /&gt;
       '''return''' &amp;quot;function  p('''T''' y):       &lt;br /&gt;
                            V('''T''' x, '''T''' y):&lt;br /&gt;
                               ...&lt;br /&gt;
 &lt;br /&gt;
                            main():&lt;br /&gt;
                               return V(getSrc(), y)&lt;br /&gt;
  &lt;br /&gt;
                            string getSrc():&lt;br /&gt;
                               string src = getOtherSrc();&lt;br /&gt;
                               return src + &amp;quot;string getOtherSrc():&amp;quot; + &amp;quot;\n&amp;quot; + &amp;quot;return&amp;quot; + src + &amp;quot;\n;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
Иначе говоря, если рассмотреть &amp;lt;tex&amp;gt;V(x, y)&amp;lt;/tex&amp;gt;, как программу, использующую x в качестве исходного кода и выполняющую действие над y, то теорема о рекурсии показывает, что мы можем написать эквивалентную ей программу &amp;lt;tex&amp;gt;p(y) = V(p, y)&amp;lt;/tex&amp;gt;, которая будет использовать собственный исходный код.&lt;br /&gt;
&lt;br /&gt;
Приведем так же альтернативую формулировку теоремы и альтернативное (неконструктивное) доказательство.&lt;br /&gt;
&lt;br /&gt;
==Теорема о неподвижной точке==&lt;br /&gt;
Введем на множестве натуральных чисел следующее отношение: &amp;lt;tex&amp;gt;x \equiv y \Leftrightarrow U_x = U_y&amp;lt;/tex&amp;gt; и докажем вспомогательную лемму.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = Функция &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt; называется '''&amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением''' функции &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;, если для всех таких &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f(x)&amp;lt;/tex&amp;gt; определено, &amp;lt;tex&amp;gt;g(x) \equiv f(x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement= Для всякой вычислимой функции &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; существует вычислимая и всюду определенная функция &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt;, являющаяся ее &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением.&lt;br /&gt;
|proof= Рассмотрим вычислимую функцию от двух аргументов &amp;lt;tex&amp;gt; V(n, x) = U(f(n), x)&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — вычислимая, то существует вычислимая и всюду определенная функция &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; такая, что: &amp;lt;tex&amp;gt;V(n, x) = U(s(n), x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Покажем, что &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; будет являться &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением функции &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt; определено, то &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; вернет другой номер той же вычислимой функции. Если же &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt; не определено, то &amp;lt;tex&amp;gt;s(n)&amp;lt;/tex&amp;gt; вернет номер нигде не определенной функции.&lt;br /&gt;
Таким образом, мы нашли &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжение для произвольно взятой вычислимой функции &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th2&lt;br /&gt;
|author=Роджерс&lt;br /&gt;
|about=о неподвижной точке / ''Rogers' fixed-point theorem''&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; {{---}} [[Диагональный_метод|универсальная функция]] для класса вычислимых функций одного аргумента, &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; {{---}} всюду определённая [[Вычислимые_функции|вычислимая функция]] одного аргумента. Тогда найдется такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;U_n=U_{h(n)}&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;h(n)&amp;lt;/tex&amp;gt; - номера одной функции.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать теорему от противного: предположим, что существует всюду определенная вычислимая функция &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt;, такая, что &amp;lt;tex&amp;gt;U_n \neq U_{h(n)}&amp;lt;/tex&amp;gt; для любого &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. В терминах введенного нами отношения, это значит, что &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; не имеет &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} неподвижных точек. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим некоторую вычислимую функцию, от которой никакая вычислимая функция не может отличаться всюду. Такой будет, например &amp;lt;tex&amp;gt;f(x) = U(x, x)&amp;lt;/tex&amp;gt; (действительно, если предположить, что существует вычислимая функция &amp;lt;tex&amp;gt;g(n)&amp;lt;/tex&amp;gt;, всюду отличная от &amp;lt;tex&amp;gt;f(n) = U(n, n)&amp;lt;/tex&amp;gt;, то нарушается определение универсальной функции.)&lt;br /&gt;
&lt;br /&gt;
Согласно доказанной нами лемме, существует вычислимая и всюду определенная функция &amp;lt;tex&amp;gt;g(x)&amp;lt;/tex&amp;gt;, являющаяся &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} продолжением функции &amp;lt;tex&amp;gt;f(x)&amp;lt;/tex&amp;gt;. Давайте зададим функцию &amp;lt;tex&amp;gt;t(x)&amp;lt;/tex&amp;gt; следующим образом: &amp;lt;tex&amp;gt;t(x) = h(g(x))&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;h(x)&amp;lt;/tex&amp;gt; - искомая всюду определенная, вычислимая функция, не имеющая &amp;lt;tex&amp;gt;\equiv&amp;lt;/tex&amp;gt; {{---}} неподвижных точек. Тогда &amp;lt;tex&amp;gt;t(x)&amp;lt;/tex&amp;gt; всюду отличается от &amp;lt;tex&amp;gt;f(x)&amp;lt;/tex&amp;gt; (в силу того, что &amp;lt;tex&amp;gt;h(x)&amp;lt;/tex&amp;gt; не имеет неподвижных точек.) Получили противоречие, из чего следует, что такой функции &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; не существует.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
*[[Участник:Shersh/Теорема_о_рекурсии]]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [[wikipedia:Kleene's_recursion_theorem | Wikipedia {{---}} Kleene's recursion theorem]]&lt;br /&gt;
* ''Верещагин Н. К., Шень А.'' '''Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции''' — М.: МЦНМО, 1999 - С. 176&lt;br /&gt;
* ''Kleene, Stephen'' '''On notation for ordinal numbers''' - The Journal of Symbolic Logic, 1938 - С. 150-155&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;/div&gt;</summary>
		<author><name>217.66.152.196</name></author>	</entry>

	</feed>