mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
adding q proof hints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
661a1624b4
commit
35639c5ac0
8 changed files with 71 additions and 50 deletions
|
@ -103,14 +103,18 @@ namespace dt {
|
|||
*/
|
||||
void solver::assert_eq_axiom(enode* n1, expr* e2, literal antecedent) {
|
||||
expr* e1 = n1->get_expr();
|
||||
euf::th_proof_hint* ph = nullptr;
|
||||
if (ctx.use_drat()) {
|
||||
// todo
|
||||
}
|
||||
if (antecedent == sat::null_literal)
|
||||
add_unit(eq_internalize(e1, e2));
|
||||
add_unit(eq_internalize(e1, e2), ph);
|
||||
else if (s().value(antecedent) == l_true) {
|
||||
euf::enode* n2 = e_internalize(e2);
|
||||
ctx.propagate(n1, n2, euf::th_explain::propagate(*this, antecedent, n1, n2));
|
||||
ctx.propagate(n1, n2, euf::th_explain::propagate(*this, antecedent, n1, n2, ph));
|
||||
}
|
||||
else
|
||||
add_clause(~antecedent, eq_internalize(e1, e2));
|
||||
add_clause(~antecedent, eq_internalize(e1, e2), ph);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue