我试图用量词FOL.thy
来增加MOST
,我打算将其定义为简单多数,即
(MOST x. P(x)) ==> card P(x) > card ~P(x).
我不确定如何修改FOL.thy
文件。
在axiomatization
下,我想添加:
Most :: "('a => o) => o" (binder "MOST " 10)
,在where
子句下面:
specM: "(ALL x. P(x)) ==> (MOST x. P(x))" and
mostI: "(MOST x. P(x)) ==> ..."
其中“......”是表达上述约束的正确方法,w.r.t。 P(x)
和~P(x)
的基数。 (同样,我不确定这里的名字是好的,欢迎提出建议。)
我想在“符号”部分添加一个条目,由于缺乏更好的想法,选择使用delta:
Most (binder "∆" 10)
同样在notation
部分。
1)如何正确表达基数约束?
2)我还需要修改哪些其他内容?
对于后一个问题,可能有助于指出,最终,我想评估一些不同的结论是否必要,可能或不可能,前提是包括使用“最多”和“最多”的量化断言。所有'(以及连词,分离等)。
答案 0 :(得分:1)
除非有特殊原因,否则通常最好以Isabelle / HOL作为您所考虑的任何应用的起点。
FOL或HOL是否更强的论据取决于额外的公理化。 Isabelle / ZF在FOL之上提供了完整的Zermelo-Fraenkel集合理论,因此它比普通的HOL更具表现力,但它的工具和库几乎落后了20年。
您不应该从底部HOL.thy
开始,而应该使用理论Main
在顶部输入游戏,可能会使用$ISABELLE_HOME/src/HOL/Library
中的其他一些理论。
Most
的草图让我想起了$ISABELLE_HOME/src/HOL/Library/Infite_Set
,虽然那是关于更有趣的无限集。关于HOL中的序数和枢机的进一步理论有待发现。这取决于最终的应用程序。