First-order logic (FOL) is a formal deductive system used in mathematics, philosophy, linguistics, and computer science. A deductive system (also called a deductive apparatus of a Formal system) consists of the Axioms (or Axiom schemata and Rules of inference It goes by many names, including: first-order predicate calculus (FOPC), the lower predicate calculus, the language of first-order logic or predicate logic. Unlike natural languages such as English, FOL uses a wholly unambiguous formal language interpreted by mathematical structures. English is a West Germanic language originating in England and is the First language for most people in the United Kingdom, the United States A formal language is a set of words, ie finite strings of letters, or symbols. FOL is a system of deduction that extends propositional logic by allowing quantification over individuals of a given domain of discourse. This is a technical mathematical article about the area of mathematical logic variously known as "propositional calculus" or "propositional logic" Quantification has two distinct meanings In Mathematics and Empirical science, it refers to human acts known as Counting and Measuring The domain of discourse, sometimes called the universe of discourse, logical discourse, or simply discourse, is an analytic tool used in Deductive For example, it can be stated in FOL "Every individual has the property P".
While propositional logic deals with simple declarative propositions, first-order logic additionally covers predicates and quantification. In Mathematics, a predicate is either a relation or the Boolean-valued function that amounts to the Characteristic function or the Take for example the following sentences: "Socrates is a man", "Plato is a man". In propositional logic these will be two unrelated propositions, denoted for example by p and q. In first-order logic however, both sentences would be connected by the same property: Man(x), where Man(x) means that x is a man. When x=Socrates we get the first proposition, p, and when x=Plato we get the second proposition, q. Such a construction allows for a much more powerful logic when quantifiers are introduced, such as "for every x. . . ", for example, "for every x, if Man(x), then. . . ". Without quantifiers, every valid argument in FOL is valid in propositional logic, and vice versa.
A first-order theory consists of a set of axioms (usually finite or recursively enumerable) and the statements deducible from them given the underlying deducibility relation. In Mathematical logic, a theory is a set of sentences in a Formal language. In traditional Logic, an axiom or postulate is a proposition that is not proved or demonstrated but considered to be either self-evident, or subject In Computability theory, traditionally called Recursion theory, a set S of Natural numbers is called recursively enumerable, computably Usually what is meant by 'first-order theory' is some set of axioms together with those of a complete (and sound) axiomatization of first-order logic, closed under the rules of FOL. (Any such system FOL will give rise to the same abstract deducibility relation, so we needn't have a fixed axiomatic system in mind. ) A first-order language has sufficient expressive power to formalize two important mathematical theories: ZFC set theory and Peano arithmetic. Zermelo–Fraenkel set theory with the axiom of choice, commonly abbreviated ZFC, is the standard form of Axiomatic set theory and as such is the most common In Mathematical logic, the Peano axioms, also known as the Dedekind-Peano axioms or the Peano postulates, are a set of Axioms for the Natural A first-order language cannot, however, categorically express the notion of countability even though it is expressible in the first-order theory ZFC under the intended interpretation of the symbolism of ZFC. See also Formal interpretation One who constructs a syntactical system usually has in mind from the outset some Interpretation of this Such ideas can be expressed categorically with second-order logic. In Logic and Mathematics second-order logic is an extension of First-order logic, which itself is an extension of Propositional logic.
Propositional logic is not adequate for formalizing valid arguments that rely on the internal structure of the propositions involved. This is a technical mathematical article about the area of mathematical logic variously known as "propositional calculus" or "propositional logic" To see this, consider the valid syllogistic argument:
which upon translation into propositional logic yields:
C(taking
to mean "therefore"). A syllogism, or logical appeal, (συλλογισμός &mdash "conclusion" "inference" (usually the categorical syllogism) is a kind of This is a technical mathematical article about the area of mathematical logic variously known as "propositional calculus" or "propositional logic"
According to propositional logic, this translation is invalid: Propositional logic validates arguments according to their structure, and nothing in the structure of this translated argument (C follows from A and B, for arbitrary A, B, C) suggests that it is valid. A translation that preserves the intuitive (and formal) validity of the argument must take into consideration the deeper structure of propositions, such as the essential notions of predication and quantification. Propositional logic deals only with truth-functional validity: any assignment of truth-values to the variables of the argument should make either the conclusion true or at least one of the premises false. Clearly we may (uniformly) assign truth values to the variables of the above argument such that A, B are both true but C is false. Hence the argument is truth-functionally invalid. On the other hand, it is impossible to (uniformly) assign truth values to the argument "A follows from (A and B)" such that (A and B) is true (hence A is true and B is true) and A false.
In contrast, this argument can be easily translated into first-order logic:



(Where "
" means "for all x", "
" means "implies", Man(Socrates) means "Socrates is a man", and Mortal(Socrates) means "Socrates is mortal". ) In plain English, this states that
FOL can also express the existence of something (
), as well as predicates ("functions" that are true or false) with more than one parameter. For example, "there is someone who can be fooled every time" can be expressed as:

Where "
" means "there exists (an) x", "
" means "and", and Canfool(x,y) means "(person) x can be fooled (at time) y".
Every propositional formula can be translated into an essentially equivalent first-order formula by replacing each propositional variable with a zero-arity predicate. For example, the formula
can be translated into
, where P, Q and R are predicates of arity zero.
While variables in the propositional logics are used to represent conditions that can be true or false, variables in first-order logic represent objects the formula is referring to. In the example above, the variable x in
is intended to indicate an arbitrary element of the human race, not a condition that can be true or false.
A predicate calculus consists of
The axioms considered here are logical axioms which are part of classical FOL. In traditional Logic, an axiom or postulate is a proposition that is not proved or demonstrated but considered to be either self-evident, or subject It is important to note that FOL can be formalized in many equivalent ways; there is nothing canonical about the axioms and rules of inference given in this article. There are infinitely many equivalent formalizations all of which yield the same theorems and non-theorems, and all of which have equal right to the title 'FOL'.
FOL is used as the basic "building block" for many mathematical theories. FOL provides several built-in rules, such as the axiom
(if P(x) is true for every x then P(x) is true for every x). Additional non-logical axioms are added to produce specific first-order theories based on the axioms of classical FOL; these theories built on FOL are called classical first-order theories. One example of a classical first-order theory is Peano arithmetic, which adds the axiom
(i. In Mathematical logic, the Peano axioms, also known as the Dedekind-Peano axioms or the Peano postulates, are a set of Axioms for the Natural e. for every x there exists y such that y=x+1, where Q(x,y) is interpreted as "y=x+1"). This additional axiom is a non-logical axiom; it is not part of FOL, but instead is an axiom of the theory (an axiom of arithmetic rather than of logic). Axioms of the latter kind are also called axioms of first-order theories. The axioms of first-order theories are not regarded as truths of logic per se, but rather as truths of the particular theory that usually has associated with it an intended interpretation of its non-logical symbols. (See an analogous idea at logical versus non-logical symbols. Non-logical symbol is a technical term used in Logic In Logic, the non-logical symbols (sometimes also called non-logical constants) of a ) Thus, the axiom about Q(x,y) is true only with the interpretation of the relation Q(x,y) as "y=x+1", and only in the theory of Peano arithmetic. In Mathematical logic, the Peano axioms, also known as the Dedekind-Peano axioms or the Peano postulates, are a set of Axioms for the Natural Classical FOL does not have associated with it an intended interpretation of its non-logical vocabulary (except arguably a symbol denoting identity, depending on whether one regards such a symbol as logical). Classical set-theory is another example of a first-order theory (a theory built on FOL).
The terms and formulas of first-order logic are strings of symbols. As for all formal languages, the nature of the symbols themselves is outside the scope of formal logic; it is best to think of them as letters and punctuation symbols. A formal language is a set of words, ie finite strings of letters, or symbols. The alphabet (set of all symbols of the language) is divided into the application-specific non-logical symbols and the logical symbols. The latter are the same, and have the same meaning, for all applications.
The non-logical symbols represent predicates (relations), functions and constants on the domain. Non-logical symbol is a technical term used in Logic In Logic, the non-logical symbols (sometimes also called non-logical constants) of a The set of non-logical symbols is known as the signature. [1]
The traditional approach is to have only one, infinite, set of non-logical symbols (one signature) for all applications. Consequently, under the traditional approach there is only one language of first-order logic. [2] This approach is still common, especially in philosophically oriented books.
In modern mathematical treatments of first-order logic, the signature varies with the applications. Typical signatures in mathematics are {1, ×} or just {×} for groups, or {0, 1, +, ×, <} for ordered fields. In Mathematics, an ordered field is a field together with a Total ordering of its elements that agrees in a certain sense with the field operations
There are no restrictions on the number of non-logical symbols. The signature can be empty, finite, or infinite, even uncountable. In Mathematics, and more specifically Set theory, the empty set is the unique set having no ( Zero) members Every non-logical symbol is of one of the following types.
x 0(x)
P(x,y). A function such as f(x1,x2. . . ) will similarly be replaced by a predicate F(x1,x2. . . ,y) (interpreted as "y=f(x1,x2. . . )"). We can recover the traditional approach by considering the following signature:
Besides logical connectives such as ∧, ∨ and ¬, the logical symbols include quantifiers, and variables. Table of logic symbolsIn Logic, two sentences (either in a formal language or a natural language may be joined by means of a logical connective to form a compound sentence Quantification has two distinct meanings In Mathematics and Empirical science, it refers to human acts known as Counting and Measuring A variable (ˈvɛərɪəbl is an Attribute of a physical or an abstract System which may change its Value while it is under Observation.
(logical not),
(logical conditional). In Logic and Mathematics, negation or not is an operation on Logical values for example the logical value of a Proposition The material conditional, also known as the material implication or truth functional conditional, expresses a property of certain Conditionals in Logic
(φ
ψ) is logically equivalent to φ
ψ (logical and). In Logic and/or Mathematics, logical conjunction or and is a two-place Logical operation that results in a value of true if both of φ
ψ can be seen as a shorthand for this. Alternatively, one may add the
symbol as a logical operator to the vocabulary, and appropriate axioms.
φ
ψ is logically equivalent to φ
ψ (logical or). φ
ψ can be seen as a shorthand for this. Alternatively, one may add the
symbol as a logical operator to the vocabulary, and appropriate axioms.
ψ)
(ψ
φ) is logically equivalent to φ
ψ (logical biconditional), and one may use the latter as a shorthand for this, or alternatively add this to the vocabulary and add appropriate axioms. In Logic and Mathematics, logical biconditional (sometimes also known as the material biconditional) is a Logical operator connecting two statements Sometimes φ
ψ is written as φ
ψ.
(universal quantification, typically read as "for all"). In Predicate logic, universal quantification is an attempt to formalize the notion that something (a Logical predicate) is true for everything, or every
x
φ) is logically equivalent to
x φ (existential quantification, typically read as "there exists"). In Predicate logic, an existential quantification is the predication of a property or relation to at least one member of the domain The latter can either be used as a shorthand for this, or added to the vocabulary together with appropriate axioms.
x or (
x). Sometimes one uses colons or full stops instead of parentheses to make formulas unambiguous. One interesting but rather unusual convention is "Polish notation", where one omits all parentheses, and writes
,
, and so on in front of their arguments rather than between them. Polish notation, also known as prefix notation, is a form of notation for Logic, Arithmetic, and Algebra. Polish notation is compact and elegant, but rare because it is hard for humans to read it. There are several further minor variations listed below:
(iff),
(and) and
(or), the truth constants T for "true" and F for "false" (these are operators of valence 0), and/or the Sheffer stroke (P | Q, aka NAND). Definition The NAND operation is a Logical operation on two Logical values typically the values of two Propositions that produces a value The minimum number of primitive symbols needed is one, but if we restrict ourselves to the operators listed above, we need three, as above.
ψ for φ
ψ. This is especially common in proof theory where
is easily confused with the sequent arrow. One also sees ~φ for
φ, φ & ψ for φ
ψ, and a wealth of notations for quantifiers; e. Quantification has two distinct meanings In Mathematics and Empirical science, it refers to human acts known as Counting and Measuring g. ,
x φ may be written as (x)φ. This latter notation is common in texts on recursion theory.
x P(x). This notation may be taken to abbreviate a formula such as
x (P(x)
y (P(y)
(x = y))) . Computer programs that accept first-order logic representations will typically accept at least these quantifiers and operators (though they may use different symbols to represent them):
(forall),
(exists),
(not),
(and),
(or),
(implies), and
(if and only if). The exclusive-or operator "xor" is also common.
The sets of constants, functions, and relations are usually considered to form a language, while the variables, logical operators, and quantifiers are usually considered to belong to the logic. For example, the language of group theory consists of one constant (the identity element), one function of valence 1 (the inverse) one function of valence 2 (the product), and one relation of valence 2 (equality), which would be omitted by authors who include equality in the underlying logic.
The formation rules define the terms and formulas of first order logic. When terms and formulas are represented as strings of symbols, these rules can be used to write a formal grammar for terms and formulas. In Formal semantics, Computer science and Linguistics, a formal grammar (also called formation rules) is a precise description of a Formal The concept of free variable is used to define the sentences as a subset of the formulas.
The set of terms is recursively defined by the following rules:
The set of well-formed formulas (usually called wffs or just formulas) is recursively defined by the following rules:
φ is a wff.
ψ) is a wff.
x φ is a wff. For example,
x
y (P(f(x))
(P(x)
Q(f(y),x,z))) is a well-formed formula, if f is a function of valence 1, P a predicate of valence 1 and Q a predicate of valence 3.
x x
is not a well-formed formula.
In Computer science terminology, a formula implements a built-in "boolean" type, while a term implements all other types. Computer science (or computing science) is the study and the Science of the theoretical foundations of Information and Computation and their
In mathematics the language of ordered abelian groups has one constant 0, one unary function −, one binary function +, and one binary relation ≤. So:
x
y ≤( +(x, y), z))
(
x =(+(x, y), 0)) is a formula, usually written as (
x
y x + y ≤ z)
(
x x + y = 0). In a formula, a variable may occur free or bound. In Mathematics, and in other disciplines involving Formal languages including Mathematical logic and Computer science, a free variable is a Intuitevely, a variable is free in a formula if it is not quantified: in
, variable x is free while y is bound.
φ if and only if x is free in φ.
ψ) if and only if x is free in φ and does not occur in ψ, or x is free in ψ and does not occur in φ, or x is free in both φ and ψ.
y φ if and only if x is free in φ and x is a different symbol than y. For example, in
x
y (P(x)
Q(x,f(x),z)), x and y are bound variables, z is a free variable, and w is neither because it does not occur in the formula.
Freeness and boundness can be also specialized to specific occurrences of variables in a formula. For example, in
, the first occurrence of x is free while the second is bound. In other words, the x in P(x) is free while the x in
is bound.
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 φ.
This replacement results in a formula that logically follows the original one provided that no free variable of t becomes bound in this process. If some free variable of t becomes bound, then to substitute t for x it is first necessary to change the names of bound variables of φ to something other than the free variables of t.
To see why this condition is necessary, consider the formula φ given by
y y ≤ x ("x is maximal"). If t is a term without y as a free variable, then φ[t/x] just means t is maximal. However if t is y, the formula φ[y/x] is
y y ≤ y which does not say that y is maximal. The problem is that the free variable y of t (=y) became bound when we substituted y for x in φ[y/x]. The intended replacement can be obtained by renaming the bound variable y of φ to something else, say z, so that the formula is then
z z ≤ y. Forgetting this condition is a notorious cause of errors.
An inference rule is a function from sets of (well-formed) formulas, called premises, to sets of formulas called conclusions. In Logic, a rule of inference (also called a transformation rule) is a function from sets of formulae to formulae In Discourse and Logic, a premise is a claim that is a reason (or element of a set of reasons for or objection against some other claim In most well-known deductive systems, inference rules take a set of formulas to a single conclusion. (Notice this is true even in the case of most sequent calculi. In Proof theory and Mathematical logic, the sequent calculus is a widely known Proof calculus for First-order logic (and Propositional logic )
Inference rules are used to prove theorems, which are formulas provable in or members of a theory. In Mathematics, a theorem is a statement proven on the basis of previously accepted or established statements If the premises of an inference rule are theorems, then its conclusion is a theorem as well. In Discourse and Logic, a premise is a claim that is a reason (or element of a set of reasons for or objection against some other claim In other words, inference rules are used to generate "new" theorems from "old" ones--they are theoremhood preserving. Systems for generating theories are often called predicate calculi. These are described in a section below.
An important inference rule, modus ponens, states that if φ and φ
ψ are both theorems, then ψ is a theorem. In Classical logic, modus ponendo ponens ( Latin: mode that affirms by affirming; often abbreviated to MP or modus ponens) is a This can be written as following;
and
, then 
where
indicates
is provable in theory T. There are deductive systems (known as Hilbert-style deductive systems) in which modus ponens is the sole rule of inference; in such systems, the lack of other inference rules is offset with an abundance of logical axiom schemes. In Logic, especially Mathematical logic, a Hilbert-style deduction system is a type of system of formal deduction attributed
A second important inference rule is Universal Generalization. Generalization is an inference rule of Predicate calculus which states that If \vdash P(x is true ( valid) then so It can be stated as
, then 
Which reads: if φ is a theorem, then "for every x, φ" is a theorem as well. The similar-looking schema
is not sound, in general, although it does however have valid instances, such as when x does not occur free in φ (see Generalization (logic)). Generalization is an inference rule of Predicate calculus which states that If \vdash P(x is true ( valid) then so
Here follows a description of the axioms of first-order logic. As explained above, a given first-order theory has further, non-logical axioms. The following logical axioms characterize a predicate calculus for this article's example of first-order logic[3].
For any theory, it is of interest to know whether the set of axioms can be generated by an algorithm, or if there is an algorithm which determines whether a well-formed formula is an axiom.
If there is an algorithm to generate all axioms, then the set of axioms is said to be recursively enumerable. In Computability theory, traditionally called Recursion theory, a set S of Natural numbers is called recursively enumerable, computably
If there is an algorithm which determines after a finite number of steps whether a formula is an axiom or not, then the set of axioms is said to be recursive or decidable. In Computability theory, a set of Natural numbers is called recursive, computable or decidable if there is an Algorithm In that case, one may also construct an algorithm to generate all axioms: this algorithm simply builds all possible formulas one by one (with growing length), and for each formula the algorithm determines whether it is an axiom.
Axioms of first-order logic are always decidable. However, in a first-order theory non-logical axioms are not necessarily such.
Quantifier axioms change according to how the vocabulary is defined, how the substitution procedure works, what the formation rules are and which inference rules are used. Here follows a specific example of these axioms




These are actually axiom schemata: the expression W stands for any wff in which x is not free, and the expression Z(x) stands for any wff with the additional convention that Z(t) stands for the result of substitution of the term t for x in Z(x). In Mathematical logic, an axiom schema generalizes the notion of Axiom. Thus this is a recursive set of axioms. In Computability theory, a set of Natural numbers is called recursive, computable or decidable if there is an Algorithm
Another axiom,
, for Z in which x does not occur, is sometimes added.
There are several different conventions for using equality (or identity) in first-order logic. This section summarizes the main ones. The various conventions all give essentially the same results with about the same amount of work, and differ mainly in terminology.
, we 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,
, by
, i. In Axiomatic set theory and the branches of Logic, Mathematics, and Computer science that use it the axiom of extensionality, or axiom e. if x and y have the same elements, then they belong to the same sets.
t ≤ s. In logic and mathematics, an interpretation (also mathematical interpretation, logico-mathematical interpretation, or commonly a model) gives meaning to an artificial or formal language by assigning a denotation to all non-logical constants in that language or in a sentence of that language. In Logic an interpretation gives meaning to an artificial or Formal language or to a sentence of such a language by assigning a denotation (extension
For a given formal language L, or a sentence Φ of L, an interpretation assigns a denotation to each non-logical constant occurring in L or Φ. To individual constants it assigns individuals (from some universe of discourse); to predicates of degree 1 it assigns properties (more precisely sets) ; to predicates of degree 2 it assigns binary relations of individuals; to predicates of degree 3 it assigns ternary relations of individuals, and so on; and to sentential letters it assigns truth-values.
More precisely, an interpretation of a formal language L or of a sentence Φ of L, consists of a non-empty domain D (i. e. a non-empty set) as the universe of discourse together with an assignment that associates with each individual constant of L or of Φ an element of D with each sentential symbol of L or of Φ one of the truth-values T or F with each n-ary operation or function symbol of L or of Φ an n-ary operation with respect to D (i. e. a function from Dn into D) with each n-ary predicate of L or of Φ an n-ary relation among elements of D and (optionally) with some binary predicate I of L, the identity relation among elements of D.
In this way an interpretation provides meaning or semantic values to the terms or formulae of the language. The study of the interpretations of formal languages is called formal semantics. [1] In mathematical logic an interpretation is a mathematical object that contains the necessary information for an interpretation in the former sense.
The symbols used in a formal language include variables, logical-constants, quantifiers and punctuation symbols as well as the non-logical constants. The interpretation of a sentence or language therefore depends on which non-logical constants it contains. Languages of the sentential (or propositional) calculus are allowed sentential symbols as non-logical constants. Languages of the first order predicate calculus allow in addition individual constants, predicate symbols and operation or function symbols.
A model is a pair
, where D is a set of elements called the domain while I is an interpretation of the elements of a signature (constants, functions, and predicates).
The following is an intuitive explanation of these elements.
The domain D is a set of "objects" of some kind. Intuitively, a first-order formula is a statement about objects; for example,
states the existence of an object x such that the predicate P is true where referred to it. The domain is the set of considered objects. As an example, one can take D to be the set of integer numbers.
The model also includes an interpretation of the signature. Since the elements of the signature are constants, function symbols, and predicate symbols, the interpretation gives the "value" of constants, functions, and predicates.
The interpretation of a constant is simply an object. This means that the interpretation tells which objects a given constant refers to. For example, an interpretation may assign the value I(c) = 10 to the constant c.
The interpretation of a function symbol is a function. For example, the 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 the function I(f) of addition in this interpretation.
The difference between constants and functions is that a constants is associated to a single element of the domain, while a function of arity n is associated to an element for any possible n-tuple of elements of the domain.
The interpretation of a predicate of arity n is a set of n-tuples of elements of the domain. This means that, given an interpretation, a predicate, and n elements of the domain, one can tell whether the predicate is true over those elements and according to the given interpretation. As an example, an interpretation I(P) of a predicate P of arity two 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 the second.
A formula evaluates to true or false given a model and an interpretation of the value of the variables. Such an interpretation μ associates every variable to a value of the domain.
The evaluation of a formula under a model
and an interpretation μ of the variables is defined from the evaluation of a term under the same pair. Note that the model itself contains an interpretation (which evaluates constants, functions, and predicates); we additionally have, separated from the model, an interpretation
is associated the value given by the interpretation of the function and the interpretation of the terms: if
are the values associated to
, the term is associated the value
; recall that I(f) is the interpretation of f, and so is a function from Dn to D;The interpretation of a formula is given as follows.
is associated the value true or false depending on whether
, where
are the evaluation of the terms
and I(P) is the interpretation of P, which by assumption is a subset of Dn
or
is evaluated in the obvious way
is true according to M and μ if there exists an evaluation μ' of the variables that only differs from μ regarding the evaluation of x and such thatA is true according to the model M and the interpretation μ'
is true according to M and μ if A is true for every pair composed by the model M and an interpretation μ' that differs from μ only on the value of xIf a formula does not contain free variables, then the evaluation of the variables does not affects its truth. In other words, in this case F is true according to M and μ if and only if is true according to M and a different interpretation of the variables μ'.
A model M satisfies a formula F if this formula is true according to M and every possible evaluation of its variables. A formula is valid if it is true in every possible model and interpretation of the variables.
A formula is satisfiabile if there exists a model and an interpretation of the variables that satisfy the formula.
The predicate calculus is a proper extension of the propositional calculus that defines which statements of first-order logic are provable. This is a technical mathematical article about the area of mathematical logic variously known as "propositional calculus" or "propositional logic" Many (but not all) mathematical theories can be formulated in the predicate calculus. The word theory has many distinct meanings in different fields of Knowledge, depending on their methodologies and the context of discussion. If the propositional calculus is defined with a suitable set of axioms and the single rule of inference modus ponens (this can be done in many ways), then the predicate calculus can be defined by appending to the propositional calculus several axioms and the inference rule called "universal generalization". In Classical logic, modus ponendo ponens ( Latin: mode that affirms by affirming; often abbreviated to MP or modus ponens) is a As axioms for the predicate calculus we take:
A sentence is defined to be provable in first-order logic if it can be derived from the axioms of the predicate calculus, by repeatedly applying the inference rules "modus ponens" and "universal generalization". In other words:
If we have a theory T (a set of statements, called axioms, in some language) then a sentence φ is defined to be provable in the theory T if

is provable in first-order logic, for some finite set of axioms
of the theory T. In other words, if one can prove in first-order logic that φ follows from the axioms of T. This also means, that we replace the above procedure for finding provable sentences by the following one:
One apparent problem with this definition of provability is that it seems rather ad hoc: we have taken some apparently random collection of axioms and rules of inference, and it is unclear that we have not accidentally missed out some vital axiom or rule. Gödel's completeness theorem assures us that this is not really a problem: any statement true in all models (semantically true) is provable in first-order logic (syntactically true). Gödel's completeness theorem is a fundamental theorem in Mathematical logic that establishes a correspondence between semantic truth and syntactic provability in In particular, any reasonable definition of "provable" in first-order logic must be equivalent to the one above (though it is possible for the lengths of proofs to differ vastly for different definitions of provability).
There are many different (but equivalent) ways to define provability. The above definition is typical for a "Hilbert style" calculus, which has many axioms but very few rules of inference. By contrast, a "Gentzen style" predicate calculus has few axioms but many rules of inference. In Proof theory and Mathematical logic, the sequent calculus is a widely known Proof calculus for First-order logic (and Propositional logic
The following sentences can be called "identities" because the main connective in each is the biconditional. In Logic and Mathematics, logical biconditional (sometimes also known as the material biconditional) is a Logical operator connecting two statements They are all provable in FOL, and are useful when manipulating the quantifiers:






(where x must not occur free in P)
(where x must not occur free in P)The main connective in the following sentences, also provable in FOL, is the conditional. The material conditional, also known as the material implication or truth functional conditional, expresses a property of certain Conditionals in Logic These sentences can be seen as the justification for inference rules in addition to modus ponens and universal generalization discussed above and assumed valid:




(If c is a variable, then it must not be previously quantified in P(x))
(there must be no free instance of x in P(c))Some important metalogical theorems are listed below in bulleted form. In Classical logic, modus ponendo ponens ( Latin: mode that affirms by affirming; often abbreviated to MP or modus ponens) is a What they roughly mean is that a sentence is valid if and only if it is provable. Furthermore, one can construct an algorithm which works as follows: if a sentence is provable, the algorithm will tell us that in a finite but unknown amount of time. If a sentence is unprovable, the algorithm will run forever, and we will not know whether the sentence is unprovable or provable and the algorithm has just not yet told us that. Such an algorithm is called semidecidable or recursively enumerable. In Computability theory, traditionally called Recursion theory, a set S of Natural numbers is called recursively enumerable, computably
One may construct an algorithm which will determine in finite number of steps whether a sentence is provable (a decidable algorithm) only for simple classes of first-order logic. In Logic, the term decidable refers to the existence of an Effective method for determining membership in a set of formulas
Concepts expressed in natural language must be "translated" to first-order logic (FOL) before FOL can be used to address them, and there are a number of potential pitfalls in this translation. In FOL,
means "p, or q, or both", that is, it is inclusive. In English, the word "or" is sometimes inclusive (e. g, "cream or sugar?"), but sometimes it is exclusive (e. g. , "coffee or tea?" is usually intended to mean one or the other, not both). Similarly, the English word "some" may mean "at least one, possibly all", but other times it may mean "not all, possibly none". The English word "and" should sometimes be translated as "or" (e. g. , "men and women may apply"). [4]
All mathematical notations have their strengths and weaknesses; here are a few such issues with first-order logic.
Oddly enough, FOL with equality (as typically defined) does not include or permit defining an if-then-else predicate or function if(c,a,b), where "c" is a condition expressed as a formula, while a and b are either both terms or both formulas, and its result would be "a" if c is true, and "b" if it is false. The problem is that in FOL, both predicates and functions can only accept terms ("non-booleans") as parameters, but the "obvious" representation of the condition is a formula ("boolean"). This is unfortunate, since many mathematical functions are conveniently expressed in terms of if-then-else, and if-then-else is fundamental for describing most computer programs.
Mathematically, it is possible to redefine a complete set of new functions that match the formula operators, but this is quite clumsy. [5] A predicate if(c,a,b) can be expressed in FOL if rewritten as
(or, equivalently,
), but this is clumsy if the condition c is complex. Many extend FOL to add a special-case predicate named "if(condition, a, b)" (where a and b are formulas) and/or function "ite(condition, a, b)" (where a and b are terms), both of which accept a formula as the condition, and are equal to "a" if condition is true and "b" if it is false. These extensions make FOL easier to use for some problems, and make some kinds of automatic theorem-proving easier. [6] Others extend FOL further so that functions and predicates can accept both terms and formulas at any position.
FOL does not include types (sorts) into the notation itself, other than the difference between formulas ("booleans") and terms ("non-booleans"). Some argue that this lack of types is a great advantage [7], but many others find advantages in defining and using types (sorts), such as helping reject some erroneous or undesirable specifications[8]. Those who wish to indicate types must provide such information using the notation available in FOL. Doing so can make such expressions more complex, and can also be easy to get wrong.
Single-parameter predicates can be used to implement the notion of types where appropriate. For example, in:
, the predicate Man(x) could be considered a kind of "type assertion" (that is, that x must be a man). Predicates can also be used with the "exists" quantifier to identify types, but this should usually be done with the "and" operator instead, e. g. :
("there exists something that is both a man and is mortal"). It is easy to write
, but this would be equivalent to
("there is something that is not a man, and/or there exists something that is mortal"), which is usually not what was intended. Similarly, assertions can be made that one type is a subtype of another type, e. g. :
("for all x, if x is a man, then x is a mammal").
It follows from the Löwenheim–Skolem theorem that it is not possible to characterize finiteness or countability in first-order logic. In Logic and Mathematics second-order logic is an extension of First-order logic, which itself is an extension of Propositional logic. In Mathematical logic, the Löwenheim–Skolem theorem states that if a countable first-order theory has an infinite model then for every infinite Cardinal number For example, in first-order logic one cannot assert the least-upper-bound property for sets of real numbers, which states that every bounded, nonempty set of real numbers has a supremum; A second-order logic is needed for that. In Mathematics, the real numbers may be described informally in several different ways In Logic and Mathematics second-order logic is an extension of First-order logic, which itself is an extension of Propositional logic.
Many situations can be modeled as a graph of nodes and directed connections (edges). In Mathematics and Computer science, a graph is the basic object of study in Graph theory. For example, validating many systems requires showing that a "bad" state cannot be reached from a "good" state, and these interconnections of states can often be modelled as a graph. However, it can be proved that connectedness cannot be fully expressed in predicate logic. In other words, there is no predicate-logic formula φ and R as its only predicate symbol (of arity 2) such that φ holds in a interpretation I if and only if the extension of R in I describes a connected graph: that is, connected graphs cannot be axiomatized.
Note that given a binary relation R encoding a graph, one can describe R in terms of a conjunction of first order formulas, and write a formula φR which is satisfiable if and only if R is connected. [9]
P (P(x) ↔ P(y)). In Axiomatic set theory and the branches of Logic, Mathematics, and Computer science that use it the axiom of extensionality, or axiom The strong semantics of second-order logic give such sentences a much stronger meaning than first-order semantics. Most of these logics are in some sense extensions of FOL: they include all the quantifiers and logical operators of FOL with the same meanings. Lindström showed that FOL has no extensions (other than itself) that satisfy both the compactness theorem and the downward Löwenheim–Skolem theorem. In Mathematical logic, the compactness theorem states that a (possibly Infinite) set of first-order sentences has a model, Iff every In Mathematical logic, the Löwenheim–Skolem theorem states that if a countable first-order theory has an infinite model then for every infinite Cardinal number A precise statement of Lindström's theorem requires a few technical conditions that the logic is assumed to satisfy; for example, changing the symbols of a language should make no essential difference to which sentences are true. In Mathematical logic, Lindström's theorem states that First-order logic is the strongest logic (satisfying certain conditions e
Three ways of eliminating quantified variables from FOL, and that do not involve replacing quantifiers with other variable binding term operators, are known:
These algebras:
Tarski and Givant (1987) show that the fragment of FOL that has no atomic sentence lying in the scope of more than three quantifiers, has the same expressive power as relation algebra. In Logic, sentences (which are declarative sentences also variously called Propositions or statements) are those strings of words or symbols which are Relation algebra is different from Relational algebra, a framework developed by Edgar Codd in 1970 for Relational databases. This fragment is of great interest because it suffices for Peano arithmetic and most axiomatic set theory, including the canonical ZFC. In Mathematical logic, the Peano axioms, also known as the Dedekind-Peano axioms or the Peano postulates, are a set of Axioms for the Natural Zermelo–Fraenkel set theory with the axiom of choice, commonly abbreviated ZFC, is the standard form of Axiomatic set theory and as such is the most common They also prove that FOL with a primitive ordered pair is equivalent to a relation algebra with two ordered pair projection functions. In Mathematics, an ordered pair is a collection of two distinguishable objects one of which is identified as the first coordinate (or the first entry
Theorem proving for first-order logic is one of the most mature subfields of automated theorem proving. Automated theorem proving ( ATP) or automated deduction, currently the most well-developed subfield of Automated reasoning (AR is the The logic is expressive enough to allow the specification of arbitrary problems, often in a reasonably natural and intuitive way. On the other hand, it is still semidecidable, and a number of sound and complete calculi have been developed, enabling fully automated systems. In Computability theory, traditionally called Recursion theory, a set S of Natural numbers is called recursively enumerable, computably In 1965 J. Alan Robinson achieved an important breakthrough with his resolution approach; to prove a theorem it tries to refute the negated theorem, in a goal-directed way, resulting in a much more efficient method to automatically prove theorems in FOL. In Mathematical logic and Automated theorem proving, resolution is a rule of Inference leading to a refutation Theorem-proving technique More expressive logics, such as higher-order and modal logics, allow the convenient expression of a wider range of problems than first-order logic, but theorem proving for these logics is less well developed.
A modern and particularly disruptive new technology is that of SMT solvers, which add arithmetic and propositional support to the powerful classes of SAT solvers. Satisfiability Modulo Theories (SMT problem is a Decision problem for logical formulas with respect to combinations of background theories expressed in classical