Projects per year
Abstract
Writing dependently typed functional programs that capture non-trivial program properties is difficult in current systems due to lack of proof automation. We identify proof patterns that occur when programming with dependent types and detail how automating such patterns allow us to work more comfortably with types that capture, for example, membership, ordering and non-linear arithmetic properties. We describe the role of the rippling heuristic, both for inductive and non-inductive proofs, and generalisation in providing such automation. We then discuss an implementation of our ideas in Coq with practical examples of dependently typed programs, that capture useful program properties, which can be verified automatically. We demonstrate that our proof automation is generic in that it can provide support for working with theorems involving user-defined functions and inductive data types.
Original language | English |
---|---|
Pages (from-to) | 209-228 |
Number of pages | 20 |
Journal | Fundamenta Informaticae |
Volume | 102 |
Issue number | 2 |
DOIs | |
Publication status | Published - 1 Jan 2010 |
Fingerprint
Dive into the research topics of 'Automation for Dependently Typed Functional Programming'. Together they form a unique fingerprint.Projects
- 1 Finished
-
Integration and Interaction of multiple mathematical reasoning processes
Bundy, A., Colton, S., Aspinall, D., Dennis, L., Fleuriot, J., Georgieva, L., Ireland, A., Jackson, P. & Smaill, A.
1/04/07 → 31/03/11
Project: Research