要通过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的功能?
答案 0 :(得分:1)
您可以使用方法
expr constant(char const * name, sort const & s);
它可用于创建给定排序的常量(也称为变量)。这是一个例子:
expr a1 = c.constant("a1", A);