/* * 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; } }
bool iflag_for_logic(smt_logic_t code) { assert(code != SMT_UNKNOWN); return fragment2iflag[arith_fragment(code)]; }