intro m1; induction m1; intro m2; destruct m2; simpl; intuition.
rewrite IHm1_1.
rewrite IHm1_2.
auto.
Qed.

(* Specifications: *)
Lemma map_forall2_correct:
forall m1 m2 i x,
map_forall2 m1 m2 = true ->
m1#i = Some x -> pred x m2#i = true.
Lemma map_forall2_complete:
forall m1 m2,
(forall i x, m1#i = Some x -> pred x m2#i = true) ->
map_forall2 m1 m2 = true.
Lemma map_forall2_correct:
forall m1 m2 i x,
map_forall2 m1 m2 = true ->
m1#i = Some x -> pred x m2#i = true.
Lemma map_forall2_complete:
forall m1 m2,
(forall i x, m1#i = Some x -> pred x m2#i = true) ->
map_forall2 m1 m2 = true.
Lemma map_forall2_correct:
forall m1 m2 i x,
map_forall2 m1 m2 = true ->
m1#i = Some x -> pred x m2#i = true.
Lemma map_forall2_complete:
forall m1 m2,
(forall i x, m1#i = Some x -> pred x m2#i = true) ->
map_forall2 m1 m2 = true.