Section EXTENSIONAL_EQUALITY.
Variable A: Type.
Variable eqA: A -> A -> Prop.
Hypothesis eqAeq: Equivalence eqA.
Definition Equal (m1 m2: T.t A) : Prop :=
forall x, match T.get x m1, T.get x m2 with
| None, None => True
| Some a1, Some a2 => a1 === a2
| _, _ => False
end.

Lemma Equal_trans: forall m1 m2 m3, Equal m1 m2 -> Equal m2 m3 -> Equal m1 m3.