Author:
MU SHIN-CHENG,KO HSIANG-SHANG,JANSSON PATRIK
Abstract
AbstractRelational program derivation is the technique of stepwise refining a relational specification to a program by algebraic rules. The program thus obtained is correct by construction. Meanwhile, dependent type theory is rich enough to express various correctness properties to be verified by the type checker. We have developed a library, AoPA (Algebra of Programming in Agda), to encode relational derivations in the dependently typed programming language Agda. A program is coupled with an algebraic derivation whose correctness is guaranteed by the type system. Two non-trivial examples are presented: an optimisation problem and a derivation of quicksort in which well-founded recursion is used to model terminating hylomorphisms in a language with inductive types.
Publisher
Cambridge University Press (CUP)
Reference46 articles.
1. The view from the left
2. Agda Team, The. (2007) The Agda wiki [online]. Available at: http://wiki.portal.chalmers.se/agda/ (Accessed 3 July 2009).
Cited by
28 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献