End Excluded_middle_entails_unrestricted_minimization.
(** However, minimization for a given predicate does not necessarily imply decidability of this predicate *)
Section Example_of_undecidable_predicate_with_the_minimization_property.
Variable s : nat -> bool.
Let P n := exists k, n<=k /\ s k = true.
Example undecidable_predicate_with_the_minimization_property :
Minimization_Property P.
End Example_of_undecidable_predicate_with_the_minimization_property.
(** ** Choice of representatives in a partition of bool *)
(** This is similar to Bell's "weak extensional selection principle"  in [[Bell]]  [[Bell]] John L. Bell, Choice principles in intuitionistic set theory, unpublished. *)
Local Notation representative_boolean_partition :=
(forall R:bool->bool->Prop,
Equivalence R -> exists f, forall x, R x (f x) /\ forall y, R x y -> f x = f y).

(* Specifications: *)
Theorem representative_boolean_partition_imp_excluded_middle :
representative_boolean_partition -> excluded_middle.
Theorem excluded_middle_imp_representative_boolean_partition :
excluded_middle -> representative_boolean_partition.
Theorem excluded_middle_iff_representative_boolean_partition :
excluded_middle <-> representative_boolean_partition.