精益中的公理choice
确实与axiom of choice
集合论中的不同。精益中的公理choice
在集合论中并没有真正的相应陈述。所说的是有一个函数可以证明某种类型α
是非空的,并产生 的居民α
。在集合论中,我们不能定义以证明为参数的函数,因为证明不是集合论中的对象,它们位于逻辑层之上。
也就是说,这两个选择公理并非完全不相关。从精益公理choice
中,您可以证明集合论中更熟悉的选择公理,您可以在此处找到一个版本。
theorem axiom_of_choice {α : Sort u} {β : α → Sort v} {r : Π x, β x → Prop} (h : ∀ x, ∃ y, r x y) :
∃ (f : Π x, β x), ∀ x, r x (f x)
在库的其他部分,证明了选择公理的其他等效语句,例如每个满射函数都有一个右逆。
也许最接近您引用的选择公理版本的陈述如下:
theorem axiom_of_choice' {α : Sort u} {β : α → Sort v} (h : ∀ x, nonempty (β x)) :
nonempty (Π x, β x) :=
⟨λ x, classical.choice (h x)⟩
换句话说,这就是说:给定一系列非空类型(集合),选择函数的类型是非空的。如您所见,Lean's 的证明是直接的choice
。