Definition ins k v s := let: FinMap s' p' := s in FinMap (sorted_ins' k v p').

(* Specifications: *)
Lemma sorted_filter' k s :
sorted ord (map key s) -> sorted ord (map key (filter (predCk k) s)).
Lemma last_ins' (x : K) (v : V) s :
path ord x (map key s) -> ins' x v s = (x, v) :: s.
Lemma notin_path (x : K) s : path ord x s -> x \notin s.
Lemma path_supp_ord (s : fmap) k :
path ord k (supp s) -> forall m, m \in supp s -> ord k m.
Lemma notin_filter (x : K) s :
x \notin (map key s) -> filter (predk V x) s = [::].
Lemma fmapP (s1 s2 : fmap) : (forall k, fnd k s1 = fnd k s2) -> s1 = s2.
Lemma predkN (k1 k2 : K) : predI (predk V k1) (predCk V k2) =1
if k1 == k2 then pred0 else predk V k1.