mirror of
https://github.com/Z3Prover/z3
synced 2026-07-02 21:36:09 +00:00
Refactor mk_and/mk_or call sites to use vector overloads (#8286)
* Initial plan * Refactor mk_and and mk_or call sites to use overloaded methods Changed 130 call sites across 64 files to use vector overloads directly instead of manually passing .size() and .data()/.c_ptr() Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Revert mk_or changes for ptr_buffer/ptr_vector (no overload exists in ast_util.h) * Fix compilation errors from mk_and/mk_or refactoring Fixed type mismatches by: - Removing m parameter for expr_ref_vector (ast_util.h has mk_and/mk_or(expr_ref_vector) overloads) - Reverting changes for ref_buffer types (no overload exists in ast_util.h, only in ast.h for m.mk_and) - Verified build succeeds and Z3 works correctly Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix test files to use correct mk_and/mk_or overloads Changed test/doc.cpp and test/udoc_relation.cpp to use mk_and(expr_ref_vector) and mk_or(expr_ref_vector) without m parameter Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
d2e0354ce4
commit
ebc0688470
61 changed files with 118 additions and 118 deletions
|
|
@ -227,10 +227,10 @@ namespace datalog {
|
|||
for (unsigned j = 0; j < args1.size(); ++j) {
|
||||
eqs.push_back(m.mk_eq(args1[j], args2[j]));
|
||||
}
|
||||
conjs.push_back(m.mk_implies(m.mk_and(eqs.size(), eqs.data()), m.mk_eq(v1, v2)));
|
||||
conjs.push_back(m.mk_implies(m.mk_and(eqs), m.mk_eq(v1, v2)));
|
||||
}
|
||||
}
|
||||
body = m.mk_and(conjs.size(), conjs.data());
|
||||
body = m.mk_and(conjs);
|
||||
m_rewriter(body);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -278,7 +278,7 @@ namespace datalog {
|
|||
return false;
|
||||
}
|
||||
expr_ref fml1(m), fml2(m), body(m), head(m);
|
||||
body = m.mk_and(new_conjs.size(), new_conjs.data());
|
||||
body = m.mk_and(new_conjs);
|
||||
head = r.get_head();
|
||||
sub(body);
|
||||
m_rewriter(body);
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ namespace datalog {
|
|||
res_conjs.push_back(tmp);
|
||||
}
|
||||
proof_ref pr(m);
|
||||
m_src_manager->mk_rule(m.mk_implies(m.mk_and(res_conjs.size(), res_conjs.data()), r.get_head()), pr, dest, r.name());
|
||||
m_src_manager->mk_rule(m.mk_implies(m.mk_and(res_conjs), r.get_head()), pr, dest, r.name());
|
||||
}
|
||||
|
||||
// NSB Code review: use substitution facility, such as expr_safe_replace or expr_replacer.
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ namespace datalog {
|
|||
new_tail.push_back(m.mk_eq(kv.m_value, tmp));
|
||||
}
|
||||
proof_ref pr(m);
|
||||
src_manager->mk_rule(m.mk_implies(m.mk_and(new_tail.size(), new_tail.data()), new_head), pr, dest, r.name());
|
||||
src_manager->mk_rule(m.mk_implies(m.mk_and(new_tail), new_head), pr, dest, r.name());
|
||||
}
|
||||
|
||||
expr_ref mk_array_instantiation::create_head(app* old_head) {
|
||||
|
|
|
|||
|
|
@ -347,11 +347,11 @@ namespace datalog {
|
|||
}
|
||||
else {
|
||||
if (m.is_and(f)) {
|
||||
result = m.mk_and(m_app_args.size(), m_app_args.data());
|
||||
result = m.mk_and(m_app_args);
|
||||
}
|
||||
else {
|
||||
SASSERT(m.is_or(f));
|
||||
result = m.mk_or(m_app_args.size(), m_app_args.data());
|
||||
result = m.mk_or(m_app_args);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -529,7 +529,7 @@ namespace datalog {
|
|||
m_itail_members.push_back(r->get_tail(i));
|
||||
SASSERT(!r->is_neg_tail(i));
|
||||
}
|
||||
itail = m.mk_and(m_itail_members.size(), m_itail_members.data());
|
||||
itail = m.mk_and(m_itail_members);
|
||||
modified = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -340,7 +340,7 @@ namespace datalog {
|
|||
tail.push_back(r.get_tail(j));
|
||||
}
|
||||
head = mk_head(source, *result, r.get_head(), cnt);
|
||||
fml = m.mk_implies(m.mk_and(tail.size(), tail.data()), head);
|
||||
fml = m.mk_implies(m.mk_and(tail), head);
|
||||
proof_ref pr(m);
|
||||
rm.mk_rule(fml, pr, *result, r.name());
|
||||
TRACE(dl, result->last()->display(m_ctx, tout););
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ namespace datalog {
|
|||
m_terms.reset();
|
||||
m_var2cnst.reset();
|
||||
m_cnst2var.reset();
|
||||
fml = m.mk_and(conjs.size(), conjs.data());
|
||||
fml = m.mk_and(conjs);
|
||||
|
||||
for (unsigned i = 0; i < sorts.size(); ++i) {
|
||||
var = m.mk_var(i, sorts[i]);
|
||||
|
|
@ -211,7 +211,7 @@ namespace datalog {
|
|||
m_cnst2var.insert(cnst, var);
|
||||
}
|
||||
|
||||
fml = m.mk_and(conjs.size(), conjs.data());
|
||||
fml = m.mk_and(conjs);
|
||||
m_var2cnst(fml);
|
||||
collect_egraph(fml);
|
||||
|
||||
|
|
@ -221,7 +221,7 @@ namespace datalog {
|
|||
for (auto & kv : m_funs) dealloc(kv.m_value);
|
||||
m_funs.reset();
|
||||
|
||||
fml = m.mk_and(conjs.size(), conjs.data());
|
||||
fml = m.mk_and(conjs);
|
||||
fml = m.mk_implies(fml, r.get_head());
|
||||
TRACE(dl, r.display(m_ctx, tout); tout << mk_pp(fml, m) << "\n";);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue