fbpx
Wikipedia

First-order logic

First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantified variables over non-logical objects, and allows the use of sentences that contain variables, so that rather than propositions such as "Socrates is a man", one can have expressions in the form "there exists x such that x is Socrates and x is a man", where "there exists" is a quantifier, while x is a variable.[1] This distinguishes it from propositional logic, which does not use quantifiers or relations;[2] in this sense, propositional logic is the foundation of first-order logic.

A theory about a topic, such as set theory, a theory for groups,[3] or a formal theory of arithmetic, is usually a first-order logic together with a specified domain of discourse (over which the quantified variables range), finitely many functions from that domain to itself, finitely many predicates defined on that domain, and a set of axioms believed to hold about them. "Theory" is sometimes understood in a more formal sense as just a set of sentences in first-order logic.

The term "first-order" distinguishes first-order logic from higher-order logic, in which there are predicates having predicates or functions as arguments, or in which quantification over predicates, functions, or both, are permitted.[4]: 56  In first-order theories, predicates are often associated with sets. In interpreted higher-order theories, predicates may be interpreted as sets of sets.

There are many deductive systems for first-order logic which are both sound, i.e. all provable statements are true in all models, and complete, i.e. all statements which are true in all models are provable. Although the logical consequence relation is only semidecidable, much progress has been made in automated theorem proving in first-order logic. First-order logic also satisfies several metalogical theorems that make it amenable to analysis in proof theory, such as the Löwenheim–Skolem theorem and the compactness theorem.

First-order logic is the standard for the formalization of mathematics into axioms, and is studied in the foundations of mathematics. Peano arithmetic and Zermelo–Fraenkel set theory are axiomatizations of number theory and set theory, respectively, into first-order logic. No first-order theory, however, has the strength to uniquely describe a structure with an infinite domain, such as the natural numbers or the real line. Axiom systems that do fully describe these two structures, i.e. categorical axiom systems, can be obtained in stronger logics such as second-order logic.

The foundations of first-order logic were developed independently by Gottlob Frege and Charles Sanders Peirce.[5] For a history of first-order logic and how it came to dominate formal logic, see José Ferreirós (2001).

Introduction edit

While propositional logic deals with simple declarative propositions, first-order logic additionally covers predicates and quantification. A predicate evaluates to true or false for an entity or entities in the domain of discourse.

Consider the two sentences "Socrates is a philosopher" and "Plato is a philosopher". In propositional logic, these sentences themselves are viewed as the individuals of study, and might be denoted, for example, by variables such as p and q. They are not viewed as an application of a predicate, such as  , to any particular objects in the domain of discourse, instead viewing them as purely an utterance which is either true or false.[6] However, in first-order logic, these two sentences may be couched as statements that a certain individual or non-logical object has a property. In this example, both sentences happen to have the common form   for some individual  , in the first sentence the value of the variable x is "Socrates", and in the second sentence it is "Plato". Due to the ability to speak about non-logical individuals along with the original logical connectives, first-order logic includes propositional logic.[7]

The truth of a formula such as "x is a philosopher" depends on which object is denoted by x and on the interpretation of the predicate "is a philosopher". Consequently, "x is a philosopher" alone does not have a definite truth value of true or false, and is akin to a sentence fragment.[8] Relationships between predicates can be stated using logical connectives. For example, the first-order formula "if x is a philosopher, then x is a scholar", is a conditional statement with "x is a philosopher" as its hypothesis, and "x is a scholar" as its conclusion, which again needs specification of x in order to have a definite truth value.

Quantifiers can be applied to variables in a formula. The variable x in the previous formula can be universally quantified, for instance, with the first-order sentence "For every x, if x is a philosopher, then x is a scholar". The universal quantifier "for every" in this sentence expresses the idea that the claim "if x is a philosopher, then x is a scholar" holds for all choices of x.

The negation of the sentence "For every x, if x is a philosopher, then x is a scholar" is logically equivalent to the sentence "There exists x such that x is a philosopher and x is not a scholar". The existential quantifier "there exists" expresses the idea that the claim "x is a philosopher and x is not a scholar" holds for some choice of x.

The predicates "is a philosopher" and "is a scholar" each take a single variable. In general, predicates can take several variables. In the first-order sentence "Socrates is the teacher of Plato", the predicate "is the teacher of" takes two variables.

An interpretation (or model) of a first-order formula specifies what each predicate means, and the entities that can instantiate the variables. These entities form the domain of discourse or universe, which is usually required to be a nonempty set. For example, in an interpretation with the domain of discourse consisting of all human beings and the predicate "is a philosopher" understood as "was the author of the Republic", the sentence "There exists x such that x is a philosopher" is seen as being true, as witnessed by Plato.[clarification needed]

There are two key parts of first-order logic. The syntax determines which finite sequences of symbols are well-formed expressions in first-order logic, while the semantics determines the meanings behind these expressions.

Syntax edit

Unlike natural languages, such as English, the language of first-order logic is completely formal, so that it can be mechanically determined whether a given expression is well formed. There are two key types of well-formed expressions: terms, which intuitively represent objects, and formulas, which intuitively express statements that can be true or false. The terms and formulas of first-order logic are strings of symbols, where all the symbols together form the alphabet of the language.

Alphabet edit

As with all formal languages, the nature of the symbols themselves is outside the scope of formal logic; they are often regarded simply as letters and punctuation symbols.

It is common to divide the symbols of the alphabet into logical symbols, which always have the same meaning, and non-logical symbols, whose meaning varies by interpretation.[9] For example, the logical symbol   always represents "and"; it is never interpreted as "or", which is represented by the logical symbol  . However, a non-logical predicate symbol such as Phil(x) could be interpreted to mean "x is a philosopher", "x is a man named Philip", or any other unary predicate depending on the interpretation at hand.

Logical symbols edit

Logical symbols are a set of characters that vary by author, but usually include the following:[10]

  • Quantifier symbols: for universal quantification, and for existential quantification
  • Logical connectives: for conjunction, for disjunction, for implication, for biconditional, ¬ for negation. Some authors[11] use Cpq instead of and Epq instead of , especially in contexts where → is used for other purposes. Moreover, the horseshoe may replace ;[8] the triple-bar may replace ; a tilde (~), Np, or Fp may replace ¬; a double bar  ,  ,[12] or Apq may replace ; and an ampersand &, Kpq, or the middle dot may replace , especially if these symbols are not available for technical reasons. (The aforementioned symbols Cpq, Epq, Np, Apq, and Kpq are used in Polish notation.)
  • Parentheses, brackets, and other punctuation symbols. The choice of such symbols varies depending on context.
  • An infinite set of variables, often denoted by lowercase letters at the end of the alphabet x, y, z, ... . Subscripts are often used to distinguish variables: x0, x1, x2, ... .
  • An equality symbol (sometimes, identity symbol) = (see § Equality and its axioms below).

Not all of these symbols are required in first-order logic. Either one of the quantifiers along with negation, conjunction (or disjunction), variables, brackets, and equality suffices.

Other logical symbols include the following:

  • Truth constants: T, V, or for "true" and F, O, or for "false" (V and O are from Polish notation). Without any such logical operators of valence 0, these two constants can only be expressed using quantifiers.
  • Additional logical connectives such as the Sheffer stroke, Dpq (NAND), and exclusive or, Jpq.

Non-logical symbols edit

Non-logical symbols represent predicates (relations), functions and constants. It used to be standard practice to use a fixed, infinite set of non-logical symbols for all purposes:

  • For every integer n ≥ 0, there is a collection of n-ary, or n-place, predicate symbols. Because they represent relations between n elements, they are also called relation symbols. For each arity n, there is an infinite supply of them:
    Pn0, Pn1, Pn2, Pn3, ...
  • For every integer n ≥ 0, there are infinitely many n-ary function symbols:
    f n0, f n1, f n2, f n3, ...

When the arity of a predicate symbol or function symbol is clear from context, the superscript n is often omitted.

In this traditional approach, there is only one language of first-order logic.[13] This approach is still common, especially in philosophically oriented books.

A more recent practice is to use different non-logical symbols according to the application one has in mind. Therefore, it has become necessary to name the set of all non-logical symbols used in a particular application. This choice is made via a signature.[14]

Typical signatures in mathematics are {1, ×} or just {×} for groups,[3] or {0, 1, +, ×, <} for ordered fields. There are no restrictions on the number of non-logical symbols. The signature can be empty, finite, or infinite, even uncountable. Uncountable signatures occur for example in modern proofs of the Löwenheim–Skolem theorem.

Though signatures might in some cases imply how non-logical symbols are to be interpreted, interpretation of the non-logical symbols in the signature is separate (and not necessarily fixed). Signatures concern syntax rather than semantics.

In this approach, every non-logical symbol is of one of the following types:

  • A predicate symbol (or relation symbol) with some valence (or arity, number of arguments) greater than or equal to 0. These are often denoted by uppercase letters such as P, Q and R. Examples:
    • In P(x), P is a predicate symbol of valence 1. One possible interpretation is "x is a man".
    • In Q(x,y), Q is a predicate symbol of valence 2. Possible interpretations include "x is greater than y" and "x is the father of y".
    • Relations of valence 0 can be identified with propositional variables, which can stand for any statement. One possible interpretation of R is "Socrates is a man".
  • A function symbol, with some valence greater than or equal to 0. These are often denoted by lowercase roman letters such as f, g and h. Examples:
    • f(x) may be interpreted as "the father of x". In arithmetic, it may stand for "-x". In set theory, it may stand for "the power set of x".
    • In arithmetic, g(x,y) may stand for "x+y". In set theory, it may stand for "the union of x and y".
    • Function symbols of valence 0 are called constant symbols, and are often denoted by lowercase letters at the beginning of the alphabet such as a, b and c. The symbol a may stand for Socrates. In arithmetic, it may stand for 0. In set theory, it may stand for the empty set.

The traditional approach can be recovered in the modern approach, by simply specifying the "custom" signature to consist of the traditional sequences of non-logical symbols.

Formation rules edit

The formation rules define the terms and formulas of first-order logic.[16] When terms and formulas are represented as strings of symbols, these rules can be used to write a formal grammar for terms and formulas. These rules are generally context-free (each production has a single symbol on the left side), except that the set of symbols may be allowed to be infinite and there may be many start symbols, for example the variables in the case of terms.

Terms edit

The set of terms is inductively defined by the following rules:[17]

  • Variables. Any variable symbol is a term.
  • Functions. If f is an n-ary function symbol, and t1, ..., tn are terms, then f(t1,...,tn) is a term. In particular, symbols denoting individual constants are nullary function symbols, and thus are terms.

Only expressions which can be obtained by finitely many applications of rules 1 and 2 are terms. For example, no expression involving a predicate symbol is a term.

Formulas edit

The set of formulas (also called well-formed formulas[18] or WFFs) is inductively defined by the following rules:

  1. Predicate symbols. If P is an n-ary predicate symbol and t1, ..., tn are terms then P(t1,...,tn) is a formula.
  2. Equality. If the equality symbol is considered part of logic, and t1 and t2 are terms, then t1 = t2 is a formula.
  3. Negation. If   is a formula, then   is a formula.
  4. Binary connectives. If   and   are formulas, then ( ) is a formula. Similar rules apply to other binary logical connectives.
  5. Quantifiers. If   is a formula and x is a variable, then   (for all x,   holds) and   (there exists x such that  ) are formulas.

Only expressions which can be obtained by finitely many applications of rules 1–5 are formulas. The formulas obtained from the first two rules are said to be atomic formulas.

For example:

 

is a formula, if f is a unary function symbol, P a unary predicate symbol, and Q a ternary predicate symbol. However,   is not a formula, although it is a string of symbols from the alphabet.

The role of the parentheses in the definition is to ensure that any formula can only be obtained in one way—by following the inductive definition (i.e., there is a unique parse tree for each formula). This property is known as unique readability of formulas. There are many conventions for where parentheses are used in formulas. For example, some authors use colons or full stops instead of parentheses, or change the places in which parentheses are inserted. Each author's particular definition must be accompanied by a proof of unique readability.

This definition of a formula does not support defining an if-then-else function ite(c, a, b), where "c" is a condition expressed as a formula, that would return "a" if c is true, and "b" if it is false. This is because both predicates and functions can only accept terms as parameters, but the first parameter is a formula. Some languages built on first-order logic, such as SMT-LIB 2.0, add this.[19]

Notational conventions edit

For convenience, conventions have been developed about the precedence of the logical operators, to avoid the need to write parentheses in some cases. These rules are similar to the order of operations in arithmetic. A common convention is:

  •   is evaluated first
  •   and   are evaluated next
  • Quantifiers are evaluated next
  •   is evaluated last.

Moreover, extra punctuation not required by the definition may be inserted—to make formulas easier to read. Thus the formula:

 

might be written as:

 

In some fields, it is common to use infix notation for binary relations and functions, instead of the prefix notation defined above. For example, in arithmetic, one typically writes "2 + 2 = 4" instead of "=(+(2,2),4)". It is common to regard formulas in infix notation as abbreviations for the corresponding formulas in prefix notation, cf. also term structure vs. representation.

The definitions above use infix notation for binary connectives such as  . A less common convention is Polish notation, in which one writes  ,   and so on in front of their arguments rather than between them. This convention is advantageous in that it allows all punctuation symbols to be discarded. As such, Polish notation is compact and elegant, but rarely used in practice because it is hard for humans to read. In Polish notation, the formula:

 

becomes "∀x∀y→Pfx¬→ PxQfyxz".

Free and bound variables edit

In a formula, a variable may occur free or bound (or both). One formalization of this notion is due to Quine, first the concept of a variable occurrence is defined, then whether a variable occurrence is free or bound, then whether a variable symbol overall is free or bound. In order to distinguish different occurrences of the identical symbol x, each occurrence of a variable symbol x in a formula φ is identified with the initial substring of φ up to the point at which said instance of the symbol x appears.[8]p.297 Then, an occurrence of x is said to be bound if that occurrence of x lies within the scope of at least one of either   or  . Finally, x is bound in φ if all occurrences of x in φ are bound.[8]pp.142--143

Intuitively, a variable symbol is free in a formula if at no point is it quantified:[8]pp.142--143 in y P(x, y), the sole occurrence of variable x is free while that of y is bound. The free and bound variable occurrences in a formula are defined inductively as follows.

Atomic formulas
If φ is an atomic formula, then x occurs free in φ if and only if x occurs in φ. Moreover, there are no bound variables in any atomic formula.
Negation
x occurs free in ¬φ if and only if x occurs free in φ. x occurs bound in ¬φ if and only if x occurs bound in φ
Binary connectives
x occurs free in (φψ) if and only if x occurs free in either φ or ψ. x occurs bound in (φψ) if and only if x occurs bound in either φ or ψ. The same rule applies to any other binary connective in place of →.
Quantifiers
x occurs free in y φ, if and only if x occurs free in φ and x is a different symbol from y. Also, x occurs bound in y φ, if and only if x is y or x occurs bound in φ. The same rule holds with in place of .

For example, in xy (P(x) → Q(x,f(x),z)), x and y occur only bound,[20]z occurs only free, and w is neither because it does not occur in the formula.

Free and bound variables of a formula need not be disjoint sets: in the formula P(x) → ∀x Q(x), the first occurrence of x, as argument of P, is free while the second one, as argument of Q, is bound.

A formula in first-order logic with no free variable occurrences is called a first-order sentence. These are the formulas that will have well-defined truth values under an interpretation. For example, whether a formula such as Phil(x) is true must depend on what x represents. But the sentence x Phil(x) will be either true or false in a given interpretation.

Example: ordered abelian groups edit

