3
0
Fork 0
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:
Nikolaj Bjorner 2017-06-12 19:44:02 -07:00
parent af6ebbcd92
commit ce592d7716
16 changed files with 111 additions and 21 deletions

View file

@ -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();

View file

@ -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();

View file

@ -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();