mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 14:13:23 +00:00
ensure there are enough variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
93ad91d2f9
commit
008fc648c1
1 changed files with 4 additions and 1 deletions
|
@ -338,7 +338,7 @@ namespace datalog {
|
||||||
|
|
||||||
expr_ref context::bind_variables(expr* fml, bool is_forall) {
|
expr_ref context::bind_variables(expr* fml, bool is_forall) {
|
||||||
expr_ref result(m);
|
expr_ref result(m);
|
||||||
app_ref_vector const& vars = m_vars;
|
app_ref_vector & vars = m_vars;
|
||||||
if (vars.empty()) {
|
if (vars.empty()) {
|
||||||
result = fml;
|
result = fml;
|
||||||
}
|
}
|
||||||
|
@ -352,6 +352,9 @@ namespace datalog {
|
||||||
else {
|
else {
|
||||||
svector<symbol> names;
|
svector<symbol> names;
|
||||||
for (unsigned i = 0; i < sorts.size(); ++i) {
|
for (unsigned i = 0; i < sorts.size(); ++i) {
|
||||||
|
if (vars.size() == i) {
|
||||||
|
vars.push_back(m.mk_fresh_const("x", m.mk_bool_sort()));
|
||||||
|
}
|
||||||
if (!sorts[i]) {
|
if (!sorts[i]) {
|
||||||
sorts[i] = vars[i]->get_decl()->get_range();
|
sorts[i] = vars[i]->get_decl()->get_range();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue