3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-18 17:22:15 +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

@ -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));