Mathematical logic

Mathematical logic is a branch of mathematics, which grew out of symbolic logic. Subfields include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic has contributed to, and been motivated by, the study of foundations of mathematics, but mathematical logic also contains areas of pure mathematics not directly related to foundational questions.

Mathematical logic is closely related to the much older study of formal logic in philosophy, which began with Aristotle. It provides an easier and more complete method of checking the validity of arguments than the classical Aristotlian forms. Mathematical logic is also closely related to metamathematics.

One unifying theme in mathematical logic is the study of the expressive power of formal logics and formal proof systems. This power is measured by what mathematical concepts can be defined and what theorems can be proven within these formal systems.

Mario Bunge, Frothingham Professor of Logic and Metaphysics at McGill University has also claimed that mathematical logic is what Leibniz called characteristica universalis.

History
Mathematical logic was the name given by Giuseppe Peano to what was later called symbolic logic. In its classical version, the basic aspects resemble the logic of Aristotle, but written using symbolic notation rather than natural language. Attempts to treat the operations of formal logic in a symbolic or algebraic way were made by some of the more philosophical mathematicians, such as Leibniz and Lambert; but their labors remained little known and isolated. It was George Boole and then Augustus De Morgan, in the middle of the nineteenth century, who presented a systematic mathematical way of studying logic. The traditional, Aristotelian doctrine of logic was reformed and completed; and out of this development came an adequate instrument for investigating the fundamental concepts of mathematics. It would be misleading to say that the foundational controversies that were alive in the period 1900–1925 have all been settled; but philosophy of mathematics was greatly clarified by the "new" logic. While the Greek development of logic put heavy emphasis on forms of arguments, the attitude of current mathematical logic might be summed up as the combinatorial study of content. This covers both the syntactic and the semantic, that is, both the forms of expressions and the meanings of those expressions. In computer science, purely syntactic considerations allow a string from some formal language to be transformed by a compiler program into a sequence of machine instructions. Semantic considerations allow a computer programmer to choose which strings to use to accomplish a particular purpose.

Some landmark publications in mathematical logic include the Begriffsschrift by Gottlob Frege, Studies in Logic by Charles Peirce, Principia Mathematica by Bertrand Russell and Alfred North Whitehead, and On Formally Undecidable Propositions of Principia Mathematica and Related Systems by Kurt Gödel.

Formal logic
At its core, mathematical logic deals with mathematical concepts expressed using formal logical systems. The system of first-order logic is the most widely studied because of its applicability to foundations of mathematics and because of its desirable properties. Stronger classical logics such as second-order logic or infinitary logic are also studied, along with nonclassical logics such as intuitionistic logic.

Fields of mathematical logic
The "Handbook of Mathematical Logic" (1977) divides mathematical logic into four parts:


 * Set theory is the study of sets, which are abstract collections of objects. The basic concepts of set theory such as subset and relative complement are often called naive set theory.  Modern research is in the area of axiomatic set theory, which uses logical methods to study which propositions are provable in various formal theories such as ZFC or NF.


 * Proof theory is the study of formal proofs in various logical deduction systems. These proofs are represented as formal mathematical objects, facilitating their analysis by mathematical techniques. Frege worked on mathematical proofs and formalized the notion of a proof.


 * Model theory studies the models of various formal theories.  The set of all models of a particular theory is called an elementary class; classical model theory seeks to determine the properties of models in a particular elementary class, or determine whether certain classes of structures form elementary classes.  The method of quantifier elimination is used to show that models of particular theories cannot be too complicated.


 * Recursion theory, also called computability theory, studies the properties of computable functions and the Turing degrees, which divide the uncomputable functions into sets which have the same level of uncomputability. Recursion theory also includes the study of generalized computability and definability.

The border lines between these fields, and also between mathematical logic and other fields of mathematics, are not always sharp; for example, Gödel's incompleteness theorem marks not only a milestone in recursion theory and proof theory, but has also led to Loeb's theorem, which is important in modal logic. The mathematical field of category theory uses many formal axiomatic methods resembling those used in mathematical logic, but category theory is not ordinarily considered a subfield of mathematical logic.

Connections with computer science
There are many connections between mathematical logic and computer science. Early pioneers in computer science, such as Alan Turing, were also mathematicians and logicians. The study of computability theory in computer science is closely related to the study of computability in mathematical logic. There is a difference of emphasis, however. Computer scientists often focus on concrete programming languages and feasible computability, while researchers in mathematical logic often focus on computability as a theoretical concept and on noncomputability.

The study of programming language semantics is related to model theory, as is program verification (in particular, model checking). The Curry-Howard isomorphism between proofs and programs relates to proof theory; intuitionistic logic and linear logic are significant here. Calculi such as the lambda calculus and combinatory logic are nowadays studied mainly as idealized programming languages.

Computer science also contributes to mathematics by developing techniques for the automatic checking or even finding of proofs, such as automated theorem proving and logic programming.

Boolean algebra is used to design the hardware digital logic that determines what actions a computer will perform when it receives any particular combination of instructions from the program.

Groundbreaking results

 * The Löwenheim–Skolem theorem (1919) showed that if a set of sentences in a countable first-order language has an infinite model then it has at least one model of each infinite cardinality.
 * Gödel's completeness theorem (1929) established the equivalence between semantic and syntactic definitions of logical consequence in first-order logic.
 * Gödel's incompleteness theorems (1931) showed that no sufficiently strong formal system can prove its own consistency.
 * The algorithmic unsolvability of the Entscheidungsproblem, established independently by Alan Turing and Alonzo Church in 1936, showed that no computer program can be used to correctly decide whether arbitrary mathematical statements are true.
 * The independence of the continuum hypothesis from ZFC showed that an elementary proof or disproof of this hypothesis is impossible. The fact that the continuum hypothesis is consistent with ZFC (if ZFC itself is consistent) was proved by Gödel in 1940.  The fact that the negation of the continuum hypothesis is consistent with ZFC (if ZFC is consistent) was proved by Paul Cohen in 1963.
 * The algorithmic unsolvability of Hilbert's tenth problem, established by Yuri Matiyasevich in 1970, showed that it is not possible for any computer program to correctly decide whether multivariate polynomials with integer coefficients have any integer roots.