diff options
author | Camil Staps | 2016-06-15 16:10:02 +0200 |
---|---|---|
committer | Camil Staps | 2016-06-15 16:10:02 +0200 |
commit | f54b8382e965660668bba4ed94e19d07e9456f2d (patch) | |
tree | daeeb6bc276c9b60cdc6e9e45a4f0636307d72b0 | |
parent | Alle bomen toegevoegd (diff) |
Bewijs
-rw-r--r-- | analyse-proof.tex | 122 | ||||
-rw-r--r-- | analyse.tex | 114 | ||||
-rw-r--r-- | tree-gen-bootstrap.tex | 60 | ||||
-rw-r--r-- | werkstuk.tex | 3 |
4 files changed, 157 insertions, 142 deletions
diff --git a/analyse-proof.tex b/analyse-proof.tex new file mode 100644 index 0000000..5cc8e6a --- /dev/null +++ b/analyse-proof.tex @@ -0,0 +1,122 @@ +% vim: spelllang=nl: +\subsection{Bewijs} +\label{sec:analyse:proof} + +We zullen het buitenste programma als beschreven op~\pageref{pgm:reverse} met +$P_1$ aanduiden, en het recursieve binnenste programma met $P_2$. + +Nu laten we zien dat deze code daadwerkelijk alle mogelijke strings omdraait, +oftewel: er is een afleidingsboom voor +$$ +\trans + {P_1}{[s:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[s^R:\Nil]}{\emptystore} +$$ + +voor alle $s\in\String$, met +\begin{align*} + \lambda^R &= \lambda, \\ + (c~s)^R &= s^R c. +\end{align*} + +Het bewijs gaat in twee stappen. Eerst bewijzen we dat $P_2$ de eerste string +op de stack achter de omgedraaide versie van de tweede string op de stack +plaatst, en dat output. Dit wordt bewezen in \autoref{thm:p2}. Hiermee kunnen +we van $P_1$ bewijzen dat het de eerste string op de stack omgedraaid output. +Dit doen we in \autoref{thm:p1}. + +\begin{thm} + { + Voor alle $s,t\in\String$ met $t\ne\lambda$ hebben we een afleidingsboom + voor + \normalfont + \belowdisplayskip=-1em + $$ + \trans + {P_2}{[s:t:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[t^R~s:\Nil]}{\emptystore}. + $$ + } + \label{thm:p2} + \begin{proof}[Bewijs] + Met inductie naar de lengte van $t$. + + Inductiebasis: stel $t=c$, met $c$ een willekeurig karakter. In dit geval + krijgen we de boom in \autoref{fig:tree:bootstrap-base}. Hier is $c$ geen + variabele maar het werkelijke karakter \lit{c}. We kunnen \emph{CleanSmurf} + namelijk helaas nog niet vertellen dat een bepaalde variabele lengte $1$ + heeft. Uit de afleidingsboom blijkt dat $c$ niet gebruikt wordt als naam in + de variable store, waardoor we ons geen zorgen hoeven te maken over + situaties waar $c$ gelijk is aan \'e\'en van de variabelenamen die we + gebruiken. Uit de boom in \autoref{fig:tree:bootstrap-base} volgt dus dat + bovenstaande stelling geldt voor $t$ van lengte $1$. + + \medskip + Inductiestap: we nemen aan dat we een afleidingsboom hebben voor + \begin{equation}\tag{IH}\label{eq:p2:ih} + \trans + {P_2}{[s:t:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[t^R:s:\Nil]}{\emptystore} + \end{equation} + + Vervolgens laten we zien dat we voor elke $c\in\Char$ ook een + afleidingsboom hebben voor + $$ + \trans + {P_2}{[s:c~t:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[t^R~c~s:\Nil]}{\emptystore}. + $$ + + Ook hiervoor kunnen we \emph{CleanSmurf} gebruiken. Geven + we~\eqref{eq:p2:ih} mee als aanname, dan krijgen we de boom + in~\autoref{fig:tree:bootstrap-step}. Net zoals bij de inductiebasis moeten + we $c$ als letterlijk \lit{c} meegeven. Eenzelfde inspectie van de + boom wijst uit dat dit geen problemen oplevert met andere waarden voor $c$. + + \medskip + Uit het principe van inductie naar de structuur van de string $t$ volgt nu + voor alle $s,t\in\String$ met $t\ne\lambda$ dat we een afleidingsboom + hebben voor + + $$ + \trans + {P_2}{[s:t:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[t^R~s:\Nil]}{\emptystore}. + $$ + \end{proof} +\end{thm} + +\begin{thm} + { + Voor alle $s\in\String$ hebben we een afleidingsboom voor + \normalfont + \belowdisplayskip=-1em + $$ + \trans + {P_1}{[s:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[s^R:\Nil]}{\emptystore}. + $$ + } + \label{thm:p1} + \begin{proof}[Bewijs] + We maken een gevalsonderscheiding over de structuur van $s$. + + \begin{enumerate}[label={Geval \arabic*.},itemindent=1.5\parindent] + \item Stel $s=\lambda$. In dit geval hebben we geen enkele variabele. We + kunnen dus simpelweg een boom maken. Dit geeft de boom in + \autoref{fig:tree:lambda}, waaruit blijkt dat de stelling inderdaad + geldt voor $s=\lambda$: + $$ + \trans + {P_1}{[\lambda:\Nil]}{(\Nil,\emptystore)} + {\Nil}{[\lambda:\Nil]}{\emptystore}. + $$ + + \item Stel $s=c~t$. In dit geval gaat $P_1$ het recursieve binnenste + programma gebruiken. We maken dus een boom die het resultaat van + \autoref{thm:p2} als aanname mag gebruiken. Dit geeft de afleidingsboom + in \autoref{fig:tree:bootstrap}, waaruit blijkt dat de bovenstaande + stelling geldt voor alle $s\ne\lambda$. + \end{enumerate} + \end{proof} +\end{thm} diff --git a/analyse.tex b/analyse.tex index e63de78..4ed43f7 100644 --- a/analyse.tex +++ b/analyse.tex @@ -15,6 +15,7 @@ programma geschreven voor het omdraaien van een string. Dit programma ziet er als volgt uit: \begin{smurf} +\label{pgm:reverse} \footnotesize i "input" p "input" g @@ -37,116 +38,5 @@ Het bovenstaande programma is correcte Smurfsyntax en hierdoor niet erg leesbaar. We hebben daarom getracht het programma iets leesbaarder te maken: \input{reverse2} - \input{explanation} - -\subsection{bewijs} -Nu laten we zien dat deze code daadwerkelijk alle mogelijke strings omdraait, -oftewel: er is een afleidingsboom voor -$$ -\trans - {Programma}{[s:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[s^R:\Nil]}{\st} -$$ - -voor alle s, waar -$$(c~s)^R=s^R c$$ -$$\lambda^R=\lambda$$ - - -Dit bewijs gaat in twee stappen. - -$$ -\trans - {Programma}{[c:s:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[s^R:c:\Nil]}{\st} -$$ - - - -Eerst bewijzen we aan de hand van inductie dat voor het recursieve binnenste programma geldt dat voor de stack met waarde $(s:t:\Nil)$ de output $(t^R: s^R: \Nil)$ zal zijn. - -\bigskip - -Ook wel -$$ -\trans - {Programma}{[cs:g:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[g^R:cs:\Nil]}{\st} -$$ - -\begin{proof}[Bewijs] -\medskip - Met inductie naar de lengte van $g$. - - Basisgeval: $g=\lambda$. - - We moeten laten zien dat - - $$ - \trans - {Programma}{[s:c:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[cs:\Nil]}{\st} - $$ - - Dit volgt uit bewijsboom *referentie* - \bigskip - - inductiestap: $g = t $ (t is een variabele) - - We moeten laten zien dat - $$ - \trans - {Programma}{[s:ct:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[t^R:cs:\Nil]}{\st} - $$ - - Met als inductiehypothese - $$ - \trans - {Programma}{[cs:t:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[t^R:cs:\Nil]}{\st} - $$ - - Dit volgt uit bewijsboom * referentie* - -\end{proof} - -Vervolgens zullen we laten zien dat voor het buitenste programma geldt dat - -$$ -\trans - {Programma}{[s:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[s^R:\Nil]}{\st} -$$ - -Hierbij zullen we laten zien dat dit geldt voor zowel een lege input als een niet-lege input. -Hierbij mogen we natuurlijk gebruik maken van wat we hierboven bewezen hebben. -\medskip - -Eerst zullen we laten zien dat het geldt voor een lege input - -We zullen dus moeten laten zien dat: -$$ -\trans - {Programma}{[\Nil:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[\Nil:\Nil]}{\st} -$$ - -Dit volgt direct uit bewijsboom *referentie* - - -Ten tweede zullen we laten zien dat het geldt voor een niet-lege input -We zullen dus moeten laten zien dat: -$$ -\trans - {Programma}{[s:\Nil]}{(\Nil,\emptystore)} - {\Nil}{[s^t:\Nil]}{\st} -$$ - -Dit volgt uit de bewijsbomen *referentie* (3*) - - - - - +\input{analyse-proof} diff --git a/tree-gen-bootstrap.tex b/tree-gen-bootstrap.tex index e13e2fc..b2494d5 100644 --- a/tree-gen-bootstrap.tex +++ b/tree-gen-bootstrap.tex @@ -1,59 +1,59 @@ -\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\axjustifies\trans{\StmPush~\texttt{"\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx"}:\StmPush~\texttt{"u"}:\StmPut:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmHead:\StmPush~\texttt{"v"}:\StmGet:\StmCat:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmTail:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"o"}:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmQuotify:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"u"}:\StmGet:\StmQuotify:\StmCat:\StmCat:\StmPush~\texttt{"u"}:\StmGet:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmPut:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{""}:\texttt{"c$s$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rule{assumption}{}}\] -\justifies{}\trans{\StmPush~\texttt{""}:\StmPush~\texttt{"\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx"}:\StmPush~\texttt{"u"}:\StmPut:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmHead:\StmPush~\texttt{"v"}:\StmGet:\StmCat:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmTail:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"o"}:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmQuotify:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"u"}:\StmGet:\StmQuotify:\StmCat:\StmCat:\StmPush~\texttt{"u"}:\StmGet:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmPut:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] -\justifies{}\trans{\StmPush~\texttt{"c$s$"}:\StmPush~\texttt{""}:\StmPush~\texttt{"\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx"}:\StmPush~\texttt{"u"}:\StmPut:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmHead:\StmPush~\texttt{"v"}:\StmGet:\StmCat:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmTail:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"o"}:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmQuotify:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"u"}:\StmGet:\StmQuotify:\StmCat:\StmCat:\StmPush~\texttt{"u"}:\StmGet:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmPut:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\Nil,\emptyset\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] -\justifies{}\trans{\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\[\axjustifies\trans{\StmPush~\texttt{"\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx"}:\StmPush~\texttt{"u"}:\StmPut:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmHead:\StmPush~\texttt{"v"}:\StmGet:\StmCat:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmTail:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"o"}:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmQuotify:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"u"}:\StmGet:\StmQuotify:\StmCat:\StmCat:\StmPush~\texttt{"u"}:\StmGet:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmPut:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{""}:\texttt{"c$t$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rule{assumption}{}}\] +\justifies{}\trans{\StmPush~\texttt{""}:\StmPush~\texttt{"\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx"}:\StmPush~\texttt{"u"}:\StmPut:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmHead:\StmPush~\texttt{"v"}:\StmGet:\StmCat:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmTail:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"o"}:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmQuotify:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"u"}:\StmGet:\StmQuotify:\StmCat:\StmCat:\StmPush~\texttt{"u"}:\StmGet:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmPut:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +\justifies{}\trans{\StmPush~\texttt{"c$t$"}:\StmPush~\texttt{""}:\StmPush~\texttt{"\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx"}:\StmPush~\texttt{"u"}:\StmPut:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmHead:\StmPush~\texttt{"v"}:\StmGet:\StmCat:\StmPush~\texttt{"v"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmTail:\StmPush~\texttt{"w"}:\StmPut:\StmPush~\texttt{"w"}:\StmGet:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"o"}:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmQuotify:\StmPush~\texttt{"v"}:\StmGet:\StmQuotify:\StmPush~\texttt{"u"}:\StmGet:\StmQuotify:\StmCat:\StmCat:\StmPush~\texttt{"u"}:\StmGet:\StmCat:\StmPush~\texttt{"w"}:\StmGet:\StmPut:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\Nil,\emptyset\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +\justifies{}\trans{\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\Nil,\{\texttt{""}\mapsto\texttt{"\textquotedblright{}\textquotedblright{}o"},\texttt{"c$s$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"}:\Nil,\{\texttt{""}\mapsto\texttt{"\textquotedblright{}\textquotedblright{}o"},\texttt{"c$t$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"},\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rexecns}\] -\justifies{}\trans{\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\Nil,\{\texttt{""}\mapsto\texttt{"\textquotedblright{}\textquotedblright{}o"},\texttt{"c$s$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"},\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rexecns}\] +\justifies{}\trans{\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\Nil,\{\texttt{""}\mapsto\texttt{"\textquotedblright{}\textquotedblright{}o"},\texttt{"c$t$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"},\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] -\justifies{}\trans{\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{""}:\texttt{"\textquotedblright{}\textquotedblright{}o"}:\texttt{"c$s$"}:\Nil,\{\texttt{"c$s$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"},\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] +\justifies{}\trans{\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{""}:\texttt{"\textquotedblright{}\textquotedblright{}o"}:\texttt{"c$t$"}:\Nil,\{\texttt{"c$t$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"},\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rputns}\] -\justifies{}\trans{\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}\textquotedblright{}o"}:\texttt{"c$s$"}:\Nil,\{\texttt{"c$s$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"},\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rputns}\] +\justifies{}\trans{\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}\textquotedblright{}o"}:\texttt{"c$t$"}:\Nil,\{\texttt{"c$t$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"},\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] -\justifies{}\trans{\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\Nil,\{\texttt{"c$s$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"},\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +\justifies{}\trans{\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\Nil,\{\texttt{"c$t$"}\mapsto\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"},\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] -\justifies{}\trans{\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"},\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +\justifies{}\trans{\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rputns}\] -\justifies{}\trans{\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rputns}\] +\justifies{}\trans{\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] -\justifies{}\trans{\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{} +"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] +\justifies{}\trans{\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{} \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] \justifies{}\trans{\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{}"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rcatns}\] +"}:\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{}"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rcatns}\] \justifies{}\trans{\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}c\textit{q}($s$)\textquotedblright{}"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"\textquotedblright{}c\textit{q}($t$)\textquotedblright{}"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] \justifies{}\trans{\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rquotifyns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rquotifyns}\] \justifies{}\trans{\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] \justifies{}\trans{\StmPush~\texttt{"input"}:\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] \justifies{}\trans{\StmGet:\StmPush~\texttt{"input"}:\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rgetns}\] \justifies{}\trans{\StmPush~\texttt{"input"}:\StmGet:\StmPush~\texttt{"input"}:\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\Nil,\{\texttt{"input"}\mapsto\texttt{"c$s$"}\}\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\Nil,\{\texttt{"input"}\mapsto\texttt{"c$t$"}\}\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] \justifies{}\trans{\StmPut:\StmPush~\texttt{"input"}:\StmGet:\StmPush~\texttt{"input"}:\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\texttt{"c$s$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rputns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"input"}:\texttt{"c$t$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rputns}\] \justifies{}\trans{\StmPush~\texttt{"input"}:\StmPut:\StmPush~\texttt{"input"}:\StmGet:\StmPush~\texttt{"input"}:\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$s$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\Nil}{\left(\texttt{"c$t$"}:\Nil,\emptyset\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rpushns}\] \justifies{}\trans{\StmInput:\StmPush~\texttt{"input"}:\StmPut:\StmPush~\texttt{"input"}:\StmGet:\StmPush~\texttt{"input"}:\StmGet:\StmQuotify:\StmPush~\texttt{" \textquotedblright{}\textquotedblright{}\textquotedblright{}\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gh\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gt\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}p\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}g\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}o\textbackslash{}\textquotedblright{}+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}v\textbackslash{}\textquotedblright{}gq\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}gq++\textbackslash{}\textquotedblright{}u\textbackslash{}\textquotedblright{}g+\textbackslash{}\textquotedblright{}w\textbackslash{}\textquotedblright{}gp\textbackslash{}\textquotedblright{}\textbackslash{}\textquotedblright{}pgx\textquotedblright{}\textquotedblright{}u\textquotedblright{}p\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gh\textquotedblright{}v\textquotedblright{}g+\textquotedblright{}v\textquotedblright{}p\textquotedblright{}w\textquotedblright{}gt\textquotedblright{}w\textquotedblright{}p\textquotedblright{}w\textquotedblright{}g\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}o\textquotedblright{}+\textquotedblright{}w\textquotedblright{}gq\textquotedblright{}v\textquotedblright{}gq\textquotedblright{}u\textquotedblright{}gq++\textquotedblright{}u\textquotedblright{}g+\textquotedblright{}w\textquotedblright{}gp\textquotedblright{}\textquotedblright{}pgx -"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\texttt{"c$s$"}:\Nil}{\left(\Nil,\emptyset\right)}{\Nil}{\texttt{"$s^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rinputns}
\ No newline at end of file +"}:\StmCat:\StmPush~\texttt{"input"}:\StmGet:\StmPut:\StmPush~\texttt{"\textquotedblright{}\textquotedblright{}o"}:\StmPush~\texttt{""}:\StmPut:\StmGet:\StmExec}{\texttt{"c$t$"}:\Nil}{\left(\Nil,\emptyset\right)}{\Nil}{\texttt{"$t^R$c"}:\Nil}{\left(\Nil,\emptyset\right)}\using{\rinputns} diff --git a/werkstuk.tex b/werkstuk.tex index c4488f6..6935ea0 100644 --- a/werkstuk.tex +++ b/werkstuk.tex @@ -36,6 +36,7 @@ \addto\extrasdutch{% \renewcommand{\sectionautorefname}{Sectie} \renewcommand{\subsectionautorefname}{Paragraaf} + \renewcommand{\figureautorefname}{Figuur} } % Eigen commando's en environments, niet specifiek voor Smurf @@ -48,6 +49,8 @@ ]{lined} \declaretheorem[style=lined]{exmp} +\newtheorem{thm}{Stelling} + \begin{document} \maketitle |