我正在使用 Z3 尝试一些基本的 FOL 公式可满足性问题。我无法理解为什么下面的代码片段会返回 Unsat。请帮忙。
如果可能的话,如果有人尝试使用带有量词的 FOL 给出“Sat”并且通过一些小的微小更改给出“Unsat”作为输出的示例,将非常有帮助
除了rise4fun教程页面上提供的之外,是否有一些简单的FOL公式代码片段可供学习。
(set-option :smt.mbqi true)
(declare-fun f (Real Real) Bool)
(declare-const a Real)
(declare-const b Real)
(assert (forall ((x Real)) (and (f a x) (> x 6))))
(assert (and (f a b) (> b 6) ))
(check-sat)