(**********************************************************************)
(** ** AC_fun_setoid = AC_fun + Ext_pred_repr + PI                    *)
(** Note: all ingredients have a computational meaning when taken in separation. However, to compute with the functional choice, existential quantification has to be thought as a strong existential, which is incompatible with proof-irrelevance which requires existential quantification to be truncated *)

(* Specifications: *)
Theorem fun_choice_and_ext_pred_ext_and_proof_irrel_imp_setoid_fun_choice :
FunctionalChoice -> ExtensionalPredicateRepresentative -> ProofIrrelevance -> RepresentativeFunctionalChoice.
Theorem setoid_functional_choice_second_characterization :
FunctionalChoice /\ ExtensionalPredicateRepresentative /\ ProofIrrelevance <-> SetoidFunctionalChoice.