3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-02 11:46:55 +00:00

added facility to persist model transformations

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-02 00:05:52 -05:00
commit fd49a0c89c
195 changed files with 3601 additions and 2139 deletions

View file

@ -44,6 +44,7 @@ public:
- results based on check_sat_result API
*/
class solver : public check_sat_result {
params_ref m_params;
public:
virtual ~solver() {}
@ -55,7 +56,12 @@ public:
/**
\brief Update the solver internal settings.
*/
virtual void updt_params(params_ref const & p) { }
virtual void updt_params(params_ref const & p) { m_params.copy(p); }
/**
\brief Retrieve set of parameters set on solver.
*/
virtual params_ref const& get_params() { return m_params; }
/**
\brief Store in \c r a description of the configuration
@ -95,7 +101,7 @@ public:
\brief Add a lemma to the assertion stack. A lemma is assumed to be a consequence of already
asserted formulas. The solver is free to ignore lemmas.
*/
virtual void assert_lemma(expr * t) = 0;
virtual void assert_lemma(expr * t) {}
/**
\brief Create a backtracking point.
@ -188,7 +194,7 @@ public:
/**
\brief Display the content of this solver.
*/
virtual std::ostream& display(std::ostream & out) const;
virtual std::ostream& display(std::ostream & out, unsigned n = 0, expr* const* assumptions = nullptr) const;
/**
\brief expose model converter when solver produces partially reduced set of assertions.