mirror of
https://github.com/Z3Prover/z3
synced 2025-05-12 18:24:43 +00:00
add options for logging learned lemmas and theory axioms
- add solver.axioms2files - prints negated theory axioms to files. Each file should be unsat - add solver.lemmas2console - prints lemmas to the console. - remove option smt.arith.dump_lemmas. It is replaced by solver.axioms2files
This commit is contained in:
parent
410eed9bd5
commit
63f48f8fd4
32 changed files with 260 additions and 319 deletions
|
@ -1486,9 +1486,9 @@ namespace smt {
|
|||
class theory_pb::pb_justification : public theory_propagation_justification {
|
||||
ineq& m_ineq;
|
||||
public:
|
||||
pb_justification(ineq& c, family_id fid, region & r,
|
||||
pb_justification(ineq& c, family_id fid, context& ctx,
|
||||
unsigned num_lits, literal const * lits, literal consequent):
|
||||
theory_propagation_justification(fid, r, num_lits, lits, consequent),
|
||||
theory_propagation_justification(fid, ctx, num_lits, lits, consequent),
|
||||
m_ineq(c)
|
||||
{}
|
||||
ineq& get_ineq() { return m_ineq; }
|
||||
|
@ -1504,7 +1504,7 @@ namespace smt {
|
|||
SASSERT(validate_antecedents(lits));
|
||||
ctx.assign(l, ctx.mk_justification(
|
||||
pb_justification(
|
||||
c, get_id(), ctx.get_region(), lits.size(), lits.data(), l)));
|
||||
c, get_id(), ctx, lits.size(), lits.data(), l)));
|
||||
}
|
||||
|
||||
|
||||
|
@ -2008,7 +2008,7 @@ namespace smt {
|
|||
|
||||
SASSERT(validate_antecedents(m_antecedents));
|
||||
TRACE("pb", tout << "assign " << m_antecedents << " ==> " << alit << "\n";);
|
||||
ctx.assign(alit, ctx.mk_justification(theory_propagation_justification(get_id(), ctx.get_region(), m_antecedents.size(), m_antecedents.data(), alit, 0, nullptr)));
|
||||
ctx.assign(alit, ctx.mk_justification(theory_propagation_justification(get_id(), ctx, m_antecedents.size(), m_antecedents.data(), alit, 0, nullptr)));
|
||||
|
||||
DEBUG_CODE(
|
||||
m_antecedents.push_back(~alit);
|
||||
|
@ -2029,7 +2029,7 @@ namespace smt {
|
|||
literal lits[2] = { l1, l2 };
|
||||
justification* js = nullptr;
|
||||
if (proofs_enabled()) {
|
||||
js = ctx.mk_justification(theory_axiom_justification(get_id(), ctx.get_region(), 2, lits));
|
||||
js = ctx.mk_justification(theory_axiom_justification(get_id(), ctx, 2, lits));
|
||||
}
|
||||
return js;
|
||||
}
|
||||
|
@ -2037,7 +2037,7 @@ namespace smt {
|
|||
justification* theory_pb::justify(literal_vector const& lits) {
|
||||
justification* js = nullptr;
|
||||
if (proofs_enabled()) {
|
||||
js = ctx.mk_justification(theory_axiom_justification(get_id(), ctx.get_region(), lits.size(), lits.data()));
|
||||
js = ctx.mk_justification(theory_axiom_justification(get_id(), ctx, lits.size(), lits.data()));
|
||||
}
|
||||
return js;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue