From 230c33db0bf988d3799ef3beca303d5b80dd377e Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Fri, 22 Jun 2018 09:35:24 +0200 Subject: [PATCH] bump Iris; fix for std++ namespace lemma changes --- opam | 2 +- theories/examples/hashtable.v | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/opam b/opam index d1122910..d0e59d8f 100644 --- a/opam +++ b/opam @@ -9,5 +9,5 @@ build: [make "-j%{jobs}%"] install: [make "install"] remove: [ "sh" "-c" "rm -rf '%{lib}%/coq/user-contrib/igps" ] depends: [ - "coq-iris" { (= "branch.gen_proofmode.2018-06-21.2.8ca8b776") | (= "dev") } + "coq-iris" { (= "branch.gen_proofmode.2018-06-21.4.f9fc75c6") | (= "dev") } ] diff --git a/theories/examples/hashtable.v b/theories/examples/hashtable.v index 3f3137b6..a1dbf11c 100644 --- a/theories/examples/hashtable.v +++ b/theories/examples/hashtable.v @@ -1865,8 +1865,7 @@ Section proof. wp_bind (add_item _ _)%E. (* We need the full postcondition of add_item in the atomic shift, so we can't use LA_Inv. *) iApply (LA_Mono _ _ _ _ _ (⊤ ∖ ↑N) with "[Hentries]"); - [| by iApply (add_item_spec with "[$]"); first omega |]. - { by apply namespaces.ndisj_subseteq_difference. } + [| by iApply (add_item_spec with "[$]"); first omega |]; first solve_ndisj. unfold atomic_shift. iExists _; iSplit; first by iCombine "Hhist Ht" as "H"; iApply "H". iIntros "!# [>Hhist Ht]". @@ -1967,10 +1966,7 @@ Section proof. destruct ls as [|b3]; [discriminate|]. destruct ls; [|discriminate]. iExists b1, b2, b3, h; simpl in *; iFrame; auto. } - iApply (fupd_mask_mono (↑escrowN)). - { apply namespaces.ndisj_subseteq_difference; last done. - do 2 apply namespaces.ndot_preserve_disjoint_r. - apply namespaces.ndot_ne_disjoint; done. } + iApply (fupd_mask_mono (↑escrowN)); first solve_ndisj. iMod "HX" as "#HX"; iModIntro. unfold onceP; iFrame "#"; auto. } iNext; iIntros "[? _]". @@ -2172,10 +2168,7 @@ Section proof. iPoseProof (escrow_apply with "[] [$H $Htok]") as "H". { iIntros "[H1 H2]". iPoseProof (own_valid_2 with "H1 H2") as "%"; done. } - iPoseProof (fupd_mask_mono (↑escrowN) with "H") as ">H". - { apply namespaces.ndisj_subseteq_difference; last done. - do 2 apply namespaces.ndot_preserve_disjoint_r. - apply namespaces.ndot_ne_disjoint; done. } + iPoseProof (fupd_mask_mono (↑escrowN) with "H") as ">H"; first solve_ndisj. iMod "H"; iModIntro; auto. * iNext; do 2 (rewrite monPred_objectively_forall; iIntros (?)). iApply objectively_entails. @@ -2218,9 +2211,7 @@ Section proof. iDestruct "H" as (lr) "(% & Hhists & Htotal)". wp_seq. iMod (inv_open with "Hinv") as "[Href Hclose]"; first auto. - iApply (na_read with "[$Hctx $Htotal]"); first auto. - { apply namespaces.ndisj_subseteq_difference; last auto. - apply namespaces.ndot_ne_disjoint; done. } + iApply (na_read with "[$Hctx $Htotal]"); first auto; first solve_ndisj. iNext; iIntros (?) "[% Htotal]"; subst. iDestruct (monPred_objectively_elim with "Href") as (HT) "[HH Href]". iDestruct "Href" as (hr) "[% Href]". -- GitLab