Skip to content

Commit b3dfb73

Browse files
committed
fx
1 parent 470ee8c commit b3dfb73

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/ebmc/k_induction.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ Author: Daniel Kroening, [email protected]
1111
#include <util/string2int.h>
1212

1313
#include <temporal-logic/temporal_logic.h>
14-
#include <trans-word-level/instantiate_word_level.h>
14+
#include <trans-word-level/obligations.h>
15+
#include <trans-word-level/property.h>
1516
#include <trans-word-level/trans_trace_word_level.h>
1617
#include <trans-word-level/unwind.h>
1718

@@ -261,7 +262,7 @@ void k_inductiont::induction_step()
261262
const exprt &p = to_unary_expr(property.normalized_expr).op();
262263
for(std::size_t c = 0; c < no_timeframes; c++)
263264
{
264-
exprt tmp = instantiate(p, c, no_timeframes);
265+
exprt tmp = property_obligations(p, c, no_timeframes).conjunction().second;
265266
solver.set_to_true(tmp);
266267
}
267268
}
@@ -272,13 +273,13 @@ void k_inductiont::induction_step()
272273
// assumption: time frames 0,...,k-1
273274
for(std::size_t c = 0; c < no_timeframes - 1; c++)
274275
{
275-
exprt tmp = instantiate(p, c, no_timeframes - 1);
276+
exprt tmp = property_obligations(p, c, no_timeframes-1).conjunction().second;
276277
solver.set_to_true(tmp);
277278
}
278279

279280
// property: time frame k
280281
{
281-
exprt tmp = instantiate(p, no_timeframes - 1, no_timeframes);
282+
exprt tmp = property_obligations(p, no_timeframes -1, no_timeframes).conjunction().second;
282283
solver.set_to_false(tmp);
283284
}
284285

src/trans-word-level/property.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -666,8 +666,12 @@ static obligationst property_obligations_rec(
666666
auto &sva_abort_expr = to_sva_abort_expr(property_expr);
667667
auto lowering = and_exprt{
668668
not_exprt{sva_abort_expr.condition()}, sva_abort_expr.property()};
669-
return property_obligations_rec(
670-
lowering, current, no_timeframes);
669+
return property_obligations_rec(lowering, current, no_timeframes);
670+
}
671+
else if(property_expr.id() == ID_sva_assume)
672+
{
673+
auto &op = to_sva_assume_expr(property_expr).op();
674+
return property_obligations_rec(op, current, no_timeframes);
671675
}
672676
else
673677
{

0 commit comments

Comments
 (0)