Я рассматривал различные решатели SMT, в основном Z3, CVC4 и VeriT. Все они имеют расплывчатые описания своей способности решать задачи SMT с помощью квантификаторов. Их документация в основном основана на примерах (Z3) или состоит из академических статей, описывающих возможные изменения, которые могут или не могут быть фактически реализованы.
Я знаю, что есть разрешимые фрагменты логики первого порядка, такие как:
- Конечно ограниченные кванторы
- Монадическая логика первого порядка
Что я хотел бы знать, так это то, для каких классов FOL (если таковые имеются) гарантированно будут выполняться различные решатели SMT? Как я могу узнать, находится ли проблема, на которую я смотрю, в тех фрагментах, для которых они завершены?