如何在Isabelle / FOL中定义'Most'?

时间:2013-09-30 13:47:35

标签: isabelle quantifiers

我试图用量词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)我还需要修改哪些其他内容?

对于后一个问题,可能有助于指出,最终,我想评估一些不同的结论是否必要,可能或不可能,前提是包括使用“最多”和“最多”的量化断言。所有'(以及连词,分离等)。

1 个答案:

答案 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中的序数和枢机的进一步理论有待发现。这取决于最终的应用程序。