<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Smn-Theorem</id>
	<title>Smn-Theorem - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Smn-Theorem"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Smn-Theorem&amp;action=history"/>
	<updated>2026-05-28T23:40:34Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Smn-Theorem&amp;diff=1082019&amp;oldid=prev</id>
		<title>imported&gt;Georg Hügler am 15. November 2019 um 23:10 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Smn-Theorem&amp;diff=1082019&amp;oldid=prev"/>
		<updated>2019-11-15T23:10:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;&amp;lt;math&amp;gt;s_{n}^m&amp;lt;/math&amp;gt;-Theorem&amp;#039;&amp;#039;&amp;#039; ist ein zentrales Resultat der [[Berechenbarkeitstheorie]]. Es stellt ein Hilfsmittel in der [[Informatik]] dar, mit dem man den Code eines Programms in Abhängigkeit von Parametern berechnen kann, und wurde erstmals durch [[Stephen Kleene|Stephen C. Kleene]] bewiesen (vgl. [[Rekursionssatz]]). Ein Resultat daraus ist, dass eine [[Programmiersprache]], die zur Laufzeit generierten Code ausführen kann, [[Currying]] unterstützen kann.&lt;br /&gt;
&lt;br /&gt;
== Formale Definition ==&lt;br /&gt;
Sei &amp;lt;math&amp;gt;\{\varphi_i \}_{i \in \N}&amp;lt;/math&amp;gt; eine [[Nummerierung (Informatik)|effektive Nummerierung]] aller [[Partielle Funktion|partiell]] [[Berechenbare Funktion|berechenbaren Funktionen]] (bspw. die [[Gödel-Nummerierung]] aller [[Determinismus (Algorithmus)|deterministischen]] [[Turingmaschine|Turing-Maschinen]]).&lt;br /&gt;
&lt;br /&gt;
Angenommen für einen festen Index &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; sei die entsprechende Funktion vom Typ &amp;lt;math&amp;gt;\varphi_i \colon \N^{m+n} \to \N&amp;lt;/math&amp;gt;, dann gibt es eine [[Totale Funktion|totale]] und [[berechenbare Funktion| berechenbare]] Funktion &amp;lt;math&amp;gt;s_{n}^m\colon \mathbb{N}^{m+1} \to \mathbb{N}&amp;lt;/math&amp;gt; mit&lt;br /&gt;
:&amp;lt;math&amp;gt;\varphi_{s_{n}^m(i, y_1,..., y_m)}(z_1,..., z_n) = \varphi_{i}(y_1,..., y_m, z_1,..., z_n)&amp;lt;/math&amp;gt; für alle &amp;lt;math&amp;gt;(y_1,..., y_m, z_1,...,z_n) \in \mathbb{N}^{m+n}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Nichtformale Erklärung ==&lt;br /&gt;
Die  &amp;lt;math&amp;gt;s^m_n&amp;lt;/math&amp;gt;Eigenschaft besagt, dass es zu einem Code &amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;, der mit den Parametern &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; ausgeführt wird (bzw. ausgeführt werden kann), ein Transformationsprogramm &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt; gibt, das aus &amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; ein Programm &amp;lt;math&amp;gt;w_x&amp;lt;/math&amp;gt; berechnet, welches bei der Eingabe von &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; das Gleiche berechnet, wie &amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; bei der Eingabe von &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
Das &amp;lt;math&amp;gt;s^m_n&amp;lt;/math&amp;gt;-Theorem ist eine Möglichkeit aus Funktionen, deren Berechenbarkeit bereits bekannt ist, neue zu konstruieren.&lt;br /&gt;
&lt;br /&gt;
Es sei beispielsweise zu zeigen, dass eine totale und berechenbare Funktion &amp;lt;math&amp;gt;g\colon \mathbb{N}^2 \to \mathbb{N}&amp;lt;/math&amp;gt; existiert, so dass für &amp;lt;math&amp;gt;i, j, x \in \mathbb{N}&amp;lt;/math&amp;gt; gilt: &amp;lt;math&amp;gt;\varphi_{g(i, j)}(x) = \varphi_{i}(x) + \varphi_{j}(x)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Definiere dazu &amp;lt;math&amp;gt;\psi(i, j, x) = \varphi_{i}(x) + \varphi_{j}(x)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Die Funktion &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; ist berechenbar, es existiert also ein Index &amp;lt;math&amp;gt;k \in \mathbb{N}&amp;lt;/math&amp;gt;, so dass gilt: &amp;lt;math&amp;gt;\psi = \varphi_{k}&amp;lt;/math&amp;gt;.&lt;br /&gt;
Aus dem &amp;lt;math&amp;gt;s_{n}^m&amp;lt;/math&amp;gt;-Theorem folgt nun die Existenz einer total berechenbaren Funktion &amp;lt;math&amp;gt;s_{1}^2\colon \mathbb{N}^3 \to \mathbb{N}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;\varphi_{s_{1}^2(k, i, j)}(x) = \varphi_{k}(i, j, x) = \psi(i, j, x)&amp;lt;/math&amp;gt; für alle &amp;lt;math&amp;gt;i, j, x \in \mathbb{N}&amp;lt;/math&amp;gt;.&lt;br /&gt;
Nun definieren wir &amp;lt;math&amp;gt;g(i, j) := s_{1}^2(k, i, j)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; ist dann offenbar ebenfalls total  berechenbar und es gilt:&lt;br /&gt;
:&amp;lt;math&amp;gt;\varphi_{g(i, j)}(x) = \varphi_{s_{1}^2(k, i, j)}(x) = \psi(i, j, x) = \varphi_{i}(x) + \varphi_{j}(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insbesondere wird das &amp;lt;math&amp;gt;s_n^m&amp;lt;/math&amp;gt;-Theorem oft verwendet, um [[Reduktion (Theoretische Informatik)|Reduktionsfunktionen]] zu konstruieren:&lt;br /&gt;
&lt;br /&gt;
Als Beispiel soll das [[Halteproblem|allgemeine Halteproblem]] &amp;lt;math&amp;gt;H = \{(i,x) \in \N^2 \mid \varphi_i(x){\downarrow}\}&amp;lt;/math&amp;gt; auf das Epsilon-Halteproblem &amp;lt;math&amp;gt;H_0 = \{e \in \N \mid \varphi_e(0){\downarrow}\}&amp;lt;/math&amp;gt; reduziert werden. Genauer ist also die Existenz einer total berechenbaren Funktion &amp;lt;math&amp;gt;f \colon \N^2 \to \N&amp;lt;/math&amp;gt; zu zeigen, so dass für alle &amp;lt;math&amp;gt;i,x \in \N&amp;lt;/math&amp;gt; gilt &amp;lt;math&amp;gt;\varphi_i(x){\downarrow} \Leftrightarrow \varphi_{f(i,x)}(0){\downarrow}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Analog zu oben definiert man &amp;lt;math&amp;gt;\psi(i,x,y) = \varphi_i(x)&amp;lt;/math&amp;gt;, die Funktion &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; ist offensichtlich berechenbar und ihr Wert hängt nicht von &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; ab.&lt;br /&gt;
Es sei also &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; ein Index, so dass &amp;lt;math&amp;gt;\psi = \varphi_k&amp;lt;/math&amp;gt;. Das &amp;lt;math&amp;gt;s^m_n&amp;lt;/math&amp;gt;-Theorem liefert jetzt die Existenz einer total berechenbaren Funktion &amp;lt;math&amp;gt;s^2_1&amp;lt;/math&amp;gt;, so dass &amp;lt;math&amp;gt;\varphi_{s^2_1(k,i,x)}(y) = \varphi_k(i,x,y)&amp;lt;/math&amp;gt;. Setzt man &amp;lt;math&amp;gt;f(i,x) = s^2_1(k,i,x)&amp;lt;/math&amp;gt; und wählt &amp;lt;math&amp;gt;y = 0&amp;lt;/math&amp;gt;, ergibt sich&lt;br /&gt;
:&amp;lt;math&amp;gt;\varphi_{f(i,x)}(0) = \varphi_k(i,x,0) = \psi(i,x,0) = \varphi_i(x).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechenbarkeitstheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Georg Hügler</name></author>
	</entry>
</feed>