In mathematics, the language of ordered abelian groups has one constant symbol 0, one unary function symbol −, one binary function symbol +, and one binary relation symbol ≤. Then:

  • The expressions +(x, y) and +(x, +(y, −(z))) are terms. These are usually written as x + y and x + yz.
  • The expressions +(x, y) = 0 and ≤(+(x, +(y, −(z))), +(x, y)) are atomic formulas. These are usually written as x + y = 0 and x + yz  ≤  x + y.
  • The expression   is a formula, which is usually written as   This formula has one free variable, z.

The axioms for ordered abelian groups can be expressed as a set of sentences in the language. For example, the axiom stating that the group is commutative is usually written  

Semantics edit

An interpretation of a first-order language assigns a denotation to each non-logical symbol (predicate symbol, function symbol, or constant symbol) in that language. It also determines a domain of discourse that specifies the range of the quantifiers. The result is that each term is assigned an object that it represents, each predicate is assigned a property of objects, and each sentence is assigned a truth value. In this way, an interpretation provides semantic meaning to the terms, predicates, and formulas of the language. The study of the interpretations of formal languages is called formal semantics. What follows is a description of the standard or Tarskian semantics for first-order logic. (It is also possible to define game semantics for first-order logic, but aside from requiring the axiom of choice, game semantics agree with Tarskian semantics for first-order logic, so game semantics will not be elaborated herein.)

First-order structures edit

The most common way of specifying an interpretation (especially in mathematics) is to specify a structure (also called a model; see below). The structure consists of a domain of discourse D and an interpretation function I mapping non-logical symbols to predicates, functions, and constants.

The domain of discourse D is a nonempty set of "objects" of some kind. Intuitively, given an interpretation, a first-order formula becomes a statement about these objects; for example,   states the existence of some object in D for which the predicate P is true (or, more precisely, for which the predicate assigned to the predicate symbol P by the interpretation is true). For example, one can take D to be the set of integers.

Non-logical symbols are interpreted as follows:

  • The interpretation of an n-ary function symbol is a function from Dn to D. For example, if the domain of discourse is the set of integers, a function symbol f of arity 2 can be interpreted as the function that gives the sum of its arguments. In other words, the symbol f is associated with the function   which, in this interpretation, is addition.
  • The interpretation of a constant symbol (a function symbol of arity 0) is a function from D0 (a set whose only member is the empty tuple) to D, which can be simply identified with an object in D. For example, an interpretation may assign the value   to the constant symbol  .
  • The interpretation of an n-ary predicate symbol is a set of n-tuples of elements of D, giving the arguments for which the predicate is true. For example, an interpretation   of a binary predicate symbol P may be the set of pairs of integers such that the first one is less than the second. According to this interpretation, the predicate P would be true if its first argument is less than its second argument. Equivalently, predicate symbols may be assigned Boolean-valued functions from Dn to  .

Evaluation of truth values edit

A formula evaluates to true or false given an interpretation and a variable assignment μ that associates an element of the domain of discourse with each variable. The reason that a variable assignment is required is to give meanings to formulas with free variables, such as  . The truth value of this formula changes depending on the values that x and y denote.

First, the variable assignment μ can be extended to all terms of the language, with the result that each term maps to a single element of the domain of discourse. The following rules are used to make this assignment:

  • Variables. Each variable x evaluates to μ(x)
  • Functions. Given terms   that have been evaluated to elements   of the domain of discourse, and a n-ary function symbol f, the term   evaluates to  .

Next, each formula is assigned a truth value. The inductive definition used to make this assignment is called the T-schema.

  • Atomic formulas (1). A formula   is associated the value true or false depending on whether  , where   are the evaluation of the terms   and   is the interpretation of  , which by assumption is a subset of  .
  • Atomic formulas (2). A formula   is assigned true if   and   evaluate to the same object of the domain of discourse (see the section on equality below).
  • Logical connectives. A formula in the form  ,  , etc. is evaluated according to the truth table for the connective in question, as in propositional logic.
  • Existential quantifiers. A formula   is true according to M and   if there exists an evaluation   of the variables that differs from   at most regarding the evaluation of x and such that φ is true according to the interpretation M and the variable assignment  . This formal definition captures the idea that   is true if and only if there is a way to choose a value for x such that φ(x) is satisfied.
  • Universal quantifiers. A formula   is true according to M and   if φ(x) is true for every pair composed by the interpretation M and some variable assignment   that differs from   at most on the value of x. This captures the idea that   is true if every possible choice of a value for x causes φ(x) to be true.

If a formula does not contain free variables, and so is a sentence, then the initial variable assignment does not affect its truth value. In other words, a sentence is true according to M and   if and only if it is true according to M and every other variable assignment  .

There is a second common approach to defining truth values that does not rely on variable assignment functions. Instead, given an interpretation M, one first adds to the signature a collection of constant symbols, one for each element of the domain of discourse in M; say that for each d in the domain the constant symbol cd is fixed. The interpretation is extended so that each new constant symbol is assigned to its corresponding element of the domain. One now defines truth for quantified formulas syntactically, as follows:

  • Existential quantifiers (alternate). A formula   is true according to M if there is some d in the domain of discourse such that   holds. Here   is the result of substituting cd for every free occurrence of x in φ.
  • Universal quantifiers (alternate). A formula   is true according to M if, for every d in the domain of discourse,   is true according to M.

This alternate approach gives exactly the same truth values to all sentences as the approach via variable assignments.

Validity, satisfiability, and logical consequence edit

If a sentence φ evaluates to true under a given interpretation M, one says that M satisfies φ; this is denoted[21]  . A sentence is satisfiable if there is some interpretation under which it is true. This is a bit different from the symbol   from model theory, where   denotes satisfiability in a model, i.e. "there is a suitable assignment of values in  's domain to variable symbols of  ".[22]

Satisfiability of formulas with free variables is more complicated, because an interpretation on its own does not determine the truth value of such a formula. The most common convention is that a formula φ with free variables  , ...,   is said to be satisfied by an interpretation if the formula φ remains true regardless which individuals from the domain of discourse are assigned to its free variables  , ...,  . This has the same effect as saying that a formula φ is satisfied if and only if its universal closure   is satisfied.

A formula is logically valid (or simply valid) if it is true in every interpretation.[23] These formulas play a role similar to tautologies in propositional logic.

A formula φ is a logical consequence of a formula ψ if every interpretation that makes ψ true also makes φ true. In this case one says that φ is logically implied by ψ.

Algebraizations edit

An alternate approach to the semantics of first-order logic proceeds via abstract algebra. This approach generalizes the Lindenbaum–Tarski algebras of propositional logic. There are three ways of eliminating quantified variables from first-order logic that do not involve replacing quantifiers with other variable binding term operators:

These algebras are all lattices that properly extend the two-element Boolean algebra.

Tarski and Givant (1987) showed that the fragment of first-order logic that has no atomic sentence lying in the scope of more than three quantifiers has the same expressive power as relation algebra.[24]: 32–33  This fragment is of great interest because it suffices for Peano arithmetic and most axiomatic set theory, including the canonical ZFC. They also prove that first-order logic with a primitive ordered pair is equivalent to a relation algebra with two ordered pair projection functions.[25]: 803 

First-order theories, models, and elementary classes edit

A first-order theory of a particular signature is a set of axioms, which are sentences consisting of symbols from that signature. The set of axioms is often finite or recursively enumerable, in which case the theory is called effective. Some authors require theories to also include all logical consequences of the axioms. The axioms are considered to hold within the theory and from them other sentences that hold within the theory can be derived.

A first-order structure that satisfies all sentences in a given theory is said to be a model of the theory. An elementary class is the set of all structures satisfying a particular theory. These classes are a main subject of study in model theory.

Many theories have an intended interpretation, a certain model that is kept in mind when studying the theory. For example, the intended interpretation of Peano arithmetic consists of the usual natural numbers with their usual operations. However, the Löwenheim–Skolem theorem shows that most first-order theories will also have other, nonstandard models.

A theory is consistent if it is not possible to prove a contradiction from the axioms of the theory. A theory is complete if, for every formula in its signature, either that formula or its negation is a logical consequence of the axioms of the theory. Gödel's incompleteness theorem shows that effective first-order theories that include a sufficient portion of the theory of the natural numbers can never be both consistent and complete.

Empty domains edit

The definition above requires that the domain of discourse of any interpretation must be nonempty. There are settings, such as inclusive logic, where empty domains are permitted. Moreover, if a class of algebraic structures includes an empty structure (for example, there is an empty poset), that class can only be an elementary class in first-order logic if empty domains are permitted or the empty structure is removed from the class.

There are several difficulties with empty domains, however:

  • Many common rules of inference are valid only when the domain of discourse is required to be nonempty. One example is the rule stating that   implies   when x is not a free variable in  . This rule, which is used to put formulas into prenex normal form, is sound in nonempty domains, but unsound if the empty domain is permitted.
  • The definition of truth in an interpretation that uses a variable assignment function cannot work with empty domains, because there are no variable assignment functions whose range is empty. (Similarly, one cannot assign interpretations to constant symbols.) This truth definition requires that one must select a variable assignment function (μ above) before truth values for even atomic formulas can be defined. Then the truth value of a sentence is defined to be its truth value under any variable assignment, and it is proved that this truth value does not depend on which assignment is chosen. This technique does not work if there are no assignment functions at all; it must be changed to accommodate empty domains.

Thus, when the empty domain is permitted, it must often be treated as a special case. Most authors, however, simply exclude the empty domain by definition.

Deductive systems edit

A deductive system is used to demonstrate, on a purely syntactic basis, that one formula is a logical consequence of another formula. There are many such systems for first-order logic, including Hilbert-style deductive systems, natural deduction, the sequent calculus, the tableaux method, and resolution. These share the common property that a deduction is a finite syntactic object; the format of this object, and the way it is constructed, vary widely. These finite deductions themselves are often called derivations in proof theory. They are also often called proofs but are completely formalized unlike natural-language mathematical proofs.

A deductive system is sound if any formula that can be derived in the system is logically valid. Conversely, a deductive system is complete if every logically valid formula is derivable. All of the systems discussed in this article are both sound and complete. They also share the property that it is possible to effectively verify that a purportedly valid deduction is actually a deduction; such deduction systems are called effective.

A key property of deductive systems is that they are purely syntactic, so that derivations can be verified without considering any interpretation. Thus, a sound argument is correct in every possible interpretation of the language, regardless of whether that interpretation is about mathematics, economics, or some other area.

In general, logical consequence in first-order logic is only semidecidable: if a sentence A logically implies a sentence B then this can be discovered (for example, by searching for a proof until one is found, using some effective, sound, complete proof system). However, if A does not logically imply B, this does not mean that A logically implies the negation of B. There is no effective procedure that, given formulas A and B, always correctly decides whether A logically implies B.

Rules of inference edit

A rule of inference states that, given a particular formula (or set of formulas) with a certain property as a hypothesis, another specific formula (or set of formulas) can be derived as a conclusion. The rule is sound (or truth-preserving) if it preserves validity in the sense that whenever any interpretation satisfies the hypothesis, that interpretation also satisfies the conclusion.

For example, one common rule of inference is the rule of substitution. If t is a term and φ is a formula possibly containing the variable x, then φ[t/x] is the result of replacing all free instances of x by t in φ. The substitution rule states that for any φ and any term t, one can conclude φ[t/x] from φ provided that no free variable of t becomes bound during the substitution process. (If some free variable of t becomes bound, then to substitute t for x it is first necessary to change the bound variables of φ to differ from the free variables of t.)

To see why the restriction on bound variables is necessary, consider the logically valid formula φ given by  , in the signature of (0,1,+,×,=) of arithmetic. If t is the term "x + 1", the formula φ[t/y] is  , which will be false in many interpretations. The problem is that the free variable x of t became bound during the substitution. The intended replacement can be obtained by renaming the bound variable x of φ to something else, say z, so that the formula after substitution is  , which is again logically valid.

The substitution rule demonstrates several common aspects of rules of inference. It is entirely syntactical; one can tell whether it was correctly applied without appeal to any interpretation. It has (syntactically defined) limitations on when it can be applied, which must be respected to preserve the correctness of derivations. Moreover, as is often the case, these limitations are necessary because of interactions between free and bound variables that occur during syntactic manipulations of the formulas involved in the inference rule.

Hilbert-style systems and natural deduction edit

A deduction in a Hilbert-style deductive system is a list of formulas, each of which is a logical axiom, a hypothesis that has been assumed for the derivation at hand or follows from previous formulas via a rule of inference. The logical axioms consist of several axiom schemas of logically valid formulas; these encompass a significant amount of propositional logic. The rules of inference enable the manipulation of quantifiers. Typical Hilbert-style systems have a small number of rules of inference, along with several infinite schemas of logical axioms. It is common to have only modus ponens and universal generalization as rules of inference.

Natural deduction systems resemble Hilbert-style systems in that a deduction is a finite list of formulas. However, natural deduction systems have no logical axioms; they compensate by adding additional rules of inference that can be used to manipulate the logical connectives in formulas in the proof.

Sequent calculus edit

The sequent calculus was developed to study the properties of natural deduction systems.[26] Instead of working with one formula at a time, it uses sequents, which are expressions of the form:

 

where A1, ..., An, B1, ..., Bk are formulas and the turnstile symbol   is used as punctuation to separate the two halves. Intuitively, a sequent expresses the idea that   implies  .

Tableaux method edit

 
A tableaux proof for the propositional formula ((a ∨ ¬b) ∧ b) → a

Unlike the methods just described the derivations in the tableaux method are not lists of formulas. Instead, a derivation is a tree of formulas. To show that a formula A is provable, the tableaux method attempts to demonstrate that the negation of A is unsatisfiable. The tree of the derivation has   at its root; the tree branches in a way that reflects the structure of the formula. For example, to show that   is unsatisfiable requires showing that C and D are each unsatisfiable; this corresponds to a branching point in the tree with parent   and children C and D.

Resolution edit

The resolution rule is a single rule of inference that, together with unification, is sound and complete for first-order logic. As with the tableaux method, a formula is proved by showing that the negation of the formula is unsatisfiable. Resolution is commonly used in automated theorem proving.

The resolution method works only with formulas that are disjunctions of atomic formulas; arbitrary formulas must first be converted to this form through Skolemization. The resolution rule states that from the hypotheses   and  , the conclusion   can be obtained.

Provable identities edit

Many identities can be proved, which establish equivalences between particular formulas. These identities allow for rearranging formulas by moving quantifiers across other connectives and are useful for putting formulas in prenex normal form. Some provable identities include:

 
 
 
 
 
 
  (where   must not occur free in  )
  (where   must not occur free in  )

Equality and its axioms edit

