proposition: Lemma functional_choice : forall A B (R:A->B->Prop), (forall x, exists y, R x y) -> (exists f, forall x, R x (f x)).
proof: Proof. Proof using. intros. exists (fun x => sig_val (indefinite_description (H x))). intro x. apply (sig_proof (indefinite_description (H x))). Qed.
imports: TLC(LibTactics LibLogic LibEpsilon LibRelation)