fact: Fixpoint alter `{EqDec k} (f : option v → option v) (i : k) (m : Map) : Map := match m with | Empty => match f None with | None => empty | Some v => singleton i v end | Add i' x' m => if eq_dec i i' then match f (Some x') with | None => m | Some v => Add i' v m end else Add i' x' (alter f i m) end.
imports: Coq.Lists.List Coq.micromega.Lia Equations(Equations) Category.Lib