如何使用z3 c ++ API将常量声明为不同的

时间:2015-01-27 00:18:11

标签: c++ api z3

举个例子:     context ctx;

sort type1 = ctx.int_sort();
sort type2 = ctx.bool_sort();

func_decl b1 = function("b1", type1, type2);

expr x = ctx.int_const("x");
expr y = ctx.int_const("y");
expr z = ctx.int_const("z");

solver s(ctx);
s.add(b1(x));
s.add(b1(y));
s.add(b1(z));

除了使用以外,如何将x,y和z声明为不同的:     s.add(不是(x == y或x == z或y == z)); ?

谢谢。

1 个答案:

答案 0 :(得分:0)

Z3支持distinct函数,该函数在C ++中以expr expr::distinct(expr_vector const & args)的形式提供。