3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-12 18:24:43 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-13 10:46:41 -07:00
parent 5c4f775b1b
commit 5dafd1fe25
3 changed files with 31 additions and 8 deletions

View file

@ -164,6 +164,8 @@ namespace smt {
};
typedef dl_graph<GExt> Graph;
enum lia_or_lra { not_set, is_lia, is_lra };
smt_params & m_params;
arith_util m_util;
arith_eq_adapter m_arith_eq_adapter;
@ -175,7 +177,7 @@ namespace smt {
ptr_vector<eq_prop_info> m_eq_prop_infos;
app_ref_vector m_terms;
bool_vector m_signs;
bool_vector m_signs;
ptr_vector<atom> m_atoms;
ptr_vector<atom> m_asserted_atoms; // set of asserted atoms
@ -186,7 +188,7 @@ namespace smt {
unsigned m_num_core_conflicts;
unsigned m_num_propagation_calls;
double m_agility;
bool m_is_lia;
lia_or_lra m_lia_or_lra;
bool m_non_diff_logic_exprs;
arith_factory * m_factory;
@ -220,6 +222,8 @@ namespace smt {
return get_family_id() == n->get_family_id();
}
void set_sort(expr* n);
public:
theory_diff_logic(ast_manager& m, smt_params & params):
theory(m.mk_family_id("arith")),
@ -233,7 +237,7 @@ namespace smt {
m_num_core_conflicts(0),
m_num_propagation_calls(0),
m_agility(0.5),
m_is_lia(true),
m_lia_or_lra(not_set),
m_non_diff_logic_exprs(false),
m_factory(nullptr),
m_nc_functor(*this),