diff --git a/docs/algebra.tex b/docs/algebra.tex index 4b0058e628cd4b6b11bb11bdc501e0b6b63f8e05..0c12cef58b205c88e255eb107e5820fa7a33ce83 100644 --- a/docs/algebra.tex +++ b/docs/algebra.tex @@ -40,6 +40,7 @@ Note that $\COFEs$ is cartesian closed. A (bi)functor $F : \COFEs \to \COFEs$ is called \emph{locally non-expansive} if its action $F_1$ on arrows is itself a non-expansive map. Similarly, $F$ is called \emph{locally contractive} if $F_1$ is a contractive map. \end{defn} +Note that the composition of non-expansive (bi)functors is non-expansive, and the composition of a non-expansive and a contractive (bi)functor is contractive. \subsection{RA} diff --git a/docs/constructions.tex b/docs/constructions.tex index 6f8ef788eb420ecc586c1739037786c87b417f8a..91b9668595e712e55cab10747d186c8bbecf2abd 100644 --- a/docs/constructions.tex +++ b/docs/constructions.tex @@ -1,5 +1,16 @@ % !TEX root = ./appendix.tex +\section{COFE constructions} +\subsection{Next (type-level later)} + +Given a COFE $\cofe$, we define $\latert\cofe$ as follows: +\begin{align*} + \latert\cofe \eqdef{}& \latertinj(\cofe) \\ + \latertinj(x) \nequiv{n} \latertinj(y) \eqdef{}& n = 0 \lor x \nequiv{n-1} y +\end{align*} +$\latert(-)$ is a locally \emph{contractive} bifunctor from $\COFEs$ to $\COFEs$. + +\clearpage \section{CMRA constructions} \subsection{Product} diff --git a/docs/iris.sty b/docs/iris.sty index 447207c1a5ebbe0836992d3fdb6527472e1e1bbe..065d62e2be52297893ca4697a04d5f1172aa2db0 100644 --- a/docs/iris.sty +++ b/docs/iris.sty @@ -101,6 +101,7 @@ \newcommand{\nequivset}[2]{\ensuremath{\mathrel{\stackrel{#1}{=}_{#2}}}} \newcommand{\nequivB}[1]{\ensuremath{\mathrel{\stackrel{#1}{\equiv}}}} \newcommand{\latert}{\mathord{\blacktriangleright}} +\newcommand{\latertinj}{\textlog{next}} \newcommand{\Sem}[1]{\llbracket #1 \rrbracket} diff --git a/docs/logic.tex b/docs/logic.tex index 2f77240a237afd549a4fd67e0a857e03a69d3ca1..3642b42f17938bd3b548398eb61f7b640e36323a 100644 --- a/docs/logic.tex +++ b/docs/logic.tex @@ -41,7 +41,7 @@ It does not matter whether they fork off an arbitrary expression. \end{enumerate} \end{defn} -\subsection{The concurrent language} +\subsection{Concurrent language} For any language $\Lang$, we define the corresponding thread-pool semantics. @@ -64,7 +64,7 @@ For any language $\Lang$, we define the corresponding thread-pool semantics. \end{mathpar} \clearpage -\section{The logic} +\section{Logic} To instantiate Iris, you need to define the following parameters: \begin{itemize}