@@ -11,7 +11,8 @@ Author: Daniel Kroening, daniel.kroening@inf.ethz.ch
11
11
#include < util/string2int.h>
12
12
13
13
#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>
15
16
#include < trans-word-level/trans_trace_word_level.h>
16
17
#include < trans-word-level/unwind.h>
17
18
@@ -261,7 +262,8 @@ void k_inductiont::induction_step()
261
262
const exprt &p = to_unary_expr (property.normalized_expr ).op ();
262
263
for (std::size_t c = 0 ; c < no_timeframes; c++)
263
264
{
264
- exprt tmp = instantiate (p, c, no_timeframes);
265
+ exprt tmp =
266
+ property_obligations (p, c, no_timeframes).conjunction ().second ;
265
267
solver.set_to_true (tmp);
266
268
}
267
269
}
@@ -272,13 +274,16 @@ void k_inductiont::induction_step()
272
274
// assumption: time frames 0,...,k-1
273
275
for (std::size_t c = 0 ; c < no_timeframes - 1 ; c++)
274
276
{
275
- exprt tmp = instantiate (p, c, no_timeframes - 1 );
277
+ exprt tmp =
278
+ property_obligations (p, c, no_timeframes - 1 ).conjunction ().second ;
276
279
solver.set_to_true (tmp);
277
280
}
278
281
279
282
// property: time frame k
280
283
{
281
- exprt tmp = instantiate (p, no_timeframes - 1 , no_timeframes);
284
+ exprt tmp = property_obligations (p, no_timeframes - 1 , no_timeframes)
285
+ .conjunction ()
286
+ .second ;
282
287
solver.set_to_false (tmp);
283
288
}
284
289
0 commit comments