mirror of
https://github.com/Z3Prover/z3
synced 2025-08-22 02:57:50 +00:00
add facility to add lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
af6ebbcd92
commit
ce592d7716
16 changed files with 111 additions and 21 deletions
|
@ -93,6 +93,10 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void assert_lemma(expr * t) {
|
||||
m_solver->assert_lemma(t);
|
||||
}
|
||||
|
||||
virtual void push_core() {
|
||||
flush_assertions();
|
||||
m_solver->push();
|
||||
|
|
|
@ -64,6 +64,16 @@ public:
|
|||
m_solver->assert_expr(bounds);
|
||||
}
|
||||
|
||||
virtual void assert_lemma(expr* t) {
|
||||
expr_ref tmp(t, m);
|
||||
expr_ref_vector bounds(m);
|
||||
proof_ref tmp_proof(m);
|
||||
m_rewriter(t, tmp, tmp_proof);
|
||||
m_solver->assert_lemma(tmp);
|
||||
m_rewriter.flush_side_constraints(bounds);
|
||||
m_solver->assert_expr(bounds);
|
||||
}
|
||||
|
||||
virtual void push_core() {
|
||||
m_rewriter.push();
|
||||
m_solver->push();
|
||||
|
|
|
@ -56,6 +56,10 @@ public:
|
|||
m_assertions.push_back(t);
|
||||
}
|
||||
|
||||
virtual void assert_lemma(expr * t) {
|
||||
m_solver->assert_lemma(t);
|
||||
}
|
||||
|
||||
virtual void push_core() {
|
||||
flush_assertions();
|
||||
m_rewriter.push();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue