Commit 662d20dc by Ralf Jung

 ... @@ -303,8 +303,7 @@ In writing $\vctx, x:\type$, we presuppose that $x$ is not already declared in $... @@ -303,8 +303,7 @@ In writing$\vctx, x:\type$, we presuppose that$x$is not already declared in$ The judgment $\vctx \mid \pfctx \proves \prop$ says that with free variables $\vctx$, proposition $\prop$ holds whenever all assumptions $\pfctx$ hold. The judgment $\vctx \mid \pfctx \proves \prop$ says that with free variables $\vctx$, proposition $\prop$ holds whenever all assumptions $\pfctx$ hold. We implicitly assume that an arbitrary variable context, $\vctx$, is added to every constituent of the rules. We implicitly assume that an arbitrary variable context, $\vctx$, is added to every constituent of the rules. Furthermore, an arbitrary \emph{boxed} assertion context $\always\pfctx$ may be added to every constituent. Furthermore, an arbitrary \emph{boxed} assertion context $\always\pfctx$ may be added to every constituent. Axioms $\prop \Ra \propB$ stand for judgments $\vctx \mid \cdot \proves \prop \Ra \propB$ with no assumptions. Axioms $\vctx \mid \prop \provesIff \propB$ indicate that both $\vctx \mid \prop \proves \propB$ and $\vctx \mid \propB \proves \prop$ can be derived. (Bi-implications are analogous.) \judgment{}{\vctx \mid \pfctx \proves \prop} \judgment{}{\vctx \mid \pfctx \proves \prop} \paragraph{Laws of intuitionistic higher-order logic with equality.} \paragraph{Laws of intuitionistic higher-order logic with equality.} ... @@ -395,9 +394,9 @@ This is entirely standard. ... @@ -395,9 +394,9 @@ This is entirely standard. \paragraph{Laws of (affine) bunched implications.} \paragraph{Laws of (affine) bunched implications.} \begin{mathpar} \begin{mathpar} \begin{array}{rMcMl} \begin{array}{rMcMl} \TRUE * \prop &\Lra& \prop \\ \TRUE * \prop &\provesIff& \prop \\ \prop * \propB &\Lra& \propB * \prop \\ \prop * \propB &\provesIff& \propB * \prop \\ (\prop * \propB) * \propC &\Lra& \prop * (\propB * \propC) (\prop * \propB) * \propC &\provesIff& \prop * (\propB * \propC) \end{array} \end{array} \and \and \infer[$*$-mono] \infer[$*$-mono] ... @@ -413,14 +412,14 @@ This is entirely standard. ... @@ -413,14 +412,14 @@ This is entirely standard. \paragraph{Laws for ghosts and physical resources.} \paragraph{Laws for ghosts and physical resources.} \begin{mathpar} \begin{mathpar} \begin{array}{rMcMl} \begin{array}{rMcMl} \ownGGhost{\melt} * \ownGGhost{\meltB} &\Lra& \ownGGhost{\melt \mtimes \meltB} \\ \ownGGhost{\melt} * \ownGGhost{\meltB} &\provesIff& \ownGGhost{\melt \mtimes \meltB} \\ \ownGGhost{\melt} &\Ra& \melt \in \mval \\ \ownGGhost{\melt} &\provesIff& \melt \in \mval \\ \TRUE &\Ra& \ownGGhost{\munit} \TRUE &\proves& \ownGGhost{\munit} \end{array} \end{array} \and \and \and \and \begin{array}{c} \begin{array}{c} \ownPhys{\state} * \ownPhys{\state'} \Ra \FALSE \ownPhys{\state} * \ownPhys{\state'} \proves \FALSE \end{array} \end{array} \end{mathpar} \end{mathpar} ... @@ -439,14 +438,14 @@ This is entirely standard. ... @@ -439,14 +438,14 @@ This is entirely standard. {\later{\Exists x:\type.\prop} \proves \Exists x:\type. \later\prop} {\later{\Exists x:\type.\prop} \proves \Exists x:\type. \later\prop} \\\\ \\\\ \begin{array}[c]{rMcMl} \begin{array}[c]{rMcMl} \later{(\prop \wedge \propB)} &\Lra& \later{\prop} \wedge \later{\propB} \\ \later{(\prop \wedge \propB)} &\provesIff& \later{\prop} \wedge \later{\propB} \\ \later{(\prop \vee \propB)} &\Lra& \later{\prop} \vee \later{\propB} \\ \later{(\prop \vee \propB)} &\provesIff& \later{\prop} \vee \later{\propB} \\ \end{array} \end{array} \and \and \begin{array}[c]{rMcMl} \begin{array}[c]{rMcMl} \later{\All x.\prop} &\Lra& \All x. \later\prop \\ \later{\All x.\prop} &\provesIff& \All x. \later\prop \\ \Exists x. \later\prop &\Ra& \later{\Exists x.\prop} \\ \Exists x. \later\prop &\proves& \later{\Exists x.\prop} \\ \later{(\prop * \propB)} &\Lra& \later\prop * \later\propB \later{(\prop * \propB)} &\provesIff& \later\prop * \later\propB \end{array} \end{array} \end{mathpar} \end{mathpar} ... @@ -487,26 +486,26 @@ This is entirely standard. ... @@ -487,26 +486,26 @@ This is entirely standard. {\always{\pfctx} \proves \always{\prop}} {\always{\pfctx} \proves \always{\prop}} \and \and \infer[$\always$E]{} \infer[$\always$E]{} {\always{\prop} \Ra \prop} {\always{\prop} \proves \prop} \and \and \begin{array}[c]{rMcMl} \begin{array}[c]{rMcMl} \always{(\prop * \propB)} &\Ra& \always{(\prop \land \propB)} \\ \always{(\prop * \propB)} &\proves& \always{(\prop \land \propB)} \\ \always{\prop} * \propB &\Ra& \always{\prop} \land \propB \\ \always{\prop} * \propB &\proves& \always{\prop} \land \propB \\ \always{\later\prop} &\Lra& \later\always{\prop} \\ \always{\later\prop} &\provesIff& \later\always{\prop} \\ \end{array} \end{array} \and \and \begin{array}[c]{rMcMl} \begin{array}[c]{rMcMl} \always{(\prop \land \propB)} &\Lra& \always{\prop} \land \always{\propB} \\ \always{(\prop \land \propB)} &\provesIff& \always{\prop} \land \always{\propB} \\ \always{(\prop \lor \propB)} &\Lra& \always{\prop} \lor \always{\propB} \\ \always{(\prop \lor \propB)} &\provesIff& \always{\prop} \lor \always{\propB} \\ \always{\All x. \prop} &\Lra& \All x. \always{\prop} \\ \always{\All x. \prop} &\provesIff& \All x. \always{\prop} \\ \always{\Exists x. \prop} &\Lra& \Exists x. \always{\prop} \\ \always{\Exists x. \prop} &\provesIff& \Exists x. \always{\prop} \\ \end{array} \end{array} \and \and { \term =_\type \term' \Ra \always \term =_\type \term'} { \term =_\type \term' \proves \always \term =_\type \term'} \and \and { \knowInv\iname\prop \Ra \always \knowInv\iname\prop} { \knowInv\iname\prop \proves \always \knowInv\iname\prop} \and \and { \ownGGhost{\mcore\melt} \Ra \always \ownGGhost{\mcore\melt}} { \ownGGhost{\mcore\melt} \proves \always \ownGGhost{\mcore\melt}} \end{mathpar} \end{mathpar} \paragraph{Laws of primitive view shifts.} \paragraph{Laws of primitive view shifts.} ... ...