mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
address divergence in the case of shared theory symbols. Codeplex issue 147, thanks to George Karpenkov
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
08cb8b8de8
74 changed files with 1280 additions and 896 deletions
|
@ -54,7 +54,11 @@ Revision History:
|
|||
// the case that each context only references a few expressions.
|
||||
// Using a map instead of a vector for the literals can compress space
|
||||
// consumption.
|
||||
#ifdef SPARSE_MAP
|
||||
#define USE_BOOL_VAR_VECTOR 0
|
||||
#else
|
||||
#define USE_BOOL_VAR_VECTOR 1
|
||||
#endif
|
||||
|
||||
namespace smt {
|
||||
|
||||
|
@ -69,6 +73,7 @@ namespace smt {
|
|||
std::string last_failure_as_string() const;
|
||||
void set_progress_callback(progress_callback *callback);
|
||||
|
||||
|
||||
protected:
|
||||
ast_manager & m_manager;
|
||||
smt_params & m_fparams;
|
||||
|
@ -106,7 +111,7 @@ namespace smt {
|
|||
// -----------------------------------
|
||||
enode * m_true_enode;
|
||||
enode * m_false_enode;
|
||||
ptr_vector<enode> m_app2enode; // app -> enode
|
||||
app2enode_t m_app2enode; // app -> enode
|
||||
ptr_vector<enode> m_enodes;
|
||||
plugin_manager<theory> m_theories; // mapping from theory_id -> theory
|
||||
ptr_vector<theory> m_theory_set; // set of theories for fast traversal
|
||||
|
@ -1390,7 +1395,7 @@ namespace smt {
|
|||
|
||||
void get_model(model_ref & m) const;
|
||||
|
||||
void update_model();
|
||||
bool update_model(bool refinalize);
|
||||
|
||||
void get_proto_model(proto_model_ref & m) const;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue