举个例子: 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)); ?
谢谢。
答案 0 :(得分:0)
Z3支持distinct
函数,该函数在C ++中以expr expr::distinct(expr_vector const & args)
的形式提供。