volgende functie:\\
$$\mathcal{NOT} : Stack \rightarrow Stack$$
$$\mathcal{NOT} [\:] = [\:]$$
-$$\mathcal{NOT} [a:rest] = [0:rest] \: \text{if} \: a \neq 0$$
-$$\mathcal{NOT} [a:rest] = [1:rest] \: \text{if} \: a = 0$$\\
+$$\mathcal{NOT} [0:rest] = [1:rest]$$
+$$\mathcal{NOT} [\_:rest] = [0:rest] $$\\
+
Deze functie neemt het bovenste element van de stack en stopt 0 bovenaan de
stack als deze waarde niet gelijk is aan 0 en 1 als deze waarde gelijk is aan 0.\\
$$\mathcal{GRE} : Stack \rightarrow Stack$$
$$\mathcal{GRE} [\:] = [\:]$$
$$\mathcal{GRE} [a] = [a] $$
-$$\mathcal{GRE} [a:b:rest] = [0:rest] \: \text{if} \: a \geq b$$
-$$\mathcal{GRE} [a:b:rest] = [1:rest] \: \text{if} \: a < b$$\\
+$$\mathcal{GRE} [a:b:rest]$$
+$$\qquad \qquad | \: a \geq b = [0:rest]$$
+$$\qquad \qquad | \: a < b = [1:rest]$$\\
+
+$$\mathcal{ROLL} : Stack \rightarrow Stack$$
+$$\mathcal{ROLL} [\:] = [\:]$$
+$$\mathcal{ROLL} [a] = [a] $$
+$$\mathcal{ROLL} [a:b:rest]$$
+$$\qquad \qquad | modulo \: a \: b == 0 = rest$$
+$$\qquad \qquad | b <= 0 = rest$$
+$$\qquad \qquad | b > length rest = rest$$
+$$\qquad \qquad | a == 1 = roll1 [b:rest]$$
+$$\qquad \qquad | a > 0 = roll([a-1] ++ [b] ++ roll1 [b:rest]$$
+$$\qquad \qquad | a < 0 = roll(modulo \: a \: b] ++ [b:rest])$$
+
+$$\mathcal{ROLL}1 : Stack \rightarrow Stack$$
+$$\mathcal{ROLL}1 [1:rest] = [rest]$$
+$$\mathcal{ROLL}1 [b:c:d:rest] = [d] ++ \mathcal{ROLL}1 [b-1:c:rest]$$
+
+
Deze functie haalt de bovenste twee elementen van de stack en stopt 1 bovenop
de stack als het tweede bovenste element een hogere waarde heeft als dat van het
bovenste element. Anders word 1 bovenop de stack gestopt.\\
\langle greater, s_i, s_o, s\rangle \Rightarrow
\langle s_i, s_o, \mathcal{GRE}(s)\rangle\\
{[push_{sos}]} \qquad
-\langle push, s_i, s_o, s\rangle \Rightarrow
-\langle s_i, s_o, s\rangle\\
+\langle push \: n, s_i, s_o, s\rangle \Rightarrow
+\langle s_i, s_o, \mathcal{E}(n,s)\rangle\\
{[roll_{sos}]} \qquad
\langle roll, s_i, s_o, s\rangle \Rightarrow
-\langle s_i, s_o, s\rangle\\
+\langle s_i, s_o, \mathcal{ROLL}(s)\rangle\\
{[inchar_{sos}]} \qquad
\langle inchar, s_i, s_o, s\rangle \Rightarrow
\langle s_i, s_o, s\rangle\\