From f5867e7877bbbab439fe58e72a502e4de83a8f46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lennard=20G=C3=A4her?= <l.gaeher@posteo.de>
Date: Tue, 9 Aug 2022 09:19:59 +0200
Subject: [PATCH] bump iris

---
 semantics.opam                                     |  4 ++--
 .../program_logics/concurrent_logrel/adequacy.v    |  2 +-
 theories/program_logics/heap_lang/adequacy.v       |  2 +-
 theories/program_logics/heap_lang/primitive_laws.v |  2 +-
 theories/program_logics/program_logic/adequacy.v   | 14 +++++++-------
 .../program_logics/program_logic/sequential_wp.v   |  2 +-
 6 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/semantics.opam b/semantics.opam
index 32fd42f..c292cf8 100644
--- a/semantics.opam
+++ b/semantics.opam
@@ -10,8 +10,8 @@ version: "dev"
 
 depends: [
   "coq" { (>= "8.13" & < "8.16~") | (= "dev") }
-  "coq-iris" { (= "dev.2022-07-26.0.23bdf6bd") | (= "dev") }
-  "coq-iris-heap-lang" { (= "dev.2022-07-26.0.23bdf6bd") | (= "dev") }
+  "coq-iris" { (= "dev.2022-08-09.0.4e9a1ec7") | (= "dev") }
+  "coq-iris-heap-lang" { (= "dev.2022-08-09.0.4e9a1ec7") | (= "dev") }
   "coq-equations" { (= "1.2.4+8.13") | (= "1.3+8.14") | (= "1.3+8.15") }
   "coq-autosubst" { = "1.7" }
 ]
diff --git a/theories/program_logics/concurrent_logrel/adequacy.v b/theories/program_logics/concurrent_logrel/adequacy.v
index f366ba7..d82a85e 100644
--- a/theories/program_logics/concurrent_logrel/adequacy.v
+++ b/theories/program_logics/concurrent_logrel/adequacy.v
@@ -16,7 +16,7 @@ Proof.
   intros Hlog ??.
   cut (adequate NotStuck e σ (λ _ _, True)); first by intros [_ Hsafe]; eapply Hsafe; eauto.
   eapply (heap_adequacy Σ _).
-  iIntros (??) "_".
+  iIntros (?) "_".
   iApply (wp_wand with "[]").
   - rewrite -(subst_map_empty e).
     iApply (Hlog _ $! trivial_env).
diff --git a/theories/program_logics/heap_lang/adequacy.v b/theories/program_logics/heap_lang/adequacy.v
index ed45a84..64b9ed1 100644
--- a/theories/program_logics/heap_lang/adequacy.v
+++ b/theories/program_logics/heap_lang/adequacy.v
@@ -19,7 +19,7 @@ Definition heap_adequacy Σ `{!heapGpreS Σ} s e σ φ :
   (∀ `{!heapGS Σ}, ⊢ WP e @ s; ⊤ {{ v, ⌜φ v⌝ }}) →
   adequate s e σ (λ v _, φ v).
 Proof.
-  intros Hwp; eapply (wp_adequacy _ _); iIntros (??).
+  intros Hwp; eapply (wp_adequacy _ _); iIntros (?).
   iMod (gen_heap_init σ.(heap)) as (?) "[Hh _]".
   iModIntro. iExists
     (λ σ, (gen_heap_interp σ.(heap))%I).
diff --git a/theories/program_logics/heap_lang/primitive_laws.v b/theories/program_logics/heap_lang/primitive_laws.v
index 892c2d4..79557df 100644
--- a/theories/program_logics/heap_lang/primitive_laws.v
+++ b/theories/program_logics/heap_lang/primitive_laws.v
@@ -12,7 +12,7 @@ From semantics.pl.program_logic Require Export notation.
 From iris.prelude Require Import options.
 
 Class heapGS Σ := HeapGS {
-  heapGS_invGS : invGS Σ;
+  heapGS_invGS : invGS_gen HasNoLc Σ;
   heapGS_gen_heapGS :> gen_heapGS loc (option val) Σ;
 }.
 
diff --git a/theories/program_logics/program_logic/adequacy.v b/theories/program_logics/program_logic/adequacy.v
index 7a47f65..07c035e 100644
--- a/theories/program_logics/program_logic/adequacy.v
+++ b/theories/program_logics/program_logic/adequacy.v
@@ -72,7 +72,7 @@ Proof.
   iFrame. iPureIntro. split; first done. lia.
 Qed.
 
