diff --git a/theories/typing/own.v b/theories/typing/own.v index b14129e452142f62f9e102d28c796b94228c5d91..a6e703fa3f32178dbcc6f80929dbe83009febfaf 100644 --- a/theories/typing/own.v +++ b/theories/typing/own.v @@ -52,7 +52,7 @@ Section own. â–· freeable_sz n ty.(ty_size) l)%I; ty_shr κ tid E l := (∃ l':loc, &frac{κ}(λ q', l ↦{q'} #l') ∗ - â–¡ (∀ F q, ⌜E ∪ mgmtE ⊆ F⌠-∗ q.[κ] ={F,F∖E∖↑lftN}â–·=∗ ty.(ty_shr) κ tid E l' ∗ q.[κ]))%I + â–¡ (∀ F q, ⌜E ∪ lftE ⊆ F⌠-∗ q.[κ] ={F,F∖E∖↑lftN}â–·=∗ ty.(ty_shr) κ tid E l' ∗ q.[κ]))%I |}. Next Obligation. iIntros (q ty tid vl) "H". iDestruct "H" as (l) "[% _]". by subst. diff --git a/theories/typing/type.v b/theories/typing/type.v index 4a538b7fb7bac668f6ddffb0d667c4047434af67..1efb7c858063f37a5089d344689eafe39a31206b 100644 --- a/theories/typing/type.v +++ b/theories/typing/type.v @@ -10,7 +10,7 @@ Class typeG Σ := TypeG { type_frac_borrowG Σ :> frac_borG Σ }. -Definition mgmtE := ↑lftN. +Definition lftE := ↑lftN. Definition lrustN := nroot .@ "lrust". Section type. @@ -39,7 +39,7 @@ Section type. nicer (they would otherwise require a "∨ â–¡|=>[†κ]"), and (b) so that we can have emp == sum []. *) - ty_share E N κ l tid q : mgmtE ⊥ ↑N → mgmtE ⊆ E → + ty_share E N κ l tid q : lftE ⊥ ↑N → lftE ⊆ E → lft_ctx -∗ &{κ} (l ↦∗: ty_own tid) -∗ q.[κ] ={E}=∗ ty_shr κ tid (↑N) l ∗ q.[κ]; ty_shr_mono κ κ' tid E E' l : E ⊆ E' → @@ -50,7 +50,7 @@ Section type. Class Copy (t : type) := { copy_persistent tid vl : PersistentP (t.(ty_own) tid vl); copy_shr_acc κ tid E F l q : - mgmtE ∪ F ⊆ E → + lftE ∪ F ⊆ E → lft_ctx -∗ t.(ty_shr) κ tid F l -∗ q.[κ] ∗ na_own tid F ={E}=∗ ∃ q', â–·l ↦∗{q'}: t.(ty_own) tid ∗ (â–·l ↦∗{q'}: t.(ty_own) tid ={E}=∗ q.[κ] ∗ na_own tid F) diff --git a/theories/typing/typing.v b/theories/typing/typing.v index 7c092bd0a292ba734fb54e87008a615f9004b11b..d588ff6729c1aab9dc5e52b0fc4d4b46394fdd97 100644 --- a/theories/typing/typing.v +++ b/theories/typing/typing.v @@ -80,7 +80,7 @@ Section typing. Qed. Definition consumes (ty : type) (Ï1 Ï2 : expr → perm) : Prop := - ∀ ν tid Φ E, mgmtE ∪ ↑lrustN ⊆ E → + ∀ ν tid Φ E, lftE ∪ ↑lrustN ⊆ E → lft_ctx -∗ Ï1 ν tid -∗ na_own tid ⊤ -∗ (∀ (l:loc) vl q, (⌜length vl = ty.(ty_size)⌠∗ ⌜eval_expr ν = Some #l⌠∗ l ↦∗{q} vl ∗ @@ -100,7 +100,7 @@ Section typing. Qed. Definition update (ty : type) (Ï1 Ï2 : expr → perm) : Prop := - ∀ ν tid Φ E, mgmtE ∪ (↑lrustN) ⊆ E → + ∀ ν tid Φ E, lftE ∪ (↑lrustN) ⊆ E → lft_ctx -∗ Ï1 ν tid -∗ (∀ (l:loc) vl, (⌜length vl = ty.(ty_size)⌠∗ ⌜eval_expr ν = Some #l⌠∗ l ↦∗ vl ∗ diff --git a/theories/typing/uniq_bor.v b/theories/typing/uniq_bor.v index 6a40cf91d101def65c0a06d8df1ffd3c2fc0e5e9..02c451c05266d26cbd3293dd80861608425b4f1c 100644 --- a/theories/typing/uniq_bor.v +++ b/theories/typing/uniq_bor.v @@ -16,7 +16,7 @@ Section uniq_bor. (∃ (l:loc) P, (⌜vl = [ #l ]⌠∗ â–¡ (P ↔ l ↦∗: ty.(ty_own) tid)) ∗ &{κ} P)%I; ty_shr κ' tid E l := (∃ l':loc, &frac{κ'}(λ q', l ↦{q'} #l') ∗ - â–¡ ∀ F q, ⌜E ∪ mgmtE ⊆ F⌠-∗ q.[κ∪κ'] + â–¡ ∀ F q, ⌜E ∪ lftE ⊆ F⌠-∗ q.[κ∪κ'] ={F, F∖E∖↑lftN}â–·=∗ ty.(ty_shr) (κ∪κ') tid E l' ∗ q.[κ∪κ'])%I |}. Next Obligation.