z3相关内容

在C ++项目中包含Z3

我想在llvm项目(从其示例项目复制的文件目录)中使用Z3.我现在所做的只是简单地包含z3 ++.h,而没有在源文件中添加任何其他代码并希望通过编译.但是我不知道如何处理makefile以使其工作.我尝试了几次,它报告了诸如“禁用异常处理,使用-fexceptions启用"之类的错误以及其他链接错误.有人可以给我提示如何更改Makefile使其起作用吗? 解决方案 我不清楚正在修改哪个ma ..
发布时间:2020-05-02 11:03:10 其他开发

编译z3时ld链接错误

我在编译z3时遇到以下错误.对于ld来说似乎是错误的.我想知道如何做才能使其编译.这是git中opt分支的问题.我在使用OS X 10.9.2(13C1021)的iMac上 我使用的xcode版本5.1.1(5B1008)的xcode-select工具安装到版本2333.我使用的端口版本是2.2.1,安装了ld. 该问题似乎是一个链接问题.我将链接加载器用作:ld64 @ 136_2 + llvm ..
发布时间:2020-04-30 08:34:21 其他开发

z3中SMT-LIB 2.0断言上的标签

您能告诉我如何在z3 SMT-LIB 2.0基准测试中命名断言吗?我更喜欢使用SMT-LIB的标准语法,但是由于z3似乎不了解它,我只是在寻找一种使用z3的工具.需要获得带有标签的非饱和核. 这是我测试过的基准测试的一个示例: (set-option enable-cores) (set-logic AUFLIA) (declare-fun x () Int) (declare-fun ..
发布时间:2020-04-26 14:49:04 其他开发

关于Z3 for Java的性能问题

我在使用Z3 for Java的当前项目中遇到了一些性能问题: 基本上我当前的大多数约束非常简单: 例如:(f(x) = 2&& f(y) ..
发布时间:2019-01-08 14:00:45 Java开发

显示从SMT-LIB2文件解析的声明

我正在使用Z3和Java API。在我的SMT-LIB2文件中,有几个变量: (declare-fun x0()Int) ( declare-fun x1()Bool) ;很多 我想得到所有这些变量,并将它们存储在 Expr的。从z3随附的示例中,我发现API SMTLIBDecls 获取从SMT-LIB1文件解析的声明,但SMT-LIB2没有类似的API。我怎样才能得到声 ..
发布时间:2019-01-08 13:40:15 Java开发

Z3 Java API文档或教程

我已经安装了 Z3 API for Java ,我正在尝试使用它,但我找不到任何解释如何使用此API的教程或文档。 到目前为止我找到的唯一资源是源代码和示例程序,所以我想知道是否有人知道 Z3 Java API 的任何其他文档/教程。 解决方案 目前没有单独的Java API文档(API本身的注释除外)。 bovoi表示,这个API的大部分都是从.NET API自动翻译出来的,所以它 ..
发布时间:2018-12-21 20:31:26 Java开发

Z3:将int转换为bitvector

:变量x定义为int排序 (declare-const x Int) 是否有任何方法可以将x转换为bitvector排序?因为有时x涉及int理论无法处理的位操作,如&,|,^。 我不想在开始时将变量x定义为位向量因为我认为除了位操作之外,int理论支持的操作(例如+, - ,*,/)比bitvectors支持的操作运行得快得多。 所以实际上,我想将int sort转换为bit ..
发布时间:2018-08-06 20:00:00 其他开发

哪些统计数据表明Z3有效运行?

SMTLib2指令(get-info all-statistics)显示几个数字,例如 NUM。冲突:4 num。传播:0(二进制:0) num。 QA。 inst:23 为了测试不同的公理和编码,我想知道哪些数字适当地声明一个Z3跑步比另一个更好/更有效。 从名称中猜出,我会说 num。 QA。 inst - 量词实例的数量是一个很好的指标(较低=更 ..
发布时间:2017-08-16 22:03:57 开发方法

Z3实数算术和统计

鉴于使用Z3's reals编码的问题,哪些统计信息 Z3 / smt2 / st 产生可能有助于判断reals引擎是否具有问题/做很多工作“? 在我的情况下,我有两个主要是等价的问题编码,都使用reals。然而,编码中的“小”差异在运行时产生了很大的不同,即编码A需要2:30分钟并编码B 13分钟。 Z3统计数据显示,冲突和量化实例化大部分是等效的,但其他的则不是,例如 grobner , ..
发布时间:2017-08-16 20:51:44 开发方法

有没有办法使用Z3来获得有关序列和地图的约束的模型?

前一段时间,我问我如何使用Z3来获取有关集合约束的模型(有没有办法使用Z3来获取有关集合的约束的模型?对于这个扩展的数组理论在我的情况下工作得很好。 现在我已经有序列的同样的问题(操作长度,成员资格,(内部)相等切片)和地图。即公理化导致与集相同的问题。我一直在考虑使用扩展阵列理论编码序列和地图,但是我还没有想出一个很好的方式来实现。 有没有人想知道如何编码序列和地图以获得准确的模型? ..
发布时间:2017-05-24 20:49:57 其他开发

Z3Py:从方程组生成抽象公式

我的示例:方程组 伪代码约束基础 b a = b + c ∧e = a * c ∧a = +2;一些可替换的具体值 ∧c = +18 b = -16 ∧e = -32 我想要的信息 在方程组中,我想得到以下知识: / p> 抽象公式可用于从给定值计算变量值约束基础)。 (像在高中,老师不只是想 ..
发布时间:2016-12-29 12:57:59 其他数据库

在Z3建立自定义理论

此问题是对以下问题的跟进。 程序附件在Z3 我有一个谓词(在这种情况下我使用名称”重“)以使用自定义算法进行评估。我写了下面的代码片段来做。但我看到,传递到函数CMTh_reduce_app()的参数不是实际的整数,而是整数类型的常量。我需要的是2个整数,所以我可以评估谓词并返回结果(在函数CMTh_reduce_app()中完成的操作现在是无意义的)。 #include ..
发布时间:2016-11-02 23:44:50 C/C++开发

在z3 c ++接口中是否有一种形式的bitvector concat?

z3 python接口中的Concat()函数允许连接任意位向量。我们的应用程序使用的是C ++接口。有一个简单的方法来获得与C ++接口相同的效果?我试图建立一个输出位向量表达式从子表达式。我可以使用shift和or操作,但我想要更简单,如果它存在。 例如,我想做的事情之一是创建一个4位位向量表示输入8位位向量表达式的奇数位。以下工作: expr getOddBits8to4(co ..
发布时间:2016-11-02 23:21:47 C/C++开发

Z3_parse_smtlib_string使用问题

在下面的代码中,我提出了一个明显不能令人满意的Z3声明,然后尝试使用C ++ / C Z3 API来以编程方式解决。 问题是这个代码总是触发检查输出:“SAT ?!”。即在API调用的当前使用中确定明确不可满足的表达式是可满足的。 如何使这种操作按预期工作? #include“z3 ++。h” int main(){ z3 :: context c; std :: ..
发布时间:2016-10-25 15:21:08 C/C++开发

Z3_parse_smtlib_string使用问题

在下面的代码中,我提出了一个明显不能令人满意的Z3声明,然后尝试使用C ++ / C Z3 API来以编程方式解决。 问题是这个代码总是触发检查输出:“SAT ?!”。即在API调用的当前使用中确定明确不可满足的表达式是可满足的。 如何使这种操作按预期工作? #include“z3 ++。h” int main(){ z3 :: context c; std :: ..
发布时间:2016-10-25 14:47:42 C/C++开发

数组的选择和存储使用C ++ API

我使用z3 v 4.1。我使用C ++ API,我想在上下文中添加一些数组约束。 我没有看到C ++ API中的选择和排序功能。我试过混合C和C ++ API。在例如从 Z3_Context (即C API)更改上下文变量的C API中提供的 array_example1() 上下文(即C ++ API)在“创建先行”语句中获得分段错误 void array_example1(){ ..
发布时间:2016-10-24 15:22:50 C/C++开发

在C#Z3运行时,会出现一个错误

任何人都可以请帮助! 当我试图运行下面的代码,我得到这个错误: “无法加载文件或程序集”微软。 Z3,版本= 4.0.0.0, 区域性=中性公钥= 9c8d792caae602a2'或其 依赖项。试图加载一个不正确的程序 格式为“ 下面是代码: 类计划 { 静态无效的主要(字串[] args)使用 { (上下文CTX =新的上下文()) { RealE ..
发布时间:2016-09-21 14:58:11 C#/.NET

在Z3多值逻辑公式评价

我需要评估过的Z3使用各种变量值的表达式的值。 我知道Z3是satisfiabilty检查,但model.Eval(参数)会导致一个表达式的评估在由模型生成的变量的值。 因此​​,它是可能的。p和q在p和q(p,q是布尔)的所有可能值 例> 因此,在一定意义上使用一些递归或迭代创建真值表出来。 是可以任何方式Z3这样做呢? 帮助与C#的API会更好。 感谢 ..
发布时间:2016-09-19 12:24:13 C#/.NET