【24h】

Refinements for Free!

机译:免费优化!

获取原文

摘要

Formal verification of algorithms often requires a choice between definitions that are easy to reason about and definitions that are computationally efficient. One way to reconcile both consists in adopting a high-level view when proving correctness and then refining stepwise down to an efficient low-level implementation. Some refinement steps are interesting, in the sense that they improve the algorithms involved, while others only express a switch from data representations geared towards proofs to more efficient ones geared towards computations. We relieve the user of these tedious refinements by introducing a framework where correctness is established in a proof-oriented context and automatically transported to computation-oriented data structures. Our design is general enough to encompass a variety of mathematical objects, such as rational numbers, polynomials and matrices over refinable structures. Moreover, the rich formalism of the Coq proof assistant enables us to develop this within Coq, without having to maintain an external tool.
机译:对算法的形式验证通常需要在易于推理的定义和计算效率高的定义之间进行选择。调和两者的一种方法是在证明正确性时采用高级视图,然后逐步细化为有效的低级实现。从某种意义上说,一些改进步骤很有趣,因为它们改进了所涉及的算法,而其他一些仅表示从面向证明的数据表示到面向计算的更有效的表示的转换。我们通过引入一个框架来减轻用户的繁琐改进,该框架中的正确性是在面向证明的上下文中建立的,并自动传输到面向计算的数据结构中。我们的设计足够通用,可以包含各种数学对象,例如有理数,多项式和可精炼结构上的矩阵。此外,Coq证明助手的丰富形式主义使我们能够在Coq内进行开发,而无需维护外部工具。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号