3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-25 20:46:01 +00:00

add definitions for under-specified cases of arithmetic operators #2663 #2676 #2679

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-11-06 18:24:22 +01:00
parent 6cf7d8e523
commit 1e0c1cefd6
13 changed files with 59 additions and 20 deletions

View file

@ -765,10 +765,15 @@ namespace datalog {
ast_manager& m;
arith_util a;
datatype_util dt;
bv_util bv;
DL_ENGINE m_engine_type;
bool is_large_bv(sort* s) {
return false;
}
public:
engine_type_proc(ast_manager& m): m(m), a(m), dt(m), m_engine_type(DATALOG_ENGINE) {}
engine_type_proc(ast_manager& m): m(m), a(m), dt(m), bv(m), m_engine_type(DATALOG_ENGINE) {}
DL_ENGINE get_engine() const { return m_engine_type; }
@ -782,6 +787,9 @@ namespace datalog {
else if (dt.is_datatype(m.get_sort(e))) {
m_engine_type = SPACER_ENGINE;
}
else if (is_large_bv(m.get_sort(e))) {
m_engine_type = SPACER_ENGINE;
}
}
};