There are several different conventions for using equality (or identity) in first-order logic. The most common convention, known as first-order logic with equality, includes the equality symbol as a primitive logical symbol which is always interpreted as the real equality relation between members of the domain of discourse, such that the "two" given members are the same member. This approach also adds certain axioms about equality to the deductive system employed. These equality axioms are:[27]: 198–200 

  • Reflexivity. For each variable x, x = x.
  • Substitution for functions. For all variables x and y, and any function symbol f,
    x = yf(..., x, ...) = f(..., y, ...).
  • Substitution for formulas. For any variables x and y and any formula φ(x), if φ' is obtained by replacing any number of free occurrences of x in φ with y, such that these remain free occurrences of y, then:
    x = y → (φ → φ').

These are axiom schemas, each of which specifies an infinite set of axioms. The third schema is known as Leibniz's law, "the principle of substitutivity", "the indiscernibility of identicals", or "the replacement property". The second schema, involving the function symbol f, is (equivalent to) a special case of the third schema, using the formula:

x = y → (f(..., x, ...) = zf(..., y, ...) = z).

Many other properties of equality are consequences of the axioms above, for example:

  • Symmetry. If x = y then y = x.[28]
  • Transitivity. If x = y and y = z then x = z.[29]

First-order logic without equality edit

An alternate approach considers the equality relation to be a non-logical symbol. This convention is known as first-order logic without equality. If an equality relation is included in the signature, the axioms of equality must now be added to the theories under consideration, if desired, instead of being considered rules of logic. The main difference between this method and first-order logic with equality is that an interpretation may now interpret two distinct individuals as "equal" (although, by Leibniz's law, these will satisfy exactly the same formulas under any interpretation). That is, the equality relation may now be interpreted by an arbitrary equivalence relation on the domain of discourse that is congruent with respect to the functions and relations of the interpretation.

When this second convention is followed, the term normal model is used to refer to an interpretation where no distinct individuals a and b satisfy a = b. In first-order logic with equality, only normal models are considered, and so there is no term for a model other than a normal model. When first-order logic without equality is studied, it is necessary to amend the statements of results such as the Löwenheim–Skolem theorem so that only normal models are considered.

First-order logic without equality is often employed in the context of second-order arithmetic and other higher-order theories of arithmetic, where the equality relation between sets of natural numbers is usually omitted.

Defining equality within a theory edit

If a theory has a binary formula A(x,y) which satisfies reflexivity and Leibniz's law, the theory is said to have equality, or to be a theory with equality. The theory may not have all instances of the above schemas as axioms, but rather as derivable theorems. For example, in theories with no function symbols and a finite number of relations, it is possible to define equality in terms of the relations, by defining the two terms s and t to be equal if any relation is unchanged by changing s to t in any argument.

Some theories allow other ad hoc definitions of equality:

  • In the theory of partial orders with one relation symbol ≤, one could define s = t to be an abbreviation for stts.
  • In set theory with one relation ∈, one may define s = t to be an abbreviation for x (sxtx) ∧ ∀x (xsxt). This definition of equality then automatically satisfies the axioms for equality. In this case, one should replace the usual axiom of extensionality, which can be stated as  , with an alternative formulation  , which says that if sets x and y have the same elements, then they also belong to the same sets.

Metalogical properties edit

One motivation for the use of first-order logic, rather than higher-order logic, is that first-order logic has many metalogical properties that stronger logics do not have. These results concern general properties of first-order logic itself, rather than properties of individual theories. They provide fundamental tools for the construction of models of first-order theories.

Completeness and undecidability edit

Gödel's completeness theorem, proved by Kurt Gödel in 1929, establishes that there are sound, complete, effective deductive systems for first-order logic, and thus the first-order logical consequence relation is captured by finite provability. Naively, the statement that a formula φ logically implies a formula ψ depends on every model of φ; these models will in general be of arbitrarily large cardinality, and so logical consequence cannot be effectively verified by checking every model. However, it is possible to enumerate all finite derivations and search for a derivation of ψ from φ. If ψ is logically implied by φ, such a derivation will eventually be found. Thus first-order logical consequence is semidecidable: it is possible to make an effective enumeration of all pairs of sentences (φ,ψ) such that ψ is a logical consequence of φ.

Unlike propositional logic, first-order logic is undecidable (although semidecidable), provided that the language has at least one predicate of arity at least 2 (other than equality). This means that there is no decision procedure that determines whether arbitrary formulas are logically valid. This result was established independently by Alonzo Church and Alan Turing in 1936 and 1937, respectively, giving a negative answer to the Entscheidungsproblem posed by David Hilbert and Wilhelm Ackermann in 1928. Their proofs demonstrate a connection between the unsolvability of the decision problem for first-order logic and the unsolvability of the halting problem.

There are systems weaker than full first-order logic for which the logical consequence relation is decidable. These include propositional logic and monadic predicate logic, which is first-order logic restricted to unary predicate symbols and no function symbols. Other logics with no function symbols which are decidable are the guarded fragment of first-order logic, as well as two-variable logic. The Bernays–Schönfinkel class of first-order formulas is also decidable. Decidable subsets of first-order logic are also studied in the framework of description logics.

The Löwenheim–Skolem theorem edit

The Löwenheim–Skolem theorem shows that if a first-order theory of cardinality λ has an infinite model, then it has models of every infinite cardinality greater than or equal to λ. One of the earliest results in model theory, it implies that it is not possible to characterize countability or uncountability in a first-order language with a countable signature. That is, there is no first-order formula φ(x) such that an arbitrary structure M satisfies φ if and only if the domain of discourse of M is countable (or, in the second case, uncountable).

The Löwenheim–Skolem theorem implies that infinite structures cannot be categorically axiomatized in first-order logic. For example, there is no first-order theory whose only model is the real line: any first-order theory with an infinite model also has a model of cardinality larger than the continuum. Since the real line is infinite, any theory satisfied by the real line is also satisfied by some nonstandard models. When the Löwenheim–Skolem theorem is applied to first-order set theories, the nonintuitive consequences are known as Skolem's paradox.

The compactness theorem edit

The compactness theorem states that a set of first-order sentences has a model if and only if every finite subset of it has a model.[30] This implies that if a formula is a logical consequence of an infinite set of first-order axioms, then it is a logical consequence of some finite number of those axioms. This theorem was proved first by Kurt Gödel as a consequence of the completeness theorem, but many additional proofs have been obtained over time. It is a central tool in model theory, providing a fundamental method for constructing models.

The compactness theorem has a limiting effect on which collections of first-order structures are elementary classes. For example, the compactness theorem implies that any theory that has arbitrarily large finite models has an infinite model. Thus, the class of all finite graphs is not an elementary class (the same holds for many other algebraic structures).

There are also more subtle limitations of first-order logic that are implied by the compactness theorem. For example, in computer science, many situations can be modeled as a directed graph of states (nodes) and connections (directed edges). Validating such a system may require showing that no "bad" state can be reached from any "good" state. Thus, one seeks to determine if the good and bad states are in different connected components of the graph. However, the compactness theorem can be used to show that connected graphs are not an elementary class in first-order logic, and there is no formula φ(x,y) of first-order logic, in the logic of graphs, that expresses the idea that there is a path from x to y. Connectedness can be expressed in second-order logic, however, but not with only existential set quantifiers, as   also enjoys compactness.

Lindström's theorem edit

Per Lindström showed that the metalogical properties just discussed actually characterize first-order logic in the sense that no stronger logic can also have those properties (Ebbinghaus and Flum 1994, Chapter XIII). Lindström defined a class of abstract logical systems, and a rigorous definition of the relative strength of a member of this class. He established two theorems for systems of this type:

  • A logical system satisfying Lindström's definition that contains first-order logic and satisfies both the Löwenheim–Skolem theorem and the compactness theorem must be equivalent to first-order logic.
  • A logical system satisfying Lindström's definition that has a semidecidable logical consequence relation and satisfies the Löwenheim–Skolem theorem must be equivalent to first-order logic.

Limitations edit

Although first-order logic is sufficient for formalizing much of mathematics and is commonly used in computer science and other fields, it has certain limitations. These include limitations on its expressiveness and limitations of the fragments of natural languages that it can describe.

For instance, first-order logic is undecidable, meaning a sound, complete and terminating decision algorithm for provability is impossible. This has led to the study of interesting decidable fragments, such as C2: first-order logic with two variables and the counting quantifiers   and  .[31]

Expressiveness edit

The Löwenheim–Skolem theorem shows that if a first-order theory has any infinite model, then it has infinite models of every cardinality. In particular, no first-order theory with an infinite model can be categorical. Thus, there is no first-order theory whose only model has the set of natural numbers as its domain, or whose only model has the set of real numbers as its domain. Many extensions of first-order logic, including infinitary logics and higher-order logics, are more expressive in the sense that they do permit categorical axiomatizations of the natural numbers or real numbers[clarification needed]. This expressiveness comes at a metalogical cost, however: by Lindström's theorem, the compactness theorem and the downward Löwenheim–Skolem theorem cannot hold in any logic stronger than first-order.

Formalizing natural languages edit

First-order logic is able to formalize many simple quantifier constructions in natural language, such as "every person who lives in Perth lives in Australia". Hence, first-order logic is used as a basis for knowledge representation languages, such as FO(.).

Still, there are complicated features of natural language that cannot be expressed in first-order logic. "Any logical system which is appropriate as an instrument for the analysis of natural language needs a much richer structure than first-order predicate logic".[32]

Type Example Comment
Quantification over properties If John is self-satisfied, then there is at least one thing he has in common with Peter. Example requires a quantifier over predicates, which cannot be implemented in single-sorted first-order logic: Zj → ∃X(Xj∧Xp).
Quantification over properties Santa Claus has all the attributes of a sadist. Example requires quantifiers over predicates, which cannot be implemented in single-sorted first-order logic: ∀X(∀x(Sx → Xx) → Xs).
Predicate adverbial John is walking quickly. Example cannot be analysed as Wj ∧ Qj;
predicate adverbials are not the same kind of thing as second-order predicates such as colour.
Relative adjective Jumbo is a small elephant. Example cannot be analysed as Sj ∧ Ej;
predicate adjectives are not the same kind of thing as second-order predicates such as colour.
Predicate adverbial modifier John is walking very quickly.
Relative adjective modifier Jumbo is terribly small. An expression such as "terribly", when applied to a relative adjective such as "small", results in a new composite relative adjective "terribly small".
Prepositions Mary is sitting next to John. The preposition "next to" when applied to "John" results in the predicate adverbial "next to John".

Restrictions, extensions, and variations edit

There are many variations of first-order logic. Some of these are inessential in the sense that they merely change notation without affecting the semantics. Others change the expressive power more significantly, by extending the semantics through additional quantifiers or other new logical symbols. For example, infinitary logics permit formulas of infinite size, and modal logics add symbols for possibility and necessity.

Restricted languages edit

First-order logic can be studied in languages with fewer logical symbols than were described above:

  • Because   can be expressed as  , and   can be expressed as  , either of the two quantifiers   and   can be dropped.
  • Since   can be expressed as   and   can be expressed as  , either   or   can be dropped. In other words, it is sufficient to have   and  , or   and  , as the only logical connectives.
  • Similarly, it is sufficient to have only   and   as logical connectives, or to have only the Sheffer stroke (NAND) or the Peirce arrow (NOR) operator.
  • It is possible to entirely avoid function symbols and constant symbols, rewriting them via predicate symbols in an appropriate way. For example, instead of using a constant symbol   one may use a predicate   (interpreted as   ) and replace every predicate such as   with  . A function such as   will similarly be replaced by a predicate   interpreted as  . This change requires adding additional axioms to the theory at hand, so that interpretations of the predicate symbols used have the correct semantics.[33]

Restrictions such as these are useful as a technique to reduce the number of inference rules or axiom schemas in deductive systems, which leads to shorter proofs of metalogical results. The cost of the restrictions is that it becomes more difficult to express natural-language statements in the formal system at hand, because the logical connectives used in the natural language statements must be replaced by their (longer) definitions in terms of the restricted collection of logical connectives. Similarly, derivations in the limited systems may be longer than derivations in systems that include additional connectives. There is thus a trade-off between the ease of working within the formal system and the ease of proving results about the formal system.

It is also possible to restrict the arities of function symbols and predicate symbols, in sufficiently expressive theories. One can in principle dispense entirely with functions of arity greater than 2 and predicates of arity greater than 1 in theories that include a pairing function. This is a function of arity 2 that takes pairs of elements of the domain and returns an ordered pair containing them. It is also sufficient to have two predicate symbols of arity 2 that define projection functions from an ordered pair to its components. In either case it is necessary that the natural axioms for a pairing function and its projections are satisfied.

Many-sorted logic edit

Ordinary first-order interpretations have a single domain of discourse over which all quantifiers range. Many-sorted first-order logic allows variables to have different sorts, which have different domains. This is also called typed first-order logic, and the sorts called types (as in data type), but it is not the same as first-order type theory. Many-sorted first-order logic is often used in the study of second-order arithmetic.[34]

When there are only finitely many sorts in a theory, many-sorted first-order logic can be reduced to single-sorted first-order logic.[35]: 296–299  One introduces into the single-sorted theory a unary predicate symbol for each sort in the many-sorted theory and adds an axiom saying that these unary predicates partition the domain of discourse. For example, if there are two sorts, one adds predicate symbols   and   and the axiom:

 .

Then the elements satisfying   are thought of as elements of the first sort, and elements satisfying   as elements of the second sort. One can quantify over each sort by using the corresponding predicate symbol to limit the range of quantification. For example, to say there is an element of the first sort satisfying formula φ(x), one writes:

 .

Additional quantifiers edit

Additional quantifiers can be added to first-order logic.

  • Sometimes it is useful to say that "P(x) holds for exactly one x", which can be expressed as ∃!x P(x). This notation, called uniqueness quantification, may be taken to abbreviate a formula such as x (P(x) ∧∀y (P(y) → (x = y))).
  • First-order logic with extra quantifiers has new quantifiers Qx,..., with meanings such as "there are many x such that ...". Also see branching quantifiers and the plural quantifiers of George Boolos and others.
  • Bounded quantifiers are often used in the study of set theory or arithmetic.

Infinitary logics edit

Infinitary logic allows infinitely long sentences. For example, one may allow a conjunction or disjunction of infinitely many formulas, or quantification over infinitely many variables. Infinitely long sentences arise in areas of mathematics including topology and model theory.

Infinitary logic generalizes first-order logic to allow formulas of infinite length. The most common way in which formulas can become infinite is through infinite conjunctions and disjunctions. However, it is also possible to admit generalized signatures in which function and relation symbols are allowed to have infinite arities, or in which quantifiers can bind infinitely many variables. Because an infinite formula cannot be represented by a finite string, it is necessary to choose some other representation of formulas; the usual representation in this context is a tree. Thus, formulas are, essentially, identified with their parse trees, rather than with the strings being parsed.

The most commonly studied infinitary logics are denoted Lαβ, where α and β are each either cardinal numbers or the symbol ∞. In this notation, ordinary first-order logic is Lωω. In the logic L∞ω, arbitrary conjunctions or disjunctions are allowed when building formulas, and there is an unlimited supply of variables. More generally, the logic that permits conjunctions or disjunctions with less than κ constituents is known as Lκω. For example, Lω1ω permits countable conjunctions and disjunctions.

The set of free variables in a formula of Lκω can have any cardinality strictly less than κ, yet only finitely many of them can be in the scope of any quantifier when a formula appears as a subformula of another.[36] In other infinitary logics, a subformula may be in the scope of infinitely many quantifiers. For example, in Lκ∞, a single universal or existential quantifier may bind arbitrarily many variables simultaneously. Similarly, the logic Lκλ permits simultaneous quantification over fewer than λ variables, as well as conjunctions and disjunctions of size less than κ.

Non-classical and modal logics edit

  • Intuitionistic first-order logic uses intuitionistic rather than classical reasoning; for example, ¬¬φ need not be equivalent to φ and ¬ ∀x.φ is in general not equivalent to ∃ x.¬φ .
  • First-order modal logic allows one to describe other possible worlds as well as this contingently true world which we inhabit. In some versions, the set of possible worlds varies depending on which possible world one inhabits. Modal logic has extra modal operators with meanings which can be characterized informally as, for example "it is necessary that φ" (true in all possible worlds) and "it is possible that φ" (true in some possible world). With standard first-order logic we have a single domain, and each predicate is assigned one extension. With first-order modal logic we have a domain function that assigns each possible world its own domain, so that each predicate gets an extension only relative to these possible worlds. This allows us to model cases where, for example, Alex is a philosopher, but might have been a mathematician, and might not have existed at all. In the first possible world P(a) is true, in the second P(a) is false, and in the third possible world there is no a in the domain at all.
  • First-order fuzzy logics are first-order extensions of propositional fuzzy logics rather than classical propositional calculus.

Fixpoint logic edit

Fixpoint logic extends first-order logic by adding the closure under the least fixed points of positive operators.[37]

Higher-order logics edit

The characteristic feature of first-order logic is that individuals can be quantified, but not predicates. Thus

 

is a legal first-order formula, but

 

is not, in most formalizations of first-order logic. Second-order logic extends first-order logic by adding the latter type of quantification. Other higher-order logics allow quantification over even higher types than second-order logic permits. These higher types include relations between relations, functions from relations to relations between relations, and other higher-type objects. Thus the "first" in first-order logic describes the type of objects that can be quantified.

Unlike first-order logic, for which only one semantics is studied, there are several possible semantics for second-order logic. The most commonly employed semantics for second-order and higher-order logic is known as full semantics. The combination of additional quantifiers and the full semantics for these quantifiers makes higher-order logic stronger than first-order logic. In particular, the (semantic) logical consequence relation for second-order and higher-order logic is not semidecidable; there is no effective deduction system for second-order logic that is sound and complete under full semantics.

Second-order logic with full semantics is more expressive than first-order logic. For example, it is possible to create axiom systems in second-order logic that uniquely characterize the natural numbers and the real line. The cost of this expressiveness is that second-order and higher-order logics have fewer attractive metalogical properties than first-order logic. For example, the Löwenheim–Skolem theorem and compactness theorem of first-order logic become false when generalized to higher-order logics with full semantics.

Automated theorem proving and formal methods edit

Automated theorem proving refers to the development of computer programs that search and find derivations (formal proofs) of mathematical theorems.[38] Finding derivations is a difficult task because the search space can be very large; an exhaustive search of every possible derivation is theoretically possible but computationally infeasible for many systems of interest in mathematics. Thus complicated heuristic functions are developed to attempt to find a derivation in less time than a blind search.[39]

The related area of automated proof verification uses computer programs to check that human-created proofs are correct. Unlike complicated automated theorem provers, verification systems may be small enough that their correctness can be checked both by hand and through automated software verification. This validation of the proof verifier is needed to give confidence that any derivation labeled as "correct" is actually correct.

Some proof verifiers, such as Metamath, insist on having a complete derivation as input. Others, such as Mizar and Isabelle, take a well-formatted proof sketch (which may still be very long and detailed) and fill in the missing pieces by doing simple proof searches or applying known decision procedures: the resulting derivation is then verified by a small core "kernel". Many such systems are primarily intended for interactive use by human mathematicians: these are known as proof assistants. They may also use formal logics that are stronger than first-order logic, such as type theory. Because a full derivation of any nontrivial result in a first-order deductive system will be extremely long for a human to write,[40] results are often formalized as a series of lemmas, for which derivations can be constructed separately.

Automated theorem provers are also used to implement formal verification in computer science. In this setting, theorem provers are used to verify the correctness of programs and of hardware such as processors with respect to a formal specification. Because such analysis is time-consuming and thus expensive, it is usually reserved for projects in which a malfunction would have grave human or financial consequences.

For the problem of model checking, efficient algorithms are known to decide whether an input finite structure satisfies a first-order formula, in addition to computational complexity bounds: see Model checking § First-order logic.

See also edit

Notes edit

  1. ^ Hodgson, Dr. J. P. E., "First Order Logic" (), Saint Joseph's University, Philadelphia, 1995.
  2. ^ Hughes, G. E., & Cresswell, M. J., A New Introduction to Modal Logic (London: Routledge, 1996), p.161.
  3. ^ a b A. Tarski, Undecidable Theories (1953), p.77. Studies in Logic and the Foundation of Mathematics, North-Holland
  4. ^ Mendelson, Elliott (1964). Introduction to Mathematical Logic. Van Nostrand Reinhold. p. 56.
  5. ^ Eric M. Hammer: Semantics for Existential Graphs, Journal of Philosophical Logic, Volume 27, Issue 5 (October 1998), page 489: "Development of first-order logic independently of Frege, anticipating prenex and Skolem normal forms"
  6. ^ H. Friedman, "Adventures in Foundations of Mathematics 1: Logical Reasoning", Ross Program 2022, lecture notes. Accessed 28 July 2023.
  7. ^ Goertzel, B., Geisweiller, N., Coelho, L., Janičić, P., & Pennachin, C., Real-World Reasoning: Toward Scalable, Uncertain Spatiotemporal, Contextual and Causal Inference (Amsterdam & Paris: Atlantis Press, 2011), pp. 29--30.
  8. ^ a b c d e W. V. O. Quine, Mathematical Logic (1981). Harvard University Press, 0-674-55451-5.
  9. ^ Davis, Ernest (1990). Representations of Commonsense Knowledge. Morgan Kauffmann. pp. 27–28. ISBN 978-1-4832-0770-4.
  10. ^ "Predicate Logic | Brilliant Math & Science Wiki". brilliant.org. Retrieved 2020-08-20.
  11. ^ "Introduction to Symbolic Logic: Lecture 2". cstl-cla.semo.edu. Retrieved 2021-01-04.
  12. ^ Hans Hermes (1973). Introduction to Mathematical Logic. Hochschultext (Springer-Verlag). London: Springer. ISBN 3540058192. ISSN 1431-4657.
  13. ^ More precisely, there is only one language of each variant of one-sorted first-order logic: with or without equality, with or without functions, with or without propositional variables, ....
  14. ^ The word language is sometimes used as a synonym for signature, but this can be confusing because "language" can also refer to the set of formulas.
  15. ^ Eberhard Bergmann and Helga Noll (1977). Mathematische Logik mit Informatik-Anwendungen. Heidelberger Taschenbücher, Sammlung Informatik (in German). Vol. 187. Heidelberg: Springer. pp. 300–302.
  16. ^ Smullyan, R. M., First-order Logic (New York: Dover Publications, 1968), p. 5.
  17. ^ G. Takeuti, 'Proof Theory' (1989, p.6)
  18. ^ Some authors who use the term "well-formed formula" use "formula" to mean any string of symbols from the alphabet. However, most authors in mathematical logic use "formula" to mean "well-formed formula" and have no term for non-well-formed formulas. In every context, it is only the well-formed formulas that are of interest.
  19. ^ Clark Barrett; Aaron Stump; Cesare Tinelli. "The SMT-LIB Standard: Version 2.0". SMT-LIB. Retrieved 2019-06-15.
  20. ^ y occurs bound by rule 4, although it doesn't appear in any atomic subformula
  21. ^ It seems that symbol   was introduced by Kleene, see footnote 30 in Dover's 2002 reprint of his book Mathematical Logic, John Wiley and Sons, 1967.
  22. ^ F. R. Drake, Set theory: An introduction to large cardinals (1974)
  23. ^ Rogers, R. L., Mathematical Logic and Formalized Theories: A Survey of Basic Concepts and Results (Amsterdam/London: North-Holland Publishing Company, 1971), p. 39.
  24. ^ Brink, C., Kahl, W., & Schmidt, G., eds., Relational Methods in Computer Science (Berlin / Heidelberg: Springer, 1997), pp. 32–33.
  25. ^ Anon., Mathematical Reviews (Providence: American Mathematical Society, 2006), p. 803.
  26. ^ Shankar, N., Owre, S., Rushby, J. M., & Stringer-Calvert, D. W. J., PVS Prover Guide 2.4 (Menlo Park: SRI International, November 2001).
  27. ^ Fitting, M., First-Order Logic and Automated Theorem Proving (Berlin/Heidelberg: Springer, 1990), pp. 198–200.
  28. ^ Use formula substitution with φ being x=x and φ' being y=x, then use reflexivity.
  29. ^ Use formula substitution with φ being y=z and φ' being x=z to obtain y=x → (y=zx=z), then use symmetry and uncurrying.
  30. ^ Hodel, R. E., An Introduction to Mathematical Logic (Mineola NY: Dover, 1995), p. 199.
  31. ^ Horrocks, Ian (2010). "Description Logic: A Formal Foundation for Languages and Tools" (PDF). Slide 22. (PDF) from the original on 2015-09-06.
  32. ^ Gamut 1991, p. 75.
  33. ^ Left-totality can be expressed by an axiom  ; right-uniqueness by    , provided the equality symbol is admitted. Both also apply to constant replacements (for  ).
  34. ^ Uzquiano, Gabriel (October 17, 2018). "Quantifiers and Quantification". In Zalta, Edward N. (ed.). Stanford Encyclopedia of Philosophy (Winter 2018 ed.). See in particular section 3.2, Many-Sorted Quantification.
  35. ^ Enderton, H. A Mathematical Introduction to Logic, second edition. Academic Press, 2001, pp.296–299.
  36. ^ Some authors only admit formulas with finitely many free variables in Lκω, and more generally only formulas with < λ free variables in Lκλ.
  37. ^ Bosse, Uwe (1993). "An Ehrenfeucht–Fraïssé game for fixpoint logic and stratified fixpoint logic". In Börger, Egon (ed.). Computer Science Logic: 6th Workshop, CSL'92, San Miniato, Italy, September 28 - October 2, 1992. Selected Papers. Lecture Notes in Computer Science. Vol. 702. Springer-Verlag. pp. 100–114. ISBN 3-540-56992-8. Zbl 0808.03024.
  38. ^ Melvin Fitting (6 December 2012). First-Order Logic and Automated Theorem Proving. Springer Science & Business Media. ISBN 978-1-4612-2360-3.
  39. ^ "15-815 Automated Theorem Proving". www.cs.cmu.edu. Retrieved 2024-01-10.
  40. ^ Avigad, et al. (2007) discuss the process of formally verifying a proof of the prime number theorem. The formalized proof required approximately 30,000 lines of input to the Isabelle proof verifier.

References edit

  • Rautenberg, Wolfgang (2010), A Concise Introduction to Mathematical Logic (3rd ed.), New York, NY: Springer Science+Business Media, doi:10.1007/978-1-4419-1221-3, ISBN 978-1-4419-1220-6
  • Andrews, Peter B. (2002); An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof, 2nd ed., Berlin: Kluwer Academic Publishers. Available from Springer.
  • Avigad, Jeremy; Donnelly, Kevin; Gray, David; and Raff, Paul (2007); "A formally verified proof of the prime number theorem", ACM Transactions on Computational Logic, vol. 9 no. 1 doi:10.1145/1297658.1297660
  • Barwise, Jon (1977). "An Introduction to First-Order Logic". In Barwise, Jon (ed.). Handbook of Mathematical Logic. Studies in Logic and the Foundations of Mathematics. Amsterdam, NL: North-Holland (published 1982). ISBN 978-0-444-86388-1.
  • Monk, J. Donald (1976). Mathematical Logic. New York, NY: Springer New York. doi:10.1007/978-1-4684-9452-5. ISBN 978-1-4684-9454-9.
  • Barwise, Jon; and Etchemendy, John (2000); Language Proof and Logic, Stanford, CA: CSLI Publications (Distributed by the University of Chicago Press)
  • Bocheński, Józef Maria (2007); A Précis of Mathematical Logic, Dordrecht, NL: D. Reidel, translated from the French and German editions by Otto Bird
  • Ferreirós, José (2001); The Road to Modern Logic — An Interpretation, Bulletin of Symbolic Logic, Volume 7, Issue 4, 2001, pp. 441–484, doi:10.2307/2687794, JSTOR 2687794
  • Gamut, L. T. F. (1991), Logic, Language, and Meaning, Volume 2: Intensional Logic and Logical Grammar, Chicago, Illinois: University of Chicago Press, ISBN 0-226-28088-8
  • Hilbert, David; and Ackermann, Wilhelm (1950); Principles of Mathematical Logic, Chelsea (English translation of Grundzüge der theoretischen Logik, 1928 German first edition)
  • Hodges, Wilfrid (2001); "Classical Logic I: First-Order Logic", in Goble, Lou (ed.); The Blackwell Guide to Philosophical Logic, Blackwell
  • Ebbinghaus, Heinz-Dieter; Flum, Jörg; and Thomas, Wolfgang (1994); Mathematical Logic, Undergraduate Texts in Mathematics, Berlin, DE/New York, NY: Springer-Verlag, Second Edition, ISBN 978-0-387-94258-2
  • Tarski, Alfred and Givant, Steven (1987); A Formalization of Set Theory without Variables. Vol.41 of American Mathematical Society colloquium publications, Providence RI: American Mathematical Society, ISBN 978-0821810415

External links edit

  • "Predicate calculus", Encyclopedia of Mathematics, EMS Press, 2001 [1994]
  • Stanford Encyclopedia of Philosophy: Shapiro, Stewart; "Classical Logic". Covers syntax, model theory, and metatheory for first-order logic in the natural deduction style.
  • Magnus, P. D.; forall x: an introduction to formal logic. Covers formal semantics and proof theory for first-order logic.
  • Metamath: an ongoing online project to reconstruct mathematics as a huge first-order theory, using first-order logic and the axiomatic set theory ZFC. Principia Mathematica modernized.
  • Podnieks, Karl; Introduction to mathematical logic
  • Cambridge Mathematical Tripos notes (typeset by John Fremlin). These notes cover part of a past Cambridge Mathematical Tripos course taught to undergraduate students (usually) within their third year. The course is entitled "Logic, Computation and Set Theory" and covers Ordinals and cardinals, Posets and Zorn's Lemma, Propositional logic, Predicate logic, Set theory and Consistency issues related to ZFC and other set theories.
  • Tree Proof Generator can validate or invalidate formulas of first-order logic through the semantic tableaux method.

first, order, logic, predicate, logic, redirects, here, logics, admitting, predicate, function, variables, higher, order, logic, also, known, predicate, logic, quantificational, logic, first, order, predicate, calculus, collection, formal, systems, used, mathe. Predicate logic redirects here For logics admitting predicate or function variables see Higher order logic First order logic also known as predicate logic quantificational logic and first order predicate calculus is a collection of formal systems used in mathematics philosophy linguistics and computer science First order logic uses quantified variables over non logical objects and allows the use of sentences that contain variables so that rather than propositions such as Socrates is a man one can have expressions in the form there exists x such that x is Socrates and x is a man where there exists is a quantifier while x is a variable 1 This distinguishes it from propositional logic which does not use quantifiers or relations 2 in this sense propositional logic is the foundation of first order logic A theory about a topic such as set theory a theory for groups 3 or a formal theory of arithmetic is usually a first order logic together with a specified domain of discourse over which the quantified variables range finitely many functions from that domain to itself finitely many predicates defined on that domain and a set of axioms believed to hold about them Theory is sometimes understood in a more formal sense as just a set of sentences in first order logic The term first order distinguishes first order logic from higher order logic in which there are predicates having predicates or functions as arguments or in which quantification over predicates functions or both are permitted 4 56 In first order theories predicates are often associated with sets In interpreted higher order theories predicates may be interpreted as sets of sets There are many deductive systems for first order logic which are both sound i e all provable statements are true in all models and complete i e all statements which are true in all models are provable Although the logical consequence relation is only semidecidable much progress has been made in automated theorem proving in first order logic First order logic also satisfies several metalogical theorems that make it amenable to analysis in proof theory such as the Lowenheim Skolem theorem and the compactness theorem First order logic is the standard for the formalization of mathematics into axioms and is studied in the foundations of mathematics Peano arithmetic and Zermelo Fraenkel set theory are axiomatizations of number theory and set theory respectively into first order logic No first order theory however has the strength to uniquely describe a structure with an infinite domain such as the natural numbers or the real line Axiom systems that do fully describe these two structures i e categorical axiom systems can be obtained in stronger logics such as second order logic The foundations of first order logic were developed independently by Gottlob Frege and Charles Sanders Peirce 5 For a history of first order logic and how it came to dominate formal logic see Jose Ferreiros 2001 Contents 1 Introduction 2 Syntax 2 1 Alphabet 2 1 1 Logical symbols 2 1 2 Non logical symbols 2 2 Formation rules 2 2 1 Terms 2 2 2 Formulas 2 2 3 Notational conventions 2 3 Free and bound variables 2 4 Example ordered abelian groups 3 Semantics 3 1 First order structures 3 2 Evaluation of truth values 3 3 Validity satisfiability and logical consequence 3 4 Algebraizations 3 5 First order theories models and elementary classes 3 6 Empty domains 4 Deductive systems 4 1 Rules of inference 4 2 Hilbert style systems and natural deduction 4 3 Sequent calculus 4 4 Tableaux method 4 5 Resolution 4 6 Provable identities 5 Equality and its axioms 5 1 First order logic without equality 5 2 Defining equality within a theory 6 Metalogical properties 6 1 Completeness and undecidability 6 2 The Lowenheim Skolem theorem 6 3 The compactness theorem 6 4 Lindstrom s theorem 7 Limitations 7 1 Expressiveness 7 2 Formalizing natural languages 8 Restrictions extensions and variations 8 1 Restricted languages 8 2 Many sorted logic 8 3 Additional quantifiers 8 4 Infinitary logics 8 5 Non classical and modal logics 8 6 Fixpoint logic 8 7 Higher order logics 9 Automated theorem proving and formal methods 10 See also 11 Notes 12 References 13 External linksIntroduction editWhile propositional logic deals with simple declarative propositions first order logic additionally covers predicates and quantification A predicate evaluates to true or false for an entity or entities in the domain of discourse Consider the two sentences Socrates is a philosopher and Plato is a philosopher In propositional logic these sentences themselves are viewed as the individuals of study and might be denoted for example by variables such as p and q They are not viewed as an application of a predicate such as isPhil displaystyle text isPhil nbsp to any particular objects in the domain of discourse instead viewing them as purely an utterance which is either true or false 6 However in first order logic these two sentences may be couched as statements that a certain individual or non logical object has a property In this example both sentences happen to have the common form isPhil x displaystyle text isPhil x nbsp for some individual x displaystyle x nbsp in the first sentence the value of the variable x is Socrates and in the second sentence it is Plato Due to the ability to speak about non logical individuals along with the original logical connectives first order logic includes propositional logic 7 The truth of a formula such as x is a philosopher depends on which object is denoted by x and on the interpretation of the predicate is a philosopher Consequently x is a philosopher alone does not have a definite truth value of true or false and is akin to a sentence fragment 8 Relationships between predicates can be stated using logical connectives For example the first order formula if x is a philosopher then x is a scholar is a conditional statement with x is a philosopher as its hypothesis and x is a scholar as its conclusion which again needs specification of x in order to have a definite truth value Quantifiers can be applied to variables in a formula The variable x in the previous formula can be universally quantified for instance with the first order sentence For every x if x is a philosopher then x is a scholar The universal quantifier for every in this sentence expresses the idea that the claim if x is a philosopher then x is a scholar holds for all choices of x The negation of the sentence For every x if x is a philosopher then x is a scholar is logically equivalent to the sentence There exists x such that x is a philosopher and x is not a scholar The existential quantifier there exists expresses the idea that the claim x is a philosopher and x is not a scholar holds for some choice of x The predicates is a philosopher and is a scholar each take a single variable In general predicates can take several variables In the first order sentence Socrates is the teacher of Plato the predicate is the teacher of takes two variables An interpretation or model of a first order formula specifies what each predicate means and the entities that can instantiate the variables These entities form the domain of discourse or universe which is usually required to be a nonempty set For example in an interpretation with the domain of discourse consisting of all human beings and the predicate is a philosopher understood as was the author of the Republic the sentence There exists x such that x is a philosopher is seen as being true as witnessed by Plato clarification needed There are two key parts of first order logic The syntax determines which finite sequences of symbols are well formed expressions in first order logic while the semantics determines the meanings behind these expressions Syntax editSee also Formal languageUnlike natural languages such as English the language of first order logic is completely formal so that it can be mechanically determined whether a given expression is well formed There are two key types of well formed expressions terms which intuitively represent objects and formulas which intuitively express statements that can be true or false The terms and formulas of first order logic are strings of symbols where all the symbols together form the alphabet of the language Alphabet edit See also Alphabet formal languages and Symbol formal As with all formal languages the nature of the symbols themselves is outside the scope of formal logic they are often regarded simply as letters and punctuation symbols It is common to divide the symbols of the alphabet into logical symbols which always have the same meaning and non logical symbols whose meaning varies by interpretation 9 For example the logical symbol displaystyle land nbsp always represents and it is never interpreted as or which is represented by the logical symbol displaystyle lor nbsp However a non logical predicate symbol such as Phil x could be interpreted to mean x is a philosopher x is a man named Philip or any other unary predicate depending on the interpretation at hand Logical symbols edit Main article List of logical symbols Logical symbols are a set of characters that vary by author but usually include the following 10 Quantifier symbols for universal quantification and for existential quantification Logical connectives for conjunction for disjunction for implication for biconditional for negation Some authors 11 use Cpq instead of and Epq instead of especially in contexts where is used for other purposes Moreover the horseshoe may replace 8 the triple bar may replace a tilde Np or Fp may replace a double bar displaystyle nbsp displaystyle nbsp 12 or Apq may replace and an ampersand amp Kpq or the middle dot may replace especially if these symbols are not available for technical reasons The aforementioned symbols Cpq Epq Np Apq and Kpq are used in Polish notation Parentheses brackets and other punctuation symbols The choice of such symbols varies depending on context An infinite set of variables often denoted by lowercase letters at the end of the alphabet x y z Subscripts are often used to distinguish variables x0 x1 x2 An equality symbol sometimes identity symbol see Equality and its axioms below Not all of these symbols are required in first order logic Either one of the quantifiers along with negation conjunction or disjunction variables brackets and equality suffices Other logical symbols include the following Truth constants T V or for true and F O or for false V and O are from Polish notation Without any such logical operators of valence 0 these two constants can only be expressed using quantifiers Additional logical connectives such as the Sheffer stroke Dpq NAND and exclusive or Jpq Non logical symbols edit Non logical symbols represent predicates relations functions and constants It used to be standard practice to use a fixed infinite set of non logical symbols for all purposes For every integer n 0 there is a collection of n ary or n place predicate symbols Because they represent relations between n elements they are also called relation symbols For each arity n there is an infinite supply of them Pn0 Pn1 Pn2 Pn3 For every integer n 0 there are infinitely many n ary function symbols fn0 fn1 fn2 fn3 When the arity of a predicate symbol or function symbol is clear from context the superscript n is often omitted In this traditional approach there is only one language of first order logic 13 This approach is still common especially in philosophically oriented books A more recent practice is to use different non logical symbols according to the application one has in mind Therefore it has become necessary to name the set of all non logical symbols used in a particular application This choice is made via a signature 14 Typical signatures in mathematics are 1 or just for groups 3 or 0 1 lt for ordered fields There are no restrictions on the number of non logical symbols The signature can be empty finite or infinite even uncountable Uncountable signatures occur for example in modern proofs of the Lowenheim Skolem theorem Though signatures might in some cases imply how non logical symbols are to be interpreted interpretation of the non logical symbols in the signature is separate and not necessarily fixed Signatures concern syntax rather than semantics In this approach every non logical symbol is of one of the following types A predicate symbol or relation symbol with some valence or arity number of arguments greater than or equal to 0 These are often denoted by uppercase letters such as P Q and R Examples In P x P is a predicate symbol of valence 1 One possible interpretation is x is a man In Q x y Q is a predicate symbol of valence 2 Possible interpretations include x is greater than y and x is the father of y Relations of valence 0 can be identified with propositional variables which can stand for any statement One possible interpretation of R is Socrates is a man A function symbol with some valence greater than or equal to 0 These are often denoted by lowercase roman letters such as f g and h Examples f x may be interpreted as the father of x In arithmetic it may stand for x In set theory it may stand for the power set of x In arithmetic g x y may stand for x y In set theory it may stand for the union of x and y Function symbols of valence 0 are called constant symbols and are often denoted by lowercase letters at the beginning of the alphabet such as a b and c The symbol a may stand for Socrates In arithmetic it may stand for 0 In set theory it may stand for the empty set The traditional approach can be recovered in the modern approach by simply specifying the custom signature to consist of the traditional sequences of non logical symbols Formation rules edit See also Formal grammar and Formation rule BNF grammar lt index gt lt index gt lt variable gt x lt index gt lt constant gt c lt index gt lt unary function gt f1 lt index gt lt binary function gt f2 lt index gt lt ternary function gt f3 lt index gt lt unary predicate gt p1 lt index gt lt binary predicate gt p2 lt index gt lt ternary predicate gt p3 lt index gt lt term gt lt variable gt lt constant gt lt unary function gt lt term gt lt binary function gt lt term gt lt term gt lt ternary function gt lt term gt lt term gt lt term gt lt atomic formula gt TRUE FALSE lt term gt lt term gt lt unary predicate gt lt term gt lt binary predicate gt lt term gt lt term gt lt ternary predicate gt lt term gt lt term gt lt term gt lt formula gt lt atomic formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt formula gt lt variable gt lt formula gt lt variable gt lt formula gt The above context free grammar in Backus Naur form defines the language of syntactically valid first order formulas with function symbols and predicate symbols up to arity 3 For higher arities it needs to be adapted accordingly 15 citation needed The example formula x x x c f2 x x c describes multiplicative inverses when f2 c and c are interpreted as multiplication zero and one respectively The formation rules define the terms and formulas of first order logic 16 When terms and formulas are represented as strings of symbols these rules can be used to write a formal grammar for terms and formulas These rules are generally context free each production has a single symbol on the left side except that the set of symbols may be allowed to be infinite and there may be many start symbols for example the variables in the case of terms Terms edit The set of terms is inductively defined by the following rules 17 Variables Any variable symbol is a term Functions If f is an n ary function symbol and t1 tn are terms then f t1 tn is a term In particular symbols denoting individual constants are nullary function symbols and thus are terms Only expressions which can be obtained by finitely many applications of rules 1 and 2 are terms For example no expression involving a predicate symbol is a term Formulas edit The set of formulas also called well formed formulas 18 or WFFs is inductively defined by the following rules Predicate symbols If P is an n ary predicate symbol and t1 tn are terms then P t1 tn is a formula Equality If the equality symbol is considered part of logic and t1 and t2 are terms then t1 t2 is a formula Negation If f displaystyle varphi nbsp is a formula then f displaystyle lnot varphi nbsp is a formula Binary connectives If f displaystyle varphi nbsp and ps displaystyle psi nbsp are formulas then f ps displaystyle varphi rightarrow psi nbsp is a formula Similar rules apply to other binary logical connectives Quantifiers If f displaystyle varphi nbsp is a formula and x is a variable then xf displaystyle forall x varphi nbsp for all x f displaystyle varphi nbsp holds and xf displaystyle exists x varphi nbsp there exists x such that f displaystyle varphi nbsp are formulas Only expressions which can be obtained by finitely many applications of rules 1 5 are formulas The formulas obtained from the first two rules are said to be atomic formulas For example x y P f x P x Q f y x z displaystyle forall x forall y P f x rightarrow neg P x rightarrow Q f y x z nbsp is a formula if f is a unary function symbol P a unary predicate symbol and Q a ternary predicate symbol However xx displaystyle forall x x rightarrow nbsp is not a formula although it is a string of symbols from the alphabet The role of the parentheses in the definition is to ensure that any formula can only be obtained in one way by following the inductive definition i e there is a unique parse tree for each formula This property is known as unique readability of formulas There are many conventions for where parentheses are used in formulas For example some authors use colons or full stops instead of parentheses or change the places in which parentheses are inserted Each author s particular definition must be accompanied by a proof of unique readability This definition of a formula does not support defining an if then else function ite c a b where c is a condition expressed as a formula that would return a if c is true and b if it is false This is because both predicates and functions can only accept terms as parameters but the first parameter is a formula Some languages built on first order logic such as SMT LIB 2 0 add this 19 Notational conventions edit For convenience conventions have been developed about the precedence of the logical operators to avoid the need to write parentheses in some cases These rules are similar to the order of operations in arithmetic A common convention is displaystyle lnot nbsp is evaluated first displaystyle land nbsp and displaystyle lor nbsp are evaluated next Quantifiers are evaluated next displaystyle to nbsp is evaluated last Moreover extra punctuation not required by the definition may be inserted to make formulas easier to read Thus the formula xP x x P x displaystyle lnot forall xP x to exists x lnot P x nbsp might be written as xP x x P x displaystyle lnot forall xP x to exists x lnot P x nbsp In some fields it is common to use infix notation for binary relations and functions instead of the prefix notation defined above For example in arithmetic one typically writes 2 2 4 instead of 2 2 4 It is common to regard formulas in infix notation as abbreviations for the corresponding formulas in prefix notation cf also term structure vs representation The definitions above use infix notation for binary connectives such as displaystyle to nbsp A less common convention is Polish notation in which one writes displaystyle rightarrow nbsp displaystyle wedge nbsp and so on in front of their arguments rather than between them This convention is advantageous in that it allows all punctuation symbols to be discarded As such Polish notation is compact and elegant but rarely used in practice because it is hard for humans to read In Polish notation the formula x y P f x P x Q f y x z displaystyle forall x forall y P f x rightarrow neg P x rightarrow Q f y x z nbsp becomes x y Pfx PxQfyxz Free and bound variables edit Main article Free variables and bound variables In a formula a variable may occur free or bound or both One formalization of this notion is due to Quine first the concept of a variable occurrence is defined then whether a variable occurrence is free or bound then whether a variable symbol overall is free or bound In order to distinguish different occurrences of the identical symbol x each occurrence of a variable symbol x in a formula f is identified with the initial substring of f up to the point at which said instance of the symbol x appears 8 p 297 Then an occurrence of x is said to be bound if that occurrence of x lies within the scope of at least one of either x displaystyle exists x nbsp or x displaystyle forall x nbsp Finally x is bound in f if all occurrences of x in f are bound 8 pp 142 143Intuitively a variable symbol is free in a formula if at no point is it quantified 8 pp 142 143 in y P x y the sole occurrence of variable x is free while that of y is bound The free and bound variable occurrences in a formula are defined inductively as follows Atomic formulas If f is an atomic formula then x occurs free in f if and only if x occurs in f Moreover there are no bound variables in any atomic formula Negation x occurs free in f if and only if x occurs free in f x occurs bound in f if and only if x occurs bound in f Binary connectives x occurs free in f ps if and only if x occurs free in either f or ps x occurs bound in f ps if and only if x occurs bound in either f or ps The same rule applies to any other binary connective in place of Quantifiers x occurs free in y f if and only if x occurs free in f and x is a different symbol from y Also x occurs bound in y f if and only if x is y or x occurs bound in f The same rule holds with in place of For example in x y P x Q x f x z x and y occur only bound 20 z occurs only free and w is neither because it does not occur in the formula Free and bound variables of a formula need not be disjoint sets in the formula P x x Q x the first occurrence of x as argument of P is free while the second one as argument of Q is bound A formula in first order logic with no free variable occurrences is called a first order sentence These are the formulas that will have well defined truth values under an interpretation For example whether a formula such as Phil x is true must depend on what x represents But the sentence x Phil x will be either true or false in a given interpretation Example ordered abelian groups edit In mathematics the language of ordered abelian groups has one constant symbol 0 one unary function symbol one binary function symbol and one binary relation symbol Then The expressions x y and x y z are terms These are usually written as x y and x y z The expressions x y 0 and x y z x y are atomic formulas These are usually written as x y 0 and x y z x y The expression x y x y z x y x y 0 displaystyle forall x forall y mathop leq mathop x y z to forall x forall y mathop x y 0 nbsp is a formula which is usually written as x y x y z x y x y 0 displaystyle forall x forall y x y leq z to forall x forall y x y 0 nbsp This formula has one free variable z The axioms for ordered abelian groups can be expressed as a set of sentences in the language For example the axiom stating that the group is commutative is usually written x y x y y x displaystyle forall x forall y x y y x nbsp Semantics editAn interpretation of a first order language assigns a denotation to each non logical symbol predicate symbol function symbol or constant symbol in that language It also determines a domain of discourse that specifies the range of the quantifiers The result is that each term is assigned an object that it represents each predicate is assigned a property of objects and each sentence is assigned a truth value In this way an interpretation provides semantic meaning to the terms predicates and formulas of the language The study of the interpretations of formal languages is called formal semantics What follows is a description of the standard or Tarskian semantics for first order logic It is also possible to define game semantics for first order logic but aside from requiring the axiom of choice game semantics agree with Tarskian semantics for first order logic so game semantics will not be elaborated herein First order structures edit Main article Structure mathematical logic The most common way of specifying an interpretation especially in mathematics is to specify a structure also called a model see below The structure consists of a domain of discourse D and an interpretation function I mapping non logical symbols to predicates functions and constants The domain of discourse D is a nonempty set of objects of some kind Intuitively given an interpretation a first order formula becomes a statement about these objects for example xP x displaystyle exists xP x nbsp states the existence of some object in D for which the predicate P is true or more precisely for which the predicate assigned to the predicate symbol P by the interpretation is true For example one can take D to be the set of integers Non logical symbols are interpreted as follows The interpretation of an n ary function symbol is a function from Dn to D For example if the domain of discourse is the set of integers a function symbol f of arity 2 can be interpreted as the function that gives the sum of its arguments In other words the symbol f is associated with the function I f displaystyle I f nbsp which in this interpretation is addition The interpretation of a constant symbol a function symbol of arity 0 is a function from D0 a set whose only member is the empty tuple to D which can be simply identified with an object in D For example an interpretation may assign the value I c 10 displaystyle I c 10 nbsp to the constant symbol c displaystyle c nbsp The interpretation of an n ary predicate symbol is a set of n tuples of elements of D giving the arguments for which the predicate is true For example an interpretation I P displaystyle I P nbsp of a binary predicate symbol P may be the set of pairs of integers such that the first one is less than the second According to this interpretation the predicate P would be true if its first argument is less than its second argument Equivalently predicate symbols may be assigned Boolean valued functions from Dn to true false displaystyle mathrm true false nbsp Evaluation of truth values edit This section does not cite any sources Please help improve this section by adding citations to reliable sources Unsourced material may be challenged and removed July 2023 Learn how and when to remove this template message A formula evaluates to true or false given an interpretation and a variable assignment m that associates an element of the domain of discourse with each variable The reason that a variable assignment is required is to give meanings to formulas with free variables such as y x displaystyle y x nbsp The truth value of this formula changes depending on the values that x and y denote First the variable assignment m can be extended to all terms of the language with the result that each term maps to a single element of the domain of discourse The following rules are used to make this assignment Variables Each variable x evaluates to m x Functions Given terms t1 tn displaystyle t 1 ldots t n nbsp that have been evaluated to elements d1 dn displaystyle d 1 ldots d n nbsp of the domain of discourse and a n ary function symbol f the term f t1 tn displaystyle f t 1 ldots t n nbsp evaluates to I f d1 dn displaystyle I f d 1 ldots d n nbsp Next each formula is assigned a truth value The inductive definition used to make this assignment is called the T schema Atomic formulas 1 A formula P t1 tn displaystyle P t 1 ldots t n nbsp is associated the value true or false depending on whether v1 vn I P displaystyle langle v 1 ldots v n rangle in I P nbsp where v1 vn displaystyle v 1 ldots v n nbsp are the evaluation of the terms t1 tn displaystyle t 1 ldots t n nbsp and I P displaystyle I P nbsp is the interpretation of P displaystyle P nbsp which by assumption is a subset of Dn displaystyle D n nbsp Atomic formulas 2 A formula t1 t2 displaystyle t 1 t 2 nbsp is assigned true if t1 displaystyle t 1 nbsp and t2 displaystyle t 2 nbsp evaluate to the same object of the domain of discourse see the section on equality below Logical connectives A formula in the form f displaystyle neg varphi nbsp f ps displaystyle varphi rightarrow psi nbsp etc is evaluated according to the truth table for the connective in question as in propositional logic Existential quantifiers A formula xf x displaystyle exists x varphi x nbsp is true according to M and m displaystyle mu nbsp if there exists an evaluation m displaystyle mu nbsp of the variables that differs from m displaystyle mu nbsp at most regarding the evaluation of x and such that f is true according to the interpretation M and the variable assignment m displaystyle mu nbsp This formal definition captures the idea that xf x displaystyle exists x varphi x nbsp is true if and only if there is a way to choose a value for x such that f x is satisfied Universal quantifiers A formula xf x displaystyle forall x varphi x nbsp is true according to M and m displaystyle mu nbsp if f x is true for every pair composed by the interpretation M and some variable assignment m displaystyle mu nbsp that differs from m displaystyle mu nbsp at most on the value of x This captures the idea that xf x displaystyle forall x varphi x nbsp is true if every possible choice of a value for x causes f x to be true If a formula does not contain free variables and so is a sentence then the initial variable assignment does not affect its truth value In other words a sentence is true according to M and m displaystyle mu nbsp if and only if it is true according to M and every other variable assignment m displaystyle mu nbsp There is a second common approach to defining truth values that does not rely on variable assignment functions Instead given an interpretation M one first adds to the signature a collection of constant symbols one for each element of the domain of discourse in M say that for each d in the domain the constant symbol cd is fixed The interpretation is extended so that each new constant symbol is assigned to its corresponding element of the domain One now defines truth for quantified formulas syntactically as follows Existential quantifiers alternate A formula xf x displaystyle exists x varphi x nbsp is true according to M if there is some d in the domain of discourse such that f cd displaystyle varphi c d nbsp holds Here f cd displaystyle varphi c d nbsp is the result of substituting cd for every free occurrence of x in f Universal quantifiers alternate A formula xf x displaystyle forall x varphi x nbsp is true according to M if for every d in the domain of discourse f cd displaystyle varphi c d nbsp is true according to M This alternate approach gives exactly the same truth values to all sentences as the approach via variable assignments Validity satisfiability and logical consequence edit See also Satisfiability If a sentence f evaluates to true under a given interpretation M one says that M satisfies f this is denoted 21 M f displaystyle M vDash varphi nbsp A sentence is satisfiable if there is some interpretation under which it is true This is a bit different from the symbol displaystyle vDash nbsp from model theory where M ϕ displaystyle M vDash phi nbsp denotes satisfiability in a model i e there is a suitable assignment of values in M displaystyle M nbsp s domain to variable symbols of ϕ displaystyle phi nbsp 22 Satisfiability of formulas with free variables is more complicated because an interpretation on its own does not determine the truth value of such a formula The most common convention is that a formula f with free variables x1 displaystyle x 1 nbsp xn displaystyle x n nbsp is said to be satisfied by an interpretation if the formula f remains true regardless which individuals from the domain of discourse are assigned to its free variables x1 displaystyle x 1 nbsp xn displaystyle x n nbsp This has the same effect as saying that a formula f is satisfied if and only if its universal closure x1 xnϕ x1 xn displaystyle forall x 1 dots forall x n phi x 1 dots x n nbsp is satisfied A formula is logically valid or simply valid if it is true in every interpretation 23 These formulas play a role similar to tautologies in propositional logic A formula f is a logical consequence of a formula ps if every interpretation that makes ps true also makes f true In this case one says that f is logically implied by ps Algebraizations edit An alternate approach to the semantics of first order logic proceeds via abstract algebra This approach generalizes the Lindenbaum Tarski algebras of propositional logic There are three ways of eliminating quantified variables from first order logic that do not involve replacing quantifiers with other variable binding term operators Cylindric algebra by Alfred Tarski and colleagues Polyadic algebra by Paul Halmos Predicate functor logic mainly due to Willard Quine These algebras are all lattices that properly extend the two element Boolean algebra Tarski and Givant 1987 showed that the fragment of first order logic that has no atomic sentence lying in the scope of more than three quantifiers has the same expressive power as relation algebra 24 32 33 This fragment is of great interest because it suffices for Peano arithmetic and most axiomatic set theory including the canonical ZFC They also prove that first order logic with a primitive ordered pair is equivalent to a relation algebra with two ordered pair projection functions 25 803 First order theories models and elementary classes edit A first order theory of a particular signature is a set of axioms which are sentences consisting of symbols from that signature The set of axioms is often finite or recursively enumerable in which case the theory is called effective Some authors require theories to also include all logical consequences of the axioms The axioms are considered to hold within the theory and from them other sentences that hold within the theory can be derived A first order structure that satisfies all sentences in a given theory is said to be a model of the theory An elementary class is the set of all structures satisfying a particular theory These classes are a main subject of study in model theory Many theories have an intended interpretation a certain model that is kept in mind when studying the theory For example the intended interpretation of Peano arithmetic consists of the usual natural numbers with their usual operations However the Lowenheim Skolem theorem shows that most first order theories will also have other nonstandard models A theory is consistent if it is not possible to prove a contradiction from the axioms of the theory A theory is complete if for every formula in its signature either that formula or its negation is a logical consequence of the axioms of the theory Godel s incompleteness theorem shows that effective first order theories that include a sufficient portion of the theory of the natural numbers can never be both consistent and complete Empty domains edit Main article Empty domain The definition above requires that the domain of discourse of any interpretation must be nonempty There are settings such as inclusive logic where empty domains are permitted Moreover if a class of algebraic structures includes an empty structure for example there is an empty poset that class can only be an elementary class in first order logic if empty domains are permitted or the empty structure is removed from the class There are several difficulties with empty domains however Many common rules of inference are valid only when the domain of discourse is required to be nonempty One example is the rule stating that f xps displaystyle varphi lor exists x psi nbsp implies x f ps displaystyle exists x varphi lor psi nbsp when x is not a free variable in f displaystyle varphi nbsp This rule which is used to put formulas into prenex normal form is sound in nonempty domains but unsound if the empty domain is permitted The definition of truth in an interpretation that uses a variable assignment function cannot work with empty domains because there are no variable assignment functions whose range is empty Similarly one cannot assign interpretations to constant symbols This truth definition requires that one must select a variable assignment function m above before truth values for even atomic formulas can be defined Then the truth value of a sentence is defined to be its truth value under any variable assignment and it is proved that this truth value does not depend on which assignment is chosen This technique does not work if there are no assignment functions at all it must be changed to accommodate empty domains Thus when the empty domain is permitted it must often be treated as a special case Most authors however simply exclude the empty domain by definition Deductive systems editA deductive system is used to demonstrate on a purely syntactic basis that one formula is a logical consequence of another formula There are many such systems for first order logic including Hilbert style deductive systems natural deduction the sequent calculus the tableaux method and resolution These share the common property that a deduction is a finite syntactic object the format of this object and the way it is constructed vary widely These finite deductions themselves are often called derivations in proof theory They are also often called proofs but are completely formalized unlike natural language mathematical proofs A deductive system is sound if any formula that can be derived in the system is logically valid Conversely a deductive system is complete if every logically valid formula is derivable All of the systems discussed in this article are both sound and complete They also share the property that it is possible to effectively verify that a purportedly valid deduction is actually a deduction such deduction systems are called effective A key property of deductive systems is that they are purely syntactic so that derivations can be verified without considering any interpretation Thus a sound argument is correct in every possible interpretation of the language regardless of whether that interpretation is about mathematics economics or some other area In general logical consequence in first order logic is only semidecidable if a sentence A logically implies a sentence B then this can be discovered for example by searching for a proof until one is found using some effective sound complete proof system However if A does not logically imply B this does not mean that A logically implies the negation of B There is no effective procedure that given formulas A and B always correctly decides whether A logically implies B Rules of inference edit Further information List of rules of inference A rule of inference states that given a particular formula or set of formulas with a certain property as a hypothesis another specific formula or set of formulas can be derived as a conclusion The rule is sound or truth preserving if it preserves validity in the sense that whenever any interpretation satisfies the hypothesis that interpretation also satisfies the conclusion For example one common rule of inference is the rule of substitution If t is a term and f is a formula possibly containing the variable x then f t x is the result of replacing all free instances of x by t in f The substitution rule states that for any f and any term t one can conclude f t x from f provided that no free variable of t becomes bound during the substitution process If some free variable of t becomes bound then to substitute t for x it is first necessary to change the bound variables of f to differ from the free variables of t To see why the restriction on bound variables is necessary consider the logically valid formula f given by x x y displaystyle exists x x y nbsp in the signature of 0 1 of arithmetic If t is the term x 1 the formula f t y is x x x 1 displaystyle exists x x x 1 nbsp which will be false in many interpretations The problem is that the free variable x of t became bound during the substitution The intended replacement can be obtained by renaming the bound variable x of f to something else say z so that the formula after substitution is z z x 1 displaystyle exists z z x 1 nbsp which is again logically valid The substitution rule demonstrates several common aspects of rules of inference It is entirely syntactical one can tell whether it was correctly applied without appeal to any interpretation It has syntactically defined limitations on when it can be applied which must be respected to preserve the correctness of derivations Moreover as is often the case these limitations are necessary because of interactions between free and bound variables that occur during syntactic manipulations of the formulas involved in the inference rule Hilbert style systems and natural deduction edit A deduction in a Hilbert style deductive system is a list of formulas each of which is a logical axiom a hypothesis that has been assumed for the derivation at hand or follows from previous formulas via a rule of inference The logical axioms consist of several axiom schemas of logically valid formulas these encompass a significant amount of propositional logic The rules of inference enable the manipulation of quantifiers Typical Hilbert style systems have a small number of rules of inference along with several infinite schemas of logical axioms It is common to have only modus ponens and universal generalization as rules of inference Natural deduction systems resemble Hilbert style systems in that a deduction is a finite list of formulas However natural deduction systems have no logical axioms they compensate by adding additional rules of inference that can be used to manipulate the logical connectives in formulas in the proof Sequent calculus edit Further information Sequent calculus The sequent calculus was developed to study the properties of natural deduction systems 26 Instead of working with one formula at a time it uses sequents which are expressions of the form A1 An B1 Bk displaystyle A 1 ldots A n vdash B 1 ldots B k nbsp where A1 An B1 Bk are formulas and the turnstile symbol displaystyle vdash nbsp is used as punctuation to separate the two halves Intuitively a sequent expresses the idea that A1 An displaystyle A 1 land cdots land A n nbsp implies B1 Bk displaystyle B 1 lor cdots lor B k nbsp Tableaux method edit nbsp A tableaux proof for the propositional formula a b b aFurther information Method of analytic tableaux Unlike the methods just described the derivations in the tableaux method are not lists of formulas Instead a derivation is a tree of formulas To show that a formula A is provable the tableaux method attempts to demonstrate that the negation of A is unsatisfiable The tree of the derivation has A displaystyle lnot A nbsp at its root the tree branches in a way that reflects the structure of the formula For example to show that C D displaystyle C lor D nbsp is unsatisfiable requires showing that C and D are each unsatisfiable this corresponds to a branching point in the tree with parent C D displaystyle C lor D nbsp and children C and D Resolution edit Main article Resolution logic The resolution rule is a single rule of inference that together with unification is sound and complete for first order logic As with the tableaux method a formula is proved by showing that the negation of the formula is unsatisfiable Resolution is commonly used in automated theorem proving The resolution method works only with formulas that are disjunctions of atomic formulas arbitrary formulas must first be converted to this form through Skolemization The resolution rule states that from the hypotheses A1 Ak C displaystyle A 1 lor cdots lor A k lor C nbsp and B1 Bl C displaystyle B 1 lor cdots lor B l lor lnot C nbsp the conclusion A1 Ak B1 Bl displaystyle A 1 lor cdots lor A k lor B 1 lor cdots lor B l nbsp can be obtained Provable identities edit Many identities can be proved which establish equivalences between particular formulas These identities allow for rearranging formulas by moving quantifiers across other connectives and are useful for putting formulas in prenex normal form Some provable identities include xP x x P x displaystyle lnot forall x P x Leftrightarrow exists x lnot P x nbsp xP x x P x displaystyle lnot exists x P x Leftrightarrow forall x lnot P x nbsp x yP x y y xP x y displaystyle forall x forall y P x y Leftrightarrow forall y forall x P x y nbsp x yP x y y xP x y displaystyle exists x exists y P x y Leftrightarrow exists y exists x P x y nbsp xP x xQ x x P x Q x displaystyle forall x P x land forall x Q x Leftrightarrow forall x P x land Q x nbsp xP x xQ x x P x Q x displaystyle exists x P x lor exists x Q x Leftrightarrow exists x P x lor Q x nbsp P xQ x x P Q x displaystyle P land exists x Q x Leftrightarrow exists x P land Q x nbsp where x displaystyle x nbsp must not occur free in P displaystyle P nbsp P xQ x x P Q x displaystyle P lor forall x Q x Leftrightarrow forall x P lor Q x nbsp where x displaystyle x nbsp must not occur free in P displaystyle P nbsp Equality and its axioms editThere are several different conventions for using equality or identity in first order logic The most common convention known as first order logic with equality includes the equality symbol as a primitive logical symbol which is always interpreted as the real equality relation between members of the domain of discourse such that the two given members are the same member This approach also adds certain axioms about equality to the deductive system employed These equality axioms are 27 198 200 Reflexivity For each variable x x x Substitution for functions For all variables x and y and any function symbol f x y f x f y Substitution for formulas For any variables x and y and any formula f x if f is obtained by replacing any number of free occurrences of x in f with y such that these remain free occurrences of y then x y f f These are axiom schemas each of which specifies an infinite set of axioms The third schema is known as Leibniz s law the principle of substitutivity the indiscernibility of identicals or the replacement property The second schema involving the function symbol f is equivalent to a special case of the third schema using the formula x y f x z f y z Many other properties of equality are consequences of the axioms above for example Symmetry If x y then y x 28 Transitivity If x y and y z then x z 29 First order logic without equality edit An alternate approach considers the equality relation to be a non logical symbol This convention is known as first order logic without equality If an equality relation is included in the signature the axioms of equality must now be added to the theories under consideration if desired instead of being considered rules of logic The main difference between this method and first order logic with equality is that an interpretation may now interpret two distinct individuals as equal although by Leibniz s law these will satisfy exactly the same formulas under any interpretation That is the equality relation may now be interpreted by an arbitrary equivalence relation on the domain of discourse that is congruent with respect to the functions and relations of the interpretation When this second convention is followed the term normal model is used to refer to an interpretation where no distinct individuals a and b satisfy a b In first order logic with equality only normal models are considered and so there is no term for a model other than a normal model When first order logic without equality is studied it is necessary to amend the statements of results such as the Lowenheim Skolem theorem so that only normal models are considered First order logic without equality is often employed in the context of second order arithmetic and other higher order theories of arithmetic where the equality relation between sets of natural numbers is usually omitted Defining equality within a theory edit If a theory has a binary formula A x y which satisfies reflexivity and Leibniz s law the theory is said to have equality or to be a theory with equality The theory may not have all instances of the above schemas as axioms but rather as derivable theorems For example in theories with no function symbols and a finite number of relations it is possible to define equality in terms of the relations by defining the two terms s and t to be equal if any relation is unchanged by changing s to t in any argument Some theories allow other ad hoc definitions of equality In the theory of partial orders with one relation symbol one could define s t to be an abbreviation for s t t s In set theory with one relation one may define s t to be an abbreviation for x s x t x x x s x t This definition of equality then automatically satisfies the axioms for equality In this case one should replace the usual axiom of extensionality which can be stated as x y z z x z y x y displaystyle forall x forall y forall z z in x Leftrightarrow z in y Rightarrow x y nbsp with an alternative formulation x y z z x z y z x z y z displaystyle forall x forall y forall z z in x Leftrightarrow z in y Rightarrow forall z x in z Leftrightarrow y in z nbsp which says that if sets x and y have the same elements then they also belong to the same sets Metalogical properties editOne motivation for the use of first order logic rather than higher order logic is that first order logic has many metalogical properties that stronger logics do not have These results concern general properties of first order logic itself rather than properties of individual theories They provide fundamental tools for the construction of models of first order theories Completeness and undecidability edit Godel s completeness theorem proved by Kurt Godel in 1929 establishes that there are sound complete effective deductive systems for first order logic and thus the first order logical consequence relation is captured by finite provability Naively the statement that a formula f logically implies a formula ps depends on every model of f these models will in general be of arbitrarily large cardinality and so logical consequence cannot be effectively verified by checking every model However it is possible to enumerate all finite derivations and search for a derivation of ps from f If ps is logically implied by f such a derivation will eventually be found Thus first order logical consequence is semidecidable it is possible to make an effective enumeration of all pairs of sentences f ps such that ps is a logical consequence of f Unlike propositional logic first order logic is undecidable although semidecidable provided that the language has at least one predicate of arity at least 2 other than equality This means that there is no decision procedure that determines whether arbitrary formulas are logically valid This result was established independently by Alonzo Church and Alan Turing in 1936 and 1937 respectively giving a negative answer to the Entscheidungsproblem posed by David Hilbert and Wilhelm Ackermann in 1928 Their proofs demonstrate a connection between the unsolvability of the decision problem for first order logic and the unsolvability of the halting problem There are systems weaker than full first order logic for which the logical consequence relation is decidable These include propositional logic and monadic predicate logic which is first order logic restricted to unary predicate symbols and no function symbols Other logics with no function symbols which are decidable are the guarded fragment of first order logic as well as two variable logic The Bernays Schonfinkel class of first order formulas is also decidable Decidable subsets of first order logic are also studied in the framework of description logics The Lowenheim Skolem theorem edit The Lowenheim Skolem theorem shows that if a first order theory of cardinality l has an infinite model then it has models of every infinite cardinality greater than or equal to l One of the earliest results in model theory it implies that it is not possible to characterize countability or uncountability in a first order language with a countable signature That is there is no first order formula f x such that an arbitrary structure M satisfies f if and only if the domain of discourse of M is countable or in the second case uncountable The Lowenheim Skolem theorem implies that infinite structures cannot be categorically axiomatized in first order logic For example there is no first order theory whose only model is the real line any first order theory with an infinite model also has a model of cardinality larger than the continuum Since the real line is infinite any theory satisfied by the real line is also satisfied by some nonstandard models When the Lowenheim Skolem theorem is applied to first order set theories the nonintuitive consequences are known as Skolem s paradox The compactness theorem edit The compactness theorem states that a set of first order sentences has a model if and only if every finite subset of it has a model 30 This implies that if a formula is a logical consequence of an infinite set of first order axioms then it is a logical consequence of some finite number of those axioms This theorem was proved first by Kurt Godel as a consequence of the completeness theorem but many additional proofs have been obtained over time It is a central tool in model theory providing a fundamental method for constructing models The compactness theorem has a limiting effect on which collections of first order structures are elementary classes For example the compactness theorem implies that any theory that has arbitrarily large finite models has an infinite model Thus the class of all finite graphs is not an elementary class the same holds for many other algebraic structures There are also more subtle limitations of first order logic that are implied by the compactness theorem For example in computer science many situations can be modeled as a directed graph of states nodes and connections directed edges Validating such a system may require showing that no bad state can be reached from any good state Thus one seeks to determine if the good and bad states are in different connected components of the graph However the compactness theorem can be used to show that connected graphs are not an elementary class in first order logic and there is no formula f x y of first order logic in the logic of graphs that expresses the idea that there is a path from x to y Connectedness can be expressed in second order logic however but not with only existential set quantifiers as S11 displaystyle Sigma 1 1 nbsp also enjoys compactness Lindstrom s theorem edit Main article Lindstrom s theorem Per Lindstrom showed that the metalogical properties just discussed actually characterize first order logic in the sense that no stronger logic can also have those properties Ebbinghaus and Flum 1994 Chapter XIII Lindstrom defined a class of abstract logical systems and a rigorous definition of the relative strength of a member of this class He established two theorems for systems of this type A logical system satisfying Lindstrom s definition that contains first order logic and satisfies both the Lowenheim Skolem theorem and the compactness theorem must be equivalent to first order logic A logical system satisfying Lindstrom s definition that has a semidecidable logical consequence relation and satisfies the Lowenheim Skolem theorem must be equivalent to first order logic Limitations editAlthough first order logic is sufficient for formalizing much of mathematics and is commonly used in computer science and other fields it has certain limitations These include limitations on its expressiveness and limitations of the fragments of natural languages that it can describe For instance first order logic is undecidable meaning a sound complete and terminating decision algorithm for provability is impossible This has led to the study of interesting decidable fragments such as C2 first order logic with two variables and the counting quantifiers n displaystyle exists geq n nbsp and n displaystyle exists leq n nbsp 31 Expressiveness edit The Lowenheim Skolem theorem shows that if a first order theory has any infinite model then it has infinite models of every cardinality In particular no first order theory with an infinite model can be categorical Thus there is no first order theory whose only model has the set of natural numbers as its domain or whose only model has the set of real numbers as its domain Many extensions of first order logic including infinitary logics and higher order logics are more expressive in the sense that they do permit categorical axiomatizations of the natural numbers or real numbers clarification needed This expressiveness comes at a metalogical cost however by Lindstrom s theorem the compactness theorem and the downward Lowenheim Skolem theorem cannot hold in any logic stronger than first order Formalizing natural languages edit Main article Logic translation Natural language formalization First order logic is able to formalize many simple quantifier constructions in natural language such as every person who lives in Perth lives in Australia Hence first order logic is used as a basis for knowledge representation languages such as FO Still there are complicated features of natural language that cannot be expressed in first order logic Any logical system which is appropriate as an instrument for the analysis of natural language needs a much richer structure than first order predicate logic 32 Type Example CommentQuantification over properties If John is self satisfied then there is at least one thing he has in common with Peter Example requires a quantifier over predicates which cannot be implemented in single sorted first order logic Zj X Xj Xp Quantification over properties Santa Claus has all the attributes of a sadist Example requires quantifiers over predicates which cannot be implemented in single sorted first order logic X x Sx Xx Xs Predicate adverbial John is walking quickly Example cannot be analysed as Wj Qj predicate adverbials are not the same kind of thing as second order predicates such as colour Relative adjective Jumbo is a small elephant Example cannot be analysed as Sj Ej predicate adjectives are not the same kind of thing as second order predicates such as colour Predicate adverbial modifier John is walking very quickly Relative adjective modifier Jumbo is terribly small An expression such as terribly when applied to a relative adjective such as small results in a new composite relative adjective terribly small Prepositions Mary is sitting next to John The preposition next to when applied to John results in the predicate adverbial next to John Restrictions extensions and variations editThere are many variations of first order logic Some of these are inessential in the sense that they merely change notation without affecting the semantics Others change the expressive power more significantly by extending the semantics through additional quantifiers or other new logical symbols For example infinitary logics permit formulas of infinite size and modal logics add symbols for possibility and necessity Restricted languages edit First order logic can be studied in languages with fewer logical symbols than were described above Because xf x displaystyle exists x varphi x nbsp can be expressed as x f x displaystyle neg forall x neg varphi x nbsp and xf x displaystyle forall x varphi x nbsp can be expressed as x f x displaystyle neg exists x neg varphi x nbsp either of the two quantifiers displaystyle exists nbsp and displaystyle forall nbsp can be dropped Since f ps displaystyle varphi lor psi nbsp can be expressed as f ps displaystyle lnot lnot varphi land lnot psi nbsp and f ps displaystyle varphi land psi nbsp can be expressed as f ps displaystyle lnot lnot varphi lor lnot psi nbsp either displaystyle vee nbsp or displaystyle wedge nbsp can be dropped In other words it is sufficient to have displaystyle neg nbsp and displaystyle vee nbsp or displaystyle neg nbsp and displaystyle wedge nbsp as the only logical connectives Similarly it is sufficient to have only displaystyle neg nbsp and displaystyle rightarrow nbsp as logical connectives or to have only the Sheffer stroke NAND or the Peirce arrow NOR operator It is possible to entirely avoid function symbols and constant symbols rewriting them via predicate symbols in an appropriate way For example instead of using a constant symbol 0 displaystyle 0 nbsp one may use a predicate 0 x displaystyle 0 x nbsp interpreted as x 0 displaystyle x 0 nbsp and replace every predicate such as P 0 y displaystyle P 0 y nbsp with x 0 x P x y displaystyle forall x 0 x rightarrow P x y nbsp A function such as f x1 x2 xn displaystyle f x 1 x 2 x n nbsp will similarly be replaced by a predicate F x1 x2 xn y displaystyle F x 1 x 2 x n y nbsp interpreted as y f x1 x2 xn displaystyle y f x 1 x 2 x n nbsp This change requires adding additional axioms to the theory at hand so that interpretations of the predicate symbols used have the correct semantics 33 Restrictions such as these are useful as a technique to reduce the number of inference rules or axiom schemas in deductive systems which leads to shorter proofs of metalogical results The cost of the restrictions is that it becomes more difficult to express natural language statements in the formal system at hand because the logical connectives used in the natural language statements must be replaced by their longer definitions in terms of the restricted collection of logical connectives Similarly derivations in the limited systems may be longer than derivations in systems that include additional connectives There is thus a trade off between the ease of working within the formal system and the ease of proving results about the formal system It is also possible to restrict the arities of function symbols and predicate symbols in sufficiently expressive theories One can in principle dispense entirely with functions of arity greater than 2 and predicates of arity greater than 1 in theories that include a pairing function This is a function of arity 2 that takes pairs of elements of the domain and returns an ordered pair containing them It is also sufficient to have two predicate symbols of arity 2 that define projection functions from an ordered pair to its components In either case it is necessary that the natural axioms for a pairing function and its projections are satisfied Many sorted logic edit Main article Many sorted logic Ordinary first order interpretations have a single domain of discourse over which all quantifiers range Many sorted first order logic allows variables to have different sorts which have different domains This is also called typed first order logic and the sorts called types as in data type but it is not the same as first order type theory Many sorted first order logic is often used in the study of second order arithmetic 34 When there are only finitely many sorts in a theory many sorted first order logic can be reduced to single sorted first order logic 35 296 299 One introduces into the single sorted theory a unary predicate symbol for each sort in the many sorted theory and adds an axiom saying that these unary predicates partition the domain of discourse For example if there are two sorts one adds predicate symbols P1 x displaystyle P 1 x nbsp and P2 x displaystyle P 2 x nbsp and the axiom x P1 x P2 x x P1 x P2 x displaystyle forall x P 1 x lor P 2 x land lnot exists x P 1 x land P 2 x nbsp Then the elements satisfying P1 displaystyle P 1 nbsp are thought of as elements of the first sort and elements satisfying P2 displaystyle P 2 nbsp as elements of the second sort One can quantify over each sort by using the corresponding predicate symbol to limit the range of quantification For example to say there is an element of the first sort satisfying formula f x one writes x P1 x f x displaystyle exists x P 1 x land varphi x nbsp Additional quantifiers edit Additional quantifiers can be added to first order logic Sometimes it is useful to say that P x holds for exactly one x which can be expressed as x P x This notation called uniqueness quantification may be taken to abbreviate a formula such as x P x y P y x y First order logic with extra quantifiers has new quantifiers Qx with meanings such as there are many x such that Also see branching quantifiers and the plural quantifiers of George Boolos and others Bounded quantifiers are often used in the study of set theory or arithmetic Infinitary logics edit Main article Infinitary logic Infinitary logic allows infinitely long sentences For example one may allow a conjunction or disjunction of infinitely many formulas or quantification over infinitely many variables Infinitely long sentences arise in areas of mathematics including topology and model theory Infinitary logic generalizes first order logic to allow formulas of infinite length The most common way in which formulas can become infinite is through infinite conjunctions and disjunctions However it is also possible to admit generalized signatures in which function and relation symbols are allowed to have infinite arities or in which quantifiers can bind infinitely many variables Because an infinite formula cannot be represented by a finite string it is necessary to choose some other representation of formulas the usual representation in this context is a tree Thus formulas are essentially identified with their parse trees rather than with the strings being parsed The most commonly studied infinitary logics are denoted Lab where a and b are each either cardinal numbers or the symbol In this notation ordinary first order logic is Lww In the logic L w arbitrary conjunctions or disjunctions are allowed when building formulas and there is an unlimited supply of variables More generally the logic that permits conjunctions or disjunctions with less than k constituents is known as Lkw For example Lw1w permits countable conjunctions and disjunctions The set of free variables in a formula of Lkw can have any cardinality strictly less than k yet only finitely many of them can be in the scope of any quantifier when a formula appears as a subformula of another 36 In other infinitary logics a subformula may be in the scope of infinitely many quantifiers For example in Lk a single universal or existential quantifier may bind arbitrarily many variables simultaneously Similarly the logic Lkl permits simultaneous quantification over fewer than l variables as well as conjunctions and disjunctions of size less than k Non classical and modal logics edit Main article Non classical logic Intuitionistic first order logic uses intuitionistic rather than classical reasoning for example f need not be equivalent to f and x f is in general not equivalent to x f First order modal logic allows one to describe other possible worlds as well as this contingently true world which we inhabit In some versions the set of possible worlds varies depending on which possible world one inhabits Modal logic has extra modal operators with meanings which can be characterized informally as for example it is necessary that f true in all possible worlds and it is possible that f true in some possible world With standard first order logic we have a single domain and each predicate is assigned one extension With first order modal logic we have a domain function that assigns each possible world its own domain so that each predicate gets an extension only relative to these possible worlds This allows us to model cases where for example Alex is a philosopher but might have been a mathematician and might not have existed at all In the first possible world P a is true in the second P a is false and in the third possible world there is no a in the domain at all First order fuzzy logics are first order extensions of propositional fuzzy logics rather than classical propositional calculus Fixpoint logic edit Main article Fixed point logic Fixpoint logic extends first order logic by adding the closure under the least fixed points of positive operators 37 Higher order logics edit Main article Higher order logic The characteristic feature of first order logic is that individuals can be quantified but not predicates Thus a Phil a displaystyle exists a text Phil a nbsp is a legal first order formula but Phil Phil a displaystyle exists text Phil text Phil a nbsp is not in most formalizations of first order logic Second order logic extends first order logic by adding the latter type of quantification Other higher order logics allow quantification over even higher types than second order logic permits These higher types include relations between relations functions from relations to relations between relations and other higher type objects Thus the first in first order logic describes the type of objects that can be quantified Unlike first order logic for which only one semantics is studied there are several possible semantics for second order logic The most commonly employed semantics for second order and higher order logic is known as full semantics The combination of additional quantifiers and the full semantics for these quantifiers makes higher order logic stronger than first order logic In particular the semantic logical consequence relation for second order and higher order logic is not semidecidable there is no effective deduction system for second order logic that is sound and complete under full semantics Second order logic with full semantics is more expressive than first order logic For example it is possible to create axiom systems in second order logic that uniquely characterize the natural numbers and the real line The cost of this expressiveness is that second order and higher order logics have fewer attractive metalogical properties than first order logic For example the Lowenheim Skolem theorem and compactness theorem of first order logic become false when generalized to higher order logics with full semantics Automated theorem proving and formal methods editFurther information Automated theorem proving First order theorem proving Automated theorem proving refers to the development of computer programs that search and find derivations formal proofs of mathematical theorems 38 Finding derivations is a difficult task because the search space can be very large an exhaustive search of every possible derivation is theoretically possible but computationally infeasible for many systems of interest in mathematics Thus complicated heuristic functions are developed to attempt to find a derivation in less time than a blind search 39 The related area of automated proof verification uses computer programs to check that human created proofs are correct Unlike complicated automated theorem provers verification systems may be small enough that their correctness can be checked both by hand and through automated software verification This validation of the proof verifier is needed to give confidence that any derivation labeled as correct is actually correct Some proof verifiers such as Metamath insist on having a complete derivation as input Others such as Mizar and Isabelle take a well formatted proof sketch which may still be very long and detailed and fill in the missing pieces by doing simple proof searches or applying known decision procedures the resulting derivation is then verified by a small core kernel Many such systems are primarily intended for interactive use by human mathematicians these are known as proof assistants They may also use formal logics that are stronger than first order logic such as type theory Because a full derivation of any nontrivial result in a first order deductive system will be extremely long for a human to write 40 results are often formalized as a series of lemmas for which derivations can be constructed separately Automated theorem provers are also used to implement formal verification in computer science In this setting theorem provers are used to verify the correctness of programs and of hardware such as processors with respect to a formal specification Because such analysis is time consuming and thus expensive it is usually reserved for projects in which a malfunction would have grave human or financial consequences For the problem of model checking efficient algorithms are known to decide whether an input finite structure satisfies a first order formula in addition to computational complexity bounds see Model checking First order logic See also edit nbsp Philosophy portalACL2 A Computational Logic for Applicative Common Lisp Aristotelian logic Equiconsistency Ehrenfeucht Fraisse game Extension by definitions Extension predicate logic Herbrandization List of logic symbolsLojban Lowenheim number Nonfirstorderizability Prenex normal form Prior Analytics Prolog Relational algebra Relational model Skolem normal form Tarski s World Truth table Type model theory Notes edit Hodgson Dr J P E First Order Logic archive org Saint Joseph s University Philadelphia 1995 Hughes G E amp Cresswell M J A New Introduction to Modal Logic London Routledge 1996 p 161 a b A Tarski Undecidable Theories 1953 p 77 Studies in Logic and the Foundation of Mathematics North Holland Mendelson Elliott 1964 Introduction to Mathematical Logic Van Nostrand Reinhold p 56 Eric M Hammer Semantics for Existential Graphs Journal of Philosophical Logic Volume 27 Issue 5 October 1998 page 489 Development of first order logic independently of Frege anticipating prenex and Skolem normal forms H Friedman Adventures in Foundations of Mathematics 1 Logical Reasoning Ross Program 2022 lecture notes Accessed 28 July 2023 Goertzel B Geisweiller N Coelho L Janicic P amp Pennachin C Real World Reasoning Toward Scalable Uncertain Spatiotemporal Contextual and Causal Inference Amsterdam amp Paris Atlantis Press 2011 pp 29 30 a b c d e W V O Quine Mathematical Logic 1981 Harvard University Press 0 674 55451 5 Davis Ernest 1990 Representations of Commonsense Knowledge Morgan Kauffmann pp 27 28 ISBN 978 1 4832 0770 4 Predicate Logic Brilliant Math amp Science Wiki brilliant org Retrieved 2020 08 20 Introduction to Symbolic Logic Lecture 2 cstl cla semo edu Retrieved 2021 01 04 Hans Hermes 1973 Introduction to Mathematical Logic Hochschultext Springer Verlag London Springer ISBN 3540058192 ISSN 1431 4657 More precisely there is only one language of each variant of one sorted first order logic with or without equality with or without functions with or without propositional variables The word language is sometimes used as a synonym for signature but this can be confusing because language can also refer to the set of formulas Eberhard Bergmann and Helga Noll 1977 Mathematische Logik mit Informatik Anwendungen Heidelberger Taschenbucher Sammlung Informatik in German Vol 187 Heidelberg Springer pp 300 302 Smullyan R M First order Logic New York Dover Publications 1968 p 5 G Takeuti Proof Theory 1989 p 6 Some authors who use the term well formed formula use formula to mean any string of symbols from the alphabet However most authors in mathematical logic use formula to mean well formed formula and have no term for non well formed formulas In every context it is only the well formed formulas that are of interest Clark Barrett Aaron Stump Cesare Tinelli The SMT LIB Standard Version 2 0 SMT LIB Retrieved 2019 06 15 y occurs bound by rule 4 although it doesn t appear in any atomic subformula It seems that symbol displaystyle vDash nbsp was introduced by Kleene see footnote 30 in Dover s 2002 reprint of his book Mathematical Logic John Wiley and Sons 1967 F R Drake Set theory An introduction to large cardinals 1974 Rogers R L Mathematical Logic and Formalized Theories A Survey of Basic Concepts and Results Amsterdam London North Holland Publishing Company 1971 p 39 Brink C Kahl W amp Schmidt G eds Relational Methods in Computer Science Berlin Heidelberg Springer 1997 pp 32 33 Anon Mathematical Reviews Providence American Mathematical Society 2006 p 803 Shankar N Owre S Rushby J M amp Stringer Calvert D W J PVS Prover Guide 2 4 Menlo Park SRI International November 2001 Fitting M First Order Logic and Automated Theorem Proving Berlin Heidelberg Springer 1990 pp 198 200 Use formula substitution with f being x x and f being y x then use reflexivity Use formula substitution with f being y z and f being x z to obtain y x y z x z then use symmetry and uncurrying Hodel R E An Introduction to Mathematical Logic Mineola NY Dover 1995 p 199 Horrocks Ian 2010 Description Logic A Formal Foundation for Languages and Tools PDF Slide 22 Archived PDF from the original on 2015 09 06 Gamut 1991 p 75 Left totality can be expressed by an axiom x1 xn y F x1 xn y displaystyle forall x 1 x n exists y F x 1 x n y nbsp right uniqueness by x1 xn y y displaystyle forall x 1 x n y y nbsp F x1 xn y F x1 xn y y y displaystyle F x 1 x n y land F x 1 x n y rightarrow y y nbsp provided the equality symbol is admitted Both also apply to constant replacements for n 0 displaystyle n 0 nbsp Uzquiano Gabriel October 17 2018 Quantifiers and Quantification In Zalta Edward N ed Stanford Encyclopedia of Philosophy Winter 2018 ed See in particular section 3 2 Many Sorted Quantification Enderton H A Mathematical Introduction to Logic second edition Academic Press 2001 pp 296 299 Some authors only admit formulas with finitely many free variables in Lkw and more generally only formulas with lt l free variables in Lkl Bosse Uwe 1993 An Ehrenfeucht Fraisse game for fixpoint logic and stratified fixpoint logic In Borger Egon ed Computer Science Logic 6th Workshop CSL 92 San Miniato Italy September 28 October 2 1992 Selected Papers Lecture Notes in Computer Science Vol 702 Springer Verlag pp 100 114 ISBN 3 540 56992 8 Zbl 0808 03024 Melvin Fitting 6 December 2012 First Order Logic and Automated Theorem Proving Springer Science amp Business Media ISBN 978 1 4612 2360 3 15 815 Automated Theorem Proving www cs cmu edu Retrieved 2024 01 10 Avigad et al 2007 discuss the process of formally verifying a proof of the prime number theorem The formalized proof required approximately 30 000 lines of input to the Isabelle proof verifier References editRautenberg Wolfgang 2010 A Concise Introduction to Mathematical Logic 3rd ed New York NY Springer Science Business Media doi 10 1007 978 1 4419 1221 3 ISBN 978 1 4419 1220 6 Andrews Peter B 2002 An Introduction to Mathematical Logic and Type Theory To Truth Through Proof 2nd ed Berlin Kluwer Academic Publishers Available from Springer Avigad Jeremy Donnelly Kevin Gray David and Raff Paul 2007 A formally verified proof of the prime number theorem ACM Transactions on Computational Logic vol 9 no 1 doi 10 1145 1297658 1297660 Barwise Jon 1977 An Introduction to First Order Logic In Barwise Jon ed Handbook of Mathematical Logic Studies in Logic and the Foundations of Mathematics Amsterdam NL North Holland published 1982 ISBN 978 0 444 86388 1 Monk J Donald 1976 Mathematical Logic New York NY Springer New York doi 10 1007 978 1 4684 9452 5 ISBN 978 1 4684 9454 9 Barwise Jon and Etchemendy John 2000 Language Proof and Logic Stanford CA CSLI Publications Distributed by the University of Chicago Press Bochenski Jozef Maria 2007 A Precis of Mathematical Logic Dordrecht NL D Reidel translated from the French and German editions by Otto Bird Ferreiros Jose 2001 The Road to Modern Logic An Interpretation Bulletin of Symbolic Logic Volume 7 Issue 4 2001 pp 441 484 doi 10 2307 2687794 JSTOR 2687794 Gamut L T F 1991 Logic Language and Meaning Volume 2 Intensional Logic and Logical Grammar Chicago Illinois University of Chicago Press ISBN 0 226 28088 8 Hilbert David and Ackermann Wilhelm 1950 Principles of Mathematical Logic Chelsea English translation of Grundzuge der theoretischen Logik 1928 German first edition Hodges Wilfrid 2001 Classical Logic I First Order Logic in Goble Lou ed The Blackwell Guide to Philosophical Logic Blackwell Ebbinghaus Heinz Dieter Flum Jorg and Thomas Wolfgang 1994 Mathematical Logic Undergraduate Texts in Mathematics Berlin DE New York NY Springer Verlag Second Edition ISBN 978 0 387 94258 2 Tarski Alfred and Givant Steven 1987 A Formalization of Set Theory without Variables Vol 41 of American Mathematical Society colloquium publications Providence RI American Mathematical Society ISBN 978 0821810415External links edit Predicate calculus Encyclopedia of Mathematics EMS Press 2001 1994 Stanford Encyclopedia of Philosophy Shapiro Stewart Classical Logic Covers syntax model theory and metatheory for first order logic in the natural deduction style Magnus P D forall x an introduction to formal logic Covers formal semantics and proof theory for first order logic Metamath an ongoing online project to reconstruct mathematics as a huge first order theory using first order logic and the axiomatic set theory ZFC Principia Mathematica modernized Podnieks Karl Introduction to mathematical logic Cambridge Mathematical Tripos notes typeset by John Fremlin These notes cover part of a past Cambridge Mathematical Tripos course taught to undergraduate students usually within their third year The course is entitled Logic Computation and Set Theory and covers Ordinals and cardinals Posets and Zorn s Lemma Propositional logic Predicate logic Set theory and Consistency issues related to ZFC and other set theories Tree Proof Generator can validate or invalidate formulas of first order logic through the semantic tableaux method Retrieved from https en wikipedia org w index php title First order logic amp oldid 1215171067, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.