Commit 11a4dd0c authored by Nicola Botta's avatar Nicola Botta
Browse files

Final.

parent c06d4c30
......@@ -257,7 +257,7 @@ verified ADTs initiated by Nicholas Drozd on
\href{https://groups.google.com/forum/#!topic/idris-lang/VZVpi-QUyUc}{idris-lang}.
%
A caveat is perhaps in place: the discussion on ADTs for functors and
monads in sections sections \ref{section:functors} and
monads in sections \ref{section:functors} and
\ref{section:monads} is not meant to answer the question of ``what
verified interfaces should look like''. Our aim is to demonstrate that,
like preservation of identity functions or preservation of composition,
......@@ -295,7 +295,7 @@ Foundations program
\citep{DBLP:books/daglib/0067012,DBLP:conf/lics/HofmannS94,hottbook}.
%
Univalence and recent developments in \emph{Cubical Type Theory}
\citep{cohen2016cubical} promise to finally provide developers with a
\citep{cohenetal18:cubical} promise to finally provide developers with a
computational version of function extensionality.
......@@ -315,7 +315,7 @@ in mainstream programming.
From a more mathematical perspective, there are good reasons not to rely
on axioms that are stronger than necessary: there are interesting models
of type theory that refute function extensionality
\citep{streicher1993investigations, vanGlehn_2015,
\citep{streicher1993investigations, vonGlehn_2015,
10.1145/3018610.3018620}, and our results can be interpreted in these
models.
%
......
......@@ -201,6 +201,9 @@ Kleisli composition to fulfil the specification
%
\vspace*{-2ex}
\begin{center}
%%***TODO replace with pdf include
%% See https://tex.stackexchange.com/questions/452/how-can-i-create-a-pdf-document-exactly-as-big-as-my-tikz-picture/514
\beginpgfgraphicnamed{ExtEqPres-f1}
\begin{tikzcd}[column sep=large]
|M C|
& |M (M C)| \arrow[l, "|join|"]
......@@ -209,6 +212,7 @@ Kleisli composition to fulfil the specification
\mathbin{> \!\! = \!\! >}
g"]
\end{tikzcd}
\endpgfgraphicnamed
\end{center}
> kleisliSpec : {A, B, C : Type} -> {M : Type -> Type} -> Monad M =>
......
......@@ -50,17 +50,21 @@ two \emph{natural transformations}
such that, for any object |A| of $\mathcal{C}$, the following diagrams commute:
\begin{minipage}{0.4\textwidth}
\beginpgfgraphicnamed{ExtEqPres-f2}
\begin{tikzcd}[row sep=large, column sep=large]
|M A| \arrow[r, "|eta (M A)|"] \arrow[dr, "|id_MA|"'] & |M (M A)| \arrow[d, "|mu A|"] & |M A| \arrow[l, "|M (eta A)|"'] \arrow[dl, "|id_MA|"] \\
& |M A| &
\end{tikzcd}
\endpgfgraphicnamed
\end{minipage}
\hfill
\begin{minipage}{0.4\textwidth}
\beginpgfgraphicnamed{ExtEqPres-f3}
\begin{tikzcd}[row sep=large, column sep=large]
|M (M (M A))| \arrow[r, "|M (mu A)|"] \arrow[d, "|mu (M A)|"'] & |M (M A)| \arrow[d, "|mu A|"] \\
|M (M A)| \arrow[r, "|mu A|"'] & |M A|
\end{tikzcd}
\endpgfgraphicnamed
\end{minipage}
\noindent
......@@ -79,17 +83,21 @@ diagrams commute for any arrow |f : A -> B| in $\mathcal{C}$:
%\end{minipage}
\hfill
\begin{minipage}{0.3\textwidth}
\beginpgfgraphicnamed{ExtEqPres-f4}
\begin{tikzcd}[row sep=large, column sep=large]
|A| \arrow[r, "|f|"] \arrow[d, "|eta A|"'] & |B| \arrow[d, "|eta B|"] \\
|M A| \arrow[r, "|M f|"'] & |M B|
\end{tikzcd}
\endpgfgraphicnamed
\end{minipage}
\hfill
\begin{minipage}{0.4\textwidth}
\beginpgfgraphicnamed{ExtEqPres-f5}
\begin{tikzcd}[row sep=large, column sep=large]
|M (M A)| \arrow[r, "|M (M f)|"] \arrow[d, "|mu A|"'] & |M (M B)| \arrow[d, "|mu B|"] \\
|M A| \arrow[r, "|M f|"'] & |M B|
\end{tikzcd}
\endpgfgraphicnamed
\end{minipage}
\noindent
......
......@@ -64,12 +64,12 @@ and in Agda has to be disabled using a special flag.
%
%
Finally, in \emph{Cubical Type Theory} \citep{cohen2016cubical}
Finally, in \emph{Cubical Type Theory} \citep{cohenetal18:cubical}
function extensionality is provable because of the presence of the
\emph{interval primitive} and thus has computational content.
%
Cubical type theory has recently been implemented as a special version
of Agda \citep{10.1145/3341691}.
of Agda \citep{cubicalagda2}.
%
Another (similar) version of homotopy type theory is implemented in
the theorem prover Arend \citep{arend_prover}.
......@@ -82,7 +82,7 @@ On the topic of interfaces (type classes) and their laws there is
related work in specifying \citep{janssonjeuring-dataconv}, rewriting
\citep{peytonjones2001playing}, testing
\citep{jeuringHaskell12ClassLaws} and proving
\citep{DBLP:journals/corr/abs-1808-05789} type class laws in Haskell.
\citep{arvidssonetal19:typeclasslaws} type class laws in Haskell.
%
The equality challenges here are often related to the semantics of
non-termination as described in the Fast and Loose Reasoning paper
......
% -*-Latex-*-
\RequirePackage{amsmath}
\documentclass{jfp}
%\documentclass{jfphack}
\usepackage{tikz-cd}
%% begin for submission
\pgfrealjobname{main}
%% end for submission
\usepackage{quoting}
\usepackage{bigfoot} % To handle url with special characters in footnotes!
\usepackage{hyperref}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment