mirror of
https://github.com/Z3Prover/z3
synced 2026-02-02 15:26:17 +00:00
Standardize for-loop increments to prefix form (++i) (#8199)
* Initial plan * Convert postfix to prefix increment in for loops Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix member variable increment conversion bug Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Update API generator to produce prefix increments 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
1bf463d77a
commit
2436943794
475 changed files with 3237 additions and 3237 deletions
|
|
@ -198,7 +198,7 @@ void der::reduce1(quantifier * q, expr_ref & r, proof_ref & pr) {
|
|||
m_pos2var.reserve(num_args, -1);
|
||||
|
||||
// Find all equalities/disequalities
|
||||
for (unsigned i = 0; i < num_args; i++) {
|
||||
for (unsigned i = 0; i < num_args; ++i) {
|
||||
expr* arg = literals.get(i);
|
||||
is_eq = is_forall(q) ? is_var_diseq(arg, num_decls, v, t) : is_var_eq(arg, num_decls, v, t);
|
||||
if (is_eq) {
|
||||
|
|
@ -243,7 +243,7 @@ static void der_sort_vars(ptr_vector<var> & vars, expr_ref_vector & definitions,
|
|||
|
||||
// eliminate self loops, and definitions containing quantifiers.
|
||||
bool found = false;
|
||||
for (unsigned i = 0; i < definitions.size(); i++) {
|
||||
for (unsigned i = 0; i < definitions.size(); ++i) {
|
||||
var * v = vars[i];
|
||||
expr * t = definitions.get(i);
|
||||
if (t == nullptr || has_quantifiers(t) || occurs(v, t))
|
||||
|
|
@ -263,7 +263,7 @@ static void der_sort_vars(ptr_vector<var> & vars, expr_ref_vector & definitions,
|
|||
|
||||
unsigned vidx, num;
|
||||
|
||||
for (unsigned i = 0; i < definitions.size(); i++) {
|
||||
for (unsigned i = 0; i < definitions.size(); ++i) {
|
||||
if (!definitions.get(i))
|
||||
continue;
|
||||
var * v = vars[i];
|
||||
|
|
@ -362,7 +362,7 @@ void der::create_substitution(unsigned sz) {
|
|||
m_subst_map.reset();
|
||||
m_subst_map.resize(sz, nullptr);
|
||||
|
||||
for(unsigned i = 0; i < m_order.size(); i++) {
|
||||
for(unsigned i = 0; i < m_order.size(); ++i) {
|
||||
expr_ref cur(m_map.get(m_order[i]), m);
|
||||
|
||||
// do all the previous substitutions before inserting
|
||||
|
|
@ -379,7 +379,7 @@ void der::apply_substitution(quantifier * q, expr_ref_vector& literals, bool is_
|
|||
|
||||
// get a new expression
|
||||
m_new_args.reset();
|
||||
for (unsigned i = 0; i < num_args; i++) {
|
||||
for (unsigned i = 0; i < num_args; ++i) {
|
||||
int x = m_pos2var[i];
|
||||
if (x != -1 && m_map.get(x) != nullptr)
|
||||
continue; // this is a disequality with definition (vanishes)
|
||||
|
|
@ -393,11 +393,11 @@ void der::apply_substitution(quantifier * q, expr_ref_vector& literals, bool is_
|
|||
// don't forget to update the quantifier patterns
|
||||
expr_ref_buffer new_patterns(m);
|
||||
expr_ref_buffer new_no_patterns(m);
|
||||
for (unsigned j = 0; j < q->get_num_patterns(); j++) {
|
||||
for (unsigned j = 0; j < q->get_num_patterns(); ++j) {
|
||||
new_patterns.push_back(m_subst(q->get_pattern(j), m_subst_map.size(), m_subst_map.data()));
|
||||
}
|
||||
|
||||
for (unsigned j = 0; j < q->get_num_no_patterns(); j++) {
|
||||
for (unsigned j = 0; j < q->get_num_no_patterns(); ++j) {
|
||||
new_no_patterns.push_back(m_subst(q->get_no_pattern(j), m_subst_map.size(), m_subst_map.data()));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue