Hostname: page-component-cd4964975-g4d8c Total loading time: 0 Render date: 2023-03-30T02:11:16.372Z Has data issue: true Feature Flags: { "useRatesEcommerce": false } hasContentIssue true

On lists and other abstract data types in the calculus of constructions

Published online by Cambridge University Press:  01 April 2000

Department of Mathematics and Computer Science, University of Lethbridge, 4401 University Drive, Lethbridge, Alberta, Canada, T1K 3M4. Email: URL:∼jonathan.seldin


The representation of the inductively defined abstract data type for lists was left incomplete in Seldin (1997, Section 9). Here that representation is completed, and it is proved that all extra axioms needed are consistent. Among the innovations of this paper is a definition of cdr, whose definition was left for future work in Seldin (1997, Section 9). The results are then extended to other abstract data types – those of Berardi (1993). The method used to define cdr for lists is extended to obtain the definition of an inverse for each argument of each constructor of an abstract data type. These inverses are used to prove the injective property for the constructors. Also, Dedekind's method of defining the natural numbers is used to define a predicate associated with each abstract data type, and the use of this predicate makes it unnecessary to postulate the induction principle. The only axioms left to be proved are those asserting the disjointness of the co-domains of different constructors, and it is shown that those axioms can be proved consistent.

Research Article
© 2000 Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)


This work was supported in part by grant RGP-23391-98 from the Natural Sciences and Engineering Research Council of Canada.