Введение

E – высокопроизводительная система доказательства теорем для логики первого порядка с равенством. Она основана на уравнительном исчислении суперпозиций и использует чисто уравнительную парадигму. E был интегрирован в другие системы доказательства теорем и неоднократно занимал лидирующие позиции в соревнованиях по автоматическому доказательству теорем. E разработан Стефаном Шульцем, изначально в группе автоматизированного рассуждения Технического университета Мюнхена, а ныне – в Баден-Вюртембергском кооперативном государственном университете Штутгарта.

Система

Система основана на уравнительном исчислении суперпозиций. В отличие от большинства современных решателей, реализация действительно использует чисто уравнительную парадигму и моделирует не-уравненческие выводы посредством соответствующих выводов равенства. Значительные нововведения включают совместное переписывание термов (когда множество возможных уравнительных упрощений выполняется за одну операцию), несколько эффективных структур индексирования термов для ускорения вывода, продвинутые стратегии выбора литералов для вывода и различные применения методов машинного обучения для улучшения поведения поиска. Начиная с версии 2.0, E поддерживает многосортную логику. E реализован на языке C и портирован на большинство вариантов UNIX и среду Cygwin. Он распространяется под лицензией GNU GPL.

Соревнования

Проверка неизменно показывала хорошие результаты в соревновании CADE ATP System Competition, выиграв категорию CNF/MIX в 2000 году и с тех пор постоянно входя в число лучших систем. В 2008 году она заняла второе место. В 2009 году она заняла второе место в категориях FOF (логика первого порядка) и UEQ (логика единичных уравнений) и третье место (после двух версий Vampire) в CNF (клаузальная логика). В 2010 году она повторила результаты в FOF и CNF и получила специальную награду как "лучшая в целом" система. В 2011 году на CASC 23 E она выиграла дивизион CNF и заняла вторые места в UEQ и LTB.

Приложения

E был интегрирован в несколько других систем доказательства теорем. Вместе с Vampire, SPASS, CVC4 и Z3, он лежит в основе стратегии Sledgehammer в Isabelle. E также является механизмом логического вывода в SInE и LEO II и используется как система клаузулизации для iProver. Области применения E включают рассуждения над большими онтологиями, верификацию программного обеспечения и сертификацию программного обеспечения.