Constructive mathematics and computer programming
暂无分享,去创建一个
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.
[1] P. J. Landin. The Mechanical Evaluation of Expressions , 1964, Comput. J..
[2] A. Kolmogoroff. Zur Deutung der intuitionistischen Logik , 1932 .
[3] G. Gentzen. Untersuchungen über das logische Schließen. I , 1935 .
[4] P. Martin-Löf. An Intuitionistic Theory of Types: Predicative Part , 1975 .
[5] de Ng Dick Bruijn,et al. The mathematical language AUTOMATH, its usage, and some of its extensions , 1970 .