Answer to Question 1
a: Ein deterministischer endlicher Automat (DEA) für die Sprache $L_3$ könnte so aussehen: Der DEA hat vier Zustände $q_0$, $q_1$, $q_2$ und $q_3$. Der Startzustand ist $q_0$. Der Zustand $q_3$ ist der einzige Endzustand. Die Übergangsfunktion wäre wie folgt: Von jedem Zustand $q_i$ ($i=0,1,2$) geht bei Eingabe von '0' ein Übergang zum Zustand $q_{(i+1) \mod 3}$ und bei Eingabe von '1' ein Übergang zum Zustand $q_{(i+1) \mod 3}$, wobei der Zustand $q_3$ nach jedem '0' oder '1' zu sich selbst übergeht. Auf diese Weise akzeptiert der DEA alle Suffixe, die mit '01' beginnen und für jedes dritte darauffolgende Zeichen eine '1' beinhalten.

b: Die Menge der gültigen Suffixe $S_{\varepsilon}(L)$ für eine beliebige Sprache $L$ enthält alle Wörter aus der Sprache $L$. Das liegt daran, dass das Präfix $\varepsilon$ das leere Wort ist, und jedes Wort in $L$, mit dem leeren Wort vorangestellt, immer noch in $L$ ist.

c: Die Aussage, dass eine Sprache $L$ genau dann regulär ist, wenn $S_w(L)$ für alle $w \in \Sigma^*$ regulär ist, kann wie folgt bewiesen werden: 

- (=>) Wenn $L$ eine reguläre Sprache ist, dann kann sie von einem DEA akzeptiert werden. Für ein gegebenes Wort $w$, definiert man einen neuen DEA, der $S_w(L)$ akzeptiert, indem man den ursprünglichen DEA so modifiziert, dass er erst dann startet, wenn das Wort $w$ gelesen wurde. Da man diese Modifikation für jedes Wort $w$ vornehmen kann und der resultierende Automat immer noch ein DEA ist, ist $S_w(L)$ für jedes $w$ eine reguläre Sprache.

- (<=) Wenn $S_w(L)$ für alle $w \in \Sigma^*$ regulär ist, dann kann man einen DEA konstruieren, der $L$ akzeptiert, indem man die DEAs für alle möglichen Präfixe kombiniert. Dies ist möglich, weil die regulären Sprachen abgeschlossen gegenüber der Vereinigung sind. Da alle gültigen Suffixe regulär sind, würde die Menge aller Wörter, die von den DEAs erkannt werden, genau $L$ sein.

d: Um zu zeigen, dass es eine nichtreguläre Sprache $L$ gibt, bei der $S_w(L)$ für unendlich viele $w \in \Sigma^*$ regulär ist, kann man das Pumping-Lemma für reguläre Sprachen verwenden. Man nimmt eine Sprache, die nicht das Pumping-Lemma erfüllt, wie beispielsweise die Sprache der Primzahlenlängen $L = \{1^p | p \text{ ist eine Primzahl}\}$. Für jedes Wort $w = 1^p$, wobei $p$ eine Primzahl ist, ist das Suffix $S_w(L)$, das nur das leere Wort enthält, offensichtlich regulär, da es von einem DEA akzeptiert werden kann, der nur einen Zustand hat und das leere Wort akzeptiert. Obwohl $L$ selbst nicht regulär ist, weil sie das Pumping-Lemma nicht erfüllt, gibt es dennoch unendlich viele Wörter $w$, für die $S_w(L)$ regulär ist.





****************************************************************************************
****************************************************************************************




Answer to Question 2
a: Um den deterministischen endlichen Automaten (DEA) $A'$ zu konstruieren, der die gleiche Sprache wie der gegebene 1-Zustands-DPDA $A$ erkennt, definieren wir die Übergangsfunktion basierend auf der gegebenen Übergangsfunktion des DPDA. Dabei ist zu beachten, dass wir jeden Zustand des Stackalphabets $\Gamma$ als Zustand im DEA betrachten und dass $X$ der explizite Müllzustand ist, in den wir übergehen, wenn keine Übergänge definiert sind. Hier ist die Übergangsfunktion des DEA $A'$:

