如何证明COQ理论中的一致性

如何证明COQ理论中的一致性,coq,Coq,我如何证明(或更好:令人信服的论点)我的COQ理论是一致的? 让我们假设COQ系统和标准库是一致的。 我知道,由于哥德尔不完全性定理,一般形式的一致性证明是不可能的。 但是,有没有一些方法或经验法则来证明该理论是一致的? 更具体一点:如果我只使用归纳数据类型而没有明确的公理命题,我的理论是否真的自动一致 Coq的全部要点是,如果系统接受你的定义和证明,你可以相信它们在逻辑上是合理的。但是,有两个注意事项: 您必须相信系统的底层逻辑是可靠的,并且它是正确实现的 不得使用任意公理扩展基本理论,或启

我如何证明(或更好:令人信服的论点)我的COQ理论是一致的?
让我们假设COQ系统和标准库是一致的。 我知道,由于哥德尔不完全性定理,一般形式的一致性证明是不可能的。
但是,有没有一些方法或经验法则来证明该理论是一致的?

更具体一点:如果我只使用归纳数据类型而没有明确的公理命题,我的理论是否真的自动一致

Coq的全部要点是,如果系统接受你的定义和证明,你可以相信它们在逻辑上是合理的。但是,有两个注意事项:

  • 您必须相信系统的底层逻辑是可靠的,并且它是正确实现的

  • 不得使用任意公理扩展基本理论,或启用不安全选项(例如,
    -type-in-type

最后一点值得解释。使用诸如
Fixpoint
Definition
inclusive
等命令所述的定义和证明属于Coq的基本理论,因此自动保持一致。这就是为什么Coq对这些命令设置了一些限制,例如只允许某些类型的递归函数。另一方面,如果您要求Coq使用
Axiom
命令或类似命令接受任意命题,那么您可能最终会遇到不一致的开发

一些公理,如排除中间性和函数可拓性,相对来说已经得到了很好的研究和理解,因此如果假设的话也不会太危险。根据经验,您可以信任标准库中声明的公理。然而,您应该小心:例如,一些标准公理与
-impindicative set
选项不兼容(请参阅)


如果您想确保您的开发不依赖于特殊的公理,您可以使用
打印假设
命令(请参阅)列出结果中使用的所有公理。

请停止发布那些“这是家庭作业”的评论。不,不是。我20年前学过数学。我的问题听起来肯定不像是家庭作业。如果你能回答,就把答案贴出来。如果你不能,保持安静!我不知道你在想什么样的理论,但是,至少对于逻辑学来说,证明一致性的一种方法是使用一个(结构的)证明理论论点,比如。考虑到证明助手的使用,比如Coq,来证明一个理论的一致性,我们需要考虑:-定理证明逻辑是正确的(这是(共)归纳结构演算的情况)-定理证明器实现是正确的。这是一件很难实现的事情。我不知道Coq的类型检查器是否得到充分验证。我已经在Coq中证明了Coq的类型检查器。但是,我不知道这个实现是否在Coq的当前版本中使用。我不关心Coq本身的一致性。我假设它是一致的我担心我的理论的一致性,这是我在COQ中阐述的。我怎样才能说服别人我没有引入矛盾的公理?你能用后续的微积分形式阐述你的理论吗?如果你的答案是“是”,那么你只需要证明你的微积分的割消元。逻辑理论的一致性是割消元的必然结果。