问题标签 [z3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
272 浏览

c# - Z3 .NET API 中的设置逻辑

使用 Z3 版本 3.1 时如何使用 .NET API 函数 .parseSmtlib2String(String) 时使用 set-logic?

我总是以 Z3Error-Exception 告终。

这种情况下不需要吗?

0 投票
1 回答
266 浏览

z3 - 获得量化布尔变量问题的模型

我正在使用 Z3 来检查具有线性整数算术、未解释函数和布尔变量上的量词的逻辑中的可满足性。Z3 没有提供可满足问题的模型,我想这是因为量词(或我选择的逻辑:AUFLIA)。

除了自己实例化所有布尔变量之外,有没有办法让 Z3 为我提供此类问题的模型?

0 投票
1 回答
223 浏览

z3 - Z3 QBVF 问题

继续前面的讨论:Z3:提取存在模型值

有没有区别:

就Z3而言?也就是说,我还会自动获得后者的 QBVF 求解器吗?

此外,经过实验,我发现如果我发出:

通话后(check-sat),它工作正常(这很棒)。如果我也可以说:

唉,对于那个查询,Z3 抱怨它是一个invalid function application. 有没有办法以这种方式使用该eval功能?

谢谢!

0 投票
1 回答
132 浏览

z3 - 调用“eval”超时

莱昂纳多:感谢您的快速回复!非常感激。

如果我将以下脚本提供给 Z3:

Z3 成功构建了模型,其中s1给出了恒等函数。但是,对 eval 的调用会导致 Z3 超时。我需要设置一个特定的选项吗?

另外,我注意到如果我删除该行:

然后 Z3 回应unknown。由于 QBVF 是可判定的,所以我需要设置一个选项有点令人惊讶。是不是我们应该true在所有 QBVF 问题中设置 MBQI,还是这个实例有什么特别之处?

谢谢..

0 投票
2 回答
389 浏览

scala - 在 Windows 上编译 Scala^Z3

我尝试使用 Cygwin 和 JDK 1.7.0 在 Win XP 上编译 Scala^Z3,但没有按预期工作。

我做了以下事情: - 使用 SBT 0.7.4 - 使用来自 github 的当前 Scala^Z3 修订版 - 使用 Cygwin 及其 gcc - 使用 JDK 1.7.0 (javac)

“sbt update”成功了。“sbt package”最终会出现几个错误,说明未定义的引用,如下所示:

\psuter-ScalaZ3-35cb691\src\c/z3_Z3Wrapper.c:10: 未定义引用`_Z3_mk_config'

为了使它工作,我将 ....\PSuterScalaZ3\psuter-ScalaZ3-35cb691\project\build\scalaz3.scala 第 74 行更改为:

惰性 val gcc : ManagedTask = if(isUnix || is32bit) {

在主页上声明它也应该适用于 Windows。有吗?是否有预编译的 jar 可用?

我在这里看到了一个 z3.jar:http://lara.epfl.ch/~psuter/jniz3/z3.jar 也是一个 Linux 版本,我猜?因为它对我也不起作用...

Scala^Z3 是一段非常好的代码(如果我能让它工作的话;))

0 投票
1 回答
536 浏览

z3 - 支持 AUFBV?

Z3 会支持 AUFBV 吗?

对于以下脚本:

在线 Z3 演示似乎对通话感到满意set-logic,但随后它抱怨各种BitVecArray. (顺便说一句,无论逻辑名称如何,在线演示似乎都对调用感到满意set-logic,即使是假名,例如(set-logic blarg)。)

SMT-Lib 网站既没有提到 UFBV 也没有提到 AUFBV,但是考虑到它们的无量词对应物(QF_UFBV 和 QF_AUFBV),我希望 Z3 也能支持 AUFBV。

不用说,数组在实践中起着非常重要的作用。鉴于有限性论点,我认为 AUFBV 逻辑应该保持可判定性。很高兴看到 Z3 支持它。

谢谢!

0 投票
1 回答
86 浏览

z3 - => 的关联性和 = 的可链接性

Leonardo:根据http://goedel.cs.uiowa.edu/smtlib/papers/smt-lib-reference-v2.0-r10 ​​.12.21.pdf 的第 3.7.1 节,=>是右关联的并且=是可链接的。不过Z3的网络版好像不支持这样的用途。我需要设置一个选项来获得这种行为吗?

谢谢..

0 投票
1 回答
173 浏览

z3 - 如何声明一条记录,使其其中一个字段是函数

我对Z3很陌生,很抱歉问了一些愚蠢的问题。

我正在尝试定义一条记录,使其某些字段是函数。我试过这个:

(declare-datatypes (DOM RAN) ((PFun (mk-pfun (dom (DOM) Bool) (law (DOM) RAN)))))

意图是 dom 和 ran 是两个类型为函数的字段(dom 是从 DOM 到 Bool 的函数,而 law 是从 DOM 到 RAN 的函数)。我还尝试将函数类型括在括号中:

(declare-datatypes (DOM RAN) ((PFun (mk-pfun (dom ((DOM) Bool)) (law ((DOM) RAN))))))

bun 这些都不起作用。

我搜索了教程,但没有这方面的例子。

你能帮助我吗?

提前感谢您的回答。

一切顺利,马克西

0 投票
1 回答
483 浏览

z3 - Z3:更好的建模方式?

我有两个 SMT 问题实例。第一个在这里:

Z3 在我不太好的机器上大约 2 分钟后返回了一个模型,这很棒。我也有这个:

我已经在这个问题上运行了 z3 一夜之间,没有 Z3 完成。如果您检查这些文件的内容,您会发现第二个与第一个相同,只是它有一个额外的断言来“拒绝”第一个实例返回的模型。(你可以在它们之间做一个“差异”来了解我的意思。)我碰巧知道这个问题有多个令人满意的模型,我正在尝试使用 z3 来找到所有令人满意的模型。

我知道这可能完全在意料之中,但我很想知道为什么与第一个相比,第二个对 Z3 来说是一个更棘手的问题。有没有更好的方法来制定第二个问题,这样 Z3 会更轻松?

谢谢..

0 投票
1 回答
206 浏览

z3 - Z3_ast 引用计数是否对 Z3 之外的引用进行计数?

Z3有2种模式:自动引用计数和手动。

我了解手动引用计数的工作原理。感谢示例。

但是在自动引用计数的情况下,Z3 是如何知道何时删除 AST 节点的呢? 由于 Z3_ast 是来自 C 语言的结构 => 不可能在 Z3 之外跟踪 Z3_ast 在创建后的所有分配和使用。

还是仅 Z3 内部的 Z3 轨道参考?如果您这样做,则不会对 ref 计数器进行更新:ast1 = ast2。