End MapSubsetExtra.
Section MapDisjointDef.
Variables A B : Type.
Definition MapDisjoint (m:Map A) (m':Map B) :=
forall a:ad, in_dom A a m = true -> in_dom B a m' = true -> False.
Definition MapDisjoint_1 (m:Map A) (m':Map B) :=
match MapSweep A (fun (a:ad) (_:A) => in_dom B a m') m with
| None => true
| _ => false
end.
Definition MapDisjoint_2 (m:Map A) (m':Map B) :=
eqmap A (MapDomRestrTo A B m m') (M0 A).

Lemma Map_M0_disjoint : forall m:Map B, MapDisjoint (M0 A) m.