【24h】

Meta-Theory a la Carte

机译:元理论点菜

获取原文

摘要

Formalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-known benefits. Unfortunately, the considerable effort involved in mechanizing proofs has prevented it from becoming standard practice. This cost can be amortized by reusing as much of existing mechanized formalizations as possible when building a new language or extending an existing one. One important challenge in achieving reuse is that the inductive definitions and proofs used in these formalizations are closed to extension. This forces language designers to cut and paste existing definitions and proofs in an ad-hoc manner and to expend considerable effort to patch up the results. The key contribution of this paper is the development of an induction technique for extensible Church encodings using a novel reinterpretation of the universal property of folds. These encodings provide the foundation for a framework, formalized in Coq, which uses type classes to automate the composition of proofs from modular components. This framework enables a more structured approach to the reuse of meta-theory formalizations through the composition of modular inductive definitions and proofs. Several interesting language features, including binders and general recursion, illustrate the capabilities of our framework. We reuse these features to build fully mechanized definitions and proofs for a number of languages, including a version of mini-ML. Bounded induction enables proofs of properties for non-inductive semantic functions, and mediating type classes enable proof adaptation for more feature-rich languages.
机译:在证明助手中将元理论或关于编程语言的证明形式化具有许多众所周知的好处。不幸的是,机械化证明所涉及的大量工作阻止了它成为标准做法。在构建新语言或扩展现有语言时,可以通过重用尽可能多的现有机械化形式来摊销此成本。实现重用的一个重要挑战是,这些形式化中使用的归纳定义和证明不易于扩展。这迫使语言设计人员临时地剪切和粘贴现有的定义和证明,并花费大量的精力来修补结果。本文的主要贡献是使用对褶皱通用属性的新颖重新解释,开发了可扩展的Church编码的归纳技术。这些编码为在Coq中正式化的框架提供了基础,该框架使用类型类使模块化组件中的证明自动组合。该框架通过模块化归纳定义和证明的组合,使结构化方法可以重用元理论形式化。几个有趣的语言功能(包括活页夹和通用递归)说明了我们框架的功能。我们重复使用这些功能,为包括mini-ML版本在内的多种语言构建完全机械化的定义和证明。有界归纳可以为非归纳语义功能提供属性证明,而中介类型类可以为更多功能丰富的语言提供证明适应。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号