目标没有战术支持

2024-03-25

我有一些代码,我想在一些策略的帮助下检查它们。因为我有很多if-then-else声明,我要申请elim-term-ite tactic.

我使用了以下策略

(check-sat-using (then (! simplify :arith-lhs true) elim-term-ite solve-eqs lia2pb pb2bv bit-blast sat))

但是,如果我的错误是 -"goal is in a fragment unsupported by lia2pb"

那么,如果我尝试消除这些策略lia2pb和他们旁边的,我收到另一个错误unknown "incomplete".

我试图删除除以下之外的所有策略simplify,但是我仍然会得到incomplete error.

我应该尝试帮助卫星求解器解决什么问题? 我应该尝试其他策略吗?


To use lia2pb(又名线性整数算术到伪布尔值),所有整数变量都必须有界。也就是说,它们必须有下限和上限。

战术sat仅当输入目标不包含理论原子时才完整。也就是说,目标仅包含布尔连接词和布尔常量。如果情况并非如此,那么如果它无法显示(输入的布尔抽象)目标不可满足,它将返回“未知”。

您可以要求 Z3 显示输入的目标lia2pb使用以下命令:

(apply (then (! simplify :arith-lhs true) elim-term-ite solve-eqs)

如果您的某些公式包含无界整数变量,您可以构建一个策略,在可能的情况下简化为 SAT,否则调用通用求解器。这可以使用以下方法来完成or-else组合器。这是一个例子:

(check-sat-using (then (! simplify :arith-lhs true) elim-term-ite solve-eqs 
                       (or-else (then lia2pb pb2bv bit-blast sat)
                                smt)))

EDIT:战术lia2pb还假设每个有界整数变量的下界为零。这在实践中并不是一个大问题,因为我们可以使用这个策略normalize-bounds申请之前lia2pb。战术normalize-bounds将替换绑定变量x with y + l_x, where y是一个新变量并且l_x是 x 的下界。例如,在包含以下内容的目标中3 <= x, x被替换为y+3, where y是一个新的新鲜变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标没有战术支持 的相关文章

  • Z3 结果的随机性

    我正在使用 Z3 Python 接口作为我正在编写的研究工具的一部分 当我在同一查询上重复运行 Z3 求解器时 我注意到一些非常奇怪的行为 特别是 我似乎每次都不会得到相同的结果 即使我在运行之前明确重置了求解器 作为参考 这是我的代码 i
  • z3 处理非线性实数运算的局限性

    我有一个程序可以生成非线性实数算术中的一组约束 考虑以下两个约束 gt v0 x v2 x v1 y v2 y v3 x v2 x v3 x v2 x v3 y v2 y v3 y v2 y v0 y v2 y v3 x v2 x v1 x
  • 如何从 Lambda 表达式获取值?

    我正在 python 中试验 z3 我有以下模型 set option produce models true set logic QF AUFBV declare fun a Array BitVec 32 BitVec 8 declar
  • Z3统计:时间衡量什么?

    当使用 st 命令选项运行 Z3 3 1 时 我得到了奇怪的统计结果 如果按 Ctrl C Z3 会报告total time time 总时间 和 时间 衡量什么 这是一个错误 虽然很小 上面描述的差异 Thanks 这是 Z3 for L
  • 使用 opam 安装适用于 Z3 的 ocaml API

    我想在我的 OCaml 程序中使用 Z3 使用opam 我做到了 opam install z3 eval opam env 然后尝试编译 ocamlfind ocamlopt o main package z3 linkpkg main
  • Z3 Solver Java API:意外行为

    通过向求解器添加条件 我想使用 solver check 检查是否存在解 因此 我创建了一个简单的示例来寻找 t1 的解决方案 我知道 t1 有一个解 即 t1 0 然而 求解器的状态不是 SATISFIABLE public static
  • 如何在线使用Z3Py解决运算放大器的问题

    求下列电路中R的值 使用以下代码可以解决此问题 R V1 V2 Vo Reals R V1 V2 Vo I1 V1 R 50 I2 V2 R 10 g R I1 I2 print g equations Vo g print equatio
  • Z3 返回型号不可用

    如果可能的话 我想要对我的代码有第二意见 问题的约束条件是 a b c d e f是非零整数 s1 a b c and s2 d e f 是集合 The sum s1 i s2 j for i j 0 2必须是一个完美的正方形 我不明白为什
  • 有没有办法获取Z3中的默认上下文?

    我正在使用 z3py API 4 3 0 我可以轻松翻译一个表达expr从默认上下文到新上下文target ctx using expr translate target ctx 但是我如何从给定的上下文中进行翻译ctx进入默认的 Z3 上
  • Z3 支持非线性算术

    我知道 Z3 对非线性算术有一些支持 但想知道扩展到什么范围 是否可以指定支持和不支持 或可能超时 哪些类别的非线性算术 提前了解这些将帮助我尽早放弃我的任务 似乎不支持与电源相关的内容 如下所示 def pow2 x k Int k re
  • SMT中量化算术推理的局限性是什么?

    我在以下看似微不足道的基准测试中尝试了几种 SMT 求解器 CVC3 CVC4 和 Z3 set logic LIA set info smt lib version 2 0 assert forall x Int forall y Int
  • Z3 SMT 求解器中的常数相等

    我正在使用 Microsoft 的 Z3 SMT 求解器 并且我正在尝试定义自定义类型的常量 默认情况下 这些常量似乎并不不平等 假设您有以下程序 declare sort S 0 declare const x S declare con
  • (Z3Py) 声明函数

    我想在简单的 result x t c 公式中找到一些给定结果 x 对的 c 和 t 系数 from z3 import x Int x c Int c t Int t s Solver f Function f IntSort IntSo
  • Z3:检查模型是否唯一

    Z3 有没有办法证明 表明给定模型是唯一的并且不存在其他解决方案 一个小例子来演示 declare const a1 Int declare const a2 Int declare const a3 Int declare const b
  • Z3 C API 在运行时更改超时

    是否可以使用 C API 在运行时更改求解器的超时值 为了设置超时 可以执行以下操作 Z3 config cfg Z3 mk config Z3 set param value cfg SOFT TIMEOUT 10000 set time
  • Z3:执行矩阵运算

    我的情况 我正在开展一个项目 需要 证明正确性3D 矩阵变换 http rodrigo silveira com 3d programming transformation matrix tutorial UU65YicWsYZ涉及矩阵运算
  • Z3统计中内存使用量的单位是什么?

    z3 统计中测量内存使用情况的单位是什么 是MB还是KB 记忆到底意味着什么 是执行期间的最大内存使用量还是所有分配的总和 它是执行期间最大堆大小的近似值 并通过 cmd context cpp 中的以下函数将其添加到统计对象中 void
  • Z3 Java API 定义函数

    我需要您帮助使用 Z3 Java API 定义函数 我尝试解决这样的问题 与 z3 exe 进程一起工作正常 declare fun a Real declare fun b Real declare fun c Bool define f
  • 如何解决 Z3 中的最小化约束?

    谁能告诉我如何通过 Z3py 实现最小化整数问题 如下所示 我如何定义所有语句 这里所有的变量都是int排序的 Z3中有没有专门的求解器可以解决此类问题 如果有的话 我该如何设置该解算器的配置 Thanks 以下是一些相关 类似的问题和答案
  • 是否可以将一位的位向量转换为 SMTLib2 中的布尔变量?

    我想要一个布尔变量来测试 例如 位向量的第三位是否为 0 位向量的理论允许提取 1 位作为位向量 但不是布尔类型 我想知道我是否可以出演这个角色 谢谢 更新 如果我的问题不清楚 我很抱歉 但 Nikolaj Bjorner 的答案是如何测试

随机推荐

  • 如何在 JSF2 中将一个 @Named bean 注入到另一个 @Named bean 中?

    我有以下代码 Named RequestScoped public class SearchBean private String title private String author getters and setter s In se
  • C++ 中的结构对齐

    struct Vector float x y z func Vector vectors usage load float coords load file func coords 我有一个关于 C 中结构对齐的问题 我将把一组点传递给函
  • 如何检测scala执行上下文耗尽?

    我的 Playframework 应用程序有时没有响应 我想在运行时检测到这一点 记录有关当前在耗尽的执行上下文上运行的内容的信息 实现这一目标的最佳策略是什么 我考虑过将小型可运行对象发布到执行上下文 如果它们没有及时执行 我会记录一条警
  • 在 TabLayout 支持库中以编程方式设置选项卡指示器位置

    在我的应用程序中 我使用支持库中的 TabLayout 和视图寻呼机 其中有 3 个片段 假设我在 fragA 中 其中有一个按钮 单击该按钮会将我带到 fragB 我成功地转到 fragB 但唯一的问题是选项卡指示器保留在fragA Co
  • Meteor:读取简单的 JSON 文件

    我正在尝试使用 Meteor 读取 JSON 文件 我在 stackoverflow 上看到了各种答案 但似乎无法让它们发挥作用 我有试过这个 https stackoverflow com questions 22004412 how t
  • 如何使用 WPF 获得本机“外观和感觉”?

    我刚刚开始开发 WPF 应用程序 这不是我的第一个 WPF 应用程序 但它将是第一个需要改进的应用程序 我对 WPF 的 管道 了解很多 例如绑定等 但对如何完善它知之甚少 我不需要时髦的用户界面 我只需要一些看起来像本机 Windows
  • 从 Trello 身份验证中获取“未找到应用程序”

    我正在尝试调用 Trello API 的身份验证部分以获得用户令牌 我正在使用这个网址 https trello com 1 authorize callback method postMessage return url http 3A
  • python 模拟和未安装的库

    我正在为机器人开发软件 该软件通常在 Raspberry Pi 上运行 让我们考虑两个文件的导入 motor py 运行电机 from RPi import GPIO as gpio and client py 与服务器通信并将命令转发给电
  • 检查用户的 Postgres 访问权限

    我已经查看了文档GRANT Found here http www postgresql org docs 9 0 static sql grant html我试图看看是否有一个内置函数可以让我查看数据库的可访问性级别 当然有 dp and
  • 需要 viber webservice 或 api 地址 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 api 或 web 服务可以通过 c net 通过 viber 发送消息并获得交付 我用谷
  • 在 Flink 中,我可以在同一个槽中拥有一个算子的多个子任务吗?

    探索Apache Flink几天了 对Task Slot的概念有些疑惑 虽然有人问了几个问题 但有一点我不明白 我正在使用一个玩具应用程序进行测试 运行本地集群 我已禁用运算符链接 我从文档中知道插槽允许内存隔离而不是 CPU 隔离 阅读文
  • 使用STL的红黑树内部实现

    我知道我的STL g 4 x x附带 使用红黑树来实现地图等容器 是否可以直接使用STL内部的红黑树 如果是这样 怎么办 如果不是 为什么不 为什么STL不公开红黑树 令人惊讶的是 我无法使用谷歌找到答案 编辑 我正在研究使用红黑树作为插入
  • Android - 如何将 html 转换为 pdf? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 Android SDK 中创建 PDF https stackoverflow com questions 2499960 how to create pdfs in android sdk
  • Android:清单合并因多个错误而失败,请使用 Braintree 查看日志

    当我添加时 我收到此错误Braintree dependency 执行失败 for task vtg processDevDebugManifest 清单合并失败并出现多个错误 请参阅日志 Braintree 版本 应用程序 Gradle
  • 旋转图像后如何合并两个图像?

    旋转图像后如何合并旋转图像 我使用下面的代码 它在图像旋转之前工作正常 如何解决这个问题 请帮我 提前致谢 CGRect backgroundImageRect CGRectMake 0 0 0 0 itemSize width itemS
  • 如何使用 Jinja2 模板提供博客摘录而无需显示 html 代码?

    目前 我正在将 jinja2 与 Flask 结合使用 并使用 ckeditor 在数据库中存储了一篇博客文章 理想情况下 数据应首先显示图像 然后显示博客文章和外部链接到 flikr 的其他一些图像 我知道我可以使用 post body
  • Ecto迁移中如何动态更新字段值?

    我有一个用户表 例如 email username email protected cdn cgi l email protection email protected cdn cgi l email protection email pr
  • 用于选择多个记录的良好 UI 示例

    我目前正在重新审视基于 Windows 的软件的一个区域 并考虑将关系从 1 gt M 更改为 M gt M 因此 我需要调整 UI 以适应选择多个相关记录 有很多常见的方法可以处理这个问题 但通常都很笨拙 示例包括所有项目的两窗格列表和所
  • 通过 C# 代码以不同用户身份静默运行 .bat 文件

    我每隔几秒运行一个批处理文件 使用以下代码与服务器进行时间同步 Process process new Process process StartInfo WorkingDirectory Environment GetFolderPath
  • 目标没有战术支持

    我有一些代码 我想在一些策略的帮助下检查它们 因为我有很多if then else声明 我要申请elim term ite tactic 我使用了以下策略 check sat using then simplify arith lhs tr