(** We define a variant of the former existential quantification in
    order to express the existence of an object that fulfills the
    conjunction of two predicates P and Q.  *)

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

(* Specifications: *)
Lemma ex2_intro : forall (X : Typ1) (P Q : X -> Prop) (x : X), P x -> Q x -> ex2 X P Q.