Zulip Chat Archive
Stream: new members
Topic: Defining witness function without choice
Nir Paz (Sep 02 2023 at 19:34):
How can I fill these sorrys
variable {α : Type _} {P : α → α → Prop} (h : ∀ x : α, ∃! y : α, P x y)
def f : α → α := sorry
theorem spec (x : α) : P x (f x) := sorry
so that the definition of f and the theorem don't use the axiom of choice? I'm hoping there's a simple way to just "pick that y," but I can't figure out how.
Eric Wieser (Sep 02 2023 at 19:35):
I think the closest you can get is docs#Fintype.choose
Ruben Van de Velde (Sep 02 2023 at 19:44):
You can't
Kevin Buzzard (Sep 02 2023 at 20:28):
In set theory you wouldn't need AC but in type theory you do because you're moving from Prop (the statement that something exists) to Type (the thing that exists) and in lean's type theory this is impossible to do computably.
Last updated: Dec 20 2023 at 11:08 UTC