3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-18 02:16:40 +00:00
This commit is contained in:
Nikolaj Bjorner 2021-06-06 16:23:27 -07:00
parent 9afc59d5b4
commit 34fc0cdd5c
4 changed files with 53 additions and 30 deletions

View file

@ -36,6 +36,8 @@ namespace fpa {
bv_util & m_bv_util;
arith_util & m_arith_util;
obj_map<expr, expr*> m_conversions;
svector<std::tuple<enode*, bool, bool>> m_nodes;
unsigned m_nodes_qhead = 0;
bool visit(expr* e) override;
bool visited(expr* e) override;
@ -45,6 +47,7 @@ namespace fpa {
sat::literal_vector mk_side_conditions();
void attach_new_th_var(enode* n);
void activate(expr* e);
void unit_propagate(std::tuple<enode*, bool, bool> const& t);
void ensure_equality_relation(theory_var x, theory_var y);
public:
@ -67,7 +70,7 @@ namespace fpa {
bool add_dep(euf::enode* n, top_sort<euf::enode>& dep) override;
void finalize_model(model& mdl) override;
bool unit_propagate() override { return false; }
bool unit_propagate() override;
void get_antecedents(sat::literal l, sat::ext_justification_idx idx, sat::literal_vector& r, bool probing) override { UNREACHABLE(); }
sat::check_result check() override { return sat::check_result::CR_DONE; }