This commit is contained in:
Leon Vatthauer 2024-03-11 18:19:30 +01:00
parent 5f836b4d89
commit 978eb83a7f
Signed by: leonv
SSH key fingerprint: SHA256:G4+ddwoZmhLPRB1agvXzZMXIzkVJ36dUYZXf5NxT+u8
2 changed files with 20 additions and 15 deletions

View file

@ -1,4 +1,4 @@
\documentclass[a4paper,11pt,numbers=noenddot]{scrbook}
\documentclass[a4paper,11pt,numbers=noenddot, draft]{scrbook}
\usepackage[top=2cm,lmargin=1in,rmargin=1in,bottom=3cm,hmarginratio=1:1]{geometry}
\usepackage[ngerman, main=british]{babel}
@ -104,7 +104,8 @@
\makeatother
\usepackage{noto-mono}
% \usepackage{noto-mono}
% TODO Need different mono font, noto-mono has weird font sizing...
\usepackage{unicode-math}
% \setmainfont{STIX-Regular}
% \setmathfont{STIX Two Math Regular}

View file

@ -159,23 +159,19 @@ Now, we call two computations \(p\) and \(q\) \emph{weakly bisimilar} or \(p \ap
\begin{proof}
The monad unit is the constructor \texttt{now} and the multiplication can be defined as follows:
\begin{minted}{agda}
μ : Delay (Delay X) → Delay X
μ' : Delay' (Delay X) → Delay' X
μ (now x) = x
μ (later x) = later (μ' x)
force (μ' x) = μ (force x)
\end{minted}
\[\mu\;x = \begin{cases}
z & \text{if } x = now\;z \\
later(\mu\;z) & \text{if } x = later\;z
\end{cases}\]
The monad laws have already been proven in~\cite{quotienting} and in our own formalization, so we will not reiterate the proofs here.
\end{proof}
\begin{theorem}
Every \((Delay\;A , \approx)\) can be equipped with a free Elgot algebra structure.
\end{theorem}
\begin{lemma}\label{lem:Delgot}
Every \((Delay\;A , \approx)\) can be equipped with an Elgot algebra structure.
\end{lemma}
\begin{proof}
We need to show that for every setoid \((A, =^A)\) the resulting setoid \((Delay\;A, \approx)\) can be extended to a free Elgot algebra.
% Stability follows automatically by \autoref{thm:stability} and the fact that \(\setoids\) is Cartesian closed, so it suffices to define a free Elgot Algebra on \((Delay\;A, \approx)\).
We need to show that for every setoid \((A, =^A)\) the resulting setoid \((Delay\;A, \approx)\) can be extended to an Elgot algebra.
Let \((X , \overset{X}{=}) \in \obj{\setoids}\) and \(f : X \rightarrow Delay\; A + X\) be a setoid morphism, we define \(f^\sharp : X \rightarrow Delay\;A\) point wise:
\[
@ -260,8 +256,16 @@ Now, we call two computations \(p\) and \(q\) \emph{weakly bisimilar} or \(p \ap
\end{alignat*}
\end{mycase}
\end{itemize}
This concludes the proof that every \((Delay\;A,\approx)\) can be extended to an Elgot algebra, let us now show that these Elgot algebras are free.
This concludes the proof that every \((Delay\;A,\approx)\) can be extended to an Elgot algebra.
\end{proof}
\todo[inline]{Discretization corollary here}
\begin{theorem}\label{thm:Dfreeelgot}
Every \((Delay\;A , \approx)\) can be equipped with a free Elgot algebra structure.
\end{theorem}
\begin{proof}
We build on \autoref{lem:Delgot}, it thus suffices to show that the induced Elgot algebras are free.
Given an Elgot algebra \((B , \overset{B}{=}, {(-)}^{\sharp_b})\) and a setoid morphism \(f : A \rightarrow B\). We need to define an Elgot algebra morphism \(\free{f} : Delay\;A \rightarrow B\). Consider \(g : Delay\;A \rightarrow B + Delay\;A\) defined by
\[g\;x =
\begin{cases}