计算克雷格插值法已知哪些算法?


19

是否有计算插补算法的调查?那只有一种算法的论文呢?我最感兴趣的情况是和C = q,再加上插值尽可能小的约束。(我知道McMillan在2005年发表的论文,该论文描述了如何在避免量词的同时获取内插值。)C ^ = q一种=¬pqC=q

背景: Craig的插值定理(1957年)说,如果Ť一种ŤC一种C,其中一种T_A中的(fol)公式,CT_C的公式,则存在公式B使得\ vdash_ {T_A} A \到B\ vdash_ {T_C}乙\到C。式克雷格插值Ç(或者,在可替换定义,的\ lnotÇ)。\ lnot p \ land qq的平凡插值是Ť一种CŤCŤ一种一种ŤCC一种C一种¬C¬pqqq但是我想要一个小的插值,以便对'small'进行一些合理的定义(例如句法大小)。(插值器有很多用途,如果您好奇的话,这里是其中之一。)

动机:这对通过验证条件生成的(非常)增量程序验证很有用。


关于在各种证明系统中从给定证明中找到内插值的复杂性,会有各种结果。在某些弱证明系统中,可以高效地找到插值(然后我们说证明系统满足可行的插值属性),但更强的系统则不具备此属性(假设密码学中存在合理的假设)。简而言之,找到内插值的算法取决于用来显示的证明系统。一种C
卡夫

我肯定错过了什么。平凡的插值大小为1。它怎么会更小?q
EmilJeřábek在2012

@EmilJeřábek:和是一个元变量,代表公式。例如,您可能具有和,其中情况是和的很好的插值,因为是无法满足的。在我的应用程序中,是旧的验证条件,是在程序稍作编辑后获得的验证条件。q p X = 1 p - [R 中号ÈX q X = 1 Ö d dX ˚F 小号ë ¬ p q q ¬ p q ppqpX=1个p[R一世ËXqX=1个ØddXF一种sˬpqq¬pqpq
Radu GRIGore 2012年

我知道了。这种表示法让我很困惑。是否有原因是小写字母,而 A B C是大写字母?p,qA,B,C
EmilJeřábek在2013年

Answers:


16

看看Himanshu Jain的博士学位论文,使用满意度检查进行验证,谓词抽象和Craig插值。他着眼于验证应用中的几种基本技术的性能,并有一章涉及涉及线性方程和Diophantines的公式的插值。

他特别研究了我称为Bibel的连接方法,并将其称为General Matings。这些是基于图的方法,而不是基于公式推断的方法。如果您总体上对它们感兴趣,那么让我推荐Dominic Hughes的简短(无语法证明(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

如果在C的证明中不使用B,则可以避免。当在C的证明中不使用B时,我们已经有G |-C,因此通过弱化G,A-> B |-C。这里提到的算法,将不会对此予以关注。

最好的祝福

参考:Craig的插值定理在Isabelle / HOL中正式化和机械化,汤姆·里奇,剑桥大学,2006年7月12日, http://arxiv.org/abs/cs/0607058v1

上面的引用没有完全显示相同的插值,因为它在序列的结论部分使用了多组。同样,它没有利用暗示。但这很有趣,因为它支持我的复杂性主张,并且显示了机械化的验证。


1月,您可以在cstheory上使用LaTeX风格的数学。
卡夫

8

自问这个问题以来已有两年多的时间,但是在那时,已经有更多的论文发表了关于计算Craig插值的算法。这是一个非常活跃的研究领域,在这里给出一个完整的列表是不可行的。我在下面相当随意地选择了文章。我建议以下参考它们的文章并阅读它们的相关工作部分,以清楚地了解情况。

  1. 满意度模理论中的高效内插生成,亚历山德罗·西马蒂(Alessandro Cimatti),阿尔贝托·格里焦(Alberto Griggio),罗伯托·塞巴斯蒂安(Roberto Sebastiani),ACM TOCL,2010年。

    涵盖了线性有理算术,有理和整数差分逻辑以及每个不等式的单位两个变量(UTVPI)的插值。

  2. 可满足性模数线性整数算法,Alberto Griggio,Thi Thieu Hoa Le和Roberto Sebastiani的高效内插生成。2010。

  3. 生成插值的组合方法 Greta Yorsh和Madanlal Musuvathi。2005。

    说明在存在Nelson-Oppen理论组合的情况下如何生成插值。

  4. 平等理论的地面插值法,亚历山大·福克斯(Alexander Fuchs),阿米特·戈尔(Amit Goel),吉姆·格伦迪(Jim Grundy),萨瓦·科斯蒂克(Sava Krstic),切萨雷·蒂内利(Cesare Tinelli)。2011。

  5. 完整的基于实例的插值,Nishant Totla和Thomas Wies。2012。

  6. 插值器作为分类器,Rahul Sharma,Aditya V.Nori和Alex Aiken,2012年。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.