3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 13:40:52 +00:00

updates to model generation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-01-11 11:20:23 -08:00
parent c80f34102f
commit 1c2966f8e9
6 changed files with 21 additions and 22 deletions

View file

@ -1139,20 +1139,12 @@ struct sat2goal::imp {
if (mc) mc->flush_smc(s);
init_lit2expr(s, map, mc);
// collect units
unsigned num_vars = s.num_vars();
for (sat::bool_var v = 0; v < num_vars; v++) {
unsigned trail_sz = s.init_trail_size();
for (unsigned i = 0; i < trail_sz; ++i) {
checkpoint();
switch (s.value(v)) {
case l_true:
r.assert_expr(lit2expr(mc, sat::literal(v, false)));
break;
case l_false:
r.assert_expr(lit2expr(mc, sat::literal(v, true)));
break;
case l_undef:
break;
}
r.assert_expr(lit2expr(mc, s.trail_literal(i)));
}
// collect binary clauses
svector<sat::solver::bin_clause> bin_clauses;
s.collect_bin_clauses(bin_clauses, m_learned);