10.5555/3721.3731guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Constructive mathematics and computer programming

Online:01 June 1985Publication History

ABSTRACT

No abstract available.

Index Terms

  1. Constructive mathematics and computer programming

                        Reviews

                        Annalisa Bossi

                        This paper, originally published in 1982, describes one of the few existing complete theories that can be used to reason about programs. The “Intuitionistic Theory of Types” was developed by Martin-Lo¨f [1] as a symbolism for the precise codification of constructive mathematics. In this paper, the author suggests that type theory can be viewed equally well as a programming language. “If programming is understood not as the writing of instructions for this or that computing machine but as the design of methods that is the computer's duty to execute . . . then it no longer seems possible to distinguish the discipline of programming from constructive mathematics.” The resulting programming style can be briefly summarized: (1) specify the problem, as abstractly as you like (see the instance [2]); (2) develop (using the same language) the (constructive) proof that the problem is solvable. Eventually you get the program which meets the specification. Thus, the correctness of a program written in the theory of types is proved formally at the same time as it is being synthesized. There is no automatic program synthesis, but the problem solving process is facilitated by the very rich type structure of the language which allows you to represent any reasonable problem specification as a type, to use a modular design, and to proceed by successive refinements. A type is constructed starting from basic types as Finite Types (enumerations) or N (natural numbers), by using constructions such as: Cartesian Product, Disjoint Union, or Wellorderings. Inference rules, formulated in the style of Gentzen's natural deduction system for predicate logic [3], are given to form the judgment, “A is a type.” They are also given to form the judgments: “A and B are equal types,” “a is an object of type A,” “a and b are equal objects of type A.” These are the four forms of judgments which, according to the propositions and types correspondence ([4] and [5]) and the interpretation of propositions as problems or tasks [6], have different readings by substituting the word type by proposition or problem, and the word object by proof or program. Therefore, for instance, the second form of judgment (“a is an object of type A”) may be read as follows: “a is a proof of the proposition A” or “a is a program for the problem A.” When this judgment has been derived, computation rules explain how to compute the program “a.” The paper contains a complete and clear, although condensed, description of the language. The rules of inference are simply listed without comments or explanations. This might lead to the wrong impression that we are dealing only with formalism. This the wrongest way of looking at the theory since syntax and semantics cannot be separated. The interested reader may find in [7] an expanded presentation. I am convinced that constructive mathematics will be generally recognized as a foundation of programming and that Martin-Lo¨f's work will remain one of the cornerstones in achieving this purpose.

                        Access critical reviews of Computing literature here

                        Become a reviewer for Computing Reviews.

                        Comments

                        Login options

                        Check if you have access through your login credentials or your institution to get full access on this article.

                        Sign in
                        • Published in

                          Guide Proceedings cover image
                          Proc. of a discussion meeting of the Royal Society of London on Mathematical logic and programming languages
                          June 1985
                          184 pages
                          ISBN:0135614651

                          Publisher

                          Prentice-Hall, Inc.

                          United States

                          Publication History

                          • Online: 1 June 1985

                          Qualifiers

                          • Article
                        About Cookies On This Site

                        We use cookies to ensure that we give you the best experience on our website.

                        Learn more

                        Got it!