×

Agda编程代数:关系程序派生的依赖类型。 (英语) Zbl 1191.68195号

摘要:关系程序派生是一种通过代数规则将关系规范逐步细化为程序的技术。由此获得的程序通过构造是正确的。同时,依赖类型理论足够丰富,可以表达类型检查器要验证的各种正确性属性。我们开发了一个库AoPA(Agda中的编程代数),用依赖类型的编程语言Agda对关系派生进行编码。程序与代数推导耦合,其正确性由类型系统保证。本文给出了两个非平凡的例子:一个优化问题和一个快速排序的推导,在这个问题中,使用了基础良好的递归来模拟归纳类型语言中的终止形式论。

MSC公司:

68N99型 软件理论
第68季度第65季度 抽象数据类型;代数规范

关键词:

终止亚纯性
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] DOI:10.1093/comjnl/32.2.122·doi:10.1093/comjnl/32.2.122
[2] Bird,《计算科学中的构造方法》,第151页–(1989)·doi:10.1007/978-3-642-74884-45
[3] Backhouse,IFIP TC2/WG2.1建设项目工作会议第287页–(1991年)
[4] 内政部:10.1145/1328408.1328414·数字对象标识代码:10.1145/1328408.1328414
[5] Backhouse,正式程序开发第7页–(1992)
[6] Meijer,ACM函数编程语言和计算机体系结构会议,第124页–(1991年)·doi:10.1007/3540543961_7
[7] 内政部:10.1007/3-540-47797-7_4·doi:10.1007/3-540-47797-74
[8] 内政部:10.1145/1292597.1292601·doi:10.1145/1292597.1292601
[9] McKinna,计算机科学数学基础国际研讨会第32页-(1993)
[10] 内政部:10.1145/289423.289451·Zbl 1369.68085号 ·doi:10.1145/289423.289451
[11] 内政部:10.1017/S0956796803004829·Zbl 1069.68539号 ·doi:10.1017/S0956796803004829
[12] Magnusson,《国际证明类型和程序研讨会论文集》,第213页–(1994年)·doi:10.1007/3-540-58085-978
[13] Leroy,第33届程序设计语言原理研讨会第42页–(2006)
[14] 内政部:10.1016/0304-3975(90)90108-T·Zbl 0737.68013号 ·doi:10.1016/0304-3975(90)90108-T
[15] Gries,正式开发程序和校对第33页–(1989)
[16] 内政部:10.1007/11780274_27·Zbl 1132.68327号 ·doi:10.1007/11780274_27
[17] 弗洛伊德,《计算机科学的数学方面》第19页–(1967)·doi:10.1090/psapm/019/0235771
[18] Dybjer,TLCA’99第129页–(1999年)
[19] DOI:10.1007/BF01211308·Zbl 0808.03044号 ·doi:10.1007/BF01211308
[20] 内政部:10.1016/0167-6423(95)00027-5·Zbl 0848.68054号 ·doi:10.1016/0167-6423(95)00027-5
[21] Doornbos,《程序构造数学》1995年第242页–(1995)·文件编号:10.1007/3-540-60117-1_14
[22] 库索特,形式模型和语义第843页–(1990)
[23] Cormen,算法导论(2001)
[24] 《考证助理参考手册》(2006年)
[25] 数字对象标识码:10.1017/S0956796806206006216·Zbl 1125.68033号 ·doi:10.1017/S09567968062006216
[26] 切尼,《第一类幻影类型》(2003)
[27] 内政部:10.1016/0304-3975(90)90147-A·Zbl 0701.68013号 ·doi:10.1016/0304-3975(90)90147-A
[28] Comp.伯斯托尔。J.12第41页–(1969)·Zbl 0164.46202号 ·doi:10.1093/comjnl/12.1.41
[29] 太平洋塔斯基。数学。第5页,第285页–(1955)·兹比尔0064.26004 ·doi:10.2140/pjm.1955.5.285
[30] Brady,《证据和程序类型》第115页–(2003年)
[31] 斯威尼,编程语言原理研讨会(2006年)
[32] DOI:10.1017/S0960129505004822·Zbl 1084.03026号 ·doi:10.1017/S0960129505004822
[33] 伯德,程序代数(1997)
[34] Sheard,《{\(\Omega\)}mega pp 158中的编程》(2008)
[35] Paulin-Mohring,编程语言原理研讨会(1989年)
[36] DOI:10.1007/BF01941137·Zbl 0659.68020号 ·doi:10.1007/BF01941137
[37] 内政部:10.1016/0167-6423(95)00033-X·Zbl 0853.68101号 ·doi:10.1016/0167-6423(95)00033-X
[38] 内政部:10.1007/978-3-540-70594-9_15·兹比尔1156.68358 ·doi:10.1007/978-3-540-70594-9_15
[39] 内政部:10.1016/j.scico.2003.09.003·Zbl 1091.68026号 ·doi:10.1016/j.scico.2003.09.003
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。