(**********************************************************************)
(** ** 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 *)

Theorem setoid_functional_choice_second_characterization :
FunctionalChoice /\ ExtensionalPredicateRepresentative /\ ProofIrrelevance <-> SetoidFunctionalChoice.