3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-04 05:19:11 +00:00

v0.1 of nla saturation

This commit is contained in:
Nikolaj Bjorner 2025-09-26 23:05:02 +03:00
parent 3e9afb30af
commit fdac93fff3
3 changed files with 6 additions and 1 deletions

View file

@ -8,6 +8,7 @@ BasedOnStyle: LLVM
IndentWidth: 4
TabWidth: 4
UseTab: Never
IndentCaseLabels: false

View file

@ -1318,6 +1318,7 @@ lbool core::check() {
return l_false;
}
if (no_effect() && lp_settings().m_enable_stellensatz)
ret = m_stellensatz.saturate();

View file

@ -3475,9 +3475,12 @@ public:
++m_stats.m_conflicts;
for (auto ev : m_explanation)
set_evidence(ev.ci(), m_core, m_eqs);
if (m_eqs.empty() && all_of(m_core, [&](literal l) { return ctx().get_assignment(l) == l_false; }))
is_conflict = true;
for (auto l : m_core) {
IF_VERBOSE(1, verbose_stream() << l << " " << ctx().get_assignment(l) << "\n");
}
TRACE(arith_conflict,
tout << "@" << ctx().get_scope_level() << (is_conflict ? " conflict":" lemma");
for (auto const& p : m_params) tout << " " << p;