From bb7681bb5a2c83495b5f6aa29a9814768d168a8d Mon Sep 17 00:00:00 2001
From: Michael Leuschel <leuschel@uni-duesseldorf.de>
Date: Fri, 12 Jun 2020 14:54:26 +0200
Subject: [PATCH] erste Version einer Turing Maschine

---
 info4/kapitel-5/TuringMaschine.ipynb | 1748 ++++++++++++++++++++++++++
 1 file changed, 1748 insertions(+)
 create mode 100644 info4/kapitel-5/TuringMaschine.ipynb

diff --git a/info4/kapitel-5/TuringMaschine.ipynb b/info4/kapitel-5/TuringMaschine.ipynb
new file mode 100644
index 0000000..b70358a
--- /dev/null
+++ b/info4/kapitel-5/TuringMaschine.ipynb
@@ -0,0 +1,1748 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Turing Maschine\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 64,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: TuringMachine_2"
+      ]
+     },
+     "execution_count": 64,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE TuringMachine_2\n",
+    "/* B Modell einer 1-band Turing Maschine */\n",
+    "/* by Michael Leuschel, 2012 */\n",
+    "/* Akzeptiert die Sprache a^n b^n c^n (siehe Folien 14ff von folien-kapitel-5 */\n",
+    "SETS\n",
+    " Alphabet={a,b,c,X,Blank};\n",
+    " States = {z0,z1,z2,z3,z4,z5,z6};\n",
+    " Direction = {L,R,N}\n",
+    "DEFINITIONS\n",
+    "  Σ == {a,b,c};\n",
+    "  Γ == Σ \\/ {X};\n",
+    "  CurSymbol == (Right<-Blank)(1);\n",
+    "  ANIMATION_FUNCTION_DEFAULT == {(1,0,cur)};\n",
+    " /* ANIMATION_FUNCTION__xx == {(1,1,Left), (1,3,Right)}; */\n",
+    "  ANIMATION_FUNCTION1 == {1} *( (%i.(i:-size(Left)..-1|i+size(Left)+1) ; Left) \\/ Right)\n",
+    "CONSTANTS Final, δ\n",
+    "PROPERTIES\n",
+    " Final <: States &\n",
+    " δ : (States * Alphabet) <-> (States * Alphabet * Direction) &\n",
+    "\n",
+    " δ = {  /* Neuer Zyklus */\n",
+    "            (z0,a) |-> (z1,X,R),\n",
+    "            (z0,X) |-> (z0,X,R),\n",
+    " \n",
+    "            /* ein a getilgt (X), nächstes b suchen */\n",
+    "            (z1,a) |-> (z1,a,R),\n",
+    "            (z1,b) |-> (z2,X,R),\n",
+    "            (z1,X) |-> (z1,X,R),\n",
+    "            \n",
+    "            /* ein a,b getilgt (X), nächstes c suchen */\n",
+    "            (z2,b) |-> (z2,b,R),\n",
+    "            (z2,c) |-> (z3,X,R),\n",
+    "            (z2,X) |-> (z2,X,R),\n",
+    "            \n",
+    "            /* ein a,b,c getilgt (X), rechten Rand suchen */\n",
+    "            (z3,c) |-> (z3,c,R),\n",
+    "            (z3,Blank) |-> (z4,Blank,L),\n",
+    "            \n",
+    "            /* Zurücklaufen und testen ob alle a,b,c getilgt */\n",
+    "            (z4,X) |-> (z4,X,L),\n",
+    "            (z4,Blank) |-> (z6,Blank,R),  /* Erfolg ! */\n",
+    "            (z4,c) |-> (z5,c,L), \n",
+    "            \n",
+    "            /* Test nicht erfolgreich; zum linken Rand zurücklaufen und neuer Zyklus */\n",
+    "            (z5,X) |-> (z5,X,L),\n",
+    "            (z5,Blank) |-> (z0,Blank,R),\n",
+    "            (z5,a) |-> (z5,a,L),\n",
+    "            (z5,b) |-> (z5,b,L),\n",
+    "            (z5,c) |-> (z5,c,L)\n",
+    "         } &\n",
+    " Final = {z6}\n",
+    "VARIABLES Left,cur,Right\n",
+    "INVARIANT\n",
+    "  cur : States &\n",
+    "  Left : seq(Alphabet) & Right : seq(Alphabet)\n",
+    "INITIALISATION Left,cur,Right := [],z0,[a,a,b,b,c,c]\n",
+    "OPERATIONS\n",
+    "  Accept = PRE cur : Final THEN skip END;\n",
+    "  GoTo(z,S,znew,NewSymbol,Dir) =\n",
+    "   PRE z=cur & S=CurSymbol &\n",
+    "       (z, S) |-> (znew,NewSymbol,Dir) : δ THEN\n",
+    "     ANY tail_Right \n",
+    "      WHERE (Right=[] => tail_Right=[]) & (Right/=[] => tail_Right = tail(Right)) THEN\n",
+    "      cur := znew ||\n",
+    "      IF Dir = N THEN\n",
+    "         Right := NewSymbol -> tail_Right\n",
+    "      ELSIF Dir = R THEN\n",
+    "         Left,Right := Left <- NewSymbol, tail_Right\n",
+    "      ELSIF Left=[] THEN\n",
+    "         Left,Right := [], Blank -> (NewSymbol -> tail_Right)\n",
+    "      ELSE\n",
+    "         Left,Right := front(Left), last(Left) -> (NewSymbol -> tail_Right)\n",
+    "      END\n",
+    "     END\n",
+    "  END\n",
+    "END\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\{(\\mathit{z0}\\mapsto \\mathit{a}\\mapsto(\\mathit{z1}\\mapsto \\mathit{X}\\mapsto \\mathit{R})),(\\mathit{z0}\\mapsto \\mathit{X}\\mapsto(\\mathit{z0}\\mapsto \\mathit{X}\\mapsto \\mathit{R})),(\\mathit{z1}\\mapsto \\mathit{a}\\mapsto(\\mathit{z1}\\mapsto \\mathit{a}\\mapsto \\mathit{R})),(\\mathit{z1}\\mapsto \\mathit{b}\\mapsto(\\mathit{z2}\\mapsto \\mathit{X}\\mapsto \\mathit{R})),(\\mathit{z1}\\mapsto \\mathit{X}\\mapsto(\\mathit{z1}\\mapsto \\mathit{X}\\mapsto \\mathit{R})),(\\mathit{z2}\\mapsto \\mathit{b}\\mapsto(\\mathit{z2}\\mapsto \\mathit{b}\\mapsto \\mathit{R})),(\\mathit{z2}\\mapsto \\mathit{c}\\mapsto(\\mathit{z3}\\mapsto \\mathit{X}\\mapsto \\mathit{R})),(\\mathit{z2}\\mapsto \\mathit{X}\\mapsto(\\mathit{z2}\\mapsto \\mathit{X}\\mapsto \\mathit{R})),(\\mathit{z3}\\mapsto \\mathit{c}\\mapsto(\\mathit{z3}\\mapsto \\mathit{c}\\mapsto \\mathit{R})),(\\mathit{z3}\\mapsto \\mathit{Blank}\\mapsto(\\mathit{z4}\\mapsto \\mathit{Blank}\\mapsto \\mathit{L})),(\\mathit{z4}\\mapsto \\mathit{c}\\mapsto(\\mathit{z5}\\mapsto \\mathit{c}\\mapsto \\mathit{L})),(\\mathit{z4}\\mapsto \\mathit{X}\\mapsto(\\mathit{z4}\\mapsto \\mathit{X}\\mapsto \\mathit{L})),(\\mathit{z4}\\mapsto \\mathit{Blank}\\mapsto(\\mathit{z6}\\mapsto \\mathit{Blank}\\mapsto \\mathit{R})),(\\mathit{z5}\\mapsto \\mathit{a}\\mapsto(\\mathit{z5}\\mapsto \\mathit{a}\\mapsto \\mathit{L})),(\\mathit{z5}\\mapsto \\mathit{b}\\mapsto(\\mathit{z5}\\mapsto \\mathit{b}\\mapsto \\mathit{L})),(\\mathit{z5}\\mapsto \\mathit{c}\\mapsto(\\mathit{z5}\\mapsto \\mathit{c}\\mapsto \\mathit{L})),(\\mathit{z5}\\mapsto \\mathit{X}\\mapsto(\\mathit{z5}\\mapsto \\mathit{X}\\mapsto \\mathit{L})),(\\mathit{z5}\\mapsto \\mathit{Blank}\\mapsto(\\mathit{z0}\\mapsto \\mathit{Blank}\\mapsto \\mathit{R}))\\}$"
+      ],
+      "text/plain": [
+       "{(z0↦a↦(z1↦X↦R)),(z0↦X↦(z0↦X↦R)),(z1↦a↦(z1↦a↦R)),(z1↦b↦(z2↦X↦R)),(z1↦X↦(z1↦X↦R)),(z2↦b↦(z2↦b↦R)),(z2↦c↦(z3↦X↦R)),(z2↦X↦(z2↦X↦R)),(z3↦c↦(z3↦c↦R)),(z3↦Blank↦(z4↦Blank↦L)),(z4↦c↦(z5↦c↦L)),(z4↦X↦(z4↦X↦L)),(z4↦Blank↦(z6↦Blank↦R)),(z5↦a↦(z5↦a↦L)),(z5↦b↦(z5↦b↦L)),(z5↦c↦(z5↦c↦L)),(z5↦X↦(z5↦X↦L)),(z5↦Blank↦(z0↦Blank↦R))}"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "δ"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">z0</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: TuringMachine_2\n",
+       "Sets: Alphabet, States, Direction\n",
+       "Constants: Final, δ\n",
+       "Variables: Left, cur, Right\n",
+       "Operations: \n",
+       "GoTo(z0,a,z1,X,R)"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z0,a,z1,X,R)"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z1</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z1,a,z1,a,R)"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">z1</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z1,b,z2,X,R)"
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z2</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z2,b,z2,b,R)"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">z2</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z2,c,z3,X,R)"
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z3</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z3,c,z3,c,R)"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">z3</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z3,Blank,z4,Blank,L)"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z4</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 20,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,c,z5,c,L)"
+      ]
+     },
+     "execution_count": 21,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">z5</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 22,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z5,X,z5,X,L)"
+      ]
+     },
+     "execution_count": 23,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z5</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z5,b,z5,b,L)"
+      ]
+     },
+     "execution_count": 25,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">z5</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 26,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z5,X,z5,X,L)"
+      ]
+     },
+     "execution_count": 27,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z5</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 28,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z5,a,z5,a,L)"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">z5</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 30,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z5,X,z5,X,L)"
+      ]
+     },
+     "execution_count": 31,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">z5</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 32,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z5,Blank,z0,Blank,R)"
+      ]
+     },
+     "execution_count": 33,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">z0</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 34,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z0,X,z0,X,R)"
+      ]
+     },
+     "execution_count": 35,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z0</td>\n",
+       "<td style=\"padding:10px\">a</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 37,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z0,a,z1,X,R)"
+      ]
+     },
+     "execution_count": 37,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z1</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z1,X,z1,X,R)"
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z1</td>\n",
+       "<td style=\"padding:10px\">b</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 40,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z1,b,z2,X,R)"
+      ]
+     },
+     "execution_count": 41,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z2</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 42,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z2,X,z2,X,R)"
+      ]
+     },
+     "execution_count": 43,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z2</td>\n",
+       "<td style=\"padding:10px\">c</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 44,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z2,c,z3,X,R)"
+      ]
+     },
+     "execution_count": 45,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z3</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 46,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z3,Blank,z4,Blank,L)"
+      ]
+     },
+     "execution_count": 47,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z4</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 48,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,X,z4,X,L)"
+      ]
+     },
+     "execution_count": 49,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,X,z4,X,L)"
+      ]
+     },
+     "execution_count": 50,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 51,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z4</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 51,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,X,z4,X,L)"
+      ]
+     },
+     "execution_count": 52,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,X,z4,X,L)"
+      ]
+     },
+     "execution_count": 53,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">z4</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 54,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 55,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,X,z4,X,L)"
+      ]
+     },
+     "execution_count": 55,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 56,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">z4</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 56,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 57,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,X,z4,X,L)"
+      ]
+     },
+     "execution_count": 57,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 58,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">z4</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 58,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 59,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: GoTo(z4,Blank,z6,Blank,R)"
+      ]
+     },
+     "execution_count": 59,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec GoTo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 60,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "<td style=\"padding:10px\">z6</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">X</td>\n",
+       "<td style=\"padding:10px\">Blank</td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 60,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 62,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: TuringMachine_2\n",
+       "Sets: Alphabet, States, Direction\n",
+       "Constants: Final, δ\n",
+       "Variables: Left, cur, Right\n",
+       "Operations: \n",
+       "Accept()"
+      ]
+     },
+     "execution_count": 62,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 63,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: Accept()"
+      ]
+     },
+     "execution_count": 63,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec Accept"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "ProB 2",
+   "language": "prob",
+   "name": "prob2"
+  },
+  "language_info": {
+   "codemirror_mode": "prob2_jupyter_repl",
+   "file_extension": ".prob",
+   "mimetype": "text/x-prob2-jupyter-repl",
+   "name": "prob"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
-- 
GitLab