diff --git a/barrier/lifting.v b/barrier/lifting.v index 6251fafc4dd8920804b330a53ebdbbfa40532f20..e5e821312b3f559acfe49e60b5604322c0867ee3 100644 --- a/barrier/lifting.v +++ b/barrier/lifting.v @@ -21,6 +21,8 @@ Lemma wp_alloc_pst E σ e v Q : (ownP σ ★ ▷ (∀ l, ■(σ !! l = None) ∧ ownP (<[l:=v]>σ) -★ Q (LocV l))) ⊑ wp E (Alloc e) Q. Proof. + (* TODO RJ: Without the set, ssreflect rewrite doesn't work. Figure out why or + reprot a bug. *) intros. set (φ v' σ' := ∃ l, v' = LocV l ∧ σ' = <[l:=v]>σ ∧ σ !! l = None). rewrite -(wp_lift_atomic_step (Alloc e) φ σ) // /φ; last by intros; inv_step; eauto 8.