intros A B m f; induction m; simpl; intros;
destruct x; simpl in *; try discriminate; auto.
destruct o; simpl; auto.
discriminate.
Qed.

(* Specifications: *)
Lemma fmap_none2 : forall A B (m:map A) (f:A->B) x,
(map_fmap A B f m)#x = None ->
m#x = None.
Lemma fmap_eqn : forall A B (m:map A) (f:A->B) x a,
m#x = Some a ->
(map_fmap A B f m)#x = Some (f a).
Lemma fmap_none2 : forall A B (m:map A) (f:A->B) x,
(map_fmap A B f m)#x = None ->
m#x = None.
Lemma fmap_eqn : forall A B (m:map A) (f:A->B) x a,
m#x = Some a ->
(map_fmap A B f m)#x = Some (f a).
Lemma fmap_none2 : forall A B (m:map A) (f:A->B) x,
(map_fmap A B f m)#x = None ->
m#x = None.
Lemma fmap_eqn : forall A B (m:map A) (f:A->B) x a,
m#x = Some a ->
(map_fmap A B f m)#x = Some (f a).