Какие алгоритмы известны для вычисления интерполантов Крейга?


19

Есть ли обзор алгоритмов вычисления интерполантов? Как насчет работ только по одному алгоритму? Случай я больше всего интересует = ¬ р д и С = д , а также ограничение , что интерполянт настолько мал , насколько это возможно. (Мне известна статья Макмиллана 2005 года , в которой описывается, как получать интерполанты, избегая при этом квантификаторов.)A=¬pqC=q

Фон: интерполяционная теорема Крейга (1957) говорит, что если , где A - ( fol ) формула в T A, а C - формула T C , то существует формула B такая, что ТB и T C B C . Формула B является интерполятором Крейга для A и CTATCACATACTCBTAABTCBCBAC(или, в альтернативных определений, из и ¬ С ). Простейшая интерполянт ¬ р д и д является д , но я хочу небольшой интерполянта, для некоторого разумного определения «малые» (например, синтаксического размера). (Интерполанты имеют много применений, и, если вам интересно, вот один .)A¬C¬pqqq

Мотивация: Это было бы полезно при (очень) инкрементальной верификации программы посредством генерации условий верификации.


Существуют различные результаты о сложности нахождения интерполанта по данному доказательству в различных системах доказательств. В некоторых слабых системах доказательств можно эффективно найти интерполант (а затем мы говорим, что система доказательств удовлетворяет допустимому свойству интерполяции), но более сильные системы не обладают этим свойством, предполагающим вероятные гипотезы в криптографии. Я Короче говоря, алгоритм нахождения интерполянта зависит от доказательства системы используется , чтобы показать . AC
Каве

Я должен что-то упустить. Тривиальный интерполант имеет размер 1. Как он может быть меньше? q
Эмиль Йержабек поддерживает Монику 28.12.12

@ EmilJeřábek: и q являются мета-переменными, которые обозначают формулы. Например, вы можете иметь p ( ( x = 1 ) p r i m e ( x ) ) и q ( ( x = 1 ) o d d ( x ) ) , и в этом случае f a l s e хороший интерполант ¬ p qpqp((x=1)prime(x))q((x=1)odd(x))false¬pqи , потому что ¬ p q неудовлетворительно. В моем приложении p - это старое условие проверки , а q - условие проверки, полученное после незначительного редактирования программы. q¬pqpq
Раду GRIGore

Понимаю. Я довольно смущен обозначениями. Есть ли причина, почему прописные, а A , B , C прописные? p,qA,B,C
Эмиль Йержабек поддерживает Монику

Ответы:


16

Взгляните на кандидатскую диссертацию Химаншу Джайна , « Проверка с использованием проверки удовлетворенности», «Предикатная абстракция» и «Крейгская интерполяция» . Он рассматривает эффективность нескольких фундаментальных методов, ориентируясь на приложения в верификации, и имеет главу по интерполяции формул с участием линейных уравнений и диофантов.

Он особо рассматривает то, что я знаю как метод соединения Бибеля, и которое он называет Генеральным спариванием. Это основанные на графике, а не основанные на формулах подходы к удовлетворяемости. Если вы интересуетесь ими в целом, позвольте мне порекомендовать достаточно короткие (11 страниц) доказательства Доминика Хьюза без синтаксиса .


8

Интересно, что существует связь между отсечением и теоремой об интерполяции. Прежде всего, теорема об интерполяции выглядит как обратное исключению правила смешивания, используемому во время исключения среза. Это исключение говорит:

If G |- A and D, A |- B are cut-free proofs,  
then there is a cut-free proof G, D |- B

Теперь одну из форм теоремы об интерполяции, основанную на доказательствах без вырезов, можно сделать следующим образом. Это перевернутая версия ликвидации. Он начинается с G, D | - B и дает G | - A и D, A | - B:

If G; D |- B is a cut free proof,  
then there is a formula A (the interpolant) 
and cut free proofs G |- A and D, A |- B,  
and A uses only propositions simultaneously from G and D

Я специально поставил точку с запятой между предпосылками G и D. Именно здесь мы проводим черту, какие предпосылки мы хотим видеть как доставку интерполанта, и какие предпосылки мы хотим видеть, используя интерполант.

Когда вход является доказательством без среза, усилие алгоритма пропорционально количеству узлов доказательства без среза. Таким образом, его практический метод линейного ввода. На каждом шаге доказательства доказательства без выреза алгоритм собирает интерполант, вводя новую связку.

Вышеупомянутое наблюдение справедливо для простой интерполяционной конструкции, где нам требуется только, чтобы интерполант имел предложения одновременно из G и D. Интерполанты с переменным условием требуют немного больше шагов, поскольку также необходимо выполнить некоторую привязку переменной.

Вероятно, существует связь между минимальностью доказательства без вырезов и размером интерполанта. Не все доказательства без вырезов минимальны. Например, единообразные доказательства часто короче, чем доказательства без вырезов. Лемма для равномерных доказательств довольно проста, применение правила вида:

 G |- A       G, B |- C
 ----------------------
     G, A -> B |- C

Можно избежать, когда B не используется в доказательстве C. Когда B не используется в доказательстве C, мы уже имеем G | - C, и, таким образом, ослабляя G, A -> B | - C. Интерполяция Алгоритм, упомянутый здесь, не будет обращать на это внимание.

С уважением

Список литературы: Интерполяционная теорема Крейга, формализованная и механизированная в Изабель / HOL, Том Ридж, Кембриджский университет, 12 июля 2006 г. http://arxiv.org/abs/cs/0607058v1

Вышеприведенная ссылка не совсем показывает ту же интерполяцию, поскольку она использует множественные множества в заключительной части последовательности. Также это не использует смысл. Но это интересно, поскольку оно поддерживает мое утверждение о сложности и так как показывает механизированную проверку.


Ян, ты можешь использовать математику в стиле LaTeX в cstheory.
Каве

8

Прошло более двух лет с тех пор, как был задан этот вопрос, но за это время было опубликовано больше статей об алгоритмах вычисления интерполантов Крейга. Это очень активная область исследований, и здесь невозможно дать полный список. Я выбрал статьи довольно произвольно ниже. Я хотел бы предложить следующие статьи, которые ссылаются на них и читать соответствующие разделы работы, чтобы получить четкое представление о ландшафте.

  1. Эффективная интерполяционная генерация в теории удовлетворенности по модулю , Алессандро Симатти, Альберто Гриджио, Роберто Себастьяни, ACM TOCL, 2010.

    Охватывает интерполяцию для линейной рациональной арифметики, логики рациональных и целочисленных разностей и логики переменных второго модуля на неравенство (UTVPI).

  2. Эффективная интерполяционная генерация в выполнимости по модулю линейной целочисленной арифметики , Альберто Гриджио, Тхи Тьё Хоа Ле и Роберто Себастьяни. 2010.

  3. Комбинированный метод получения интерполантов , Грета Йорш и Маданлала Мусувати. 2005.

    Показано, как генерировать интерполанты при наличии комбинации теории Нельсона-Оппена.

  4. Основание интерполяции для теории равенства , Александр Фукс, Амит Гоэль, Джим Гранди, Сава Крстич, Чезаре Тинелли. 2011.

  5. Полная интерполяция на основе инстанции, Нишант Тотла и Томас Вис. 2012.

  6. Интерполанты как классификаторы , Рахул Шарма, Адитья В. Нори и Алекс Айкен, 2012.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.