首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用z3表示推理规则

用z3表示推理规则
EN

Stack Overflow用户
提问于 2017-07-10 19:22:07
回答 1查看 222关注 0票数 0

我一直在阅读和研究几篇文档,我仍然不清楚如何用z3表示我的推理规则。

假设我有以下2条推理规则:

我的z3规则是否如此简单:

a. (a ^ b) => c

b. (a ^ b) => c

或者,我认为更正确的是,我是否需要声明数据类型(记录、标量等)。

从那里开始,java实现在阅读文档时显得相当直接。

这仅仅是从一个类型系统的推理规则到命题逻辑的初始转换,这让我感到很困扰。

我认为我的推理规则(ab)与在z3中表示它们之间缺少某种联系;当我继续阅读文档时,对于如何显示这些规则仍然不太清楚。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-11 16:40:48

对于这个任务,Z3将是一个很好的选择,尽管很难确切地理解您的问题是什么。(你拥有的要点ab完全相同,是故意的吗?)但从本质上说,推理规则是隐含的,因此,从命题和它们之间的含义来考虑它们是很好的。

此外,您的规则可能会有一个角结构(如Prolog中的角子句,参见这里的:clause),而Z3有一个数据模拟引擎,它可以使这样的问题更容易编码。

请参见这里的很好的介绍:http://rise4fun.com/z3/tutorialcontent/fixedpoints,我认为它可以相对容易地应用到您的用例中。

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

https://stackoverflow.com/questions/45020081

复制
相关文章

相似问题

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