首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在Leon Online的PropositionalLogic示例中wrongCommutative超时?

为什么在Leon Online的PropositionalLogic示例中wrongCommutative超时?
EN

Stack Overflow用户
提问于 2015-08-15 15:37:57
回答 1查看 67关注 0票数 1

我对里昂的PropositionalLogic示例中的wrongCommutative属性非常好奇。

这对我来说似乎是一个正确的属性,我不明白为什么它只是在里昂超时。

这是链接:https://leon.epfl.ch#link/37040293ff5ff92c763f797f22f142f8-1

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-18 16:18:56

你是对的,这是成立的,谢谢你的观察!里昂没有开箱即用地证明这一点,因为它需要一些帮助。它最初是错误的,但我们更改了代码,以便该属性适用于这些函数的当前版本。

您的"Leon稳定“链接现在似乎指向另一个文件(由于leon.epfl.ch的更改和重启),但该示例仍然可以从web and here is the stable github link上的示例列表中找到,以避免任何混淆。

了解原因

代码语言:javascript
复制
nnf(simplify(f)) == simplify(nnf(f)) 

对于该实现,您可以观察到

代码语言:javascript
复制
simplify(nnf(f)) = nnf(f)

这个引理成立就证明了这一点:

代码语言:javascript
复制
@induct
def nnfIsSimplified(f: Formula): Boolean = {
  require(isNNF(f))
  simplify(f) == f
} holds

事实上,nnf(simplify(f))==nnf(f)可以通过归纳来表示,但在这里,里昂可能需要一些提示。

有关此属性的完整证明,请参阅the updated example on Github

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

https://stackoverflow.com/questions/32022588

复制
相关文章

相似问题

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