(** From proof-irrelevance and relational choice, we get guarded relational choice *)

(** The form of choice we need: there is a functional relation which chooses an element in any non empty subset of bool *)
Lemma AC_bool_subset_to_bool :
exists R : (bool -> Prop) -> bool -> Prop,
(forall P:bool -> Prop,
(exists b : bool, P b) ->
exists b : bool, P b /\ R P b /\ (forall b':bool, R P b' -> b = b')).