В информатике DPLL(T) — это фреймворк для определения выполнимости задач SMT . Алгоритм расширяет исходный алгоритм DPLL , решающий SAT , возможностью рассуждать о произвольной теории T. [1] [2] [3] На высоком уровне алгоритм работает, преобразуя задачу SMT в формулу SAT, где атомы заменяются булевыми переменными. Алгоритм многократно находит удовлетворяющую оценку для задачи SAT, консультируется с решателем теории для проверки согласованности в рамках теории, специфичной для домена, а затем (если обнаружено противоречие) уточняет формулу SAT с этой информацией. [4]
Многие современные решатели SMT, такие как Z3 Theorem Prover и CVC4 от Microsoft , используют DPLL(T) для обеспечения своих основных возможностей решения. [5] [6] [7]
Ссылки
^ Ганзингер, Харальд; Хаген, Джордж; Ниувенхейс, Роберт; Оливерас, Альберт; Тинелли, Чезаре (2004). "DPLL(T): Быстрые процедуры принятия решений". В Alur, Rajeev; Peled, Doron A. (ред.). Computer Aided Verification . Lecture Notes in Computer Science. Vol. 3114. Springer Berlin Heidelberg. pp. 175– 188. doi : 10.1007/978-3-540-27813-9_14 . ISBN9783540278139.
^ Nieuwenhuis, Robert; Oliveras, Albert; Tinelli, Cesare (2006). «Решение SAT и теорий SAT по модулю: от абстрактной процедуры Дэвиса–Патнэма–Логемана–Лавленда до DPLL(T)». J. ACM . 53 (6): 937– 977. doi :10.1145/1217856.1217859. ISSN 0004-5411. S2CID 14058631.
^ Nieuwenhuis, Robert; Oliveras, Albert (2005). "DPLL(T) с исчерпывающим распространением теории и его применение к разностной логике". В Etessami, Kousha; Rajamani, Sriram K. (ред.). Computer Aided Verification . Lecture Notes in Computer Science. Vol. 3576. Springer Berlin Heidelberg. pp. 321– 334. doi : 10.1007/11513988_33 . ISBN9783540316862.
^ Рейнольдс, Эндрю (2015). "Теории выполнимости по модулю и DPLL(T)" (PDF) . Университет Айовы . Получено 2019-04-08 .
^ де Моура, Леонардо; Бьёрнер, Николай (2008). "Z3: Эффективный SMT-решатель". В Рамакришнане, ЧР; Рехоф, Якоб (ред.). Инструменты и алгоритмы для построения и анализа систем . Конспект лекций по информатике. Том 4963. Springer Berlin Heidelberg. стр. 337–340 . doi : 10.1007/978-3-540-78800-3_24 . ISBN9783540788003.
^ Лян, Тяньи; Рейнольдс, Эндрю; Тинелли, Чезаре; Барретт, Кларк; Детерс, Морган (2014). «Решатель теории DPLL(T) для теории строк и регулярных выражений». В Biere, Armin; Bloem, Roderick (ред.). Computer Aided Verification . Lecture Notes in Computer Science. Cham: Springer International Publishing. стр. 646– 662. doi : 10.1007/978-3-319-08867-9_43 . ISBN978-3-319-08867-9.