@@ -2389,7 +2389,9 @@ class theory_lra::imp {
2389
2389
2390
2390
literal_vector m_core2;
2391
2391
2392
- void assign (literal lit, literal_vector const & core, svector<enode_pair> const & eqs, vector<parameter> const & params) {
2392
+ void assign (literal lit, literal_vector const & core, svector<enode_pair> const & eqs, vector<parameter> const & ps) {
2393
+ if (params ().m_arith_validate )
2394
+ VERIFY (validate_assign (lit, core, eqs));
2393
2395
if (core.size () < small_lemma_size () && eqs.empty ()) {
2394
2396
m_core2.reset ();
2395
2397
for (auto const & c : core) {
@@ -2399,7 +2401,7 @@ class theory_lra::imp {
2399
2401
justification * js = nullptr ;
2400
2402
if (proofs_enabled ()) {
2401
2403
js = alloc (theory_lemma_justification, get_id (), ctx (), m_core2.size (), m_core2.data (),
2402
- params .size (), params .data ());
2404
+ ps .size (), ps .data ());
2403
2405
}
2404
2406
ctx ().mk_clause (m_core2.size (), m_core2.data (), js, CLS_TH_LEMMA, nullptr );
2405
2407
}
@@ -2408,7 +2410,7 @@ class theory_lra::imp {
2408
2410
lit, ctx ().mk_justification (
2409
2411
ext_theory_propagation_justification (
2410
2412
get_id (), ctx (), core.size (), core.data (),
2411
- eqs.size (), eqs.data (), lit, params .size (), params .data ())));
2413
+ eqs.size (), eqs.data (), lit, ps .size (), ps .data ())));
2412
2414
}
2413
2415
}
2414
2416
@@ -3138,7 +3140,8 @@ class theory_lra::imp {
3138
3140
std::function<expr*(void )> fn = [&]() { return m.mk_eq (x->get_expr (), y->get_expr ()); };
3139
3141
scoped_trace_stream _sts (th, fn);
3140
3142
3141
- // VERIFY(validate_eq(x, y));
3143
+ if (params ().m_arith_validate )
3144
+ VERIFY (validate_eq (x, y));
3142
3145
ctx ().assign_eq (x, y, eq_justification (js));
3143
3146
}
3144
3147
@@ -3252,8 +3255,9 @@ class theory_lra::imp {
3252
3255
for (auto ev : m_explanation)
3253
3256
set_evidence (ev.ci (), m_core, m_eqs);
3254
3257
3255
-
3256
- // VERIFY(validate_conflict(m_core, m_eqs));
3258
+
3259
+ if (params ().m_arith_validate )
3260
+ VERIFY (validate_conflict (m_core, m_eqs));
3257
3261
if (is_conflict) {
3258
3262
ctx ().set_conflict (
3259
3263
ctx ().mk_justification (
0 commit comments