diff --git a/theories/fin_maps.v b/theories/fin_maps.v
index 4e7ae1fc182056ac314a920fd8de4047f4f8827d..e149e0c13bc261aa4a0a73c16a6671b062c543c3 100644
--- a/theories/fin_maps.v
+++ b/theories/fin_maps.v
@@ -2104,6 +2104,13 @@ Qed.
 Lemma delete_union {A} (m1 m2 : M A) i :
   delete i (m1 ∪ m2) = delete i m1 ∪ delete i m2.
 Proof. apply delete_union_with. Qed.
+Lemma delete_insert_union {A} (m1 m2 : M A) i x :
+  m1 !! i = Some x ->
+  delete i m1 ∪ <[i := x]> m2 = m1 ∪ m2.
+Proof.
+  intros Hmi. rewrite <-insert_union_r by apply lookup_delete.
+  rewrite insert_union_l, insert_delete, insert_id; done.
+Qed.
 Lemma map_Forall_union_1_1 {A} (m1 m2 : M A) P :
   map_Forall P (m1 ∪ m2) → map_Forall P m1.
 Proof. intros HP i x ?. apply HP, lookup_union_Some_raw; auto. Qed.