Smtp 在SMT中,哪一种做法更好:添加多个断言还是添加单个和?

Smtp 在SMT中,哪一种做法更好:添加多个断言还是添加单个和?,smtp,z3,smtplib,smt,sat-solvers,Smtp,Z3,Smtplib,Smt,Sat Solvers,假设我有两个要在SMT中建模的子句,是否最好将它们作为单独的断言添加,如 (assert (> x y)) (assert (< y 2)) (断言(>xy)) (断言(xy) (

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

(assert (> x y))
(assert (< y 2))
(断言(>xy))
(断言(
或者添加一个带有and运算符的断言,如下所示

(assert (and 
(> x y)
(< y 2)
))
(断言(和
(>xy)
(

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

连接词被分割成多个断言,因此它实际上并不重要。
如果引入一个大的连接,Z3的解析器将创建一个包含所有连接的术语,但这只是在维护连接的基础上的一个恒定开销。

连接被拆分为多个断言,因此它实际上并不重要。 如果引入一个大的连接词,Z3的解析器将创建一个包含所有连接词的术语,但这只是在维护连接词的基础上的一个恒定开销