3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

modular Axiom Profiler (#4619)

* Rocco first commit

* Rocco: clean the log

* Rocco: version 0.1 beta of the causality graph

* Rocco: minimal fix to separate lines

* Rocco: fix the enodes

* Rocco: our trace has to reflect same behaviour of the native trace for what concern used_enodes

* Rocco: disable trace when dummy instantiations

* Rocco: fix to enodes

* Update README.md

* Rocco: remove causality details and add the pattern (trigger)

* Rocco: add ; at the end of the bindings

* Rocco: add triggers as separate trace

* Rocco README file

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Rocco: bug in tout flush

* Update README.md

* Update README.md

* Rocco: clean code

* Ready for pull request

* Remove commented line bindings

* Add space between // and first char

* Substitute or with || for compatibility; Add space around >
This commit is contained in:
Rocco Salvia 2020-08-08 13:09:24 -06:00 committed by GitHub
parent 934f87a336
commit 3852d4516d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 108 additions and 11 deletions

View file

@ -654,10 +654,9 @@ void rewriter_tpl<Config>::cleanup() {
template<typename Config>
void rewriter_tpl<Config>::display_bindings(std::ostream& out) {
out << "bindings:\n";
for (unsigned i = 0; i < m_bindings.size(); i++) {
if (m_bindings[i])
out << i << ": " << mk_ismt2_pp(m_bindings[i], m()) << "\n";
out << i << ": " << mk_ismt2_pp(m_bindings[i], m()) << ";\n";
}
}
@ -674,6 +673,7 @@ void rewriter_tpl<Config>::set_bindings(unsigned num_bindings, expr * const * bi
m_shifts.push_back(num_bindings);
}
TRACE("rewriter", display_bindings(tout););
SCTRACE("bindings", is_trace_enabled("coming_from_quant"), display_bindings(tout););
}
template<typename Config>
@ -687,6 +687,7 @@ void rewriter_tpl<Config>::set_inv_bindings(unsigned num_bindings, expr * const
m_shifts.push_back(num_bindings);
}
TRACE("rewriter", display_bindings(tout););
SCTRACE("bindings", is_trace_enabled("coming_from_quant"), display_bindings(tout););
}
template<typename Config>

View file

@ -27,6 +27,17 @@ expr_ref var_subst::operator()(expr * n, unsigned num_args, expr * const * args)
expr_ref result(m_reducer.m());
if (is_ground(n)) {
result = n;
//application does not have free variables or nested quantifiers.
//There is no need to print the bindings here?
SCTRACE("bindings", is_trace_enabled("coming_from_quant"),
tout << "(ground)\n";
for (unsigned i = 0; i < num_args; i++) {
if (args[i]) {
tout << i << ": " << mk_ismt2_pp(args[i], result.m()) << ";\n";
}
}
tout.flush(););
return result;
}
SASSERT(is_well_sorted(result.m(), n));