首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置Coq作为一阶逻辑的定理证明器

如何设置Coq作为一阶逻辑的定理证明器
EN

Stack Overflow用户
提问于 2019-05-15 05:15:00
回答 1查看 217关注 0票数 3

据我所知,Coq有内置的一阶逻辑https://coq.inria.fr/tutorial/1-basic-predicate-calculus。但Coq不是定理证明者,Coq是证明助手,这意味着用户需要在每一步中提供一些提示,Coq应该选择什么规则/策略。存在更多的ore - lest组合启发式策略,但Coq仍然不是证明者。我听说过在证明助手中使用机器学习或其他启发式方法来自动化证明过程的努力(它们被命名为*hammer?),其中一些趋势发表在http://ai4reason.org/activities.html上。

我的问题是- Coq能否被配置为与一阶逻辑的E-prover或Z3 prover具有类似功能的FOL定理证明器?如果是,我该如何配置Coq来实现这种用途呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-28 16:46:21

如果您想要在Coq证明中自动找到一阶语句的证明,您可以使用Coq锤子的重构策略的标准策略firstorder (见下文)。

如果你想使用Coq来解决tptp格式中出现的问题,有一个工具https://github.com/lukaszcz/tptp2coq可以将一个tptp文件转换成一个Coq文件,然后你可以使用一些自动化的策略来解决目标,但它不会与E-prover或Z3竞争。

还有一个工具,Coq锤子,它会将Coq目标转换为FOL,然后运行FOF验证器,如E,Z3,僵尸。如果那些FOF证明者可以找到证明,Coq hammer将使用证明中使用的引理列表,尝试使用自动策略在Coq中再次查找证明(这称为证明重构)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56138703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档