Mathematical logic

From Example Problems
Jump to: navigation, search

Mathematical logic is a discipline within mathematics, studying formal systems in relation to the way they encode intuitive concepts of proof and computation as part of the foundations of mathematics.

Although the layperson may think that mathematical logic is the logic of mathematics, the truth is rather that it more closely resembles the mathematics of logic. It comprises those parts of logic that can be modelled mathematically. Earlier appellations were symbolic logic (as opposed to philosophical logic), and metamathematics, which is now restricted as a term to some aspects of proof theory.

History

Mathematical logic was the name given by Giuseppe Peano to what is also known as symbolic logic. In essentials, it is still the logic of Aristotle, but from the point of view of notation it is written as a branch of abstract algebra.

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 (of course non-quantitative) way of regarding logic. The traditional, Aristotelian doctrine of logic was reformed and completed; and out of it developed 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 traditional development of logic (see list of topics in 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 (for example, sending a string from a formal language to a compiler program to write it as sequence of machine instructions), and the semantic (constructing specific models or whole sets of them, in model theory).

Some landmark publications were 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 Godel.

Topics in mathematical logic

The main areas of mathematical logic include model theory, proof theory and recursion theory (often now referred to as computability theory). Axiomatic set theory is sometimes considered too. There are many overlaps with computer science, since many early pioneers in computer science, such as Alan Turing, were mathematicians and logicians.

The study of programming language semantics derives from model theory, as does 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 logic by developing techniques for the automatic checking or even finding of proofs, such as automated theorem proving and logic programming.

Some fundamental results

Some important results are:

  • The set of valid first-order formulas is recursively enumerable. This follows from Gödel's completeness theorem (which establishes the equivalence of validity and provability), because the set of proofs for first-order logic formulas is recursively enumerable ("semi-decidable"). Therefore, there is a procedure that behaves as follows: Given a first-order formula as its input, the procedure eventually halts if the formula is valid or not valid, and runs forever otherwise. Some first-order theorem provers have this completeness property.

Technical reference

First-order languages and structures

Definition. A first-order language {\mathfrak  {L}}\, is a collection of distinct typographical symbols classified as follows:

  1. The equality symbol =\,; the connectives \lor \,, \lnot \,; the universal quantifier \forall \, and the parentheses (\,, )\,.
  2. A countable set of variable symbols \{v_{i}\}_{{i=0}}^{\infty }\,.
  3. A set of constant symbols \{c_{\alpha }\}_{{\alpha \in \mathrm{A} }}\,.
  4. A set of function symbols \{f_{\beta }\}_{{\beta \in \mathrm{B} }}\,.
  5. A set of relation symbols \{R_{\gamma }\}_{{\gamma \in \Gamma }}\,.

Thus, in order to specify a language, it is often sufficient to specify only the collection of constant symbols, function symbols and relation symbols, since the first set of symbols is standard. The parentheses serve the only purpose of forming groups of symbols, and are not to be formally used when writing down functions and relations in formulas.

These symbols are just that, symbols. They don't stand for anything. They do not mean anything. However, that deviates further into semantics and linguistic issues not useful to the formalization of mathematical language, yet.

Yet, because it will indeed be necessary to get some meaning out of this formalization. The concept of model over a language provides with such a semantics.

Definition. An {\mathfrak  {L}}\,-structure over the language {\mathfrak  {L}}\,, is a bundle consisting of a nonempty set A\,, the universe of the structure, together with:

  1. For each constant symbol c\, from {\mathfrak  {L}}\,, an element c^{{{\mathfrak  {A}}}}\in A\,.
  2. For each n\,-ary function symbol f\, from {\mathfrak  {L}}\,, an n\,-ary function f^{{{\mathfrak  {A}}}}:A^{n}\longrightarrow A\,.
  3. For each n\,-ary relation symbol R\, from {\mathfrak  {L}}\,, an n\,-ary relation on A\,, that is, a subset R^{{{\mathfrak  {A}}}}\subseteq A^{n}\,.

Often, the word model is used for that of structure in this context. However, it is important to understand perhaps its motivation, as follows.

Terms, formulas and sentences

Definition. An {\mathfrak  {L}}\,-term is a nonempty finite string t\, of symbols from {\mathfrak  {L}}\, such that either

  • t\, is a variable symbol.
  • t\, is a constant symbol.
  • t\, is a string of the form ft_{1}...t_{n}\, where f\, is an n\,-ary function symbol and t_{1}\,, ..., t_{n}\, are terms of {\mathfrak  {L}}\,.

Definition. An {\mathfrak  {L}}\,-formula is a nonempty finite string \phi \, of symbols from {\mathfrak  {L}}\, such that either

  • \phi \, is a string of the form t_{1}=t_{2}\, where t_{1}\, and t_{2}\, are terms of {\mathfrak  {L}}\,.
  • \phi \, is a string of the form Rt_{1}...t_{n}\, where R\, is an n\,-ary relation symbol and t_{1}\,, ..., t_{n}\, are terms of {\mathfrak  {L}}\,.
  • \phi \, is of the form \lnot (\alpha )\, where \alpha \, is an {\mathfrak  {L}}\,-formula.
  • \phi \, is of the form (\alpha \lor \beta )\, where both \alpha \, and \beta \, are {\mathfrak  {L}}\,-formulas.
  • \phi \, is of the form (\forall y)(\alpha )\, where y\, is a variable symbol from {\mathfrak  {L}}\, and \alpha \, is an {\mathfrak  {L}}\,-formula.

Definition. An {\mathfrak  {L}}\,-formula that is characterized by either the first or the second clause is called an atomic.

Definition. Let \phi \, be an {\mathfrak  {L}}\,-formula. A variable symbol x\, from {\mathfrak  {L}}\, is said to be free in \phi \, if either

  • \phi \, is atomic and x\, occurs in \phi \,.
  • \phi \, is of the form \lnot (\alpha )\, and x\, is free in \alpha \,.
  • \phi \, is of the form (\alpha \lor \beta )\, and x\, is free in \alpha \, or \beta \,.
  • \phi \, is of the form (\forall y)(\alpha )\, where x\, and y\, are not the same variable symbols and x\, is free in \alpha \,.

Definition. A sentence is a formula with no free variables.

Assignment functions

Hereafter, {\mathfrak  {L}}\, will denote a first-order language, {\mathfrak  {A}}\, will be an {\mathfrak  {L}}\,-structure with underlying universe set denoted by A\,. Every formula will be understood to be an {\mathfrak  {L}}\,-formula.

Definition. A variable assignment function (v.a.f.) into {\mathfrak  {A}}\, is a function from the set of variables of {\mathfrak  {L}}\, into A\,.

Definition. Let s\, be a v.a.f. into {\mathfrak  {A}}\,. We define the term assignment function (t.a.f.) \overline {s}\,, from the set of {\mathfrak  {L}}\,-terms into A\,, as follows:

  • If t\, is the variable symbol x\,, then \overline {s}(t)=s(x)\,.
  • If t\, is the constant symbol c\,, then \overline {s}(t)=c^{{{\mathfrak  {A}}}}\,.
  • If t\, is of the form ft_{1}...t_{n}\,, then \overline {s}(t)=f^{{{\mathfrak  {A}}}}(\overline {s}(t_{1}),...,\overline {s}(t_{n}))\,.

Definition. Let s\, be a v.a.f. into {\mathfrak  {A}}\, and suppose that x\, is a variable and that a\in A\,. We define the v.a.f. s[x|a]\,, referred to as an x\,-modification of the assignment funtion s\,, by

s[x|a](v)={\begin{cases}s(v)&{\mbox{if }}v\neq x\\a&{\mbox{if }}v=x\end{cases}}\,

Logical satisfaction

Definition. Let \phi \, be formula and suppose s\, is a v.a.f. into {\mathfrak  {A}}\,. We say that {\mathfrak  {A}}\, satisfies \phi \, with assignment s\,, and write {\mathfrak  {A}}\models \phi [s]\,, if either:

  • \phi \, is of the form t_{1}=t_{2}\, and \overline {s}(t_{1})=\overline {s}(t_{2})\,.
  • \phi \, is of the form Rt_{1}...t_{n}\, and (\overline {s}(t_{1}),...,\overline {s}(t_{n}))\in R^{{{\mathfrak  {A}}}}\,.
  • \phi \, is of the form \lnot (\alpha )\, and {\mathfrak  {A}}{\mbox{ }}\not \models {\mbox{ }}\alpha [s]\,.
  • \phi \, is of the form (\alpha \lor \beta )\, and {\mathfrak  {A}}\models \alpha [s]\, or {\mathfrak  {A}}\models \beta [s]\,.
  • \phi \, is of the form (\forall y)(\alpha )\, and for each element a\in A\,, {\mathfrak  {A}}\models \alpha [s[y|a]]\,.

Definition. Let \phi \, be formula and suppose that {\mathfrak  {A}}\models \phi [s]\, for every v.a.f. s\, into {\mathfrak  {A}}\,. Then we say that {\mathfrak  {A}}\, models \phi \,, and write {\mathfrak  {A}}\models \phi \,.

Definition. Let \Phi \, be a set of formulas and suppose that {\mathfrak  {A}}\models \phi \, for every formula \phi \in \Phi \, then we say that {\mathfrak  {A}}\, models \Phi \,, and write {\mathfrak  {A}}\models \Phi \,.

In the case that \phi \, is a sentence, that is, a formula with no free variables, the existence of a single v.a.f. for which {\mathfrak  {A}}\models \phi [s]\, immediately implies that {\mathfrak  {A}}\models \phi \,.

Definition. Let \phi \, be a sentence and suppose that {\mathfrak  {A}}\models \phi \,. Then we say that \phi \, is true in {\mathfrak  {A}}\,.

Logical implication and truth

Definition. Let \Psi \, and \Phi \, be sets of formulas. We say that \Psi \, logically implies \Phi \,, and write \Psi \models \Phi \,, if for every structure {\mathfrak  {A}}\,, {\mathfrak  {A}}\models \Psi \, implies {\mathfrak  {A}}\models \Phi \,.

As a shortcut, when dealing with singletons, we often write \Psi \models \phi \, instead of \Psi \models \{\phi \}\,.

Definition. Let \phi \, be a formula and suppose that \varnothing \models \phi \,. Then we say that \phi \, is universally valid, or simply valid, and in this case we simply write \models \phi \,.

To say that a formula \phi \, is valid really means that every {\mathfrak  {L}}\,-structure {\mathfrak  {A}}\, models \phi \,.

Definition. Let \phi \, be a sentence and suppose that \models \phi \,. Then we say that \phi \, is true.

Variable substitution

Definition. Let u\, be a term and suppose x\, is a variable and t\, is another term. We define the term u_{t}^{x}\,, read u\, with x\, replaced by t\,, as follows:

  • If u\, is the variable symbol x\,, then u_{t}^{x}\, is defined to be the term t\,.
  • If u\, is a variable symbol other than x\,, then u_{t}^{x}\, is defined to be the term u\,.
  • If u\, is a constant symbol, then u_{t}^{x}\, is defined to be the term u\,.
  • If u\, is of the form ft_{1}...t_{n}\,, then u_{t}^{x}\, is defined to be the term f{t_{1}}_{t}^{x}...{t_{n}}_{t}^{x}\,.

Definition. Let \phi \, be a formula and suppose x\, is a variable and t\, is a term. We define the formula \phi _{t}^{x}\,, read \phi \, with x\, replaced by t\,, as follows:

  • If \phi \, is of the form t_{1}=t_{2}\,, then \phi _{t}^{x}\, is defined to be the formula {t_{1}}_{t}^{x}={t_{2}}_{t}^{x}\,.
  • If \phi \, is of the form Rt_{1}...t_{n}\,, then \phi _{t}^{x}\, is defined to be the formula R{t_{1}}_{t}^{x},...,{t_{n}}_{t}^{x}\,.
  • If \phi \, is of the form \lnot (\alpha )\,, then \phi _{t}^{x}\, is defined to be the formula \lnot (\alpha _{t}^{x})\,.
  • If \phi \, is of the form (\alpha \lor \beta )\,, then \phi _{t}^{x}\, is defined to be the formula (\alpha _{t}^{x}\lor \beta _{t}^{x})\,.
  • If \phi \, is of the form (\forall y)(\alpha )\,, then
    • if x\, and y\, are the same variable symbol, \phi _{t}^{x}\, is defined to be the formula \phi \,.
    • else, \phi _{t}^{x}\, is defined to be the formula (\forall y)(\alpha _{t}^{x})\,.

Substitutability

Definition. Let \phi \, be a formula and suppose x\, is a variable and t\, is a term. We say that t\, is substitutable for x\, in \phi \,, if either:

  • \phi \, is atomic.
  • \phi \, is of the form \lnot (\alpha )\, and t\, is substitutable for x\, in \alpha \,.
  • \phi \, is of the form (\alpha \lor \beta )\, and t\, is substitutable for x\, in both \alpha \, and \beta \,.
  • \phi \, is of the form (\forall y)(\alpha )\, and either
    • x\, is not a free variable in \phi \,.
    • y\, does not occur in t\, and t\, is substitutable for x\, in \alpha \,.

The notion of substitutability of terms for variables corresponds to that of the preservation of truth after substitution is carried out in terms or formulas. Strictly speaking, substitution is always allowed, but substitutability will be imperative in order to yield a formula which meaning was not deformed by the substitution.

References

  • A. S. Troelstra & H. Schwichtenberg (2000). Basic Proof Theory (Cambridge Tracts in Theoretical Computer Science) (2nd ed.). Cambridge University Press. ISBN 0521779111.
  • George Boolos & Richard Jeffrey (1989). Computability and Logic (3rd ed.). Cambridge University Press. ISBN 0521007585.
  • Elliott Mendelson (1997). Introduction to Mathematical Logic (4th ed.) Chapman & Hall.
  • A. G. Hamilton (1988). Logic for Mathematicians Cambridge University Press.

External links

See also

es:Lógica matemática fr:Logique mathématique it:Logica matematica ja:数理論理学 ru:Математическая логика sl:Matematična logika sq:Logjika Matematikore sv:Matematisk logik th:คณิตตรรกศาสตร์ tl:Matematikal na lohika tr:Sembolik Mantık zh:数理逻辑