diff --git a/theories/fin_maps.v b/theories/fin_maps.v index 5f5e702be1364229750ed80d1584cf609b555a0b..ac1ae49f69bab1252ff99cb8a0b5b6e00d93a40b 100644 --- a/theories/fin_maps.v +++ b/theories/fin_maps.v @@ -527,6 +527,12 @@ Proof. - by rewrite lookup_fmap, !lookup_insert. - by rewrite lookup_fmap, !lookup_insert_ne, lookup_fmap by done. Qed. +Lemma fmap_delete {A B} (f: A → B) m i: f <$> delete i m = delete i (f <$> m). +Proof. + apply map_eq; intros i'; destruct (decide (i' = i)) as [->|]. + - by rewrite lookup_fmap, !lookup_delete. + - by rewrite lookup_fmap, !lookup_delete_ne, lookup_fmap by done. +Qed. Lemma omap_insert {A B} (f : A → option B) m i x y : f x = Some y → omap f (<[i:=x]>m) = <[i:=y]>(omap f m). Proof.