在Lean中,“ choice”是根据以下条件实现的:
我们选择的公理现在简单表示如下:
axiom choice {α : Sort u} : nonempty α → α
仅给出断言h,即α为非空,选择h神奇地产生了一个α元素。
现在,如果我读有关集合论和选择公理的文献(Jech):
选择公理(AC)。每个非空集族都有选择功能。
如果S是一组集合,而∅不是S,则S的选择函数是S上的函数f,使得 f(X)∈X 对于每个X∈S。
对我来说,这些事情似乎并不等同。有人可以详细说明吗?
答案 0 :(得分:1)
精益中的公理choice
实际上与集合论中的axiom of choice
不同。精益理论中的公理choice
在集合论中并没有相应的陈述。这就是说,有一个 function 可以证明某个类型α
是非空的,并产生α
的居民。在集合论中,我们不能定义以证明为参数的函数,因为证明不是集合论中的对象,因此它们位于逻辑之上。
也就是说,两个选择公理并非完全无关。通过精益公理choice
,您可以从集合论中证明更熟悉的选择公理,即可以找到here的一种版本。
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)
在库的其他部分,也证明了选择公理的其他等效语句,例如every surjective function has a right inverse。
也许与您引用的选择公理版本最接近的语句如下:
theorem axiom_of_choice' {α : Sort u} {β : α → Sort v} (h : ∀ x, nonempty (β x)) :
nonempty (Π x, β x) :=
⟨λ x, classical.choice (h x)⟩
这句话说:给定一个非空类型(集合)族,选择函数的类型为非空。如您所见,证明是直接来自精益choice
的。