z3 - Z3 探测包含某个变量的子句
问题描述
我有一个问题,我有超过 50 个不同数组的约束。我想应用一种策略,只简化包含某个数组的约束:例如
g = Goal()
a = Array("a", IntSort(), IntSort())
b = Array("b", IntSort(), IntSort())
g.add(a[0] == 0)
g.add(a[0] == b[1])
g.add(b[2] == b[1])
p = Probe('contains-var')
t = If(p[a], 'ctx-simplify', 'skip')
t(g)
应该简化为
[[a[0] == 0, 0 == b[1], b[2] == b[1]]
这可能吗?
解决方案
推荐阅读
- javascript - 递归函数persist导致js
- visual-studio-code - VSCODE:当我按下运行时终端打开
- websphere - IBM CDC - 增量变更监控
- v8 - JS执行栈的实际V8实现
- android - android studio中的应用程序崩溃后错误日志和进程自动清除
- pine-script - 股票清单上的松脚本
- node.js - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306 AWS RDS
- c# - 尝试使用 C# 在 Tally(计量单位)中插入 xml 数据
- reactjs - React hooks - 将 JSX 元素传递给父级
- mysql - 从具有并发连接的表中获取