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


19

Чи є опитування алгоритмів обчислення інтерполянтів? А як з паперами лише на одному алгоритмі? Випадок, який мене найбільше цікавить, - це і , плюс обмеження, що інтерполянт якнайменший. (Я знаю з статті Макміллана від 2005 року , де описано, як отримати інтерполянти, уникаючи кількісних показників.)A=¬pqC=q

Передумови: теорема Крейга (1957 р.) Говорить, що якщо , де - формула ( fol ) в а - формула , то існує формула така, що і . Формула є Крейг інтерполянт з і (або, в альтернативних визначень, з і ). Тривіальний інтерполянт і єTATCACATACTCBTAABTCBCBACA¬C¬pqqq , але я хочу невеликий інтерполянт, для певного розумного визначення поняття "малий" (наприклад, синтаксичний розмір). (Інтерполянти мають безліч застосувань і, в разі , якщо вам цікаво, ось одна .)

Мотивація: Це було б корисно для (дуже) додаткової перевірки програми шляхом створення умови перевірки.


Існують різні результати щодо складності пошуку інтерполянта з даного доказу в різних системах доказування. У деяких слабких системах доказування можливо ефективно знайти інтерполянт (і тоді ми кажемо, що система доказування задовольняє можливу властивість інтерполяції), але більш сильні системи не мають цієї властивості, припускаючи правдоподібні гіпотези в криптовалюті. Я Коротше кажучи, алгоритм знаходження інтерполянта залежить від докази системи використовується , щоб показати . AC
Каве

Мені, мабуть, чогось не вистачає. Тривіальний інтерполянт має розмір 1. Як він може бути меншим? q
Еміль Йерабек підтримує Моніку

@ 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
Раду ГРИГо

Я бачу. Мене зовсім бентежить позначення. Чи є причина, чому є малі, а A , B , C верхній регістр? p,qA,B,C
Еміль Йерабек підтримує Моніку

Відповіді:


16

Погляньте на кандидатську дисертацію Хіманшу Джаїна , перевірку за допомогою перевірки відповідності, абстрагування предиката та інтерполяції Крейга . Він розглядає ефективність декількох фундаментальних прийомів з урахуванням застосувань у верифікації та має розділ про інтерполяцію формул, що включають лінійні рівняння та діофантини.

Він по-особливому дивиться на те, що я знаю як метод з'єднання Бібеля, і який він називає General Matings. Це підходи до задоволеності на основі графіків, а не на основі формул, заснованих на формулах. Якщо вас загалом цікавлять, дозвольте мені порекомендувати досить короткі (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 не використовується в доказуванні С, ми вже 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.