Definition Minimal (P:nat -> Prop) (n:nat) : Prop :=
  P n /\ forall k, P k -> n<=k.Definition Minimization_Property (P : nat -> Prop) : Prop :=
  forall n, P n -> exists m, Minimal P m.

(* Specifications: *)
Theorem unrestricted_minimization_entails_excluded_middle : forall A, A\/~A.
Theorem excluded_middle_entails_unrestricted_minimization : forall P, Minimization_Property P.