diff --git a/docs/algebra.tex b/docs/algebra.tex index 0fa60eac50e4dad54c6e79fec2db036cf04c8343..d6f2de09aa54f52fcc8c1b9f980e216878cdb8af 100644 --- a/docs/algebra.tex +++ b/docs/algebra.tex @@ -35,7 +35,7 @@ In order to solve the recursive domain equation in \Sref{sec:model} it is also e A function $f : \cofe \to \cofeB$ between two COFEs is \emph{non-expansive} (written $f : \cofe \nfn \cofeB$) if \[\All n, x \in \cofe, y \in \cofe. x \nequiv{n} y \Ra f(x) \nequiv{n} f(y) \] It is \emph{contractive} if - \[ \All n, x \in \cofe, y \in \cofe. (\All m < n. x \nequiv{m} y) \Ra f(x) \nequiv{n} f(x) \] + \[ \All n, x \in \cofe, y \in \cofe. (\All m < n. x \nequiv{m} y) \Ra f(x) \nequiv{n} f(y) \] \end{defn} Intuitively, applying a non-expansive function to some data will not suddenly introduce differences between seemingly equal data. Elements that cannot be distinguished by programs within $n$ steps remain indistinguishable after applying $f$. @@ -211,7 +211,7 @@ Furthermore, discrete CMRAs can be turned into RAs by ignoring their COFE struct \end{defn} Note that every object/arrow in $\CMRAs$ is also an object/arrow of $\COFEs$. The notion of a locally non-expansive (or contractive) bifunctor naturally generalizes to bifunctors between these categories. -\ralf{Discuss how we probably have a commuting square of functors between Set, RA, CMRA, COFE.} +%TODO: Discuss how we probably have a commuting square of functors between Set, RA, CMRA, COFE. %%% Local Variables: %%% mode: latex diff --git a/docs/logic.tex b/docs/logic.tex index 95b5adf17c7876cb32563c729388549e6666e147..a7b4dd401e756c02d549bfed91cff0ccd9f052aa 100644 --- a/docs/logic.tex +++ b/docs/logic.tex @@ -135,7 +135,7 @@ Recursive predicates must be \emph{guarded}: in $\MU \var. \term$, the variable Note that $\always$ and $\later$ bind more tightly than $*$, $\wand$, $\land$, $\lor$, and $\Ra$. We will write $\pvs[\term] \prop$ for $\pvs[\term][\term] \prop$. If we omit the mask, then it is $\top$ for weakest precondition $\wpre\expr{\Ret\var.\prop}$ and $\emptyset$ for primitive view shifts $\pvs \prop$. -\ralf{$\top$ is not a term in the logic. Neither is any of the operations on masks that we use in the rules for weakestpre.} +%FIXME $\top$ is not a term in the logic. Neither is any of the operations on masks that we use in the rules for weakestpre. Some propositions are \emph{timeless}, which intuitively means that step-indexing does not affect them. This is a \emph{meta-level} assertion about propositions, defined as follows: