From 27baf70cf1a59b8a50da2d0583cd31a79bfe4502 Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Fri, 6 Apr 2018 15:56:21 +0200
Subject: [PATCH] Bump Iris.

---
 opam                  |  2 +-
 theories/weakestpre.v | 27 ++++++++++++++++++---------
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/opam b/opam
index 89b8bb9e..75e892b8 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-03-21.3") | (= "dev") }
+  "coq-iris" { (= "branch.gen_proofmode.2018-04-05.1") | (= "dev") }
 ]
diff --git a/theories/weakestpre.v b/theories/weakestpre.v
index 4af5c4a9..b36a478e 100644
--- a/theories/weakestpre.v
+++ b/theories/weakestpre.v
@@ -366,19 +366,28 @@ Section proofmode_classes.
   Global Instance is_except_0_wp E e Φ : IsExcept0 (WP e @ E {{ Φ }}).
   Proof. by rewrite /IsExcept0 -{2}fupd_wp -except_0_fupd -fupd_intro. Qed.
 
-  Global Instance elim_modal_bupd_wp E e P Φ :
-    ElimModal True (|==> P) P (WP e @ E {{ Φ }}) (WP e @ E {{ Φ }}).
-  Proof. by rewrite /ElimModal (bupd_fupd E) fupd_frame_r bi.wand_elim_r fupd_wp. Qed.
+  Global Instance elim_modal_bupd_wp p E e P Φ :
+    ElimModal True p false (|==> P) P (WP e @ E {{ Φ }}) (WP e @ E {{ Φ }}).
+  Proof.
+    by rewrite /ElimModal bi.intuitionistically_if_elim (bupd_fupd E)
+      fupd_frame_r bi.wand_elim_r fupd_wp.
+  Qed.
 
-  Global Instance elim_modal_fupd_wp E e P Φ :
-    ElimModal True (|={E}=> P) P (WP e @ E {{ Φ }}) (WP e @ E {{ Φ }}).
-  Proof. by rewrite /ElimModal fupd_frame_r bi.wand_elim_r fupd_wp. Qed.
+  Global Instance elim_modal_fupd_wp p E e P Φ :
+    ElimModal True p false (|={E}=> P) P (WP e @ E {{ Φ }}) (WP e @ E {{ Φ }}).
+  Proof.
+    by rewrite /ElimModal bi.intuitionistically_if_elim
+      fupd_frame_r bi.wand_elim_r fupd_wp.
+  Qed.
 
   (* lower precedence, if possible, it should always pick elim_upd_fupd_wp *)
-  Global Instance elim_modal_fupd_wp_atomic E1 E2 e P Φ :
+  Global Instance elim_modal_fupd_wp_atomic p E1 E2 e P Φ :
     (∀ V, Atomic WeaklyAtomic ((e,V) : ra_lang.expr)) →
-    ElimModal True (|={E1,E2}=> P) P
+    ElimModal True p false (|={E1,E2}=> P) P
             (WP e @ E1 {{ Φ }}) (WP e @ E2 {{ v, |={E2,E1}=> Φ v }})%I | 100.
-  Proof. intros. by rewrite /ElimModal fupd_frame_r bi.wand_elim_r wp_atomic. Qed.
+  Proof.
+    intros. by rewrite /ElimModal bi.intuitionistically_if_elim
+      fupd_frame_r bi.wand_elim_r wp_atomic.
+  Qed.
 
 End proofmode_classes.
-- 
GitLab