- $\delta'(Z_0, \sfA) = Z_1$ (Entspricht $\delta(q, \sfA, Z_0) = (q, Z_1)$ im DPDA)
- $\delta'(Z_1, \sfB) = Z_0$ (Entspricht $\delta(q, \sfB, Z_1) = (q, Z_0)$ im DPDA)
- $\delta'(Z_0, \sfC) = q_{accept}$, wobei $q_{accept}$ der akzeptierende Zustand ist (Entspricht $\delta(q, \sfC, Z_0) = (q, \epsilon)$ im DPDA)

Für alle anderen Übergänge, die nicht definiert sind und somit das gelesene Stacksymbol durch ein $X$ überschreiben würden, gilt:

- $\delta'(Z_i, \sigma) = X$ für alle $Z_i \in \{Z_1, Z_2, X\}$ und alle $\sigma \in \Sigma$
- $\delta'(X, \sigma) = X$ für alle $\sigma \in \Sigma$

Der DEA $A'$ startet im Initialzustand $Z_0$. $Q_{accept} = \{q_{accept}\}$ ist die Menge der akzeptierenden Zustände.

b: Eine Sprache, die von einem 1-Zustands-DPDA mit leerem Stack erkannt wird, ist präfixfrei, weil sobald ein Wort $w$ akzeptiert wurde, der Stack leer ist. Wenn danach ein weiteres Zeichen $z$ gelesen würde, hätte der DPDA keinen gültigen Zustand mehr (da der Stack leer ist und keine Übergänge definiert sind), um darauf zu reagieren und würde die Verarbeitung stoppen. Daher kann kein Wort $wz$ in der Sprache sein, wenn $w$ schon ein Wort der Sprache ist.

c: Eine nichtreguläre Sprache $L$, die von einem 1-Zustands-DPDA mit leerem Stack erkannt werden kann, ist beispielsweise die Sprache $\{a^n b^n : n \geq 1\}$. 

Ein solcher 1-Zustands-DPDA würde für jedes gelesene $a$ ein spezielles Symbol, sagen wir $X$, auf den Stack legen und für jedes gelesene $b$ ein $X$ vom Stack entfernen. Wenn nach dem Lesen aller $a$'s und $b$'s der Stack leer ist, wird das Wort akzeptiert. Ist der Stack nach dem Lesen eines $b$ leer oder wird nach einem leeren Stack weitergelesen, wird das Wort abgelehnt.

