logicMap["QF_UFIDL"] = QF_UFIDL;
logicMap["QF_UFLRA"] = QF_UFLRA;
logicMap["QF_UFLIA"] = QF_UFLIA;
+ logicMap["QF_AUFLIA"] = QF_AUFLIA;
+ logicMap["QF_AUFLIRA"] = QF_AUFLIRA;
return logicMap;
}
addTheory(THEORY_BITVECTORS);
break;
+ case QF_AUFLIA:
+ addTheory(THEORY_ARRAYS_EX);
+ addUf();
+ addTheory(THEORY_INTS);
+ break;
+
+ case QF_AUFLIRA:
+ addTheory(THEORY_ARRAYS_EX);
+ addUf();
+ addTheory(THEORY_INTS);
+ addTheory(THEORY_REALS);
+ break;
+
case AUFLIA:
case AUFLIRA:
case AUFNIRA:
case LRA:
case UFNIA:
case QF_AUFBV:
- case QF_AUFLIA:
Unhandled(name);
}
}
addTheory(THEORY_BITVECTORS);
break;
+ case Smt::QF_AUFLIA:
+ addTheory(THEORY_ARRAYS);
+ addOperator(kind::APPLY_UF);
+ addTheory(THEORY_INTS);
+ break;
+
+ case Smt::QF_AUFLIRA:
+ addTheory(THEORY_ARRAYS);
+ addOperator(kind::APPLY_UF);
+ addTheory(THEORY_INTS);
+ addTheory(THEORY_REALS);
+ break;
+
case Smt::AUFLIA:
case Smt::AUFLIRA:
case Smt::AUFNIRA:
case Smt::LRA:
case Smt::UFNIA:
case Smt::QF_AUFBV:
- case Smt::QF_AUFLIA:
Unhandled(name);
}
}