mirror of
https://github.com/Z3Prover/z3
synced 2025-08-11 05:30:51 +00:00
ensure substitutions are applied to eliminate internal variables from results
This commit is contained in:
parent
5976978062
commit
edad727cd5
3 changed files with 90 additions and 17 deletions
|
@ -86,7 +86,7 @@ namespace opt {
|
|||
def operator/(rational const& n) const;
|
||||
def operator*(rational const& n) const;
|
||||
def operator+(rational const& n) const;
|
||||
def substitute(unsigned v, def const& other) const;
|
||||
void substitute(unsigned v, def const& other);
|
||||
void normalize();
|
||||
};
|
||||
|
||||
|
@ -101,6 +101,9 @@ namespace opt {
|
|||
unsigned_vector m_lub, m_glb, m_divides, m_mod, m_div;
|
||||
unsigned_vector m_above, m_below;
|
||||
unsigned_vector m_retired_rows;
|
||||
vector<model_based_opt::def> m_result;
|
||||
|
||||
void eliminate(unsigned v, def const& d);
|
||||
|
||||
bool invariant();
|
||||
bool invariant(unsigned index, row const& r);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue