3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-06 17:44:08 +00:00

fix build issues

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-08-24 09:19:35 -07:00
parent 8b2d60e3ca
commit a7bb41fd49
3 changed files with 11 additions and 7 deletions

View file

@ -26,6 +26,7 @@ Revision History:
#include "muz/transforms/dl_mk_quantifier_instantiation.h" #include "muz/transforms/dl_mk_quantifier_instantiation.h"
#include "muz/base/dl_context.h" #include "muz/base/dl_context.h"
#include "ast/pattern/pattern_inference.h" #include "ast/pattern/pattern_inference.h"
#include "ast/rewriter/rewriter_def.h"
namespace datalog { namespace datalog {

View file

@ -56,7 +56,8 @@ asserted_formulas::asserted_formulas(ast_manager & m, smt_params & p):
m_macro_manager(m), m_macro_manager(m),
m_bit2int(m), m_bit2int(m),
m_bv_sharing(m), m_bv_sharing(m),
m_inconsistent(false){ m_inconsistent(false),
m_has_quantifiers(false) {
m_bsimp = 0; m_bsimp = 0;
m_bvsimp = 0; m_bvsimp = 0;
@ -143,6 +144,7 @@ void asserted_formulas::set_eliminate_and(bool flag) {
void asserted_formulas::assert_expr(expr * e, proof * _in_pr) { void asserted_formulas::assert_expr(expr * e, proof * _in_pr) {
if (inconsistent()) if (inconsistent())
return; return;
m_has_quantifiers |= ::has_quantifiers(e);
if (!m_params.m_preprocess) { if (!m_params.m_preprocess) {
push_assertion(e, _in_pr, m_asserted_formulas, m_asserted_formula_prs); push_assertion(e, _in_pr, m_asserted_formulas, m_asserted_formula_prs);
return; return;

View file

@ -19,17 +19,17 @@ Revision History:
#ifndef ASSERTED_FORMULAS_H_ #ifndef ASSERTED_FORMULAS_H_
#define ASSERTED_FORMULAS_H_ #define ASSERTED_FORMULAS_H_
#include "smt/params/smt_params.h" #include "util/statistics.h"
#include "ast/static_features.h"
#include "ast/simplifier/simplifier.h" #include "ast/simplifier/simplifier.h"
#include "ast/simplifier/basic_simplifier_plugin.h" #include "ast/simplifier/basic_simplifier_plugin.h"
#include "ast/static_features.h" #include "ast/simplifier/maximise_ac_sharing.h"
#include "ast/simplifier/bit2int.h"
#include "ast/macros/macro_manager.h" #include "ast/macros/macro_manager.h"
#include "ast/macros/macro_finder.h" #include "ast/macros/macro_finder.h"
#include "ast/normal_forms/defined_names.h" #include "ast/normal_forms/defined_names.h"
#include "ast/simplifier/maximise_ac_sharing.h"
#include "ast/simplifier/bit2int.h"
#include "util/statistics.h"
#include "ast/pattern/pattern_inference.h" #include "ast/pattern/pattern_inference.h"
#include "smt/params/smt_params.h"
class arith_simplifier_plugin; class arith_simplifier_plugin;
class bv_simplifier_plugin; class bv_simplifier_plugin;
@ -55,6 +55,7 @@ class asserted_formulas {
maximise_bv_sharing m_bv_sharing; maximise_bv_sharing m_bv_sharing;
bool m_inconsistent; bool m_inconsistent;
bool m_has_quantifiers;
struct scope { struct scope {
unsigned m_asserted_formulas_lim; unsigned m_asserted_formulas_lim;
@ -128,7 +129,7 @@ public:
void display_ll(std::ostream & out, ast_mark & pp_visited) const; void display_ll(std::ostream & out, ast_mark & pp_visited) const;
void collect_statistics(statistics & st) const; void collect_statistics(statistics & st) const;
// TODO: improve precision of the following method. // TODO: improve precision of the following method.
bool has_quantifiers() const { return m_simplifier.visited_quantifier(); /* approximation */ } bool has_quantifiers() const { return m_has_quantifiers; }
// ----------------------------------- // -----------------------------------
// //