(** ** Independence of general premises and drinker's paradox *)
(** Independence of general premises is the unconstrained (i.e. without the constraint of the premise being negative) version of the Independence of Premises considered in [[Troelstra73]].  In the context of intuitionistic arithmetic (and actually already in the context of the theory of Boolean values), it generalizes the right distributivity of implication over disjunction (and hence Gödel-Dummett axiom). Note contrastingly that both the usual constrained independence of premises and the right distributivity of implication formula over distributivity with the constraint that the implication is from a negative formula (that is Kreisel-Putnam principle [[KreiselPutnam57]]) preserve the disjunction property.  In the context of predicate logic, the Independence of general premises is however weaker than the right distributivity of implication over disjunction (hence of Gödel-Dummett axiom) since its restriction to a singleton domain makes it collapse to an intuitionistic propositional tautology while right distributivity of implication over disjunction is definitely not intuitionistically propositionally provable (consider the Kripke model with a root node splitting into an node with C and A and an other node with C and B).  [[KreiselPutnam57]], Georg Kreisel and Hilary Putnam. "Eine Unableitsbarkeitsbeweismethode für den intuitionistischen Aussagenkalkül". Archiv für Mathematische Logik und Graundlagenforschung, 3:74- 78, 1957.  [[Troelstra73]], Anne Troelstra, editor. Metamathematical Investigation of Intuitionistic Arithmetic and Analysis, volume 344 of Lecture Notes in Mathematics, Springer-Verlag, 1973. *)
Definition IndependenceOfGeneralPremises A :=
forall (P:A -> Prop) (Q:Prop),
inhabited A -> (Q -> exists x, P x) -> exists x, Q -> P x.
Lemma
independence_general_premises_right_distr_implication_over_disjunction :
IndependenceOfGeneralPremises bool -> RightDistributivityImplicationOverDisjunction.

(* Specifications: *)
Lemma independence_general_premises_Godel_Dummett :
IndependenceOfGeneralPremises bool -> GodelDummett.