This article needs additional citations for verification. (July 2023) |
Разработчик(и) | OCamlPro |
---|---|
Репозиторий |
|
Написано в | OCaml |
Доступно в | Английский |
Тип | Математический решатель, верификатор программ |
Веб-сайт | alt-ergo.ocamlpro.com |
Alt-Ergo — автоматический решатель математических формул , в основном используемый при формальной проверке программ . Он работает по принципу выполнимости по модулю теорий (SMT). Разработка велась исследователями из Университета Париж-Юг , Лаборатории исследований в области информатики, Института исследований в области информатики (Inria Saclay Ile-de-France) и Национального исследовательского центра научных исследований (CNRS) . С 2013 года управление проектом и его контроль осуществляются компанией OCamlPro. [1] Он выпускается под свободной и открытой лицензией программного обеспечения CeCILL-C.
Alt-Ergo использует специализированный язык ввода с предварительным полиморфизмом , разработанный для сокращения числа аксиом, требующих квантификации, и упрощения сложности проблем. Хотя Alt-Ergo предлагает частичную поддержку языка SMT-LIB 2, его эффективность с файлами SMT сравнительно ограничена.
Основная архитектура Alt-Ergo состоит из трех основных элементов: решатель SAT на основе поиска в глубину (DFS) , механизм инстанцирования квантификаторов, использующий электронное сопоставление , и сборка процедур принятия решений для ряда встроенных теорий. Эти компоненты в совокупности обеспечивают возможности Alt-Ergo в автоматическом решении формул.
Alt-Ergo реализует процедуры (полу)принятия решений для следующих теорий:
На базе Alt-Ergo построено несколько платформ проверки: