proposition: Lemma add_3 : forall m x y e e', ~ X.eq x y -> MapsTo y e (add x e' m) -> MapsTo y e m.
proof: Proof. induction m as [|[a m]]; intros x y e e' H Hm. - exfalso; inversion_clear Hm. + elim H; apply X.eq_sym; apply H0. + inversion_clear H0. - simpl in Hm; destruct X.eq_dec. + apply InA_cons_tl; apply InA_cons in Hm; destruct Hm; [|now auto]. elim H; apply X.eq_sym; apply H0. + apply InA_cons in Hm; destruct Hm. * apply InA_cons_hd; auto. * apply InA_cons_tl; eapply IHm; eauto. Qed.
imports: FMapInterface