论文标题
Imandra自动推理系统(系统描述)
The Imandra Automated Reasoning System (system description)
论文作者
论文摘要
我们描述了Imandra,这是一种现代的计算逻辑定理供您,旨在弥合Boyer-Moore家族(如ACL2)等决策程序之间的差距,以及用于打字高阶逻辑的交互式证明助手。 Imandra的逻辑是计算的,基于OCAML的纯子集,其中所有函数都在终止,对类型和高阶功能的限制允许猜想被转化为具有多组的一阶逻辑,其中包括算术和数据型。 Imandra具有支持大规模工业应用的新颖功能,包括界定和无限验证的无缝集成,一流的可计算反例,有效可执行的模型以及支持Live Multiuser协作的云本地体系结构。 Imandra的核心推理机制是(i)在上述逻辑中查找公式模型的半完整程序,围绕着递归功能的懒惰扩展,以及(ii)感应性瀑布和简化器,它将许多Boyer-Moore的想法“提升”许多Boyer-Moore的想法为我们的类型高阶设置。 这些机制紧密整合,并受到多种形式的用户控制。 Imandra的用户界面包括具有VS代码的交互式高级,Jupyter笔记本电脑和基于文档的验证(本着Isabelle的Prover IDE的精神)。
We describe Imandra, a modern computational logic theorem prover designed to bridge the gap between decision procedures such as SMT, semi-automatic inductive provers of the Boyer-Moore family like ACL2, and interactive proof assistants for typed higher-order logics. Imandra's logic is computational, based on a pure subset of OCaml in which all functions are terminating, with restrictions on types and higher-order functions that allow conjectures to be translated into multi-sorted first-order logic with theories, including arithmetic and datatypes. Imandra has novel features supporting large-scale industrial applications, including a seamless integration of bounded and unbounded verification, first-class computable counterexamples, efficiently executable models and a cloud-native architecture supporting live multiuser collaboration. The core reasoning mechanisms of Imandra are (i) a semi-complete procedure for finding models of formulas in the logic mentioned above, centered around the lazy expansion of recursive functions, and (ii) an inductive waterfall and simplifier which "lifts" many Boyer-Moore ideas to our typed higher-order setting. These mechanisms are tightly integrated and subject to many forms of user control. Imandra's user interfaces include an interactive toplevel, Jupyter notebooks and asynchronous document-based verification (in the spirit of Isabelle's Prover IDE) with VS Code.