Abstract
Huet and Coquand's Calculus of Constructions, an implementation of type theory, was extended by Luo with sigma types, a type of pairs where the type of the second component depends on the value of the first one. This calculus has been implemented as ‘Lego’ by Pollack. The system and documentation is obtainable thus: ftp ftp.dcs.ed.ac.uk cd export/lego, after which one should read the file README.
The sigma types enable one to give a compact description of abstract mathematical structures such as ‘group’, to build more concrete structures of them, such as ‘the group of integers under addition’ and to check that the concrete structure is indeed an instance of the abstract one. The trick is that the concrete structure includes as components proofs that it satisfies the axioms of the abstract structures. So ‘group’ is a sigma type and ‘group of integers under addition’ is an n-tuple of types, operators and proofs which is an element of this sigmatype. We can define functions which enrich such structures or forget them to simpler ones.
However the calculus is intentional and it is too restrictive to identify the mathematical notion of ‘set’ with ‘type’. We will discuss how sets and functions between them may be represented and the notational difficulties which arise. We put forward a tentative suggestion as to how these difficulties might be overcome by defining the category of sets and functions in the calculus, then using the internal language of that category to extend the type theory. This would be a particular example of a more general reflection principle.
Similar content being viewed by others
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Burstall, R. (1993). Extended calculus of constructions as a specification language. In: Bird, R.S., Morgan, C.C., Woodcock, J.C.P. (eds) Mathematics of Program Construction. MPC 1992. Lecture Notes in Computer Science, vol 669. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56625-2_1
Download citation
DOI: https://doi.org/10.1007/3-540-56625-2_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56625-0
Online ISBN: 978-3-540-47613-9
eBook Packages: Springer Book Archive