diff --git a/theories/algebra/lib/gmap_view.v b/theories/algebra/lib/gmap_view.v
index 55f3962a131c547886c7c4416ae2485f7cb5c7f7..abe12c6cf741da058db9b4268c2c98530b101457 100644
--- a/theories/algebra/lib/gmap_view.v
+++ b/theories/algebra/lib/gmap_view.v
@@ -237,6 +237,21 @@ Section lemmas.
       rewrite lookup_insert_ne //.
   Qed.
 
+  Lemma gmap_view_delete m k v :
+    gmap_view_auth m â‹… gmap_view_frag k (DfracOwn 1) v ~~>
+    gmap_view_auth (delete k m).
+  Proof.
+    apply view_update_dealloc=>n bf Hrel j [df va] Hbf /=.
+    destruct (decide (j = k)) as [->|Hne].
+    - edestruct (Hrel k) as (v' & _ & Hdf & _).
+      { rewrite lookup_op Hbf lookup_singleton -Some_op. done. }
+      exfalso. apply: dfrac_full_exclusive. apply Hdf.
+    - edestruct (Hrel j) as (v' & ? & ? & Hm).
+      { rewrite lookup_op lookup_singleton_ne // Hbf. done. }
+      exists v'. do 2 (split; first done).
+      rewrite lookup_delete_ne //.
+  Qed.
+
   Lemma gmap_view_update m k v v' :
     gmap_view_auth m â‹… gmap_view_frag k (DfracOwn 1) v ~~>
       gmap_view_auth (<[k := v']> m) â‹… gmap_view_frag k (DfracOwn 1) v'.