@@ -200,7 +200,7 @@ SCENARIO("instantiate_not_contains",
200200
201201 std::string axioms;
202202 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;
204204
205205 std::accumulate (
206206 constraints.universal .begin (),
@@ -216,12 +216,12 @@ SCENARIO("instantiate_not_contains",
216216 constraints.not_contains .end (),
217217 axioms,
218218 [&](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);
220222 witnesses[sc] = generator.fresh_symbol (" w" , t.witness_type ());
221223 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 " ;
225225 });
226226
227227 axioms = std::accumulate (
@@ -280,26 +280,23 @@ SCENARIO("instantiate_not_contains",
280280 // { .=1, .={ (char)'a' } }[x+y] != { .=1, .={ (char)'b' } }[y]
281281 // )
282282 // 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};
291290
292291 // Create witness for axiom
293292 symbol_tablet symtab;
294293 const namespacet empty_ns (symtab);
295294 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;
297296 witnesses[vacuous] = generator.fresh_symbol (" w" , t.witness_type ());
298297
299298 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 " );
303300
304301 WHEN (" we instantiate and simplify" )
305302 {
@@ -335,26 +332,23 @@ SCENARIO("instantiate_not_contains",
335332 // { .=1, .={ (char)'a' } }[x+y] != { .=1, .={ (char)'b' } }[y]
336333 // )
337334 // 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};
346342
347343 // Create witness for axiom
348344 symbol_tablet symtab;
349345 const namespacet ns (symtab);
350346 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;
352348 witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
353349
354350 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 " );
358352
359353 WHEN (" we instantiate and simplify" )
360354 {
@@ -391,26 +385,23 @@ SCENARIO("instantiate_not_contains",
391385 // { .=1, .={ (char)'a' } }[x+y] != { .=0, .={ } }[y]
392386 // )
393387 // 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};
402395
403396 // Create witness for axiom
404397 symbol_tablet symtab;
405398 const namespacet empty_ns (symtab);
406399 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;
408401 witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
409402
410403 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 " );
414405
415406 WHEN (" we instantiate and simplify" )
416407 {
@@ -449,27 +440,24 @@ SCENARIO("instantiate_not_contains",
449440 // { .=2, .={ (char)'a', (char)'b'}[y]
450441 // )
451442 // 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};
460450
461451 // Create witness for axiom
462452 symbol_tablet symtab;
463453 const namespacet empty_ns (symtab);
464454
465455 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;
467457 witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
468458
469459 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 " );
473461
474462 WHEN (" we instantiate and simplify" )
475463 {
@@ -506,26 +494,23 @@ SCENARIO("instantiate_not_contains",
506494 // { .=2, .={ (char)'a', (char)'b'}[y]
507495 // )
508496 // 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};
517504
518505 // Create witness for axiom
519506 symbol_tablet symtab;
520507 const namespacet empty_ns (symtab);
521508 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;
523510 witnesses[trivial] = generator.fresh_symbol (" w" , t.witness_type ());
524511
525512 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 " );
529514
530515 WHEN (" we instantiate and simplify" )
531516 {
0 commit comments