From b14d30533a604f9debc25507893f7b8108bdf77e Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Fri, 22 May 2020 15:28:49 +0200
Subject: [PATCH] Test with merge SBI.

---
 .gitlab-ci.yml                    | 19 ++-----------------
 theories/base_logic/vprop.v       |  3 +--
 theories/base_logic/weakestpre.v  |  2 +-
 theories/examples/na_stack.v      |  2 +-
 theories/examples/treiber_stack.v |  4 ++--
 theories/gps/model_defs.v         |  3 +--
 6 files changed, 8 insertions(+), 25 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 78407980..3bf479c5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,25 +27,10 @@ variables:
 
 ## Build jobs
 
-build-coq.8.11.0:
+build-iris.dev:
   <<: *template
   variables:
-    OPAM_PINS: "coq version 8.11.0"
-    OPAM_PKG: "coq-gpfsl"
+    OPAM_PINS: "coq version 8.11.0   coq-iris.dev git git+https://gitlab.mpi-sws.org/iris/iris.git#ci/robbert/merge_sbi_new"
   tags:
   - fp-timing
 
-build-coq.8.10.2:
-  <<: *template
-  variables:
-    OPAM_PINS: "coq version 8.10.2"
-
-build-iris.dev:
-  <<: *template
-  variables:
-    OPAM_PINS: "coq version 8.11.dev   coq-stdpp.dev git git+https://gitlab.mpi-sws.org/iris/stdpp.git#$STDPP_REV   coq-iris.dev git git+https://gitlab.mpi-sws.org/iris/iris.git#$IRIS_REV   coq-orc11.dev git git+https://gitlab.mpi-sws.org/iris/orc11.git#$ORC11_REV"
-  except:
-  only:
-  - triggers
-  - schedules
-  - api
diff --git a/theories/base_logic/vprop.v b/theories/base_logic/vprop.v
index a66f5885..f2a014a3 100644
--- a/theories/base_logic/vprop.v
+++ b/theories/base_logic/vprop.v
@@ -17,7 +17,6 @@ Canonical Structure view_bi_index :=
 Definition vProp Σ := monPred view_bi_index (uPredI (iResUR Σ)).
 Definition vPropO Σ := monPredO view_bi_index (uPredI (iResUR Σ)).
 Definition vPropI Σ := monPredI view_bi_index (uPredI (iResUR Σ)).
-Definition vPropSI Σ := monPredSI view_bi_index (uPredSI (iResUR Σ)).
 
 Hint Extern 10 (IsBiIndexRel _ _) => unfold IsBiIndexRel; solve_lat
             : typeclass_instances.
@@ -25,7 +24,7 @@ Hint Extern 10 (IsBiIndexRel _ _) => unfold IsBiIndexRel; solve_lat
 (* SOME big_op lemmas *)
 From iris.bi Require Import big_op.
 
-Lemma big_sepM_dup {PROP: sbi} `{Countable K} {A: Type} (φ: K → A → PROP) (m: gmap K A) k a q
+Lemma big_sepM_dup {PROP: bi} `{Countable K} {A: Type} (φ: K → A → PROP) (m: gmap K A) k a q
   (In: m !! k = Some a)
   : ▷?q (φ k a -∗ φ k a ∗ φ k a) ∗ ▷?q ([∗ map] k' ↦ v' ∈ m, φ k' v')
     ⊢ ▷?q φ k a ∗ ▷?q ([∗ map] k' ↦ v' ∈ m, φ k' v').
diff --git a/theories/base_logic/weakestpre.v b/theories/base_logic/weakestpre.v
index 6fced496..27755f38 100644
--- a/theories/base_logic/weakestpre.v
+++ b/theories/base_logic/weakestpre.v
@@ -129,7 +129,7 @@ Proof.
   by iApply ("IH" with "Hs' WP").
 Qed.
 
-Program Definition wp_def tid E e Φ : vPropSI Σ :=
+Program Definition wp_def tid E e Φ : vPropI Σ :=
   MonPred (λ V,
     ∀ 𝓥, ⌜V ⊑ 𝓥.(cur)⌝ -∗ own tid (● to_latT 𝓥) -∗ seen 𝓥 -∗
       WP e at 𝓥 @ E {{ λ v𝓥', let '(v at 𝓥') := v𝓥' return _ in
diff --git a/theories/examples/na_stack.v b/theories/examples/na_stack.v
index a06d57ca..e440607b 100644
--- a/theories/examples/na_stack.v
+++ b/theories/examples/na_stack.v
@@ -58,7 +58,7 @@ Proof.
   destruct A as [|v A]; [done|].
   apply bi.exist_ne => ?.
   repeat (apply bi.sep_ne; [done|]).
-  apply bi.later_contractive. destruct n => //. by apply H.
+  f_contractive. by apply H.
 Qed.
 
 Definition NAStack_def := fixpoint NAStack'.
diff --git a/theories/examples/treiber_stack.v b/theories/examples/treiber_stack.v
index e1553347..1ca3cf28 100644
--- a/theories/examples/treiber_stack.v
+++ b/theories/examples/treiber_stack.v
@@ -68,7 +68,7 @@ Proof.
   repeat (apply bi.sep_ne; [done|]).
   do 2 (apply bi.exist_ne => ?).
   repeat (apply bi.sep_ne; [done|]).
-  apply bi.later_contractive. destruct n => //. by apply H.
+  f_contractive. by apply H.
 Qed.
 
 Definition Reachable := fixpoint Reachable'.
@@ -91,7 +91,7 @@ Proof.
   apply bi.sep_ne; [done|].
   apply bi.exist_ne => ?.
   apply bi.sep_ne; [done|].
-  apply bi.later_contractive. destruct n => //. by apply H.
+  f_contractive. by apply H.
 Qed.
 
 Definition ReachableD := fixpoint ReachableD'.
diff --git a/theories/gps/model_defs.v b/theories/gps/model_defs.v
index 831bb92d..0d9aaf8f 100644
--- a/theories/gps/model_defs.v
+++ b/theories/gps/model_defs.v
@@ -639,8 +639,7 @@ Program Example intExample Σ : interpO Σ unitProtocol :=
     (λ (F : interpO Σ unitProtocol) b l γ t s v, ∃ c, ⌜c = #1⌝ ∗ ▷ F b l γ t s v)%I _.
 Next Obligation.
   repeat intro.
-  apply bi.exist_ne => ? . apply bi.sep_ne; [done|]. apply bi.later_contractive.
-  destruct n; [done|]. apply H.
+  apply bi.exist_ne => ? . apply bi.sep_ne; [done|]. f_contractive. apply H.
 Qed.
 
 Lemma alloc_local_singleton_seen_local l t m V:
-- 
GitLab