3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 15:55:46 +00:00

adding q proof hints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-10-07 19:21:12 +02:00
parent 661a1624b4
commit 35639c5ac0
8 changed files with 71 additions and 50 deletions

View file

@ -152,6 +152,14 @@ public:
}
}
// extract a simplified verification condition in case proof validation does not work.
// quantifier instantiation can be validated as follows:
// If quantifier instantiation claims that (forall x . phi(x)) => psi using instantiation x -> t
// then check the simplified VC: phi(t) => psi.
// in case psi is the literal instantiation, then the clause is a propositional tautology.
// The VC function is a no-op if the proof hint does not have an associated vc generator.
m_checker.vc(proof_hint, clause);
m_solver->push();
for (expr* lit : clause)
m_solver->assert_expr(m.mk_not(lit));