@@ -387,20 +387,20 @@ The construction follows the idea of STSs as described in CaReSL \cite{caresl}.
...
@@ -387,20 +387,20 @@ The construction follows the idea of STSs as described in CaReSL \cite{caresl}.
We first lift the transition relation to $\STSS\times\wp(\STST)$ (implementing a \emph{law of token conservation}) and define a stepping relation for the \emph{frame} of a given token set:
We first lift the transition relation to $\STSS\times\wp(\STST)$ (implementing a \emph{law of token conservation}) and define a stepping relation for the \emph{frame} of a given token set:
\begin{align*}
\begin{align*}
(s, T) \stsstep (s', T') \eqdef{}& s \stsstep s' \land\STSL(s) \uplus T = \STSL(s') \uplus T' \\
(s, T) \stsstep (s', T') \eqdef{}& s \stsstep s' \land\STSL(s) \uplus T = \STSL(s') \uplus T' \\
s \stsfstep{T} s' \eqdef{}&\Exists T_1, T_2. T_1 \sep\STSL(s) \cup T \l+and (s, T_1) \stsstep (s', T_2)
s \stsfstep{T} s' \eqdef{}&\Exists T_1, T_2. T_1 \disj\STSL(s) \cup T \l+and (s, T_1) \stsstep (s', T_2)
\end{align*}
\end{align*}
We further define \emph{closed} sets of states (given a particular set of tokens) as well as the \emph{closure} of a set:
We further define \emph{closed} sets of states (given a particular set of tokens) as well as the \emph{closure} of a set:
\begin{align*}
\begin{align*}
\STSclsd(S, T) \eqdef{}&\All s \in S. \STSL(s) \sep T \land\All s'. s \stsfstep{T} s' \Ra s' \in S \\
\STSclsd(S, T) \eqdef{}&\All s \in S. \STSL(s) \disj T \land\All s'. s \stsfstep{T} s' \Ra s' \in S \\
\upclose(S, T) \eqdef{}&\setComp{ s' \in\STSS}{\Exists s \in S. s \stsftrans{T} s' }
\upclose(S, T) \eqdef{}&\setComp{ s' \in\STSS}{\Exists s \in S. s \stsftrans{T} s' }
@@ -319,8 +319,8 @@ We use the notation $\namesp.\iname$ for the namespace $[\iname] \dplus \namesp$
...
@@ -319,8 +319,8 @@ We use the notation $\namesp.\iname$ for the namespace $[\iname] \dplus \namesp$
We define the inclusion relation on namespaces as $\namesp_1\sqsubseteq\namesp_2\Lra\Exists\namesp_3. \namesp_2=\namesp_3\dplus\namesp_1$, \ie$\namesp_1$ is a suffix of $\namesp_2$.
We define the inclusion relation on namespaces as $\namesp_1\sqsubseteq\namesp_2\Lra\Exists\namesp_3. \namesp_2=\namesp_3\dplus\namesp_1$, \ie$\namesp_1$ is a suffix of $\namesp_2$.
We have that $\namesp_1\sqsubseteq\namesp_2\Ra\namecl{\namesp_2}\subseteq\namecl{\namesp_1}$.
We have that $\namesp_1\sqsubseteq\namesp_2\Ra\namecl{\namesp_2}\subseteq\namecl{\namesp_1}$.
Similarly, we define $\namesp_1\sep\namesp_2\eqdef\Exists\namesp_1', \namesp_2'. \namesp_1' \sqsubseteq\namesp_1\land\namesp_2' \sqsubseteq\namesp_2\land |\namesp_1'| = |\namesp_2'| \land\namesp_1' \neq\namesp_2'$, \ie there exists a distinguishing suffix.
Similarly, we define $\namesp_1\disj\namesp_2\eqdef\Exists\namesp_1', \namesp_2'. \namesp_1' \sqsubseteq\namesp_1\land\namesp_2' \sqsubseteq\namesp_2\land |\namesp_1'| = |\namesp_2'| \land\namesp_1' \neq\namesp_2'$, \ie there exists a distinguishing suffix.
We have that $\namesp_1\sep\namesp_2\Ra\namecl{\namesp_2}\sep\namecl{\namesp_1}$, and furthermore $\iname_1\neq\iname_2\Ra\namesp.\iname_1\sep\namesp.\iname_2$.
We have that $\namesp_1\disj\namesp_2\Ra\namecl{\namesp_2}\disj\namecl{\namesp_1}$, and furthermore $\iname_1\neq\iname_2\Ra\namesp.\iname_1\disj\namesp.\iname_2$.
We will overload the usual Iris notation for invariant assertions in the following:
We will overload the usual Iris notation for invariant assertions in the following:
\All\rs_\f, m, \mask_\f, \state.& 0 < m \leq n \land (\mask_1 \cup\mask_2) \sep\mask_\f\land k \in\wsat\state{\mask_1 \cup\mask_\f}{\rs\mtimes\rs_\f}\Ra{}\\&
\All\rs_\f, m, \mask_\f, \state.& 0 < m \leq n \land (\mask_1 \cup\mask_2) \disj\mask_\f\land k \in\wsat\state{\mask_1 \cup\mask_\f}{\rs\mtimes\rs_\f}\Ra{}\\&
\Exists\rsB. k \in\prop(\rsB) \land k \in\wsat\state{\mask_2 \cup\mask_\f}{\rsB\mtimes\rs_\f}
\Exists\rsB. k \in\prop(\rsB) \land k \in\wsat\state{\mask_2 \cup\mask_\f}{\rsB\mtimes\rs_\f}
\end{aligned}}
\end{aligned}}
\end{align*}
\end{align*}
...
@@ -105,7 +105,7 @@ We only have to define the missing connectives, the most interesting bits being
...
@@ -105,7 +105,7 @@ We only have to define the missing connectives, the most interesting bits being
$\textdom{wp}$ is defined as the fixed-point of a contractive function.
$\textdom{wp}$ is defined as the fixed-point of a contractive function.