diff --git a/info4/kapitel-2/Abschlusseigenschaften.ipynb b/info4/kapitel-2/Abschlusseigenschaften.ipynb
index d23c81dd9f218ce4bee2339442d3bd0a871df1f4..2e3776280b17700694b57c15551248e8d4cdf26d 100644
--- a/info4/kapitel-2/Abschlusseigenschaften.ipynb
+++ b/info4/kapitel-2/Abschlusseigenschaften.ipynb
@@ -1057,7 +1057,7 @@
    "metadata": {},
    "source": [
     "Im folgenden schauen wir uns die Differenz zweier Sprachen $L1-L2$ genauer an.\n",
-    "Das Vorgehen ist hierbei, dass man zwei NFAs $M_1=(Σ, Z_1, δ_1, S_1, F_1)$ udnd $M_2=(Σ, Z_2, δ_2, S_2, F_2)$ parallel ausführt und die Endzustandsmenge so wählt, dass man in einem Zustand aus $F_1$, aber nicht gleichzeitig in einem aus $F_2$ landet."
+    "Das Vorgehen (aus dem Buch [Grundkurs Theoretische Informatik](https://link.springer.com/content/pdf/10.1007/978-3-8348-2202-4.pdf \"Vossen, G., & Witt, K. U. (2016). Grundkurs Theoretische Informatik. Springer Fachmedien Wiesbaden.\") von G. Vossen & K. U. Witt, Seite 99f.) ist hierbei, dass man zwei NFAs $M_1=(Σ, Z_1, δ_1, S_1, F_1)$ udnd $M_2=(Σ, Z_2, δ_2, S_2, F_2)$ parallel ausführt und die Endzustandsmenge so wählt, dass man in einem Zustand aus $F_1$, aber nicht gleichzeitig in einem aus $F_2$ landet."
    ]
   },
   {
@@ -1115,7 +1115,7 @@
     "           (z21,0)↦{z22}, (z21,1)↦{z21},\n",
     "           (z22,0)↦{z22}, (z22,1)↦{z22}} ∧\n",
     "\n",
-    " //TODO Referenz auf Buch einbauen!\n",
+    " //Der Automat nach \"Grundkurs Theoretische Informatik\"\n",
     " M = (Σ, Z, δ, S, F) ∧\n",
     " Z_gesamt = Z1*Z2 ∧\n",
     " S = S1*S2 ∧\n",
@@ -1311,7 +1311,7 @@
     "           (z21,0)↦{z22}, (z21,1)↦{z21},\n",
     "           (z22,0)↦{z22}, (z22,1)↦{z22}} ∧\n",
     "\n",
-    " //Konstruktion analog zu TODO Referenz auf Buch\n",
+    " //Eigene Konstruktion analog zu \"Grundkurs Theoretische Informatik\" (s.o.)\n",
     " M = (Σ, Z_gesamt, δ, S, F) ∧\n",
     " Z_gesamt = Z1*Z2 ∧\n",
     " S = S1*S2 ∧\n",
@@ -1451,7 +1451,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Zuletzt bleibt noch die Spiegelung einer Sprache. Um dies zu erreichen erstellen wir aus einem DFA einen NFA."
+    "Zuletzt bleibt noch die Spiegelung einer Sprache. Um dies zu erreichen erstellen wir aus einem DFA $M$ einen NFA $M_2$ (Vorgehen nach [Grundkurs Theoretische Informatik](https://link.springer.com/content/pdf/10.1007/978-3-8348-2202-4.pdf \"Vossen, G., & Witt, K. U. (2016). Grundkurs Theoretische Informatik. Springer Fachmedien Wiesbaden.\"), Seite 101). $M_2$ hat als Startzustände die Endzustände von $M$ und als einzigen Endzustand den Startzustand von $M$. Die Übergänge von $M_2$ erhält man, indem man alle Übergange von $M$ umdreht. Dadurch ist der Automat ggf. auch nicht deterministisch."
    ]
   },
   {