mirror of
https://github.com/Z3Prover/z3
synced 2025-10-27 17:59:24 +00:00
produce more literals but creating sat lemmas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
7f5e7d523c
commit
2da3b591a7
1 changed files with 16 additions and 4 deletions
|
|
@ -519,7 +519,7 @@ namespace nlsat {
|
||||||
TRACE(lws, display(tout << "interval m_I[" << m_level << "]\n", I) << "\n";);
|
TRACE(lws, display(tout << "interval m_I[" << m_level << "]\n", I) << "\n";);
|
||||||
SASSERT(I.is_sector());
|
SASSERT(I.is_sector());
|
||||||
if (!I.l_inf() && !I.u_inf()) {
|
if (!I.l_inf() && !I.u_inf()) {
|
||||||
mk_prop(ir_ord, level_t(m_level));
|
mk_prop(ir_ord, level_t(m_level - 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -739,7 +739,7 @@ or
|
||||||
*/
|
*/
|
||||||
mk_prop(sample_holds, level_t(m_level - 1));
|
mk_prop(sample_holds, level_t(m_level - 1));
|
||||||
mk_prop(repr, level_t(m_level - 1));
|
mk_prop(repr, level_t(m_level - 1));
|
||||||
mk_prop(ir_ord, level_t(m_level));
|
mk_prop(ir_ord, level_t(m_level - 1));
|
||||||
mk_prop(an_del, p.poly);
|
mk_prop(an_del, p.poly);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -812,8 +812,20 @@ or
|
||||||
|
|
||||||
bool have_representation() const { return m_E.size() > 0; }
|
bool have_representation() const { return m_E.size() > 0; }
|
||||||
|
|
||||||
void apply_pre_ir_ord(const property&) {
|
void apply_pre_ir_ord(const property& p) {
|
||||||
NOT_IMPLEMENTED_YET();
|
/*Rule 4.9. Let i ∈ N, R ⊆ Ri, s ∈ Ri, and ≼ be an indexed root ordering of level i + 1.
|
||||||
|
Assume that ξ.p is irreducible for all ξ ∈ dom(≼), and that ≼ matches s.
|
||||||
|
sample(s)(R), an_sub(i)(R), connected(i)(R), ∀ξ ∈ dom(≼). an_del(ξ.p)(R), ∀(ξ,ξ′) ∈≼. ord_inv(resx_{i+1} (ξ.p, ξ′.p))(R) ⊢ ir_ord(≼, s)(R)
|
||||||
|
*/
|
||||||
|
mk_prop(sample_holds, level_t(m_level -1 ));
|
||||||
|
mk_prop(an_sub, level_t(m_level - 1));
|
||||||
|
mk_prop(connected, level_t(m_level - 1));
|
||||||
|
for (unsigned i = 0; i + 1 < m_E.size(); i++) {
|
||||||
|
SASSERT(max_var(m_E[i].ire.p) == max_var(m_E[i + 1].ire.p));
|
||||||
|
polynomial_ref r(m_pm);
|
||||||
|
r = resultant(polynomial_ref(m_E[i].ire.p, m_pm), polynomial_ref(m_E[i+1].ire.p, m_pm), max_var(m_E[i].ire.p));
|
||||||
|
mk_prop(ord_inv, r);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool invariant() {
|
bool invariant() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue