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