d: Eine reguläre Sprache, die nicht von einem 1-Zustands-DPDA mit leerem Stack erkannt werden kann, ist beispielsweise $\{a, b\}^*$. Die Sprache akzeptiert jegliche Kombination von $a$ und $b$, einschließlich die leeren Wörter und die Sprache $a^*$ (nur $a$'s in beliebiger Anzahl). Ein 1-Zustands-DPDA kann jedoch keine solche Sprache erkennen, da er nicht den Zustand basierend auf der bisherigen Eingabe verändern kann, um zwischen unendlichen Kombinationen zu unterscheiden.

e: Für jeden gegebenen nichtdeterministischen endlichen Automaten (NEA) $\mathcal{A}=(Q,\Sigma,\delta,s,F)$ kann ein entsprechender 1-Zustands-NPDA konstruiert werden, indem die Zustände und Zustandsübergänge von $\mathcal{A}$ in die Stacksymbole und Stackübergänge des NPDA übersetzt werden. 

Die Anfangskonfiguration des NPDA enthält das Startsymbol von $\mathcal{A}$ auf dem Stack. Für jeden Übergang im NEA $\delta(q_1, \sigma) = q_2$ definieren wir einen entsprechenden Übergang im NPDA, bei dem das Symbol für $q_1$ vom Stack gelesen, das Zeichen $\sigma$ konsumiert und das Symbol für $q_2$ auf den Stack gelegt wird. Akzeptierende Zustände von $\mathcal{A}$ werden zu stackleerenden Übergängen im NPDA. Der NPDA akzeptiert durch Leeren seines Stacks. Dadurch kann der NPDA die gleiche Sprache wie $\mathcal{A}$ erkennen.





****************************************************************************************
****************************************************************************************




Answer to Question 3
a: Um zu zeigen, dass die Sprache $L$ nicht regulär ist, können wir das Pumping-Lemma für reguläre Sprachen anwenden. Nach dem Pumping-Lemma gibt es für jede reguläre Sprache eine Zahl $p$ (die Pumping-Länge), so dass jedes Wort $w$ in der Sprache, das mindestens so lang wie $p$ ist, in drei Teile $x$, $y$ und $z$ aufgeteilt werden kann, sodass $w = xyz$, $|y| \geq 1$, $|xy| \leq p$ und für alle $i \geq 0$ ist das Wort $xy^iz$ auch in der Sprache. Angenommen, $L$ ist regulär und $p$ ist die Pumping-Länge. Betrachten wir das Wort $w = a^pb^p$, das in $L$ liegt, da es gleich viele $a$'s und $b$'s hat. Nach dem Pumping-Lemma kann $w$ in $xyz$ aufgeteilt werden, sodass $y$ nur aus $a$'s besteht (weil $|xy| \leq p$). Wenn wir $y$ pumpen, um $xy^2z$ zu erhalten, enthält $xy^2z$ mehr $a$'s als $b$'s und liegt somit nicht in $L$, was ein Widerspruch zum Pumping-Lemma ist. Daher kann $L$ nicht regulär sein.

b: Um zu zeigen, dass $L(G_S) = \set{w \in \Sigma^* | c(w) = 0}$, müssen wir beide Inklusionen zeigen.

Inklusion 1 ($L(G_S) \subseteq \set{w \in \Sigma^* | c(w) = 0}$):
Jedes Wort $w$, das von $G_S$ erzeugt wird, kann entweder das leere Wort sein, ein Wort, das mit einem $a$ beginnt und dann von $B$ abgeleitet wird, oder ein Wort, das mit einem $b$ beginnt und dann von $A$ abgeleitet wird. Aus den Gleichungen \ref{gleichung_GA} und \ref{gleichung_GB} wissen wir, dass die von $A$ abgeleiteten Wörter ein zusätzliches $a$ haben (daher $c(w) = 1$) und die von $B$ abgeleiteten ein zusätzliches $b$ haben (daher $c(w) = -1$). Um die Wörter zu erhalten, die von $S$ abgeleitet werden, muss genau ein $b$ hinzugefügt werden, um das zusätzliche $a$ von $A$ auszugleichen, oder ein $a$ hinzugefügt werden, um das zusätzliche $b$ von $B$ auszugleichen. Somit hat jedes Wort $w$, das von $S$ abgeleitet wird, gleich viele $a$'s und $b$'s, also $c(w) = 0$.

Inklusion 2 ($\set{w \in \Sigma^* | c(w) = 0} \subseteq L(G_S)$):
Nehmen wir ein Wort $w$ aus $\Sigma^*$, sodass $c(w) = 0$. Dies bedeutet, dass $w$ gleich viele $a$'s und $b$'s hat. Um ein solches Wort zu erzeugen, können wir die Produktionen von $G_S$ verwenden. Beginnen wir mit $S$ und wählen je nachdem, ob das nächste Symbol in $w$ ein $a$ oder ein $b$ ist, die Produktion $S \to aB$ oder $S \to bA$. Dies wird schrittweise für jedes Symbol in $w$ wiederholt, bis wir das Wort $w$ erzeugen, das gleich viele $a$'s und $b$'s hat. Somit ist jedes Wort $w$, das gleich viele $a$'s und $b$'s hat, in $L(G_S)$.

c: Ja, die Sprache $L$ ist kontextfrei. Dies lässt sich dadurch begründen, dass wir eine kontextfreie Grammatik (wie in der Aufgabenstellung beschrieben) angeben können, die die Sprache $L$ erzeugt. Eine solche Grammatik stellt sicher, dass bei jeder Ableitung eines Wortes die Anzahl der $a$'s und $b$'s ausgeglichen bleibt. Da wir eine kontextfreie Grammatik konstruieren können, die $L$ erzeugt, ist $L$ kontextfrei.

d: Eine nicht-deterministische in-place Turingmaschine, die die Sprache $L$ entscheidet, könnte wie folgt aussehen:

1. Die Turingmaschine startet in einem Startzustand und liest das Eingabewort von links nach rechts.
2. Jedes Mal, wenn die Maschine ein $a$ liest, bewegt sie sich nach rechts und sucht nach einem entsprechenden $b$, um es zu löschen (nicht-deterministisch entscheiden, welches $b$ zu löschen ist), und kehrt dann zum nächsten zu lesenden Zeichen zurück.
3. Wenn sie ein $b$ liest, tut sie das Gleiche, aber in umgekehrter Reihenfolge (also ein $a$ löschen).
4. Wenn die Maschine auf ein leeres Feld stößt (was den Beginn eines Wortes anzeigt, das zuvor gelöscht wurde), überprüft sie, ob noch Zeichen verbleiben. Wenn keine Zeichen verbleiben, akzeptiert sie; andernfalls verwirft sie.
5. Wenn zu irgendeinem Zeitpunkt kein passendes Zeichen gefunden werden kann, verwirft die Maschine.

Bitte beachten Sie, dass diese Beschreibung eher konzeptionell ist und die genaue Implementierung von Zuständen und Übergängen einer Turingmaschine verlangt mehr Detailarbeit und eine formale Spezifikation der Zustände und Übergangsfunktionen.





****************************************************************************************
****************************************************************************************




Answer to Question 4
a) 
Instanz (allgemein) für 3SAT: 
Eine Menge $U$ von aussagenlogischen Variablen und eine Menge $C$ von Klauseln mit je maximal drei Literalen.

