首页> 外文会议>Annual ACM SIGPLAN-SIGACT symposium on principles of programming languages >Abstraction and Invariance for Algebraically Indexed Types
【24h】

Abstraction and Invariance for Algebraically Indexed Types

机译:代数索引类型的抽象和不变性

获取原文

摘要

Reynolds' relational parametricity provides a powerful way to reason about programs in terms of invariance under changes of data representation. A dazzling array of applications of Reynolds' theory exists, exploiting invariance to yield 'free theorems', non-inhabitation results, and encodings of algebraic datatypes. Outside computer science, invariance is a common theme running through many areas of mathematics and physics. For example, the area of a triangle is unaltered by rotation or flipping. If we scale a triangle, then we scale its area, maintaining an invariant relationship between the two. The transformations under which properties are invariant are often organised into groups, with the algebraic structure reflecting the composability and invertibility of transformations. In this paper, we investigate programming languages whose types are indexed by algebraic structures such as groups of geometric transformations. Other examples include types indexed by principals-for information flow security-and types indexed by distances-for analysis of analytic uniform continuity properties. Following Reynolds, we prove a general Abstraction Theorem that covers all these instances. Consequences of our Abstraction Theorem include free theorems expressing invariance properties of programs, type isomorphisms based on invariance properties, and non-definability results indicating when certain algebraically indexed types are uninhabited or only inhabited by trivial programs. We have fully formalised our framework and most examples in Coq.
机译:雷诺(Reynolds)的关系参数性提供了一种强有力的方式,可以根据数据表示形式变化下的不变性对程序进行推理。雷诺理论的应用令人眼花array乱,它利用不变性产生“自由定理”,非定居结果以及代数数据类型的编码。在计算机科学之外,不变性是贯穿数学和物理学许多领域的常见主题。例如,三角形的面积不会因旋转或翻转而改变。如果我们缩放三角形,那么我们缩放其面积,从而保持两者之间的不变关系。属性不变的变换通常被组织成组,其代数结构反映了变换的可组合性和可逆性。在本文中,我们研究了由代数结构(例如几何变换组)索引其类型的编程语言。其他示例包括由主体索引的类型(用于信息流安全)和由距离索引的类型(用于分析统一连续性属性)。遵循雷诺兹,我们证明了涵盖所有这些实例的一般抽象定理。我们的抽象定理的结果包括表达程序不变性的自由定理,基于不变性的类型同构以及非定义性结果,这些结果指示何时某些代数索引类型不被平凡程序占据或仅被平凡程序占据。我们已经在Coq中完全规范了我们的框架和大多数示例。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号