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

finish is-fixed

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-01-19 16:28:34 +01:00
parent e5767bf2b8
commit c00591daaf
8 changed files with 35 additions and 4 deletions

View file

@ -2922,7 +2922,7 @@ namespace smt {
while (l) {
theory_id tid = l->get_id();
auto* p = m_theories.get_plugin(tid);
if (p && p->is_fixed(l->get_var(), val, explain))
if (p && p->is_fixed_propagated(l->get_var(), val, explain))
return true;
l = l->get_next();
}

View file

@ -620,7 +620,7 @@ namespace smt {
/**
* \brief theory plugin for fixed values.
*/
virtual bool is_fixed(theory_var v, expr_ref& val, literal_vector & explain) { return false; }
virtual bool is_fixed_propagated(theory_var v, expr_ref& val, literal_vector & explain) { return false; }
};
};

View file

@ -519,7 +519,7 @@ namespace smt {
}
}
bool theory_bv::is_fixed(theory_var v, expr_ref& val, literal_vector& lits) {
bool theory_bv::is_fixed_propagated(theory_var v, expr_ref& val, literal_vector& lits) {
numeral r;
enode* n = get_enode(v);
if (!get_fixed_value(v, r))

View file

@ -282,7 +282,7 @@ namespace smt {
void collect_statistics(::statistics & st) const override;
bool get_fixed_value(app* x, numeral & result) const;
bool is_fixed(theory_var v, expr_ref& val, literal_vector& explain) override;
bool is_fixed_propagated(theory_var v, expr_ref& val, literal_vector& explain) override;
bool check_assignment(theory_var v);
bool check_invariant();