Skip to content

Commit

Permalink
Merge pull request #473 from diffblue/bmc-freeze
Browse files Browse the repository at this point in the history
fixup: timeframe handles must be frozen
  • Loading branch information
tautschnig authored May 1, 2024
2 parents 0abed59 + d5b9994 commit 42959d8
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
9 changes: 9 additions & 0 deletions regression/ebmc/SVA-LTL/freeze.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CORE
freeze.sv
--bound 1
^\[main\.property\.p1\] always s_eventually main\.w: REFUTED$
^\[main\.property\.p2\] always s_eventually !main\.w: REFUTED$
^EXIT=10$
^SIGNAL=0$
--
--
5 changes: 5 additions & 0 deletions regression/ebmc/SVA-LTL/freeze.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module main;
wire w;
p1: assert property (s_eventually w);
p2: assert property (s_eventually !w);
endmodule
4 changes: 2 additions & 2 deletions src/trans-word-level/property.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ static void property_obligations_rec(
{
// current state property
exprt tmp = instantiate(property_expr, current, no_timeframes, ns);
obligations[current].push_back(solver.handle(tmp));
obligations[current].push_back(tmp);
}
}

Expand Down Expand Up @@ -256,7 +256,7 @@ void property(
DATA_INVARIANT(
t >= 0 && t < no_timeframes, "obligation must have valid timeframe");
auto t_int = numeric_cast_v<std::size_t>(t);
prop_handles[t_int] = conjunction(obligation_it.second);
prop_handles[t_int] = solver.handle(conjunction(obligation_it.second));
}
}

Expand Down

0 comments on commit 42959d8

Please sign in to comment.