3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-12 10:14:42 +00:00

Merge pull request #1226 from NikolajBjorner/master

removing dependencies on simplifier, support SMTLIB2 parametric algebraic datatypes.
This is a breaking change. It introduces two substantial changes:
1. The legacy simplifier is removed. It was obsoleted with the introduction of the rewriter facilities, but many dependencies made it a major change to remove the legacy simplifier. All uses of the legacy simplifier have now been replaced by corresponding calls to the rewriter. It means that some normalization may behave differently. At this point, Z3 passes regressions and passes performance tests without regressing.
2. Algebraic datatypes in the form of SMT-LIB2.6 are now supported. These generalize the datatypes supported so far as parametric datatype constructors may be applied to different arguments within a recursive definition.
This commit is contained in:
Nikolaj Bjorner 2017-09-11 00:40:51 +03:00 committed by GitHub
commit 77008dc411
198 changed files with 5392 additions and 12493 deletions

View file

@ -258,11 +258,9 @@ public:
result->m_core.append(core_elems.size(), core_elems.c_ptr());
if (p.get_bool("print_unsat_core", false)) {
ctx.regular_stream() << "(unsat-core";
ptr_vector<expr>::const_iterator it = core_elems.begin();
ptr_vector<expr>::const_iterator end = core_elems.end();
for (; it != end; ++it) {
for (expr * e : core_elems) {
ctx.regular_stream() << " ";
ctx.display(ctx.regular_stream(), *it);
ctx.display(ctx.regular_stream(), e);
}
ctx.regular_stream() << ")" << std::endl;
}