Chapter

Mathematics of Program Construction

Volume 5133 of the series Lecture Notes in Computer Science pp 268-283

Algebra of Programming Using Dependent Types

  • Shin-Cheng MuAffiliated withInstitute of Information Science, Academia Sinica
  • , Hsiang-Shang KoAffiliated withDepartment of Computer Science and Information Engineering, National Taiwan University
  • , Patrik JanssonAffiliated withDepartment of Computer Science and Engineering, Chalmers University of Technology & University of Gothenburg

* Final gross prices may vary according to local VAT.

Get Access

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.