@@ -202,7 +202,7 @@ SCENARIO("instantiate_not_contains",
202
202
203
203
std::string axioms;
204
204
std::vector<string_not_contains_constraintt> nc_axioms;
205
- std::map <string_not_contains_constraintt, symbol_exprt> witnesses;
205
+ std::unordered_map <string_not_contains_constraintt, symbol_exprt> witnesses;
206
206
207
207
std::accumulate (
208
208
constraints.universal .begin (),
@@ -218,12 +218,12 @@ SCENARIO("instantiate_not_contains",
218
218
constraints.not_contains .end (),
219
219
axioms,
220
220
[&](const std::string &accu, string_not_contains_constraintt sc) {
221
- simplify (sc, ns);
221
+ simplify (sc.premise , ns);
222
+ simplify (sc.s0 , ns);
223
+ simplify (sc.s1 , ns);
222
224
witnesses[sc] = generator.fresh_symbol (" w" , t.witness_type ());
223
225
nc_axioms.push_back (sc);
224
- std::string s;
225
- java_lang->from_expr (sc, s, ns);
226
- return accu + s + " \n\n " ;
226
+ return accu + to_string (sc) + " \n\n " ;
227
227
});
228
228
229
229
axioms = std::accumulate (
@@ -282,26 +282,23 @@ SCENARIO("instantiate_not_contains",
282
282
// { .=1, .={ (char)'a' } }[x+y] != { .=1, .={ (char)'b' } }[y]
283
283
// )
284
284
// which is vacuously true.
285
- string_not_contains_constraintt vacuous (
286
- from_integer (0 ),
287
- from_integer (0 ),
288
- true_exprt (),
289
- from_integer (0 ),
290
- from_integer (1 ),
291
- a_array,
292
- a_array);
285
+ const string_not_contains_constraintt vacuous = {from_integer (0 ),
286
+ from_integer (0 ),
287
+ true_exprt (),
288
+ from_integer (0 ),
289
+ from_integer (1 ),
290
+ a_array,
291
+ a_array};
293
292
294
293
// Create witness for axiom
295
294
symbol_tablet symtab;
296
295
const namespacet empty_ns (symtab);
297
296
string_constraint_generatort generator (ns);
298
- std::map <string_not_contains_constraintt, symbol_exprt> witnesses;
297
+ std::unordered_map <string_not_contains_constraintt, symbol_exprt> witnesses;
299
298
witnesses[vacuous] = generator.fresh_symbol (" w" , t.witness_type ());
300
299
301
300
INFO (" Original axiom:\n " );
302
- std::string s;
303
- java_lang->from_expr (vacuous, s, ns);
304
- INFO (s + " \n\n " );
301
+ INFO (to_string (vacuous) + " \n\n " );
305
302
306
303
WHEN (" we instantiate and simplify" )
307
304
{
@@ -337,26 +334,23 @@ SCENARIO("instantiate_not_contains",
337
334
// { .=1, .={ (char)'a' } }[x+y] != { .=1, .={ (char)'b' } }[y]
338
335
// )
339
336
// which is false.
340
- string_not_contains_constraintt trivial (
341
- from_integer (0 ),
342
- from_integer (1 ),
343
- true_exprt (),
344
- from_integer (0 ),
345
- from_integer (0 ),
346
- a_array,
347
- b_array);
337
+ const string_not_contains_constraintt trivial = {from_integer (0 ),
338
+ from_integer (1 ),
339
+ true_exprt (),
340
+ from_integer (0 ),
341
+ from_integer (0 ),
342
+ a_array,
343
+ b_array};
348
344
349
345
// Create witness for axiom
350
346
symbol_tablet symtab;
351
347
const namespacet ns (symtab);
352
348
string_constraint_generatort generator (ns);
353
- std::map <string_not_contains_constraintt, symbol_exprt> witnesses;
349
+ std::unordered_map <string_not_contains_constraintt, symbol_exprt> witnesses;
354
350
witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
355
351
356
352
INFO (" Original axiom:\n " );
357
- std::string s;
358
- java_lang->from_expr (trivial, s, ns);
359
- INFO (s + " \n\n " );
353
+ INFO (to_string (trivial) + " \n\n " );
360
354
361
355
WHEN (" we instantiate and simplify" )
362
356
{
@@ -393,26 +387,23 @@ SCENARIO("instantiate_not_contains",
393
387
// { .=1, .={ (char)'a' } }[x+y] != { .=0, .={ } }[y]
394
388
// )
395
389
// which is false.
396
- string_not_contains_constraintt trivial (
397
- from_integer (0 ),
398
- from_integer (1 ),
399
- true_exprt (),
400
- from_integer (0 ),
401
- from_integer (0 ),
402
- a_array,
403
- empty_array);
390
+ const string_not_contains_constraintt trivial = {from_integer (0 ),
391
+ from_integer (1 ),
392
+ true_exprt (),
393
+ from_integer (0 ),
394
+ from_integer (0 ),
395
+ a_array,
396
+ empty_array};
404
397
405
398
// Create witness for axiom
406
399
symbol_tablet symtab;
407
400
const namespacet empty_ns (symtab);
408
401
string_constraint_generatort generator (ns);
409
- std::map <string_not_contains_constraintt, symbol_exprt> witnesses;
402
+ std::unordered_map <string_not_contains_constraintt, symbol_exprt> witnesses;
410
403
witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
411
404
412
405
INFO (" Original axiom:\n " );
413
- std::string s;
414
- java_lang->from_expr (trivial, s, ns);
415
- INFO (s + " \n\n " );
406
+ INFO (to_string (trivial) + " \n\n " );
416
407
417
408
WHEN (" we instantiate and simplify" )
418
409
{
@@ -451,27 +442,24 @@ SCENARIO("instantiate_not_contains",
451
442
// { .=2, .={ (char)'a', (char)'b'}[y]
452
443
// )
453
444
// which is false (for x = 0).
454
- string_not_contains_constraintt trivial (
455
- from_integer (0 ),
456
- from_integer (2 ),
457
- true_exprt (),
458
- from_integer (0 ),
459
- from_integer (2 ),
460
- ab_array,
461
- ab_array);
445
+ const string_not_contains_constraintt trivial = {from_integer (0 ),
446
+ from_integer (2 ),
447
+ true_exprt (),
448
+ from_integer (0 ),
449
+ from_integer (2 ),
450
+ ab_array,
451
+ ab_array};
462
452
463
453
// Create witness for axiom
464
454
symbol_tablet symtab;
465
455
const namespacet empty_ns (symtab);
466
456
467
457
string_constraint_generatort generator (ns);
468
- std::map <string_not_contains_constraintt, symbol_exprt> witnesses;
458
+ std::unordered_map <string_not_contains_constraintt, symbol_exprt> witnesses;
469
459
witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
470
460
471
461
INFO (" Original axiom:\n " );
472
- std::string s;
473
- java_lang->from_expr (trivial, s, ns);
474
- INFO (s + " \n\n " );
462
+ INFO (to_string (trivial) + " \n\n " );
475
463
476
464
WHEN (" we instantiate and simplify" )
477
465
{
@@ -508,26 +496,23 @@ SCENARIO("instantiate_not_contains",
508
496
// { .=2, .={ (char)'a', (char)'b'}[y]
509
497
// )
510
498
// which is true.
511
- string_not_contains_constraintt trivial (
512
- from_integer (0 ),
513
- from_integer (2 ),
514
- true_exprt (),
515
- from_integer (0 ),
516
- from_integer (2 ),
517
- ab_array,
518
- cd_array);
499
+ const string_not_contains_constraintt trivial = {from_integer (0 ),
500
+ from_integer (2 ),
501
+ true_exprt (),
502
+ from_integer (0 ),
503
+ from_integer (2 ),
504
+ ab_array,
505
+ cd_array};
519
506
520
507
// Create witness for axiom
521
508
symbol_tablet symtab;
522
509
const namespacet empty_ns (symtab);
523
510
string_constraint_generatort generator (ns);
524
- std::map <string_not_contains_constraintt, symbol_exprt> witnesses;
511
+ std::unordered_map <string_not_contains_constraintt, symbol_exprt> witnesses;
525
512
witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
526
513
527
514
INFO (" Original axiom:\n " );
528
- std::string s;
529
- java_lang->from_expr (trivial, s, ns);
530
- INFO (s + " \n\n " );
515
+ INFO (to_string (trivial) + " \n\n " );
531
516
532
517
WHEN (" we instantiate and simplify" )
533
518
{
0 commit comments