Bertrand Russell made various
contributions to mathematical
logic.[163]
to use logic to analyze mathematical reasoning or to establish
logic-based foundations of mathematics.[165] The latter was a
major concern in early 20th-century mathematical logic, which
pursued the program of logicism pioneered by philosopher-
logicians such as Gottlob Frege, Alfred North Whitehead, and
Bertrand Russell. Mathematical theories were supposed to be
logical tautologies, and their program was to show this by means
of a reduction of mathematics to logic. Many attempts to realize
this program failed, from the crippling of Frege's project in his
Grundgesetze by Russell's paradox, to the defeat of Hilbert's
program by Gödel's incompleteness theorems.[166]
Set theory originated in the study of the infinite by Georg Cantor,
and it has been the source of many of the most challenging and
important issues in mathematical logic. They include Cantor's
theorem, the status of the Axiom of Choice, the question of the
independence of the continuum hypothesis, and the modern debate
on large cardinal axioms.[167]
Computability theory is the branch of mathematical logic that
studies effective procedures to solve calculation problems. One of
its main goals is to understand whether it is possible to solve a given problem using an algorithm. For
instance, given a certain claim about the positive integers, it examines whether an algorithm can be found
to determine if this claim is true. Computability theory uses various theoretical tools and models, such as
Turing machines, to explore this type of issue.[168]
Computational logic is the branch of logic and computer science that studies how to implement
mathematical reasoning and logical formalisms using computers. This includes, for example, automatic
theorem provers, which employ rules of inference to construct a proof step by step from a set of premises
to the intended conclusion without human intervention.[169] Logic programming languages are designed
specifically to express facts using logical formulas and to draw inferences from these facts. For example,
Prolog is a logic programming language based on predicate logic.[170] Computer scientists also apply
concepts from logic to problems in computing. The works of Claude Shannon were influential in this
regard. He showed how Boolean logic can be used to understand and implement computer circuits.[171]
This can be achieved using electronic logic gates, i.e. electronic circuits with one or more inputs and
usually one output. The truth values of propositions are represented by voltage levels. In this way, logic
functions can be simulated by applying the corresponding voltages to the inputs of the circuit and
determining the value of the function by measuring the voltage of the output.[172]
Formal semantics is a subfield of logic, linguistics, and the philosophy of language. The discipline of
semantics studies the meaning of language. Formal semantics uses formal tools from the fields of
symbolic logic and mathematics to give precise theories of the meaning of natural language expressions.
It understands meaning usually in relation to truth conditions, i.e. it examines in which situations a
Computational logic
Formal semantics of natural language