2

假设我有两个要在 SMT 中建模的子句,最好将它们添加为单独的断言,例如

(assert (> x y))
(assert (< y 2))

或者像这样使用 and 运算符添加一个断言

(assert (and 
(> x y)
(< y 2)
))

这对于 SMT 求解器性能方面的大规模问题是否重要。我正在使用 Z3。

4

1 回答 1

4

连词被分成多个断言,所以它并不重要。如果您引入一个大合取,Z3 的解析器将创建一个包含所有合取的术语,但这只是维护合取之上的恒定开销。

于 2014-07-12T12:11:13.600 回答