Skip to content
Snippets Groups Projects
Commit b8d083f2 authored by Ralf Jung's avatar Ralf Jung
Browse files

explain why the open inv-creation does not imply the other variants

parent b03f7081
No related branches found
No related tags found
No related merge requests found
...@@ -62,7 +62,7 @@ Section proofs. ...@@ -62,7 +62,7 @@ Section proofs.
(*** Allocation rules. *) (*** Allocation rules. *)
(** The "strong" variants permit any infinite [I], and choosing [P] is delayed (** The "strong" variants permit any infinite [I], and choosing [P] is delayed
until after [γ] was chosen. *) until after [γ] was chosen.*)
Lemma cinv_alloc_strong (I : gname Prop) E N : Lemma cinv_alloc_strong (I : gname Prop) E N :
pred_infinite I pred_infinite I
(|={E}=> γ, I γ cinv_own γ 1 P, P ={E}=∗ cinv N γ P)%I. (|={E}=> γ, I γ cinv_own γ 1 P, P ={E}=∗ cinv N γ P)%I.
...@@ -73,7 +73,8 @@ Section proofs. ...@@ -73,7 +73,8 @@ Section proofs.
Qed. Qed.
(** The "open" variants create the invariant in the open state, and delay (** The "open" variants create the invariant in the open state, and delay
having to prove [P]. *) having to prove [P].
These do not imply the other variants because of the extra assumption [↑N ⊆ E]. *)
Lemma cinv_alloc_strong_open (I : gname Prop) E N : Lemma cinv_alloc_strong_open (I : gname Prop) E N :
pred_infinite I pred_infinite I
N E N E
......
...@@ -56,6 +56,7 @@ Section inv. ...@@ -56,6 +56,7 @@ Section inv.
do 2 iModIntro. iExists i. auto. do 2 iModIntro. iExists i. auto.
Qed. Qed.
(* This does not imply [own_inv_alloc] due to the extra assumption [↑N ⊆ E]. *)
Lemma own_inv_alloc_open N E P : Lemma own_inv_alloc_open N E P :
N E (|={E, E∖↑N}=> own_inv N P (P ={E∖↑N, E}=∗ True))%I. N E (|={E, E∖↑N}=> own_inv N P (P ={E∖↑N, E}=∗ True))%I.
Proof. Proof.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment