(** ** Logical equivalence **)

Definition iff (A B : Prop) : Prop := and (A -> B) (B -> A).(****************************************************)
(** * Existential quantifiers and Leibniz equality  *)
(****************************************************)

(** ** Existential quantification in a given small type **)

Definition ex (X : Typ1) (P : X -> Prop) : Prop :=
  forall E : Prop, (forall x : X, P x -> E) -> E.

(* Specifications: *)
Lemma ex_intro : forall (X : Typ1) (P : X -> Prop) (x : X), P x -> ex X P.