数学写作证明助手


12

我想使用一些证明助手来编写数学证明。一切都将使用一阶逻辑(具有相等性)和自然推导来编写。背景是集合论(ZF)。例如,我怎么写以下证明?

公理:xy(x=yz(zxzy))

定理:xy(z(zx)z(zy)x=y)

也就是说,空集是唯一的。

使用纸和笔完成此任务对我来说是微不足道的,但是我真正需要的是一个软件来帮助我检查正确性的证明。

谢谢。


11
首先,您需要选择一个证明助手。Coq是我使用的,但是还有很多其他的。其中一些基于一阶逻辑,因此将更适合您的需求。然后,您需要致力于学习证明助手。几天之内,您应该就能对上述简单定理进行编码,并对其进行证明。不要期望我们会为您做这件事。这样您将一无所获。
戴夫·克拉克

5
如果您对集合论而不是类型论感兴趣,那么Isabelle可能是最直接的系统。Coq看起来很奇怪并且令人困惑。
Mark Reitblatt 2011年

2
我认为您编写的公理不是一阶逻辑,而是二阶逻辑。这是因为在前者中,变量仅在个体上变化,而在后者中,变量可以在个体和集合上变化。显然,在给定的公理中,y是集合,而z是个体。xyz
MS Dousti 2011年

9
@Sadeq:在ZF中不是设置宇宙的基本元素吗?因此,您应该能够用一阶逻辑说出“针对所有集合”之类的事情,这就是该公理所要做的。
罗宾·科塔里

9
@Sadeq,罗宾所说的是正确的,是一阶理论,问题中写的公理也是一阶。在Z F中,一切都只是一个集合,没有任何东西是个人与集合。(作为一个附带说明,一个人无需移动到二阶或更高阶对象来讨论不同种类的变量,一个人仅需要不同种类的变量,二阶和更高阶逻辑与多种逻辑完全不同)。ZFZF
卡夫

Answers:


13

Coq和Isabelle都可以做到这一点。

[Coq]这是一篇讨论如何在CoIC中基于ZIC编码ZFC的论文。

本杰明·沃纳(Benjamin Werner):“类型中的集合”,“集合中的类型”(1997)。 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.1709

[伊莎贝尔] ZF有一个图书馆。

http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/library/ZF/index.html


3
尽管本文相当不错,但我认为仅添加种类(类型变量)和公理直接编码ZF公理理论,然后直接吸引这些公理来进行证明,将更为实用。编码更多地表明了理论与表达强度有关。
科迪2012年

2
我要补充一点,有这些想法的实现虽然,由布鲁诺巴拉斯:lix.polytechnique.fr/~barras/proofs/sets/index.html
科迪

9

从对Kaveh的建议的评论中移开

首先,您需要选择一个证明助手。Coq是我使用的,但是还有很多其他的。Coq基于高阶逻辑(所谓的归纳微积分)。其他证明助手基于一阶逻辑,因此可能更适合您的需求(对上述注释取模)。

然后,您需要致力于学习证明助手。链接的文档是使用Coq入门的教程。成为一名Coq专家需要多年的奉献精神和实践,但是简单的定理可以在一个下午得到证明。学习Coq或其他任何证明助手的关键是做证明,例如链接论文中的证明。仅仅阅读论文将无济于事,因为不能在纸面上很好地传达与证明助手互动的全部经验。

几天之内,您应该就能对上述简单定理进行编码,并对其进行证明。不要期望我们会为您做这件事。这样您将一无所获。

当您成功证明这些定理时,请随时在此处发布答案,并可能对您的经历发表一些评论。

你准备好接受挑战了吗?


4
Coq是一个合理的选择。但是,如果xddz5确实想在ZF集合论而不是类型论中工作,那么Mizar也许更合适。
Timothy Chow


5

戴夫·克拉克(Dave Clarke)建议了Coq,但实际上伊莎贝尔(Isabelle)似乎是一个更好的主意,因为它具有针对ZF的库。伊莎贝尔(Isabelle)也非常成熟,其中包括各种战术和扩展。

我个人没有使用过Mizar,但它也可能很好。


2

我该如何写以下证明?

在Isabelle / ZF中,您可以编写如下内容

theory csthquestion imports Main

begin

theorem empty_unique:
shows "\<forall> x.\<forall>y.(\<forall>z. (z\<notin>x)) \<and> (\<forall>z.(z\<notin>y)) \<longrightarrow> x=y"
    by auto

end

如您所见,Isabelle自动证明了这一点。当然,如果您确实需要,可以写出更详细的证明。


2

这个定理是我的DC Proof 2.0软件随附的教程中的一个有效示例(请参见示例11)。从我的网站http://www.dcproof.com免费下载


1
这个网站有点卖点。您能否以均衡的方式提供一些信息,以说明您的软件以哪种方式非常适合该问题?也许正在执行此派生的视频链接或屏幕截图?
查尔斯·斯图尔特

1
这里是证明:dcproof.com/EmptySetUnique.htm我的网站上有一个视频,显示系统如何工作。
丹·克里斯滕森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.