diff --git a/docs/constructions.tex b/docs/constructions.tex index 679aeb00799b5f4b863dc61521e5666d7b98454a..e019b25cdfbf4eb6c7ef78bfdc6f7338e5533d2b 100644 --- a/docs/constructions.tex +++ b/docs/constructions.tex @@ -189,7 +189,8 @@ The first is trivial, the second follows from cancellativitiy of $M$. \label{sec:fpfunm} Given a countable set $X$ and a monoid $M$, we construct a monoid representing finite partial functions from $X$ to (non-unit, non-zero elements of) $M$. -Let $\fpfunm{X}{M}$ be the product monoid $\prod_{x \in X} M$, as defined in \secref{sec:prodm} but restricting the carrier to functions $f$ where the set $\dom(f) \eqdef \{ x \mid f(x) \neq \munit_M \}$ is finite. +\ralf{all outdated} +Let ${X} \fpfn {M}$ be the product monoid $\prod_{x \in X} M$, as defined in \secref{sec:prodm} but restricting the carrier to functions $f$ where the set $\dom(f) \eqdef \{ x \mid f(x) \neq \munit_M \}$ is finite. This is well-defined as the set of these $f$ contains the unit and is closed under multiplication. (We identify finite partial functions from $X$ to $\mcarp{M}\setminus\{\munit_M\}$ and total functions from $X$ to $\mcarp{M}$ with finite $\munit_M$-support.) @@ -303,7 +304,7 @@ Frame-preserving updates are also possible if we assume $M$ cancellative: By combining the fractional, finite partial function, and authoritative monoids, we construct two flavors of heaps with fractional permissions and mention their important frame-preserving updates. Hereinafter, we assume the set $\textdom{Val}$ of values is countable. -Given a set $Y$, define $\FHeap(Y) \eqdef \fpfunm{\textdom{Val}}{\fracm{Y}}$ representing a fractional heap with codomain $Y$. +Given a set $Y$, define $\FHeap(Y) \eqdef \textdom{Val} \fpfn \fracm(Y)$ representing a fractional heap with codomain $Y$. From \S\S\ref{sec:fracm} and~\ref{sec:fpfunm} we obtain the following frame-preserving updates as well as the fact that $\FHeap(Y)$ is cancellative. \begin{mathpar} \axiomH{FHeapUpd}{h[x \mapsto (1, y)] \mupd h[x \mapsto (1, y')]} \and diff --git a/docs/derived.tex b/docs/derived.tex index 857f881c7a34a7113552d421b0ab6b87b6d1dcea..b907e7dea6b510cf9bf7273a270e0bcd2c618f32 100644 --- a/docs/derived.tex +++ b/docs/derived.tex @@ -5,7 +5,7 @@ In this section we describe some constructions that we will use throughout the r \subsection{Global monoid} Hereinafter we assume the global monoid (served up as a parameter to Iris) is obtained from a family of monoids $(M_i)_{i \in I}$ by first applying the construction for finite partial functions to each~(\Sref{sec:fpfunm}), and then applying the product construction~(\Sref{sec:prodm}): -$M \eqdef \prod_{i \in I} \fpfunm{\textdom{GhName}}{M_i}$ +$M \eqdef \prod_{i \in I} \textdom{GhName} \fpfn M_i$ We don't care so much about what concretely $\textdom{GhName}$ is, as long as it is countable and infinite. We write $\ownGhost{\gname}{\melt : M_i}$ (or just $\ownGhost{\gname}{\melt}$ if $M_i$ is clear from the context) for $\ownGGhost{[i \mapsto [\gname \mapsto \melt]]}$ when $\melt \in \mcarp {M_i}$, and for $\FALSE$ when $\melt = \mzero_{M_i}$. In other words, $\ownGhost{\gname}{\melt : M_i}$ asserts that in the current state of monoid $M_i$, the name $\gname$ is allocated and has at least value $\melt$. diff --git a/docs/setup.tex b/docs/setup.tex index deb34faaf5f5c3878a19bc1beaff60b8c92f05a5..4b1af4b807d3981f898f84d213363b02e386b7da 100644 --- a/docs/setup.tex +++ b/docs/setup.tex @@ -434,20 +434,18 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Commonly used identifiers -\newcommand{\FHeap}{\textsc{FHeap}} -\newcommand{\AFHeap}{\textsc{AFHeap}} +\newcommand{\FHeap}{\textmon{FHeap}} +\newcommand{\AFHeap}{\textmon{AFHeap}} -\newcommand{\auth}[1]{\ensuremath{\textsc{Auth}(#1)}} +\newcommand{\auth}[1]{\textmon{Auth}} \newcommand{\authfull}{\mathord{\bullet}\,} \newcommand{\authfrag}{\mathord{\circ}\,} -\newcommand{\fpfunm}[2]{\ensuremath{\textsc{FpFun}(#1, #2)}} -\newcommand{\fracm}[1]{\ensuremath{\textsc{Frac}(#1)}} -\newcommand{\exm}[1]{\ensuremath{\textsc{Ex}(#1)}} -\newcommand{\agm}[1]{\ensuremath{\textsc{Ag}(#1)}} +\newcommand{\fracm}{\ensuremath{\textmon{Frac}}} +\newcommand{\exm}{\ensuremath{\textmon{Ex}}} +\newcommand{\agm}{\ensuremath{\textmon{Ag}}} - -\newcommand{\STSMon}[1]{\textsc{Sts}_{#1}} +\newcommand{\STSMon}[1]{\textmon{Sts}_{#1}} \newcommand{\STSInv}{\textsf{STSInv}} \newcommand{\STS}{\textsf{STS}} \newcommand{\STSS}{\mathcal{S}} % states