File tree 2 files changed +8
-3
lines changed
2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -95,7 +95,7 @@ bool goto_symex_fault_localizert::check(
95
95
}
96
96
97
97
// lock the failed assertion
98
- assumptions.push_back (solver. handle ( not_exprt (failed_step.cond_handle ) ));
98
+ assumptions.push_back (not_exprt (failed_step.cond_handle ));
99
99
100
100
solver.push (assumptions);
101
101
Original file line number Diff line number Diff line change @@ -463,7 +463,7 @@ prop_conv_solvert::dec_solve(const exprt &assumption)
463
463
if (assumption.is_nil ())
464
464
push ();
465
465
else
466
- push ({literal_exprt ( convert ( assumption)) });
466
+ push ({assumption});
467
467
468
468
auto prop_result = prop.prop_solve (assumption_stack);
469
469
@@ -539,7 +539,12 @@ void prop_conv_solvert::push(const std::vector<exprt> &assumptions)
539
539
// We push the given assumptions as a single context onto the stack.
540
540
assumption_stack.reserve (assumption_stack.size () + assumptions.size ());
541
541
for (const auto &assumption : assumptions)
542
- assumption_stack.push_back (to_literal_expr (assumption).get_literal ());
542
+ {
543
+ auto literal = convert (assumption);
544
+ if (!literal.is_constant ())
545
+ set_frozen (literal);
546
+ assumption_stack.push_back (literal);
547
+ }
543
548
context_size_stack.push_back (assumptions.size ());
544
549
}
545
550
You can’t perform that action at this time.
0 commit comments