diff --git a/iris/bi/big_op.v b/iris/bi/big_op.v
index c65797250e43ce30481261f3ee647976ee72089a..0d10614eb8fc7f6d5179da725404711167862fbb 100644
--- a/iris/bi/big_op.v
+++ b/iris/bi/big_op.v
@@ -686,6 +686,11 @@ Section sep_list2.
   Proof. rewrite big_sepL2_alt. apply _. Qed.
 End sep_list2.
 
+Lemma big_sepL_sepL2_diag {A} (Φ : nat → A → A → PROP) (l : list A) :
+  ([∗ list] k↦y ∈ l, Φ k y y) -∗
+  ([∗ list] k↦y1;y2 ∈ l;l, Φ k y1 y2).
+Proof. revert Φ. induction l as [|x l IH]=> Φ /=; [done|]. by rewrite -IH. Qed.
+
 Lemma big_sepL2_ne_2 {A B : ofe}
     (Φ Ψ : nat → A → B → PROP) l1 l2 l1' l2' n :
   l1 ≡{n}≡ l1' → l2 ≡{n}≡ l2' →
@@ -1573,6 +1578,15 @@ Section map2.
   Proof. intros. rewrite big_sepM2_eq /big_sepM2_def. apply _. Qed.
 End map2.
 
+Lemma big_sepM_sepM2_diag `{Countable K} {A} (Φ : K → A → A → PROP) (m : gmap K A) :
+  ([∗ map] k↦y ∈ m, Φ k y y) -∗
+  ([∗ map] k↦y1;y2 ∈ m;m, Φ k y1 y2).
+Proof.
+  revert Φ. induction m as [|x k l ? IH] using map_ind=> Φ /=.
+  { by rewrite big_sepM_empty big_sepM2_empty. }
+  by rewrite big_sepM_insert // big_sepM2_insert // -IH.
+Qed.
+
 Lemma big_sepM2_ne_2 `{Countable K} (A B : ofe)
     (Φ Ψ : K → A → B → PROP) m1 m2 m1' m2' n :
   m1 ≡{n}≡ m1' → m2 ≡{n}≡ m2' →