proposition: Theorem constructive_choice' X Y (R : X -> Y -> Prop) : (forall x, sig (R x)) -> { f | forall x, R x (f x) }.
proof: Proof. apply constructive_choice. Qed.
imports: List Arith Lia Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list utils_nat fin_base) Undecidability.Shared.Libs.DLW.Vec(pos vec)