3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 03:15:50 +00:00

logging support for theory axioms

This commit is contained in:
nilsbecker 2019-02-21 19:29:35 +01:00
parent 279413412d
commit 28c03ed1de
26 changed files with 508 additions and 127 deletions

View file

@ -256,6 +256,7 @@ namespace smt {
lt = u().mk_lt(x,y);
le = b().mk_ule(m().mk_app(r,y),m().mk_app(r,x));
context& ctx = get_context();
if (m().has_trace_stream()) log_axiom_instantiation(m().mk_eq(lt, le));
ctx.internalize(lt, false);
ctx.internalize(le, false);
literal lit1(ctx.get_literal(lt));
@ -266,12 +267,15 @@ namespace smt {
literal lits2[2] = { ~lit1, ~lit2 };
ctx.mk_th_axiom(get_id(), 2, lits1);
ctx.mk_th_axiom(get_id(), 2, lits2);
if (m().has_trace_stream()) m().trace_stream() << "[end-of-instance]\n";
}
void assert_cnstr(expr* e) {
TRACE("theory_dl", tout << mk_pp(e, m()) << "\n";);
context& ctx = get_context();
if (m().has_trace_stream()) log_axiom_instantiation(e);
ctx.internalize(e, false);
if (m().has_trace_stream()) m().trace_stream() << "[end-of-instance]\n";
literal lit(ctx.get_literal(e));
ctx.mark_as_relevant(lit);
ctx.mk_th_axiom(get_id(), 1, &lit);