A class of data-processing systems oriented toward mathematical investigations (original) (raw)
Related papers
The challenge of computer mathematics
Philosophical Transactions of The Royal Society A: Mathematical, Physical and Engineering Sciences, 2005
Progress in the foundations of mathematics has made it possible to formulate all thinkable mathematical concepts, algorithms and proofs in one language and in an impeccable way. This not in spite of, but partially based on the famous results of Gödel and Turing. In this way statements are about mathematical objects and algorithms, proofs show the correctness of statements and computations, and computations are dealing with objects and proofs. Interactive computer systems for a full integration of defining, computing and proving are based on this. The human defines concepts, constructs algorithms and provides proofs, while the machine checks that the definitions are well-formed and the proofs and computations are correct. Results formalised so far demonstrate the feasibility of this 'Computer Mathematics'. Also there are very good applications. The challenge is to make the systems more mathematician-friendly, by building libraries and tools. The eventual goal is to help humans to learn, develop, communicate, referee and apply mathematics.
The Automation of Mathematical Reasoning
One of the main goals of automated reasoning has been the automation of mathematics. Reasoning is the ability to make inferences, and automated reasoning is concerned with the building of computing systems that automate this process. Although the overall goal is to mechanize different forms of reasoning, the term has largely been identified with valid deductive reasoning as practiced in mathematics and formal logic. Building an automated reasoning program means providing an algorithmic description to a formal calculus so that it can be implemented on a computer to prove theorems of the calculus in an efficient manner. [7] Automated reasoning has made a lot of striking successes over the last decades. It evolved into a rich scientific discipline, with many subdisciplines and with solid grounds in mathematics and computer science. Over the years, automated reasoning transformed from a research field based on mathematical logic into a field that is a driving force for mathematical logic. Nowadays, automated reasoning tools are used in everyday practice in mathematics, computer science and engineering. So, automated reasoning programs are being used by researchers to attack open questions in mathematics and logic, provide important applications in computing science, solve problems in engineering, and find novel approaches to questions in exact philosophy. Also, its role in education increases and will increase in the future.
Discovery and reasoning in mathematics
1985
We discuss the automation of mathematical reasoning, surveying the abilities displayed by human mathematicians and the computational techniques available for automating these abilities. We argue the importance of the simultaneous study of these techniques, because problems inherent in one technique can often be solved if it is able to interact with others.
Computer-Assisted Discovery and Proof
2007
With the advent of powerful, widely-available mathematical software, combined with ever-faster computer hardware, we are approaching a day when both the discovery and proof of mathematical facts can be done in a computer-assisted manner. This article presents several specific examples of this new paradigm in action.
Mathematics and programming. a revolution in the art of effective reasoning
Inaugural Lecture, School of Computer Science and IT …, 2001
The modern world is highly dependent on the reliable functioning of computer software. The sheer scale of software systems makes their design and implementation a highly demanding intellectual activity. Meeting these demands has inspired a revolution in the way that mathematics, the art of effective reasoning, is conducted and presented. Continued effort is needed in education and research in the mathematical construction of programs, based on the controlled manipulation of mathematical formulae.
Synthese, 2003
2 fondational problem. The goal was to give rigor or logico-formal foundations to all mathematical activities. In spite of the failures of the Hilbert's initial project, the ideas of logicians and mathematicians like Turing, Kleene, Church, Gödel, Herbrand... set the bases for Computer Science. Turing Machines, later developed also by Von Neumann, have formed the paradigm of the first computers and of languages known as imperative programming (based on orders like 'do', 'go to'...). The formal systems for computing we will talk about had above all an influence on functional programming and logical programming, which are recent styles of programming and differ from the imperative style. Moreover, they are linked even more directly to the developments of mathematical logic since the '30s. Mathematical logic, in its 'metamathematical' analysis aspect, has Mathematics themselves as its object of study, its languages and its deductive methods, like geometry, to take a purely mathematical discipline as an example, has as its object of study figures and structures of space. One can therefore imagine rather artificial but convenient a three-level stratification, which has organised, with the passing of this century, the 'mathematical discourse': the geometric-algebraic structures, the mathematical theories which study them (algebra, geometry...) and, finally, metatheories that deal with mathematical theories and where one may develop a 'theory of proofs' (one will also try to see the limits of this 'organisation of mathematical discourse'). In other words, from the point of view of computations and languages, linear algebra and analytic geometry, for instance, study the expressions that represent lines on a plane or surfaces in space; λ−calculus, as a language of Proof Theory, manipulates words or expressions that represent formal proofs. In fact, expressions of this language codify abstract mathematical proofs and, therefore computations carried out on them correspond to formal operations on proofs, rather than on the lines or on the surfaces. The fact that λ-calculus is programmable, and that in fact it is a paradigmatic programming language, allows to describe the passage from Proof Theory, as an abstract theory in mathematical logic, to automated proofs and symbolic calculus, as mathematical methods in computing. Although we will speak further on of Proof Theory, we will underline here the 'constructivist' approach in order to present 'proofs as lambda-terms' and study the computer version of provability. While using λ−calculus, we will mention the role of Category Theory in the mathematical semantics of deduction and of formal programming languages (see below). Indeed, the results that link the different sectors of Mathematics and Computer Science place λ−calculus and Combinatory Logic, an equivalent system, at the meeting point of vast sectors of Logic and their applications, providing these theories with an importance that goes beyond their origins as a system for calculability or effective provability. As we have said, the two theories, which have as a common base the 'algebraic calculus without variables' of Shoenfinkel dating from the early Twenties and that are owed to Church and Curry (1928-1936), essentially proposed to 'formalise'
Foundations of Mathematics from the Perspective of Computer Verification
Mathematics, Computer Science and Logic - A Never Ending Story, 2013
In the philosophy of mathematics one speaks about Formalism, Logicism, Platonism and Intuitionism. Actually one should add also Calculism. These foundational views can be given a clear technological meaning in the context of Computer Mathematics, that has as aim to represent and manipulate arbitrary mathematical notions on a computer. We argue that most philosophical views over-emphasize a particular aspect of the mathematical endeavor.