Module Exports.
Section Exports.
Variables (K : ordType) (V : eqType) (p : pred K).
Variables (T : Type) (m : @UMC.mixin_of K V p T).
Definition union_map_class_eqMix := EqMixin (@unionmap_eqP K V p T m).
End Exports.
End Exports.
End UnionMapEq.
Export UnionMapEq.Exports.
(*******)
(* dom *)
(*******)
Section DomLemmas.
Variables (K : ordType) (V : Type) (U : union_map_class K V).
Implicit Types (k : K) (v : V) (f g : U).

Lemma dom_valid k f : k \in dom f -> valid f.
CoInductive dom_find_spec k f : bool -> Type :=
| dom_find_none' : find k f = None -> dom_find_spec k f false
| dom_find_some' v : find k f = Some v ->
f = upd k v (free k f) -> dom_find_spec k f true.