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

working on relevancy=3

This commit is contained in:
Nikolaj Bjorner 2021-12-30 17:07:14 -08:00
parent b87b464e69
commit e8833f4dac
15 changed files with 65 additions and 62 deletions

View file

@ -106,7 +106,7 @@ namespace smt {
class relevancy {
euf::solver& ctx;
enum class update { relevant_var, add_clause, set_root, set_qhead };
enum class update { relevant_var, relevant_node, add_clause, set_root, set_qhead };
bool m_enabled = false;
svector<std::pair<update, unsigned>> m_trail;
@ -119,6 +119,7 @@ namespace smt {
vector<unsigned_vector> m_occurs; // where do literals occur
unsigned m_qhead = 0; // queue head for relevancy
svector<std::pair<sat::literal, euf::enode*>> m_queue; // propagation queue for relevancy
euf::enode_vector m_stack;
// callbacks during propagation
void relevant_eh(euf::enode* n);
@ -133,8 +134,6 @@ namespace smt {
void propagate_relevant(euf::enode* n);
void set_relevant(euf::enode* n);
public:
relevancy(euf::solver& ctx);