mirror of
https://github.com/Z3Prover/z3
synced 2025-11-21 05:06:39 +00:00
Weakness of the lemma independent of the pob
Lemma inherits its weakness score from the pob. However, pob's weakness might be reset or changed for some other reason. To avoid affecting the lemma, the weakness is copied on construction.
This commit is contained in:
parent
eabe91cdef
commit
d9100437ce
2 changed files with 8 additions and 5 deletions
|
|
@ -463,7 +463,8 @@ lemma::lemma (ast_manager &manager, expr * body, unsigned lvl) :
|
|||
m_ref_count(0), m(manager),
|
||||
m_body(body, m), m_cube(m),
|
||||
m_zks(m), m_bindings(m), m_lvl(lvl), m_init_lvl(m_lvl),
|
||||
m_pob(nullptr), m_ctp(nullptr), m_external(false), m_bumped(0) {
|
||||
m_pob(nullptr), m_ctp(nullptr), m_external(false),
|
||||
m_bumped(0), m_weakness(UINT_MAX) {
|
||||
SASSERT(m_body);
|
||||
normalize(m_body, m_body);
|
||||
}
|
||||
|
|
@ -472,7 +473,8 @@ lemma::lemma(pob_ref const &p) :
|
|||
m_ref_count(0), m(p->get_ast_manager()),
|
||||
m_body(m), m_cube(m),
|
||||
m_zks(m), m_bindings(m), m_lvl(p->level()), m_init_lvl(m_lvl),
|
||||
m_pob(p), m_ctp(nullptr), m_external(false), m_bumped(0) {
|
||||
m_pob(p), m_ctp(nullptr), m_external(false), m_bumped(0),
|
||||
m_weakness(p->weakness()) {
|
||||
SASSERT(m_pob);
|
||||
m_pob->get_skolems(m_zks);
|
||||
add_binding(m_pob->get_binding());
|
||||
|
|
@ -483,7 +485,8 @@ lemma::lemma(pob_ref const &p, expr_ref_vector &cube, unsigned lvl) :
|
|||
m(p->get_ast_manager()),
|
||||
m_body(m), m_cube(m),
|
||||
m_zks(m), m_bindings(m), m_lvl(p->level()), m_init_lvl(m_lvl),
|
||||
m_pob(p), m_ctp(nullptr), m_external(false), m_bumped(0)
|
||||
m_pob(p), m_ctp(nullptr), m_external(false), m_bumped(0),
|
||||
m_weakness(p->weakness())
|
||||
{
|
||||
if (m_pob) {
|
||||
m_pob->get_skolems(m_zks);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue