(** Similarly, using subtypes, drinker's paradox on Boolean values
    implies excluded-middile *)

Definition RelativizedDualDrinkerParadox A (P : A -> Prop) :=
  DualDrinkerParadox {a : A & P a}.

Lemma relativized_dual_drinker_paradox_excluded_middle : (forall P, RelativizedDualDrinkerParadox bool P) -> excluded_middle.