From be2d12cbf13db2ad152fa8911e020dc91194a9f3 Mon Sep 17 00:00:00 2001 From: Leon Vatthauer Date: Tue, 23 Jan 2024 13:25:18 +0100 Subject: [PATCH] final slides --- slides/bibliography.bib | 40 +++++++++++++++++++++--------- slides/code-examples/reverse.agda | 6 ++--- slides/sections/01_abstracting.tex | 2 +- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/slides/bibliography.bib b/slides/bibliography.bib index b84b822..55e3d78 100644 --- a/slides/bibliography.bib +++ b/slides/bibliography.bib @@ -81,18 +81,18 @@ } @inproceedings{quotienting, -author = {Chapman, James and Uustalu, Tarmo and Veltri, Niccol\`{o}}, -title = {Quotienting the Delay Monad by Weak Bisimilarity}, -year = {2015}, -isbn = {9783319251493}, -publisher = {Springer-Verlag}, -address = {Berlin, Heidelberg}, -url = {https://doi.org/10.1007/978-3-319-25150-9_8}, -doi = {10.1007/978-3-319-25150-9_8}, -abstract = {The delay datatype was introduced by Capretta [3] as a means to deal with partial functions as in computability theory in Martin-L\"{o}f type theory. It is a monad and it constitutes a constructive alternative to the maybe monad. It is often desirable to consider two delayed computations equal, if they terminate with equal values, whenever one of them terminates. The equivalence relation underlying this identification is called weak bisimilarity. In type theory, one commonly replaces quotients with setoids. In this approach, the delay monad quotiented by weak bisimilarity is still a monad. In this paper, we consider Hofmann's alternative approach [6] of extending type theory with inductive-like quotient types. In this setting, it is difficult to define the intended monad multiplication for the quotiented datatype. We give a solution where we postulate some principles, crucially proposition extensionality and the semi-classical axiom of countable choice. We have fully formalized our results in the Agda dependently typed programming language.}, -booktitle = {Proceedings of the 12th International Colloquium on Theoretical Aspects of Computing - ICTAC 2015 - Volume 9399}, -pages = {110–125}, -numpages = {16} + author = {Chapman, James and Uustalu, Tarmo and Veltri, Niccol\`{o}}, + title = {Quotienting the Delay Monad by Weak Bisimilarity}, + year = {2015}, + isbn = {9783319251493}, + publisher = {Springer-Verlag}, + address = {Berlin, Heidelberg}, + url = {https://doi.org/10.1007/978-3-319-25150-9_8}, + doi = {10.1007/978-3-319-25150-9_8}, + abstract = {The delay datatype was introduced by Capretta [3] as a means to deal with partial functions as in computability theory in Martin-L\"{o}f type theory. It is a monad and it constitutes a constructive alternative to the maybe monad. It is often desirable to consider two delayed computations equal, if they terminate with equal values, whenever one of them terminates. The equivalence relation underlying this identification is called weak bisimilarity. In type theory, one commonly replaces quotients with setoids. In this approach, the delay monad quotiented by weak bisimilarity is still a monad. In this paper, we consider Hofmann's alternative approach [6] of extending type theory with inductive-like quotient types. In this setting, it is difficult to define the intended monad multiplication for the quotiented datatype. We give a solution where we postulate some principles, crucially proposition extensionality and the semi-classical axiom of countable choice. We have fully formalized our results in the Agda dependently typed programming language.}, + booktitle = {Proceedings of the 12th International Colloquium on Theoretical Aspects of Computing - ICTAC 2015 - Volume 9399}, + pages = {110–125}, + numpages = {16} } @article{restriction, @@ -126,4 +126,20 @@ numpages = {16} timestamp = {Fri, 26 Feb 2021 14:31:25 +0100}, biburl = {https://dblp.org/rec/journals/corr/abs-2102-11828.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{while, + author = {Sergey Goncharov and + Lutz Schr{\"{o}}der and + Christoph Rauch}, + title = {(Co-)Algebraic Foundations for Effect Handling and Iteration}, + journal = {CoRR}, + volume = {abs/1405.0854}, + year = {2014}, + url = {http://arxiv.org/abs/1405.0854}, + eprinttype = {arXiv}, + eprint = {1405.0854}, + timestamp = {Mon, 13 Aug 2018 16:47:19 +0200}, + biburl = {https://dblp.org/rec/journals/corr/GoncharovSR14.bib}, + bibsource = {dblp computer science bibliography, https://dblp.org} } \ No newline at end of file diff --git a/slides/code-examples/reverse.agda b/slides/code-examples/reverse.agda index ddc33c9..7f3cbb9 100644 --- a/slides/code-examples/reverse.agda +++ b/slides/code-examples/reverse.agda @@ -29,8 +29,8 @@ module reverse where fin-colist : Colist ℕ fin-colist = 1 ∷ ♯ (2 ∷ ♯ (3 ∷ ♯ [])) - inf-colist : Colist ℕ - inf-colist = 1 ∷ ♯ inf-colist + ones : Colist ℕ + ones = 1 ∷ ♯ ones -- run reverse fin-colist for 5 steps - -- run reverse inf-colist for 1000 steps \ No newline at end of file + -- run reverse ones for 1000 steps \ No newline at end of file diff --git a/slides/sections/01_abstracting.tex b/slides/sections/01_abstracting.tex index 6121617..2f92b8b 100644 --- a/slides/sections/01_abstracting.tex +++ b/slides/sections/01_abstracting.tex @@ -170,7 +170,7 @@ The following is an adaptation of Ad\'amek, Milius and Velebil's \textit{complet \end{block} \end{frame} -\begin{frame}[t, fragile]{Partiality from Iteration}{Elgot Monads~\cite{elgotmonad}} +\begin{frame}[t, fragile]{Partiality from Iteration}{Elgot Monads~\cite{elgotmonad}~\cite{while}} \begin{definition} A monad $\mathbf{T}$ is an Elgot monad if it has an iteration operator $(f : X \rightarrow T(Y + X))^\dagger : X \rightarrow TY$ satisfying: \begin{itemize}