expr mk_and(expr_vector args) {
    vector<Z3_ast> array;

    for (int i = 0; i < args.size(); i++)
      array.push_back(args[i]);

    return to_expr(args.ctx(), Z3_mk_and(args.ctx(), array.size(), &(array[0])));
}
Exemple #2
0
inline expr MkAtMost(expr_vector vars, unsigned k) {
    array<Z3_ast> _vars(vars.size());
    for (unsigned i = 0; i < vars.size(); ++i) {
        _vars[i] = vars[i];
    }
	expr r{ vars.ctx(), Z3_mk_atmost(vars.ctx(), vars.size(), _vars.ptr(), k) };
	vars.check_error();
	return r;
}