(**************************************************************)
(*   Copyright Dominique Larchey-Wendling [*]                 *)
(*                                                            *)
(*                             [*] Affiliation LORIA -- CNRS  *)
(**************************************************************)
(*      This file is distributed under the terms of the       *)
(*         CeCILL v2 FREE SOFTWARE LICENSE AGREEMENT          *)
(**************************************************************)
From Undecidability.Shared.Libs.DLW.Utils
fin_base.
From Undecidability.Shared.Libs.DLW.Vec
Set Implicit Arguments.
(* This files gathers all constructivelly valid choice principles *)
(* This is standart constructive strong choice, no finiteness assumptions here *)

Theorem constructive_dep_choice X Y (P : X -> Prop) (R : X -> Y -> Prop) :
(forall x, P x -> sig (R x))
-> { f : forall x, P x -> Y | forall x Hx, R x (f x Hx) }.