-Lemma wp_not_stuck `{!HasNoLc Σ} e σ E Φ :
+Lemma wp_not_stuck e σ E Φ :
   state_interp σ -∗ wp' NotStuck E e Φ ={E}=∗ ⌜not_stuck e σ⌝.
 Proof.
   rewrite wp'_unfold /wp_pre /not_stuck. iIntros "Hσ H".
@@ -81,7 +81,7 @@ Proof.
   iMod (fupd_plain_mask with "H") as %?; eauto.
 Qed.
 
-Lemma wptp_strong_adequacy `{!HasNoLc Σ} Φs s n es1 es2 κs σ1 σ2 :
+Lemma wptp_strong_adequacy Φs s n es1 es2 κs σ1 σ2 :
   nsteps n (es1, σ1) κs (es2, σ2) →
   state_interp σ1 -∗ wptp s es1 Φs
   ={∅,∅}=∗ |={∅}▷=>^n |={∅,∅}=>
@@ -115,7 +115,7 @@ End adequacy.
 
 (** Iris's generic adequacy result *)
 Theorem wp_strong_adequacy Σ Λ `{!invGpreS Σ} e σ1 n κs t2 σ2 φ :
-  (∀ `{Hinv : !invGS Σ} `{!HasNoLc Σ},
+  (∀ `{Hinv : !invGS_gen HasNoLc Σ},
     ⊢ |={⊤}=> ∃
          (s: stuckness)
          (stateI : state Λ → iProp Σ)
@@ -145,11 +145,11 @@ Theorem wp_strong_adequacy Σ Λ `{!invGpreS Σ} e σ1 n κs t2 σ2 φ :
   φ.
 Proof.
   intros Hwp ?.
-  apply (step_fupdN_soundness_no_lc _ n 0)=> Hinv Hlc.
+  apply (step_fupdN_soundness_no_lc _ n 0)=> Hinv.
   iIntros "_".
   iMod Hwp as (s stateI Φ) "(Hσ & Hwp & Hφ)".
   rewrite /wp swp_eq /swp_def. iMod "Hwp".
-  iMod (@wptp_strong_adequacy _ _ (IrisG _ _ Hinv stateI) _ [_]
+  iMod (@wptp_strong_adequacy _ _ (IrisG _ _ Hinv stateI) [_]
     with "[Hσ] [Hwp]") as "H";[ done | done | | ].
   { by iApply big_sepL2_singleton. }
   iAssert (|={∅}▷=>^n |={∅}=> ⌜φ⌝)%I
@@ -203,7 +203,7 @@ Proof.
 Qed.
 
 Corollary wp_adequacy Σ Λ `{!invGpreS Σ} s e σ φ :
-  (∀ `{Hinv : !invGS Σ} `{!HasNoLc Σ},
+  (∀ `{Hinv : !invGS_gen HasNoLc Σ},
      ⊢ |={⊤}=> ∃ (stateI : state Λ → iProp Σ),
        let _ : irisGS Λ Σ := IrisG _ _ Hinv stateI
        in
@@ -211,7 +211,7 @@ Corollary wp_adequacy Σ Λ `{!invGpreS Σ} s e σ φ :
   adequate s e σ (λ v _, φ v).
 Proof.
   intros Hwp. apply adequate_alt; intros t2 σ2 [n [κs ?]]%erased_steps_nsteps.
-  eapply (wp_strong_adequacy Σ _); [|done]=> ??.
+  eapply (wp_strong_adequacy Σ _); [|done]=> ?.
   iMod Hwp as (stateI) "[Hσ Hwp]".
   iExists s, stateI, (λ v, ⌜φ v⌝%I) => /=.
   iIntros "{$Hσ $Hwp} !>" (e2 ->) "% H Hv".
diff --git a/theories/program_logics/program_logic/sequential_wp.v b/theories/program_logics/program_logic/sequential_wp.v
index 35f1b6d..97f6d91 100644
--- a/theories/program_logics/program_logic/sequential_wp.v
+++ b/theories/program_logics/program_logic/sequential_wp.v
@@ -6,7 +6,7 @@ From iris.prelude Require Import options.
 Import uPred.
 
 Class irisGS (Λ : language) (Σ : gFunctors) := IrisG {
-  iris_invGS :> invGS Σ;
+  iris_invGS :> invGS_gen HasNoLc Σ;
 
   (** The state interpretation is an invariant that should hold in
   between each step of reduction. Here [state Λ] is the global state. *)
-- 
GitLab