Instanz (Beispiel) für 3SAT: 
$U = \{x_1, x_2, x_3\}$,
$C = \{(x_1 \lor \neg x_2 \lor x_3), (\neg x_1 \lor x_2 \lor \neg x_3), (x_1 \lor x_2 \lor x_3)\}$

Lösung (allgemein) für 3SAT: 
Eine Belegung der Variablen in $U$, sodass in jeder Klausel mindestens ein Literal wahr ist.

Lösung (Beispiel) für 3SAT: 
$x_1 = \text{wahr}, x_2 = \text{falsch}, x_3 = \text{wahr}$

Instanz (allgemein) für Green-Washing: 
Eine Menge $U$ von Elementen, eine Familie $G$ von grünen Mengen $G_1, \dots, G_{\ell} \subseteq U$, eine Familie $R$ von Regenbogen-Mengen $R_1, \dots, R_m \subseteq U$ und ein Parameter $k \in \N^+$, der die Anzahl der verfügbaren Farben angibt.

Instanz (Beispiel) für Green-Washing: 
$U = \{1, 2, 3, 4\}$,
$G = \{\{1, 2\}, \{3, 4\}\}$,
$R = \{\{1, 3\}, \{2, 4\}\}$,
$k = 2$

Lösung (allgemein) für Green-Washing: 
Eine Färbung der Elemente von $U$ mit $k$ Farben, so dass jede grüne Menge mindestens ein grünes Element enthält und jede Regenbogen-Menge keine zwei Elemente der gleichen Farbe enthält.

Lösung (Beispiel) für Green-Washing: 
$1 = \text{grün}, 2 = \text{rot}, 3 = \text{rot}, 4 = \text{grün}$

b) 
Um zu zeigen, dass Green-Washing NP-vollständig ist, müssen wir zwei Dinge nachweisen:
1. Green-Washing ist in NP. (Das heißt, dass man für eine gegebene Instanz mit einer "Ja"-Antwort in polynomieller Zeit überprüfen kann.)
2. Jedes Problem in NP kann in polynomieller Zeit auf Green-Washing reduziert werden (NP-Härte).

Den ersten Teil können wir recht einfach feststellen: Für eine gegebene Färbung können wir in polynomieller Zeit überprüfen, ob jede grüne Menge mindestens ein grünes Element enthält und jede Regenbogen-Menge keine zwei Elemente der gleichen Farbe enthält.

Für den zweiten Teil nutzen wir die Annahme, dass 3SAT NP-schwer ist. Wir müssen nun eine Reduktion von 3SAT auf Green-Washing konstruieren. Hier ist, wie man das tun könnte:

Für jede Variable in 3SAT erstellen wir zwei Elemente in Green-Washing, eines für die Variable selbst und eines für ihr Negat. Für jede Klausel in 3SAT erstellen wir eine grüne Menge in Green-Washing, die die korrespondierenden Elemente der Literale der Klausel enthält. Darüber hinaus benutzen wir Regenbogen-Mengen der Größe 2, um zu erzwingen, dass ein Element grün und das andere nicht grün ist, was der Belegung von wahr oder falsch für die entsprechende Variable in der 3SAT-Instanz entspricht. Durch geschickte Wahl der grünen und Regenbogen-Mengen kann man garantieren, dass eine Lösung für das Green-Washing-Problem eine entsprechende Belegung für das 3SAT-Problem liefert, und umgekehrt. Damit haben wir gezeigt, dass Green-Washing NP-vollständig ist.





