mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 11:55:51 +00:00
adding dt-solver (#4739)
* adding dt-solver Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * dt Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * move mbp to self-contained module Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * files Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * Create CMakeLists.txt * dt Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * rename to bool_var2expr to indicate type class * mbp * na
This commit is contained in:
parent
b77c57451f
commit
2f756da294
62 changed files with 2309 additions and 1257 deletions
|
@ -42,8 +42,7 @@ namespace fpa {
|
|||
}
|
||||
|
||||
|
||||
expr_ref solver::convert(expr* e)
|
||||
{
|
||||
expr_ref solver::convert(expr* e) {
|
||||
expr_ref res(m);
|
||||
expr* ccnv;
|
||||
TRACE("t_fpa", tout << "converting " << mk_ismt2_pp(e, m) << std::endl;);
|
||||
|
@ -105,6 +104,8 @@ namespace fpa {
|
|||
}
|
||||
|
||||
bool solver::visit(expr* e) {
|
||||
if (visited(e))
|
||||
return true;
|
||||
if (!is_app(e) || to_app(e)->get_family_id() != get_id()) {
|
||||
ctx.internalize(e, m_is_redundant);
|
||||
return true;
|
||||
|
@ -161,12 +162,12 @@ namespace fpa {
|
|||
SASSERT(m_fpa_util.is_float(n->get_expr()) || m_fpa_util.is_rm(n->get_expr()));
|
||||
SASSERT(n->get_decl()->get_range() == s);
|
||||
|
||||
expr* owner = n->get_expr();
|
||||
|
||||
if (is_attached_to_var(n))
|
||||
return;
|
||||
attach_new_th_var(n);
|
||||
|
||||
expr* owner = n->get_expr();
|
||||
|
||||
if (m_fpa_util.is_rm(s) && !m_fpa_util.is_bv2rm(owner)) {
|
||||
// For every RM term, we need to make sure that it's
|
||||
// associated bit-vector is within the valid range.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue