C++参数 :logic 和 :timeout 是否在 Z3 不稳定分支中被弃用
Are C++ parameters :logic and :timeout deprecated in Z3 unstable branch?
对于我的应用程序代码,我为求解器的 z3 参数使用了以下设置
z3::params p(context);
p.set(":relevancy", static_cast<unsigned>(1));
p.set(":logic", QF_ABV);
p.set(":timeout", timeout);
solver.set(p);
更新到最新的 Z# 不稳定后,我得到了C++异常,基本上说明逻辑和超时不是有效参数。我没有找到任何等效的逻辑选项,所以我假设它是自动推导的。但是,对于超时,有两个选项soft_timout和solver2_timeout。我知道solver2_timeout用于增量求解器(即使用推送/弹出),因此我将代码更改为使用以下参数。
z3::params p(context);
p.set(":relevancy", static_cast<unsigned>(1));
p.set(":soft_timeout", yices_timeout);
solver.set(p)
更改是否正确?soft_timeout与超时有何不同?是否有在某处维护的有效"z3::p arams"的文档?
参数的文档是通过运行 z3 -p
获得的。有关特定选项的详细信息可通过运行 z3 -pp:option_name
获得。
基础结构在 4.3.2 中发生了重大变化;现在有参数模块,soft_timeout驻留在 smt 模块中,即正确的名称是 smt.soft_timeout
。逻辑没有设置,但我们不能假设它会自动确定(仅适用于其中一些)。相反,我们现在可以为特定逻辑构建求解器对象(通过solver::solver(context & c, char const * logic)
C++),或使用预定义的 SMT 策略之一(例如,请参阅策略教程)
相关文章:
- Arduino Nano:A4988 使用串行输入时通过定时器进行步进控制不稳定
- 我不知道为什么复制构造函数的调用在 c++ 中不稳定
- ArUco姿态估计中的不稳定值
- 当我使用 fstream 与 for 一起使用时值不稳定,C++
- 不稳定的C :每行适应性变化多变量初始化
- 加入向量的所有线程后,程序不稳定,而不是退出
- clEnqueueWriteImage 在执行时间上不稳定
- 不稳定:如何设置初始化器列表和函数参数的凹痕
- 图形场景中的方位角公式计算会产生不稳定的结果
- 配置不稳定以添加括号
- 向量中的项目的指针不稳定
- C++ 今天的多线程,C++ 11 的不稳定情况 - 书籍建议
- 分析计时不稳定
- 格式化构造构件成员初始化,不稳定
- 可以不稳定和/或通用的GUI划分字符串文字
- C++11 中不稳定 - 随访
- 为什么这个模拟中的摩擦力会使物体的行为不稳定
- 构建 Z3 不稳定分支时出错
- C++中不稳定的类成员
- C++参数 :logic 和 :timeout 是否在 Z3 不稳定分支中被弃用