@@ -79,7 +79,7 @@ namespace euf {
79
79
}
80
80
81
81
bool solver::propagate (literal l, ext_constraint_idx idx) {
82
- force_push ();
82
+ force_push ();
83
83
auto * ext = sat::constraint_base::to_extension (idx);
84
84
SASSERT (ext != this );
85
85
return ext->propagate (l, idx);
@@ -128,18 +128,17 @@ namespace euf {
128
128
}
129
129
130
130
void solver::asserted (literal l) {
131
-
132
131
auto * ext = get_solver (l.var ());
133
132
if (ext) {
134
- force_push ();
133
+ force_push ();
135
134
ext->asserted (l);
136
135
return ;
137
136
}
138
137
139
138
auto p = m_var2node.get (l.var (), enode_bool_pair (nullptr , false ));
140
139
if (!p.first )
141
140
return ;
142
- force_push ();
141
+ force_push ();
143
142
bool sign = p.second != l.sign ();
144
143
euf::enode* n = p.first ;
145
144
expr* e = n->get_owner ();
@@ -200,7 +199,7 @@ namespace euf {
200
199
}
201
200
202
201
sat::check_result solver::check () {
203
- force_push ();
202
+ force_push ();
204
203
bool give_up = false ;
205
204
bool cont = false ;
206
205
for (auto * e : m_solvers)
@@ -220,17 +219,17 @@ namespace euf {
220
219
++m_num_scopes;
221
220
}
222
221
223
- void solver::force_push () {
224
- for (; m_num_scopes > 0 ; --m_num_scopes) {
225
- scope s;
226
- s.m_bool_var_lim = m_bool_var_trail.size ();
227
- s.m_trail_lim = m_trail.size ();
228
- m_scopes.push_back (s);
229
- for (auto * e : m_solvers)
230
- e->push ();
231
- m_egraph.push ();
232
- }
233
- }
222
+ void solver::force_push () {
223
+ for (; m_num_scopes > 0 ; --m_num_scopes) {
224
+ scope s;
225
+ s.m_bool_var_lim = m_bool_var_trail.size ();
226
+ s.m_trail_lim = m_trail.size ();
227
+ m_scopes.push_back (s);
228
+ for (auto * e : m_solvers)
229
+ e->push ();
230
+ m_egraph.push ();
231
+ }
232
+ }
234
233
235
234
void solver::pop (unsigned n) {
236
235
if (n <= m_num_scopes) {
@@ -242,14 +241,14 @@ namespace euf {
242
241
for (auto * e : m_solvers)
243
242
e->pop (n);
244
243
245
- scope & s = m_scopes[m_scopes.size () - n];
244
+ scope & s = m_scopes[m_scopes.size () - n];
246
245
247
246
for (unsigned i = m_bool_var_trail.size (); i-- > s.m_bool_var_lim ; )
248
247
m_var2node[m_bool_var_trail[i]] = enode_bool_pair (nullptr , false );
249
248
m_bool_var_trail.shrink (s.m_bool_var_lim );
250
-
251
- undo_trail_stack (*this , m_trail, s.m_trail_lim );
252
-
249
+
250
+ undo_trail_stack (*this , m_trail, s.m_trail_lim );
251
+
253
252
m_scopes.shrink (m_scopes.size () - n);
254
253
}
255
254
@@ -310,7 +309,7 @@ namespace euf {
310
309
r->m_config = m_config;
311
310
std::function<void * (void *)> copy_justification = [&](void * x) { return (void *)(r->base_ptr () + ((unsigned *)x - base_ptr ())); };
312
311
r->m_egraph .copy_from (m_egraph, copy_justification);
313
- r->set_solver (s);
312
+ r->set_solver (s);
314
313
for (unsigned i = 0 ; i < m_id2solver.size (); ++i) {
315
314
auto * e = m_id2solver[i];
316
315
if (e)
@@ -330,7 +329,7 @@ namespace euf {
330
329
}
331
330
332
331
void solver::pop_reinit () {
333
- force_push ();
332
+ force_push ();
334
333
for (auto * e : m_solvers)
335
334
e->pop_reinit ();
336
335
}
@@ -409,7 +408,7 @@ namespace euf {
409
408
}
410
409
411
410
sat::literal solver::internalize (expr* e, bool sign, bool root) {
412
- force_push ();
411
+ force_push ();
413
412
auto * ext = get_solver (e);
414
413
if (ext)
415
414
return ext->internalize (e, sign, root);
0 commit comments