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