Пример #1
0
/*
 * Select the built-in symbols for a given logic
 */
void smt2_lexer_activate_logic(smt_logic_t logic) {
  if (logic_has_arrays(logic)) {
    smt2_activate_arrays();
  }
  if (logic_has_bv(logic)) {
    smt2_activate_bv();
  }
  switch (arith_fragment(logic)) {
  case ARITH_IDL:
    smt2_activate_idl();
    break;

  case ARITH_LIA:
  case ARITH_NIA:
    smt2_activate_ints();
    break;

  case ARITH_LRA:
  case ARITH_NRA:
  case ARITH_RDL:
    smt2_activate_reals();
    break;

  case ARITH_LIRA:
  case ARITH_NIRA:
    smt2_activate_mixed_arith();
    break;

  case ARITH_NONE:
    break;
  }
}
Пример #2
0
bool iflag_for_logic(smt_logic_t code) {
  assert(code != SMT_UNKNOWN);
  return fragment2iflag[arith_fragment(code)];
}