【问题标题】:Prove a Boolean formula under some Implies conditions in z3py在 z3py 中的某些隐含条件下证明布尔公式
【发布时间】:2017-01-01 11:41:17
【问题描述】:

我是使用 Z3py 的新手,我的任务是为两种解决方案(sat 和 unsat)生成反例。
有什么函数可以生成unsat解的反例吗?

【问题讨论】:

    标签: boolean counter z3 solver z3py


    【解决方案1】:

    unsat 表示没有满足给定断言的模型。只能在问题为sat 时提取模型。因此,要回答您提出的问题,您不能从 unsat 解决方案创建模型:它根本不存在。

    一个典型的方法是断言你试图证明的公式的negation;如果该公式是可满足的,那么您的原始公式是可证伪的;即,有一个反例。也许这就是你想要做的?即:如果公式的否定有一个令人满意的模型,那么这个模型就是原公式的反例。这就是大多数建立在 SMT 求解器之上的证明者的工作方式,通过发送对他们试图证明的内容的否定并返回 unsat. 如果证明者返回一个模型,那么它就是一个反例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      相关资源
      最近更新 更多