Choice is indispensable for much of modern classical mathematics. Therefore, most proof assistants offer it as part of their standard library. The most powerful version is sometimes called global choice or Hilbert's choice operator. This I believe is the version used by Lean, HOL-Light, and Isabelle/HOL, and they use it liberally. In particular, in Lean it is given by:
axiom choice {α : Sort*} : nonempty α → α
However, in some ways, global choice is maybe a bit too strong. It isn't compatible with univalent foundations and it leads to a strange situation where one can define named functions which are not well-defined such as the function mapping a vector space to its basis.
Instead there are two other forms of choice which are more reasonable, unique choice and the axiom of choice.
By unique choice (UC), I mean the version which is comparable to Lean's choice operator, but requires a unique element to choose from. I believe it is also called Church's iota operator.
axiom unique_choice {α : Sort*} : nonempty α → subsingleton α → α
This still allows us to define functions by their properties, as long as we can show only one such function exists. (In many logics, this follows from other axioms.)
By the Axiom of Choice (AC) I mean something like this:
axiom axiom_of_choice : ∀ (A B : Type) (R : A → B → Prop),
(∀ x : A, ∃ y : B, R x y) -> ∃ f : A → B, (∀ x : A, R x (f x))
I may also need to allow B(x)
to depend on x : A
. (Also, this is the version where we assume all types are sets, in the HoTT sense. More generally, we would restrict A
to be a set.)
My question is if it is practical to replace global choice with unique choice and the axiom of choice?
For example:
- Would it be fairly routine to replace global choice in Lean's mathlib, HOL-Light's library, or Isabelle's AFP with the axiom of choice and unique choice?
- Do practitioners in Coq and other systems where they are more careful with axioms find it easy to do modern classical mathematics with just
UC
andAC
?
For clarification, my question is not about
- the pure logical strength of global choice: I don't know the specifics, but I assume there is something that can be proved with global choice and can't with
AC + UC
. If so, I'm also assuming it isn't particularly mathematically relevant or meaningful. Of course, if I'm mistaken and there is a theorem commonly used in mathlib, AFP or HOL-Light that doesn't have a simpleAC + UC
provable alternative, I'd love to hear it. - pedantry: I might be not stating
UC
orAC
in exactly the way I need or there may be an extra axiom that is needed to go withAC + UC
to replace global choice. If so, I'd love to hear it, but please also assume my question assumes that "correct" formulation as well. Nonetheless, I'd only like axioms which roughly follow from bothDTT + global-choice
andDTT + UA + HIT + AC
. (I say roughly, since the my version of AC assumes that all types are sets, whereas a univalent version would be more careful to specify sets explicitly.) - constructive math: I'm not asking about removing all choice, just global choice (and replacing it with
AC + UC
).
My motivation for this question is trying to understand how well modern developments of classical formal mathematics can be fit with univalent foundations as in this question. The difference between how one states the axiom of choice seems to be one of the largest differences between say Lean and univalent foundations (but obviously not the only one).
nonempty α ↔ (∃ x : α, true)
andinhabited α → nonempty α
. (Notenonempty
is aProp
). Do you mean,(α : Sort*) (β : α -> Sort*) : (∀ x : α, nonempty (β x)) -> nonempty (Π (x : α), β x)
which is basically formula 3.8.3 in the HoTT book (ignoring set vs type)? Yes, that might be a cleaner way to state the axiom of choice. $\endgroup$nonempty (nonempty α → α)
. That would indeed be an interesting axiom. If so, do you have a citation that this is compatible with UA? $\endgroup$Prop
, because it only concerns propositional equalities, and must not mingle with definitional ones). $\endgroup$nonempty (Π (α : Sort*), nonempty α → α)
. This would just then be the propositional truncation of global choice. Is this what you meant? Would this be compatible with UA? (Again, if sort were replaced with set.) $\endgroup$