Isabelle 为什么我对从有限集中选择元素的函数的定义不一致?
我想对从有限集中选择一个元素的函数进行推理 我试图定义一个谓词,告诉我某个给定函数是否是这样一个“选择器”函数:Isabelle 为什么我对从有限集中选择元素的函数的定义不一致?,isabelle,set-theory,definitions,Isabelle,Set Theory,Definitions,我想对从有限集中选择一个元素的函数进行推理 我试图定义一个谓词,告诉我某个给定函数是否是这样一个“选择器”函数: definition chooser :: "('a set ⇒ 'a) ⇒ bool" where "chooser f ⟷ (∀ A . finite A ⟶ f A ∈ A)" 实际上,我想从中选择元素的有限集是具体类型的,但将具体类型放在'a的位置会导致同样的问题 我还试图省略有限A,但是我处理的集合是有限的,我甚至不想在这里考虑选择公理 现在这个定义似乎不一致: lemm
definition chooser :: "('a set ⇒ 'a) ⇒ bool"
where "chooser f ⟷ (∀ A . finite A ⟶ f A ∈ A)"
实际上,我想从中选择元素的有限集是具体类型的,但将具体类型放在'a
的位置会导致同样的问题
我还试图省略有限A
,但是我处理的集合是有限的,我甚至不想在这里考虑选择公理
现在这个定义似乎不一致:
lemma assumes "chooser f" shows "False" using assms chooser_def by force
如何以合理的方式定义chooser
?我想使用它如下:
assume "finite A"
moreover assume "chooser f"
moreover assume "choice = f A"
ultimately have "choice ∈ A" by ???
大多数情况下,重要的只是选择了集合中的一个成员,而不是选择它的方式
背景:我想正式确定拍卖中的平局破坏者(第4节)。假设拍卖物品有两个最高出价,我们需要任意选择一个应该赢得拍卖的出价人
顺便说一句,这里有一个非常简单的例子(有点难理解):
我仅根据Brian的评论提供细节,即选择函数仅为非空集合定义 从关于Choice_函数的Wikipedia条目:
definition chooser :: "('a set ⇒ 'a) ⇒ bool"
where "chooser f ⟷ (∀ A . finite A ⟶ f A ∈ A)"
选择函数(选择器,选择)是一个数学函数f,它定义在非空集合的某个集合X上,并为该集合中的每个集合S分配一些元素f(S)
到目前为止,你可能已经从布赖恩的作品中得到了你所需要的,但我还是这样做了。chooser
的定义只需要集合不为空:
definition chooser :: "('a set => 'a) => bool" where
"chooser f <-> (!A. A ~= {} --> f A ∈ A)"
theorem "(finite A & A ~= {} & chooser f) ==> (f A ∈ A)"
by(metis chooser_def)
theorem "(A ~= {} & chooser f) ==> (f A ∈ A)"
by(metis chooser_def)
--GC假设
选择器f
,这不是意味着f{}∈ {}
?哦,真的-谢谢你的关注!感谢布莱恩和你;我现在已经修好了。
definition choice :: "'a set => 'a" where
"choice T = (SOME x. x ∈ T)"
theorem "T ~= {} ==> choice T ∈ T"
by(unfold choice_def, metis ex_in_conv someI