diff --git a/theories/fin_maps.v b/theories/fin_maps.v
index d4cdfd3ebd8a60c539bf3d2c97ec16a7f6456ef8..67b242f3a3ad93e14c6af2c626e58b61da0a8673 100644
--- a/theories/fin_maps.v
+++ b/theories/fin_maps.v
@@ -1064,8 +1064,8 @@ Section map_Filter.
     rewrite !map_filter_lookup_Some. naive_solver.
   Qed.
 
-  Lemma map_filter_lookup_insert m i x :
-    P (i,x) → <[i:=x]> (filter P m) = filter P (<[i:=x]> m).
+  Lemma map_filter_insert m i x :
+    P (i,x) → filter P (<[i:=x]> m) = <[i:=x]> (filter P m).
   Proof.
     intros HP. apply map_eq. intros j. apply option_eq; intros y.
     destruct (decide (j = i)) as [->|?].
@@ -1074,6 +1074,15 @@ Section map_Filter.
       naive_solver.
   Qed.
 
+  Lemma map_filter_delete m i : filter P (delete i m) = delete i (filter P m).
+  Proof.
+    apply map_eq. intros j. apply option_eq; intros y.
+    destruct (decide (j = i)) as [->|?].
+    - rewrite map_filter_lookup_Some, !lookup_delete. naive_solver.
+    - rewrite lookup_delete_ne, !map_filter_lookup_Some, lookup_delete_ne by done.
+      naive_solver.
+  Qed.
+
   Lemma map_filter_empty : filter P (∅ : M A) = ∅.
   Proof. apply map_fold_empty. Qed.
 End map_Filter.