intros A B m f; induction m; simpl; intros.
induction x; simpl in *.
rewrite IHx; auto.
rewrite IHx; auto.
auto.
destruct x; destruct o; simpl; auto.
rewrite IHm2; auto.
rewrite IHm2; auto.
rewrite IHm1; auto.
rewrite IHm1; auto.
Qed.

(* Specifications: *)
Lemma fmap_unset : forall A B (m:map A) (f:A->B) x,
(map_fmap A B f (unset A m x)) =
unset B (map_fmap A B f m) x.
Lemma fmap_unset : forall A B (m:map A) (f:A->B) x,
(map_fmap A B f (unset A m x)) =
unset B (map_fmap A B f m) x.
Lemma fmap_unset : forall A B (m:map A) (f:A->B) x,
(map_fmap A B f (unset A m x)) =
unset B (map_fmap A B f m) x.