## Dependently Typed Functional Programs and their Proofs (1999)

### Cached

### Download Links

Citations: | 71 - 13 self |

### BibTeX

@TECHREPORT{Mcbride99dependentlytyped,

author = {Conor Mcbride},

title = {Dependently Typed Functional Programs and their Proofs},

institution = {},

year = {1999}

}

### Years of Citing Articles

### OpenURL

### Abstract

Research in dependent type theories [M-L71a] has, in the past, concentrated on its use in the presentation of theorems and theorem-proving. This thesis is concerned mainly with the exploitation of the computational aspects of type theory for programming, in a context where the properties of programs may readily be specified and established. In particular, it develops technology for programming with dependent inductive families of datatypes and proving those programs correct. It demonstrates the considerable advantage to be gained by indexing data structures with pertinent characteristic information whose soundness is ensured by typechecking, rather than human effort. Type theory traditionally presents safe and terminating computation on inductive datatypes by means of elimination rules which serve as induction principles and, via their associated reduction behaviour, recursion operators [Dyb91]. In the programming language arena, these appear somewhat cumbersome and give rise to unappealing code, complicated by the inevitable interaction between case analysis on dependent types and equational reasoning on their indices which must appear explicitly in the terms. Thierry Coquand’s proposal [Coq92] to equip type theory directly with the kind of