From 302e8e895a0b53c3ce9ce5f9d54436addae9634b Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Tue, 20 Apr 2021 20:17:11 +0200
Subject: [PATCH] Bump std++ (multisets).

---
 coq-lambda-rust.opam               |  2 +-
 theories/lifetime/model/creation.v | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/coq-lambda-rust.opam b/coq-lambda-rust.opam
index e7b8837e..6004d44f 100644
--- a/coq-lambda-rust.opam
+++ b/coq-lambda-rust.opam
@@ -15,7 +15,7 @@ This branch uses a proper weak memory model.
 """
 
 depends: [
-  "coq-gpfsl" { (= "dev.2021-04-14.2.89510b36") | (= "dev") }
+  "coq-gpfsl" { (= "dev.2021-04-20.0.13632051") | (= "dev") }
 ]
 
 build: [make "-j%{jobs}%"]
diff --git a/theories/lifetime/model/creation.v b/theories/lifetime/model/creation.v
index 244e3ddb..1bcedb89 100644
--- a/theories/lifetime/model/creation.v
+++ b/theories/lifetime/model/creation.v
@@ -171,7 +171,7 @@ Proof.
     - iDestruct "H" as "[[Hκ %]|[Hκ %]]".
       + iLeft. iFrame "Hκ". iPureIntro. by apply lft_alive_in_insert.
       + iRight. iFrame "Hκ". iPureIntro. by apply lft_dead_in_insert. }
-  iModIntro; iExists {[ Λ ]}. iSplitL.
+  iModIntro; iExists {[+ Λ +]}. iSplitL.
   { rewrite /lft_tok big_sepMS_singleton. iExists _. iFrame.
     iDestruct (monPred_in_intro True%I with "[//]") as (V) "[H _]".
     by rewrite -(lat_bottom_sqsubseteq V). }
@@ -180,7 +180,7 @@ Proof.
   { assert (↑mgmtN ## E0) by (pose proof E0_lftN_disj; solve_ndisj). set_solver. }
   iInv mgmtN as (A I) "(>HA & >HI & Hinv)" "Hclose".
   { rewrite <-union_subseteq_l. solve_ndisj. }
-  iMod (ilft_create _ _ {[Λ]} with "HA HI Hinv") as "H". clear A I.
+  iMod (ilft_create _ _ {[+ Λ +]} with "HA HI Hinv") as "H". clear A I.
   iDestruct "H" as (A I) "(% & HA & HI & Hinv)".
   rewrite /lft_tok /= big_sepMS_singleton. iDestruct "HΛ" as (V'0) "[#HV'0 HΛ]".
   iDestruct (own_valid_2 with "HA HΛ")
@@ -237,12 +237,12 @@ Proof.
     case Hκ=>// Hd. by destruct (lft_alive_and_dead_in A κ). }
   iModIntro. iMod ("Hclose" with "[-]") as "_"; last first.
   { iModIntro. rewrite /lft_dead. iExists Λ, _. iIntros "{$HΛ}".
-    rewrite elem_of_singleton. iSplit; [done|].
-    assert (Hhv : lft_has_view A {[Λ]} (Vs {[Λ]})) by auto.
-    move: (Hhv Λ). rewrite elem_of_singleton. revert EQAΛ.
+    rewrite gmultiset_elem_of_singleton. iSplit; [done|].
+    assert (Hhv : lft_has_view A {[+ Λ +]} (Vs {[+ Λ +]})) by auto.
+    move: (Hhv Λ). rewrite gmultiset_elem_of_singleton. revert EQAΛ.
     case: (A!!Λ)=>[[??]|]; [|intros EQ; by inversion EQ]. simpl.
     intros [_ ->]%(inj Some)%(inj2 pair)=>/(_ eq_refl) <- //. }
-  set (A' := <[Λ:=(false, Vs {[Λ]})]>A).
+  set (A' := <[Λ:=(false, Vs {[+ Λ +]})]>A).
   assert (Hhv : ∀ κ, κ ∈ dom (gset _) I → lft_has_view A' κ (Vs κ)).
   { intros κ Hκ Λ' HΛ'. assert (Hhv : lft_has_view A κ (Vs κ)) by auto.
     specialize (Hhv Λ' HΛ').
-- 
GitLab