End FORALL_EXISTS.
(** More about [beq] *)
Section BOOLEAN_EQUALITY.
Variable A: Type.
Variable beqA: A -> A -> bool.

(* Specifications: *)
Theorem beq_false:
forall m1 m2,
T.beq beqA m1 m2 = false <->
exists x, match T.get x m1, T.get x m2 with
| None, None => False
| Some a1, Some a2 => beqA a1 a2 = false
| _, _ => True
end.
Theorem beq_false:
forall m1 m2,
T.beq beqA m1 m2 = false <->
exists x, match T.get x m1, T.get x m2 with
| None, None => False
| Some a1, Some a2 => beqA a1 a2 = false
| _, _ => True
end.