首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Z3 java API声明对数据类型。

问使用Z3 java API声明对数据类型。
EN

Stack Overflow用户
提问于 2015-02-10 23:11:32
回答 1查看 288关注 0票数 0

我正在使用Z3 java API。我需要定义一组配对元素e.x。{(e1,e2)...}我不知道如何使用Java API在z3中声明配对数据类型?

EN

回答 1

Stack Overflow用户

发布于 2015-02-10 23:58:05

您可以使用Z3 Java API将一个对声明为一个自由数据类型,其中包含一个构造函数mkpair和两个参数,如下所示(假设ctx是一个z3.Context并具有一对整数,则为未经测试的伪代码):

代码语言:javascript
复制
Array<String> argnames = new Array<String>("first", "second");
Array<z3.Sort> argsorts = new Array<z3.Sort>(ctx.getIntSort(), ctx.getIntSort());
z3.Constructor mkpair = ctx.mkConstructor("mkpair", "ispair", argnames, argsorts, null);
z3.DatatypeSort pair = ctx.mkDatatypeSort("pair", new Array<z3.Constructor>(mkpair));

对于集合,有一个内置类型,您可以通过它来构造

代码语言:javascript
复制
z3.SetSort setOfPairs = ctx.mkSetSort(pair);

示例表达式mkpair(1,2)将由以下表达式构建

代码语言:javascript
复制
z3.Expr sample = ctx.mkApp(mkpair.ConstructorDecl(), ctx.mkInt(1), ctx.mkInt(2));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28435115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档