3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-03 04:06:54 +00:00

Bugfix and new examples for implicit assumptions in Z3_solver_assert_and_track. Thanks to Amir Ebrahimi for reporting this issue!

(See http://stackoverflow.com/questions/28558683/modeling-constraints-in-z3-and-unsat-core-cases)

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
Christoph M. Wintersteiger 2015-02-18 16:25:27 +00:00
parent d3fb5f2a4c
commit 9b137d54d3
5 changed files with 111 additions and 3 deletions

View file

@ -72,7 +72,7 @@ public:
/**
\brief Add a new formula \c t to the assertion stack, and "tag" it with \c a.
The propositional varialbe \c a is used to track the use of \c t in a proof
The propositional variable \c a is used to track the use of \c t in a proof
of unsatisfiability.
*/
virtual void assert_expr(expr * t, expr * a) = 0;
@ -125,6 +125,16 @@ public:
*/
virtual expr * get_assertion(unsigned idx) const;
/**
\brief The number of tracked assumptions (see assert_expr(t, a)).
*/
virtual unsigned get_num_assumptions() const = 0;
/**
\brief Retrieves the idx'th tracked assumption (see assert_expr(t, a)).
*/
virtual expr * get_assumption(unsigned idx) const = 0;
/**
\brief Display the content of this solver.
*/