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