****************************************************************************************
****************************************************************************************




Answer to Question 5
a: Um den Algorithmus $\mathcal{A}$ für die angegebene Instanz $I$ auszuführen, sortieren wir zuerst die Quadrate in $M$ aufsteigend nach ihrer Seitenlänge, was uns $Q_1$ ($\ell_1 = 1$), $Q_2$ und $Q_3$ (beide $\ell_2 = \ell_3 = 3$) und $Q_4$ ($\ell_4 = 4$) ergibt. 

Wir platzieren die Quadrate wie folgt:

- Wir beginnen mit $Q_1$ und platzieren es bei $(0,0)$.
- Da $Q_1$ nur eine Seitenlänge von $1$ hat und die Hälfte von $\ell = 7$ größer ist, beginnen wir eine neue Zeile mit $Q_2$ bei $(0,1)$.
- Wir fügen $Q_3$ rechts neben $Q_2$ bei $(3,1)$, da die aktuelle Zeilenbreite noch unter $\lceil\frac{\ell}{2}\rceil = 4$ liegt.
- Für $Q_4$, da die Zeilenbreite von $Q_2$ und $Q_3$ zusammen bereits $6$ beträgt und damit über der Hälfte von $\ell$, beginnen wir eine neue Zeile und platzieren $Q_4$ bei $(0,4)$.

Die durch $M$ überdeckte Fläche von $Q$ beträgt dann:

- Für $Q_1$: $1^2 = 1$ Quadrat
- Für $Q_2$ und $Q_3$: $3^2 = 9$ Quadrate für jedes, also $18$ insgesamt
- Für $Q_4$: $4^2 = 16$ Quadrate

Insgesamt überdeckt $\mathcal{A}(I)$ also $1 + 18 + 16 = 35$ Einheiten der Fläche von $Q$.

Für eine optimale Überdeckung platzieren wir $Q_4$ zuerst bei $(0,3)$ und legen dann $Q_2$ und $Q_3$ rechts daneben bei $(4,3)$ und $(4,0)$ sodass wir eine zusammenhängende Linie bilden, und schließlich platzieren wir $Q_1$ bei $(0,0)$. Das überdeckt die gesamte Fläche von $Q$ vollständig ($7^2 = 49$), außer einem Quadrat in der oberen linken Ecke:

- Für $Q_4$: $16$ Quadrate
- Für $Q_2$ und $Q_3$: jeweils $9$ Quadrate, also $18$ insgesamt
- Gesamtfläche überdeckt von $Q_4$ sowie $Q_2$ und $Q_3$ ist $16 + 18 = 34$ Quadrate
- Da $Q_1$ ($\ell_1 = 1$) die Fläche nicht erhöht (es liegt unter $Q_3$), bleibt die Fläche bei $34$

Die optimale Überdeckung $\mathrm{OPT}(I)$ überdeckt somit $7 \times 7 - 1 = 48$ Einheiten der Fläche von $Q$.

b: Um zu zeigen, dass jeder Punkt in $Q$ von höchstens zwei Quadraten in einer von $\mathcal{A}$ berechneten Lösung überdeckt wird, beachten wir, dass die Quadrate niemals übereinander gestapelt werden, sondern immer nebeneinander gelegt werden. Wenn eine neue Zeile begonnen wird, liegt sie direkt über der vorherigen Zeile ohne Überlappung. Da die Quadrate oberhalb des ersten Quadrats der vorherigen Zeile platziert werden, könnte sich höchstens das erste Quadrat einer neuen Zeile über das letzte Quadrat der vorherigen Zeile legen. Somit wird kein Punkt in $Q$ von mehr als zwei Quadraten überdeckt - die einzige mögliche Überlappung ist zwischen dem letzten Quadrat einer Zeile und dem ersten der nächsten Zeile.

c: Um zu zeigen, dass $\mathcal{A}$ ein polynomieller Approximationsalgorithmus mit relativer Gütegarantie $4$ für \textsc{Square-Covering} ist, unterteilen wir das Problem in zwei Fälle: Fälle, in denen die Quadrate aus $Q$ herausragen, und Fälle, in denen sie es nicht tun.

