mirror of
https://github.com/Z3Prover/z3
synced 2025-06-28 08:58:44 +00:00
Add initial value setting for variables in Z3 API, solver, and optimize modules
This commit is contained in:
parent
0ba306e7b3
commit
48712b4f60
31 changed files with 297 additions and 9 deletions
|
@ -123,6 +123,7 @@ namespace smt {
|
|||
unsigned m_par_index = 0;
|
||||
bool m_internalizing_assertions = false;
|
||||
|
||||
|
||||
// -----------------------------------
|
||||
//
|
||||
// Equality & Uninterpreted functions
|
||||
|
@ -246,6 +247,16 @@ namespace smt {
|
|||
vector<literal_vector> m_th_case_split_sets;
|
||||
u_map< vector<literal_vector> > m_literal2casesplitsets; // returns the case split literal sets that a literal participates in
|
||||
|
||||
|
||||
// ----------------------------------
|
||||
//
|
||||
// Value initialization
|
||||
//
|
||||
// ----------------------------------
|
||||
vector<std::pair<expr_ref, expr_ref>> m_values;
|
||||
void initialize_value(expr* var, expr* value);
|
||||
|
||||
|
||||
// -----------------------------------
|
||||
//
|
||||
// Accessors
|
||||
|
@ -1777,6 +1788,8 @@ namespace smt {
|
|||
m_user_propagator->register_decide(r);
|
||||
}
|
||||
|
||||
void user_propagate_initialize_value(expr* var, expr* value);
|
||||
|
||||
bool watches_fixed(enode* n) const;
|
||||
|
||||
bool has_split_candidate(bool_var& var, bool& is_pos);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue