From 53f6857fafb25601d072d2b948b1b92f62834719 Mon Sep 17 00:00:00 2001 From: Robbert Krebbers <mail@robbertkrebbers.nl> Date: Wed, 4 Jan 2017 18:03:23 +0100 Subject: [PATCH] =?UTF-8?q?Tweak=20lib/sts=20so=20not=20all=20lemmas=20are?= =?UTF-8?q?=20parametrized=20by=20=CF=86.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- theories/base_logic/lib/sts.v | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/theories/base_logic/lib/sts.v b/theories/base_logic/lib/sts.v index 9fd943628..e66b620f8 100644 --- a/theories/base_logic/lib/sts.v +++ b/theories/base_logic/lib/sts.v @@ -58,7 +58,8 @@ Instance: Params (@sts_own) 5. Instance: Params (@sts_ctx) 6. Section sts. - Context `{invG Σ, stsG Σ sts} (φ : sts.state sts → iProp Σ). + Context `{invG Σ, stsG Σ sts}. + Implicit Types φ : sts.state sts → iProp Σ. Implicit Types N : namespace. Implicit Types P Q R : iProp Σ. Implicit Types γ : gname. @@ -82,7 +83,7 @@ Section sts. sts_ownS γ (S1 ∩ S2) (T1 ∪ T2) ⊣⊢ (sts_ownS γ S1 T1 ∗ sts_ownS γ S2 T2). Proof. intros. by rewrite /sts_ownS -own_op sts_op_frag. Qed. - Lemma sts_alloc E N s : + Lemma sts_alloc φ E N s : ▷ φ s ={E}=∗ ∃ γ, sts_ctx γ N φ ∧ sts_own γ s (⊤ ∖ sts.tok s). Proof. iIntros "Hφ". rewrite /sts_ctx /sts_own. @@ -93,7 +94,7 @@ Section sts. rewrite /sts_inv. iNext. iExists s. by iFrame. Qed. - Lemma sts_accS E γ S T : + Lemma sts_accS φ E γ S T : ▷ sts_inv γ φ ∗ sts_ownS γ S T ={E}=∗ ∃ s, ⌜s ∈ S⌠∗ ▷ φ s ∗ ∀ s' T', ⌜sts.steps (s, T) (s', T')⌠∗ ▷ φ s' ={E}=∗ ▷ sts_inv γ φ ∗ sts_own γ s' T'. @@ -111,13 +112,13 @@ Section sts. iModIntro. iNext. iExists s'; by iFrame. Qed. - Lemma sts_acc E γ s0 T : + Lemma sts_acc φ E γ s0 T : ▷ sts_inv γ φ ∗ sts_own γ s0 T ={E}=∗ ∃ s, ⌜sts.frame_steps T s0 s⌠∗ ▷ φ s ∗ ∀ s' T', ⌜sts.steps (s, T) (s', T')⌠∗ ▷ φ s' ={E}=∗ ▷ sts_inv γ φ ∗ sts_own γ s' T'. Proof. by apply sts_accS. Qed. - Lemma sts_openS E N γ S T : + Lemma sts_openS φ E N γ S T : ↑N ⊆ E → sts_ctx γ N φ ∗ sts_ownS γ S T ={E,E∖↑N}=∗ ∃ s, ⌜s ∈ S⌠∗ ▷ φ s ∗ ∀ s' T', @@ -135,7 +136,7 @@ Section sts. iMod ("HclSts" $! s' T' with "H") as "(Hinv & ?)". by iMod ("Hclose" with "Hinv"). Qed. - Lemma sts_open E N γ s0 T : + Lemma sts_open φ E N γ s0 T : ↑N ⊆ E → sts_ctx γ N φ ∗ sts_own γ s0 T ={E,E∖↑N}=∗ ∃ s, ⌜sts.frame_steps T s0 s⌠∗ ▷ φ s ∗ ∀ s' T', -- GitLab