【发布时间】:2017-12-05 21:15:54
【问题描述】:
我正在使用 Z3py 来遍历布尔公式。如何检查公式是否包含条件。我检查了 z3.py 源代码,它包含 is_and()、is_or()、is_not()、.. 但与 is_implies() 没有任何关系。任何想法 ?谢谢。
【问题讨论】:
-
我不是
z3的专家,但a -> c基本上是!a v c... 其中a和c可以是任何东西。 例如b v c是!b -> c和!c -> b,!a v !b v c是a -> (!b v c)和b -> (!a v c)以及!c -> (!a v !b)和(a & b) -> c和...。所以is_or()应该足够了,不是吗? -
哦,我正在编写用于消除隐含的代码。所以首先我必须以某种方式解析代码包含含义(准确地说是条件)。然后我将 a => b 转换为 !a 或 b。谢谢。
-
我想这意味着您很高兴能够仅捕获明确的含义,而不是所有含义,因此我的评论无关紧要。 :)
-
感谢您的评论 :)