使用C ++ API创建数组expr

时间:2013-07-22 09:43:05

标签: c++ z3

要通过z3 c ++ api创建数组,我在互联网上进行了一些搜索。我能找到的最佳方法是:

context c;
sort I = c.int_sort();
sort A = c.array_sort(I, I);
expr a1 = to_expr(c, mk_var(c, "a1", A)); //this is wrapper to use the C api in my C++ code
expr b1 = store(a1, 3, 4); //then I can apply to a1 the store and select functions provided in the C++ api.

我的问题是:是否有另一种方法来创建数组a1,而不使用C api? C ++ api是否提供了从A创建a1的功能?

1 个答案:

答案 0 :(得分:1)

您可以使用方法

expr constant(char const * name, sort const & s);

它可用于创建给定排序的常量(也称为变量)。这是一个例子:

expr a1 = c.constant("a1", A);