Algebra of Programming Using Dependent Types

Shin-Cheng Mu, Hsiang-Shang Ko, Patrik Jansson. Algebra of Programming Using Dependent Types. In Philippe Audebaud, Christine Paulin-Mohring, editors, Mathematics of Program Construction, 9th International Conference, MPC 2008, Marseille, France, July 15-18, 2008. Proceedings. Volume 5133 of Lecture Notes in Computer Science, pages 268-283, Springer, 2008. [doi]

Abstract

Dependent type theory is rich enough to express that a program satisfies an input/output relational specification, but it could be hard to construct the proof term. On the other hand, squiggolists know very well how to show that one relation is included in another by algebraic reasoning. We demonstrate how to encode functional and relational derivations in a dependently typed programming language. A program is coupled with an algebraic derivation from a specification, whose correctness is guaranteed by the type system.