Program specification and data refinement in type theory
- 4 March 1993
- journal article
- research article
- Published by Cambridge University Press (CUP) in Mathematical Structures in Computer Science
- Vol. 3 (3) , 333-363
- https://doi.org/10.1017/s0960129500000256
Abstract
The study of type theory may offer a uniform language for modular programming, structured specification and logical reasoning. We develop an approach to program specification and data refinement in a type theory with a strong logical power and nice structural mechanisms to show that it provides an adequate formalism for modular development of programs and specifications. Specification of abstract data types is considered, and a notion of abstract implementation between specifications is defined in the type theory and studied as a basis for correct and modular development of programs by stepwise refinement. The higher-order structural mechanisms in the type theory provide useful and flexible tools (specification operations and parameterized specifications) for modular design and structured specification. Refinement maps (programs and design decisions) and proofs of implementation correctness can be developed by means of the existing proof development systems based on type theories.Keywords
This publication has 26 references indexed in Scilit:
- The Extended Calculus of Constructions (ECC) with inductive typesInformation and Computation, 1992
- Type checking with universesTheoretical Computer Science, 1991
- A higher-order calculus and theory abstractionInformation and Computation, 1991
- Do-it-yourself type theoryFormal Aspects of Computing, 1989
- Specifications in an arbitrary institutionInformation and Computation, 1988
- The calculus of constructionsInformation and Computation, 1988
- Structured algebraic specifications: A Kernel languageTheoretical Computer Science, 1986
- Automatic synthesis of typed Λ-programs on term algebrasTheoretical Computer Science, 1985
- Abstract data types and software validationCommunications of the ACM, 1978
- A formulation of the simple theory of typesThe Journal of Symbolic Logic, 1940