diff --git a/opam.pins b/opam.pins
index 7d18e2a452ab70b11663145d9e7415d9b4134e0b..069f740a46ceda760db3aaf6af098a5f38445b9a 100644
--- a/opam.pins
+++ b/opam.pins
@@ -1 +1 @@
-coq-iris https://gitlab.mpi-sws.org/FP/iris-coq 35551d40f927c1d567993ff27eeb46f64788efca
+coq-iris https://gitlab.mpi-sws.org/FP/iris-coq 1edf71ef9809456c29454d8ad60c34ea10e36fe8
diff --git a/theories/lang/lib/lock.v b/theories/lang/lib/lock.v
index c6b8b6e2093103cffccc9d35ca36e2c73dc4fb28..848b58ce9de7e751ab96925d853eff597708b359 100644
--- a/theories/lang/lib/lock.v
+++ b/theories/lang/lib/lock.v
@@ -28,16 +28,13 @@ Section proof.
     (∃ b : bool, l ↦ #b ∗ if b then True else own γ (Excl ()) ∗ R)%I.
 
   Definition is_lock (γ : lockname) (l : loc) (R : iProp Σ) : iProp Σ :=
-    (cinv N (γ.1) (lock_inv (γ.2) l R))%I.
+    cinv N (γ.1) (lock_inv (γ.2) l R).
 
   Definition own_lock (γ : lockname) : frac → iProp Σ :=
     cinv_own (γ.1).
 
   Definition locked (γ : lockname): iProp Σ := own (γ.2) (Excl ()).
 
-  Lemma locked_exclusive (γ : lockname) : locked γ -∗ locked γ -∗ False.
-  Proof. iIntros "H1 H2". by iDestruct (own_valid_2 with "H1 H2") as %?. Qed.
-
   Global Instance lock_inv_ne γ l : NonExpansive (lock_inv γ l).
   Proof. solve_proper. Qed.
   Global Instance is_lock_contractive γ l : Contractive (is_lock γ l).
@@ -50,6 +47,18 @@ Section proof.
   Global Instance locked_timeless γ : TimelessP (locked γ).
   Proof. apply _. Qed.
 
+  Lemma locked_exclusive (γ : lockname) : locked γ -∗ locked γ -∗ False.
+  Proof. iIntros "H1 H2". by iDestruct (own_valid_2 with "H1 H2") as %?. Qed.
+
+  Lemma is_lock_iff γ l R R' :
+    □ ▷ (R ↔ R') -∗ is_lock γ l R -∗ is_lock γ l R'.
+  Proof.
+    iIntros "#HRR' Hlck". iApply cinv_iff; last done. iNext. iAlways.
+    iSplit; iIntros "Hinv"; iDestruct "Hinv" as (b) "[Hl HR]"; iExists b;
+      iFrame "Hl"; (destruct b; first done); iDestruct "HR" as "[$ HR]";
+      by iApply "HRR'".
+  Qed.
+
   (** The main proofs. *)
   Lemma newlock_inplace (E : coPset) (R : iProp Σ) l (b : bool) :
     l ↦ #b -∗ (if b then True else ▷ R) ={E}=∗ ∃ γ, is_lock γ l R ∗ own_lock γ 1%Qp.