3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 10:25:18 +00:00

substitution free

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-13 16:33:46 -08:00
parent 453ef631a0
commit d77ac69015

View file

@ -273,8 +273,12 @@ namespace qe {
split_arith(lits, alits, uflits);
auto avars = get_arith_vars(lits);
vector<def> defs = arith_project(mdl, avars, alits);
#if 0
prune_defs(defs);
substitute(defs, uflits);
#else
for (auto const& d : defs) uflits.push_back(m.mk_eq(d.var, d.term));
#endif
project_euf(mdl, uflits);
lits.reset();
lits.append(alits);
@ -337,7 +341,7 @@ namespace qe {
* \brief substitute solution to arithmetical variables into lits
*/
void uflia_mbi::substitute(vector<def> const& defs, expr_ref_vector& lits) {
TRACE("qe", tout << "start substitute: " << lits << "\n";);
TRACE("qe", tout << "start substitute: " << lits << "\n";);
for (auto const& def : defs) {
expr_safe_replace rep(m);
rep.insert(def.var, def.term);