Перевести программы набора ответов на язык доказательства теорем первого порядка.
Примечание
В настоящее время вы просматриваете первую версию anthem , созданную Патриком Люне и больше не разрабатываемую. Никаких дальнейших коммитов в этот репозиторий делаться не будет.
Если вас интересует последняя версия Anthem, загляните в новый репозиторий.
anthem переводит программы ASP (на входном языке clingo ) на язык средств доказательства теорем первого порядка, таких как Prover9.
Чтобы убедиться, что программа реализует спецификацию, вызовите anthem с помощью команды verify-program :
$ anthemverify-program <файл программы> <файл спецификации>...
Обратите внимание, что можно указать несколько файлов спецификации. Это полезно для отделения лемм и аксиом от предположений и спецификаций.
Пример вычисления нижнего квадратного корня числа можно воспроизвести следующим образом:
$ anthem проверки-программы примеры/пример-2.{lp,spec,lemmas}Обозначение фигурных скобок — это сокращение Bash для
$ anthem проверки-программы примеры/пример-2.lp примеры/пример-2.спец примеры/пример-2.леммы
По умолчанию anthem выполняет автодополнение Кларка для переведенных формул, определяет, какие переменные являются целочисленными, и упрощает вывод, применяя несколько основных правил преобразования.
Эти этапы обработки можно отключить с помощью опций --no-complete , --no-simplify и --no-detect-integers .
anthem создан с использованием cargo инструментария Rust. После установки Rust anthem можно собрать следующим образом:
$ git клон https://github.com/potassco/anthem.git $ компакт-диск с гимном $грузовая сборка --выпуск
После этого двоичный файл anthem будет доступен в каталоге target/release/ . В качестве альтернативы, anthem можно вызвать с помощью cargo следующим образом:
$ Cargo Run --verify-program <файл программы> <файл спецификации>...
Патрик Люне