论文标题
由演绎合成提供支持的理论探索
Theory Exploration Powered By Deductive Synthesis
论文作者
论文摘要
近年来,经过验证的软件量的增长巨大。现在,可以使用高阶理论和计算来实现复杂性质的证明。复杂的特性导致数量不断增长的定义和相关的引理,这构成了证明结构的组成部分。之后 - 无论是自动还是半自动 - 计算机辅助引理发现的方法已经出现。在这项工作中,我们引入了一种新的符号技术,用于自下而上的引理发现,即从归纳数据类型和递归定义的基础集合中产生的引理库。这被称为理论探索问题,到目前为止,已经提出了基于反示例产生或更普遍的随机测试与一阶求解器结合使用的解决方案。我们的新方法纯粹是演绎的,消除了作为过滤阶段和SMT求解器的随机测试的需求。因此,它是可熟悉的组成推理,也是用户定义的高阶功能的处理。我们的实施已显示出比以前的艺术更多的引理,同时避免了冗余。
Recent years have seen tremendous growth in the amount of verified software. Proofs for complex properties can now be achieved using higher-order theories and calculi. Complex properties lead to an ever-growing number of definitions and associated lemmas, which constitute an integral part of proof construction. Following this -- whether automatic or semi-automatic -- methods for computer-aided lemma discovery have emerged. In this work, we introduce a new symbolic technique for bottom-up lemma discovery, that is, the generation of a library of lemmas from a base set of inductive data types and recursive definitions. This is known as the theory exploration problem, and so far, solutions have been proposed based either on counter-example generation or the more prevalent random testing combined with first-order solvers. Our new approach, being purely deductive, eliminates the need for random testing as a filtering phase and for SMT solvers. Therefore it is amenable compositional reasoning and for the treatment of user-defined higher-order functions. Our implementation has shown to find more lemmas than prior art, while avoiding redundancy.