scispace - formally typeset
Book ChapterDOI

Constructive mathematics and computer programming

TLDR
This chapter discusses that relating constructive mathematics to computer programming seems to be beneficial, and that it may well be possible to turn what is now regarded as a high level programming language into machine code by the invention of new hardware.
Abstract
Publisher Summary This chapter discusses that relating constructive mathematics to computer programming seems to be beneficial. Among the benefits to be derived by constructive mathematics from its association with computer programming, one is that you see immediately why you cannot rely upon the law of excluded middle: its uninhibited use would lead to programs that one did not know how to execute. By choosing to program in a formal language for constructive mathematics, like the theory of types, one gets access to the conceptual apparatus of pure mathematics, neglecting those parts that depend critically on the law of excluded middle, whereas even the best high level programming languages so far designed are wholly inadequate as mathematical languages. The virtue of a machine code is that a program written in it can be directly read and executed by the machine. The distinction between low and high level programming languages is of course relative to the available hardware. It may well be possible to turn what is now regarded as a high level programming language into machine code by the invention of new hardware.

read more

Citations
More filters
Book

Types and Programming Languages

TL;DR: This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages.
Journal ArticleDOI

The calculus of constructions

TL;DR: In this article, the authors propose a method to solve the problem of homonymity in homonymization, i.e., homonym-of-subjects-with-objectivity.
Book

A computational logic

TL;DR: This paper presents a meta-modelling simulation of the response of the immune system to changes in the environment through the course of natural selection.
Journal ArticleDOI

A specifier's introduction to formal methods

TL;DR: Formal methods used in developing computer systems are defined, and their role is delineated, and certain pragmatic concerns about formal methods and their users, uses, and characteristics are discussed.
Proceedings ArticleDOI

Dependent types in practical programming

TL;DR: An approach to enriching the type system of ML with a restricted form of dependent types, where type index objects are drawn from a constraint domain C, leading to the DML(C) language schema, which allows specification and inference of significantly more precise type information, facilitating program error detection and compiler optimization.
References
More filters
Journal ArticleDOI

Untersuchungen über das logische Schließen. II

TL;DR: In this paper, a process for sizing cellulose fibers or cellulose fiber containing materials and a composition for carrying out the process are described, and a method for sizing according to the general formula of R1 is presented.
Journal ArticleDOI

The Mechanical Evaluation of Expressions

P. J. Landin
- 01 Jan 1964 - 
TL;DR: It is shown how some forms of expression in current programming languages can be modelled in Church's X-notation, and a way of "interpreting" such expressions is described, which suggests a method of analyzing the things computer users write.
Book ChapterDOI

An Intuitionistic Theory of Types: Predicative Part

TL;DR: The theory of types as mentioned in this paper is a full-scale system for formalizing intuitionistic mathematics as developed, which allows proofs to appear as parts of propositions so that the propositions of the theory can express properties of proofs.
Journal ArticleDOI

The programming language pascal

Niklaus Wirth
- 01 Mar 1971 - 
TL;DR: Pascal was developed on the basis of Algol 60 with emphasis placed on keeping the number of fundamental concepts reasonably small, on a simple and systematic language structure, and on efficient implementability.