c++ - z3 C++ API : get operation of expr

标签 c++ z3

我将 z3 用作 C++ 库。 在我当前的编程项目中,我使用 z3 简化了 bool 方程。

为了在我的项目中使用简化方程,我需要左轴、右轴和简化方程的运算。

例如:表达式 (x==3)&&(x<5) 在 z3 中被简化为 (x==3)

(= x 3)

lhs 参数 -> x

expression.arg(0)

rhs 参数 -> 3

expression.arg(1)

如何获得操作(=)?

任何具有超过 1 个参数的 expr 都应该有操作权吗?

我现在查看 API 已经 3 个小时了,我就是想不通。

希望任何人都能为我指明正确的方向!

谢谢 脚趾

最佳答案

要将“顶层”运算符作为字符串获取,即对于原始的“and”和简化的“=”,您可以使用:

expression.decl().name().str()

关于c++ - z3 C++ API : get operation of expr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38323108/

相关文章:

c++ - QAction::setAccel(QString) 在 Qt 4 中不可用?

c++ - 在 C++ 的派生类构造函数中从基模板类访问变量

c++ - 捕获文本文件行中的错误,跳过并报告

matrix - Z3:执行矩阵运算

z3 - 你能限制两个边界之间的实变量吗?

python - 已安装 Z3 求解器但我无法导入任何内容

c++ - fatal error C1001 : internal error trying to use templates

c++ - 基于范围的大括号初始化器而不是非常量值?

z3 - 在逻辑 QF_LRA 上使用 z3 时如何获得不同的 unsat 内核

z3 - 适用于 Linux 的 Z3 的先前版本