Example #1
0
void danger_verify_configt::process(const candidatet &candidate)
{
  program=original_program;
  quantifiers.clear();
  const danger_constraint constraint(program.use_ranking);
  invariant_insert_constraint(quantifiers, program, std::cref(constraint));
  danger_insert_candidate(program, candidate);
  goto_functionst &gf=program.gf;
  if (limit_ce) restrict_bv_size(program.st, gf, max_ce_width);
  gf.update();
}
Example #2
0
void safety_verify_configt::process(const candidatet &candidate)
{
  program=original_program;
  quantifiers.clear();
  const safety_programt &prog=program;
  const invariant_programt::const_invariant_loopst loops(prog.get_loops());
  assert(!loops.empty());
  const size_t offset(
      program.x0_choices.size() + loops.front()->skolem_choices.size());
  invariant_insert_constraint(quantifiers, program, create_safety_constraint,
      offset);
  safety_insert_candidate(program, candidate);
  program.gf.update();
}
Example #3
0
void safety_fitness_configt::set_candidate(const candidatet &candidate)
{
  if (!constraint_inserted)
  {
    program_with_constraint=original_program;
    invariant_insert_constraint(original_quantifiers, program_with_constraint,
        create_safety_constraint);
    constraint_inserted=true;
  }
  program=program_with_constraint;
  quantifiers=original_quantifiers;
  fix_quantifiers(program_with_constraint, program, quantifiers);
  program_contains_ce=false;
  safety_insert_candidate(program, candidate);
}