mirror of
https://github.com/Z3Prover/z3
synced 2025-04-10 19:27:06 +00:00
parent
3074e2b80c
commit
fcc7bd35e5
|
@ -202,7 +202,7 @@ extern "C" {
|
|||
func_decl* d = mk_c(c)->m().mk_fresh_func_decl(prefix,
|
||||
domain_size,
|
||||
reinterpret_cast<sort*const*>(domain),
|
||||
to_sort(range));
|
||||
to_sort(range), false);
|
||||
|
||||
mk_c(c)->save_ast_trail(d);
|
||||
RETURN_Z3(of_func_decl(d));
|
||||
|
@ -216,7 +216,7 @@ extern "C" {
|
|||
if (prefix == nullptr) {
|
||||
prefix = "";
|
||||
}
|
||||
app* a = mk_c(c)->m().mk_fresh_const(prefix, to_sort(ty));
|
||||
app* a = mk_c(c)->m().mk_fresh_const(prefix, to_sort(ty), false);
|
||||
mk_c(c)->save_ast_trail(a);
|
||||
RETURN_Z3(of_ast(a));
|
||||
Z3_CATCH_RETURN(nullptr);
|
||||
|
|
|
@ -2346,10 +2346,10 @@ app * ast_manager::mk_app(func_decl * decl, unsigned num_args, expr * const * ar
|
|||
|
||||
|
||||
func_decl * ast_manager::mk_fresh_func_decl(symbol const & prefix, symbol const & suffix, unsigned arity,
|
||||
sort * const * domain, sort * range) {
|
||||
sort * const * domain, sort * range, bool skolem) {
|
||||
func_decl_info info(null_family_id, null_decl_kind);
|
||||
info.m_skolem = true;
|
||||
SASSERT(info.is_skolem());
|
||||
info.m_skolem = skolem;
|
||||
SASSERT(skolem == info.is_skolem());
|
||||
func_decl * d;
|
||||
if (prefix == symbol::null && suffix == symbol::null) {
|
||||
d = mk_func_decl(symbol(m_fresh_id), arity, domain, range, &info);
|
||||
|
@ -2368,7 +2368,7 @@ func_decl * ast_manager::mk_fresh_func_decl(symbol const & prefix, symbol const
|
|||
}
|
||||
m_fresh_id++;
|
||||
SASSERT(d->get_info());
|
||||
SASSERT(d->is_skolem());
|
||||
SASSERT(skolem == d->is_skolem());
|
||||
return d;
|
||||
}
|
||||
|
||||
|
|
|
@ -1921,20 +1921,24 @@ public:
|
|||
}
|
||||
|
||||
func_decl * mk_fresh_func_decl(symbol const & prefix, symbol const & suffix, unsigned arity,
|
||||
sort * const * domain, sort * range);
|
||||
sort * const * domain, sort * range, bool skolem = true);
|
||||
|
||||
func_decl * mk_fresh_func_decl(unsigned arity, sort * const * domain, sort * range) { return mk_fresh_func_decl(symbol::null, symbol::null, arity, domain, range); }
|
||||
func_decl * mk_fresh_func_decl(unsigned arity, sort * const * domain, sort * range, bool skolem = true) {
|
||||
return mk_fresh_func_decl(symbol::null, symbol::null, arity, domain, range, skolem);
|
||||
}
|
||||
|
||||
func_decl * mk_fresh_func_decl(char const * prefix, char const * suffix, unsigned arity,
|
||||
sort * const * domain, sort * range) {
|
||||
return mk_fresh_func_decl(symbol(prefix), symbol(suffix), arity, domain, range);
|
||||
sort * const * domain, sort * range, bool skolem = true) {
|
||||
return mk_fresh_func_decl(symbol(prefix), symbol(suffix), arity, domain, range, skolem);
|
||||
}
|
||||
|
||||
func_decl * mk_fresh_func_decl(char const * prefix, unsigned arity, sort * const * domain, sort * range) {
|
||||
return mk_fresh_func_decl(symbol(prefix), symbol::null, arity, domain, range);
|
||||
func_decl * mk_fresh_func_decl(char const * prefix, unsigned arity, sort * const * domain, sort * range, bool skolem = true) {
|
||||
return mk_fresh_func_decl(symbol(prefix), symbol::null, arity, domain, range, skolem);
|
||||
}
|
||||
|
||||
app * mk_fresh_const(char const * prefix, sort * s) { return mk_const(mk_fresh_func_decl(prefix, 0, nullptr, s)); }
|
||||
app * mk_fresh_const(char const * prefix, sort * s, bool skolem = true) {
|
||||
return mk_const(mk_fresh_func_decl(prefix, 0, nullptr, s, skolem));
|
||||
}
|
||||
|
||||
symbol mk_fresh_var_name(char const * prefix = nullptr);
|
||||
|
||||
|
|
Loading…
Reference in a new issue