Wenn die Quadrate nicht aus $Q$ herausragen, ist die von $\mathcal{A}$ überdeckte Fläche mindestens so groß wie die Hälfte der Fläche von $Q$ (weil eine neue Zeile begonnen wird, wenn die Hälfte von $Q$ in der aktuellen Zeile erreicht ist). In diesem Fall ist die relative Gütegarantie kleiner als oder gleich $2$, da die optimale Lösung niemals mehr als die Gesamtfläche von $Q$ überdecken kann.

Wenn mindestens ein Quadrat aus $Q$ herausragt, bedeutet dies, dass die gesamte Breite von $Q$ überdeckt wird und einige Teile doppelt bedeckt sein können. Da $\mathcal{A}$ hochstens zwei Schichten von Quadraten erstellt (wie in Antwort b erklärt), kann die von $\mathcal{A}$ überdeckte Fläche nicht mehr als das Vierfache der Fläche des größten Quadrates in $Q$ betragen. Da die optimale Fläche höchstens die Gesamtfläche von $Q$ sein kann, bietet $\mathcal{A}$ eine Gütegarantie von $4$.

Da der Algorithmus lediglich die Quadratmenge sortiert (polynomiell) und dann jedes Quadrat platziert (ebenfalls polynomiell), benötigt $\mathcal{A}$ insgesamt polynomielle Laufzeit. Somit ist $\mathcal{A}$ ein polynomieller Approximationsalgorithmus mit einer relativen Gütegarantie von $4$.





****************************************************************************************
****************************************************************************************




Answer to Question 6
a: Eine Sprache $L'$, die $0$-präfixfrei ist, könnte beispielsweise die Sprache sein, die nur aus dem Wort $1$ besteht, also $L' = \{1\}$. Da das Eingabealphabet $\Sigma = \{0,1\}$ ist, ist jedes Wort, das mit $1$ anfängt, sicher nicht Präfix eines Wortes, das mit $0$ anfängt.

b: Das Wort $wz$ kann nicht in $L(M_\emptyset)$ sein, da $M_\emptyset$ jedes Wort ablehnt. Da $M_\emptyset$ kein Wort akzeptiert, gibt es auch kein Wort $w'$ aus $L(M_\emptyset)$, das ein Präfix von $wz$ sein könnte. Daher ist $L(M_\emptyset)$ trivialerweise $w$-präfixfrei für jedes Wort $w \in \Sigma^*$.

c: Die Turingmaschine $T_{M,w}$ wird so konstruiert, dass sie das Wort $w$ akzeptiert, wenn $M$ es akzeptiert, und sonst alle Wörter ablehnt. Wenn $w \in L(M)$, dann akzeptiert $T_{M,w}$ das Wort $w$ und damit ist $L(T_{M,w})$ nicht $w$-präfixfrei, da $w$ selbst in $L(T_{M,w})$ enthalten ist. Akzeptiert $M$ das Wort $w$ nicht, dann lehnt $T_{M,w}$ alle Wörter ab und somit ist $L(T_{M,w})$ trivialerweise $w$-präfixfrei. Die Maschine $T_{M,w}$ kann aus $w$ und der Gödelnummer von $M$ berechnet werden, indem sie einfach $M$ auf das Eingabewort $w$ anwendet und entsprechend akzeptiert oder ablehnt.

d: Um zu zeigen, dass $S$ unentscheidbar ist, können wir von der unentscheidbaren universellen Sprache $L_u$ reduzieren. Für eine gegebene Eingabe $\tmcode{M}\#w$ der Sprache $L_u$ konstruieren wir die Turingmaschine $T_{M,w}$ aus der vorigen Teilaufgabe. Wenn $w \in L(M)$, dann ist $L(T_{M,w})$ nicht $w$-präfixfrei, und somit ist $\tmcode{T_{M,w}}\#w \notin S$. Wenn $w \notin L(M)$, dann ist $L(T_{M,w})$ $w$-präfixfrei, und somit ist $\tmcode{T_{M,w}}\#w \in S$. Da die Entscheidung, ob $w \in L(M)$, also ob $\tmcode{M}\#w \in L_u$, unentscheidbar ist, ist folglich auch die Entscheidung, ob $\tmcode{T_{M,w}}\#w \in S$, unentscheidbar. Somit ist auch $S$ unentscheidbar.





****************************************************************************************
****************************************************************************************




