z3 - z3py 中的参数数据类型
问题描述
z3py 是否具有创建参数数据类型的函数,例如使用以下 SMTLIB 代码生成的函数?
( declare - datatype List ( par ( T )
( ( nil ) ( cons ( car T ) ( cdr ( List T )) ))))
解决方案
是的。见这里:https ://ericpony.github.io/z3py-tutorial/advanced-examples.htm
搜索标题为“数据类型”的部分。
这是该页面上的示例,它完全符合您的要求:
def DeclareList(sort):
List = Datatype('List_of_%s' % sort.name())
List.declare('cons', ('car', sort), ('cdr', List))
List.declare('nil')
return List.create()
IntList = DeclareList(IntSort())
RealList = DeclareList(RealSort())
IntListList = DeclareList(IntList)
推荐阅读
- javascript - 如何将其更改为数字并保留所有数字
- node.js - 如何启用 Chromium 扩展?
- javascript - 如何在 React 中渲染存储在对象中的数组?
- javascript - 我们如何访问 ES6 类中的私有变量?
- spring - 在 optaplanner 中计划一个时间表,考虑到课程需要 2 小时或 3 小时
- sql - SQLPLUS:设置 sqlformat 插入:SP2-0158
- azure - 在 Pulumi 中使用服务原理向 Azure 进行身份验证
- java - 休眠:找不到命名参数 []
- javascript - 在 react-native 中使用 BottomTabNavigator 看不到图标
- r - 如何首先使用 case_when 超过唯一值来创建新变量