Definition:Language of Predicate Logic
Definition
There are a lot of different formal systems expressing predicate logic.
Although they vary wildly in complexity and even disagree (to some extent) on what expressions are valid, generally all of these use a compatible formal language.
This page defines the formal language of choice on $\mathsf{Pr} \infty \mathsf{fWiki}$.
We will use $\LL_1$ to represent the formal language of predicate logic in what follows.
In order to define $\LL_1$, it is necessary to specify:
- An alphabet $\AA$
- A collation system with the unique readability property for $\AA$
- A formal grammar (which determines the WFFs of $\LL_1$)
Alphabet
Letters
The letters of $\LL_1$ are separated in three classes:
Each of these three classes is handled differently by the formal grammar of predicate logic.
Variables
The variables constitute an infinite set $\mathrm{VAR}$ of arbitrary symbols, for example:
- $\mathrm{VAR} = \set {x, y, z, x_0, y_0, z_0, x_1, y_1, z_1, \ldots}$
Predicate Symbols
The predicate symbols are a collection of arbitrary symbols.
Each of these symbols is considered to be endowed with an arity (a natural number $n \in \N$).
We agree to write $\PP$ for the set of predicate symbols, grouped by their arity:
- $\PP = \set {\PP_0, \PP_1, \PP_2, \ldots, \PP_k, \ldots}$
The symbols in $\PP_0$ are inherited from the language of propositional logic.
For example, if $P \in \PP_5$ then $P$ is a quinternary predicate symbol.
Function Symbols
The function symbols are a collection (possibly empty) of arbitrary symbols.
Each of these symbols is considered to be endowed with an arity (a natural number $n \in \N$).
We agree to write $\FF$ for the set of function symbols, grouped by their arity:
- $\FF = \set {\FF_0, \FF_1, \ldots, \FF_k, \ldots}$
The symbols in $\FF_0$ are often called parameters or constants.
Some sources write $\KK$ for the collection of parameters.
Signs
The signs of $\LL_1$ are an extension of the signs of propositional logic.
They split in three classes:
- connectives;
- quantifiers;
- punctuation.
Connectives
The connectives of $\LL_1$ comprise:
\(\ds \land \) | \(\ds : \) | the conjunction sign | |||||||
\(\ds \lor \) | \(\ds : \) | the disjunction sign | |||||||
\(\ds \implies \) | \(\ds : \) | the conditional sign | |||||||
\(\ds \iff \) | \(\ds : \) | the biconditional sign | |||||||
\(\ds \neg \) | \(\ds : \) | the negation sign | |||||||
\(\ds \top \) | \(\ds : \) | the top sign | |||||||
\(\ds \bot \) | \(\ds : \) | the bottom sign |
The symbols $\land, \lor, \implies$ and $\iff$ are called the binary connectives.
The symbols $\neg$ is called a unary connective.
The symbols $\top$ and $\bot$ are called the nullary connectives.
Quantifiers
The quantifiers of $\LL_1$ are:
\(\ds \exists \) | \(\ds : \) | the existential quantifier sign | |||||||
\(\ds \forall \) | \(\ds : \) | the universal quantifier sign |
Punctuation
The punctuation symbols used in $\LL_1$ are:
\(\ds ( \) | \(\ds : \) | the left parenthesis sign | |||||||
\(\ds ) \) | \(\ds : \) | the right parenthesis sign | |||||||
\(\ds : \) | \(\ds : \) | the colon | |||||||
\(\ds , \) | \(\ds : \) | the comma |
Collation System
The collation system for the language of predicate logic is that of words and concatenation.
The unique readability property is verified on Unique Readability for Language of Predicate Logic.
Formal Grammar
The following rules of formation constitute a bottom-up grammar for the language of predicate logic $\LL_1$.
The definition proceeds in two steps.
First, we will define terms, and then well-formed formulas.
Terms
The terms of $\LL_1$ are identified by the following bottom-up grammar:
\((\mathbf T \ \textrm {VAR})\) | $:$ | A variable of $\LL_1$ is a term | |||||||
\((\mathbf T \ \FF_n)\) | $:$ | Given an $n$-ary function symbol $f \in \FF_n$ and terms $\tau_1, \ldots, \tau_n$:
is also a term. |
Well-Formed Formulas
The WFFs of $\LL_1$ are defined by the following bottom-up grammar:
\((\mathbf W ~ \PP_n)\) | $:$ | If $t_1, \ldots, t_n$ are terms, and $p \in \PP_n$ is an $n$-ary predicate symbol, then $\map p {t_1, t_2, \ldots, t_n}$ is a WFF. | |||||||
\((\mathbf W ~ \neg)\) | $:$ | If $\mathbf A$ is a WFF, then $\neg \mathbf A$ is a WFF. | |||||||
\((\mathbf W ~ \lor, \land, \Rightarrow, \Leftrightarrow)\) | $:$ | If $\mathbf A, \mathbf B$ are WFFs and $\circ$ is one of $\lor, \land, \mathord \implies, \mathord \iff$, then $\paren {\mathbf A \circ \mathbf B}$ is a WFF | |||||||
\((\mathbf W ~ \forall, \exists)\) | $:$ | If $\mathbf A$ is a WFF and $x$ is a variable, then $\paren {\forall x: \mathbf A}$ and $\paren {\exists x: \mathbf A}$ are WFFs. |
Also defined as
Since most authors concern themselves only with one formal system for predicate logic, they tend to refer to the whole formal system as predicate logic or predicate calculus.
In correspondence, a particular author may decide to use only a subset of the signs.
Generally, the other signs then are considered definitional abbreviations.
Similarly, it is becoming increasingly common to make $=$ part of the signs.
At $\mathsf{Pr} \infty \mathsf{fWiki}$ we aim to incorporate all these different approaches, and thus we have come to separately define the formal language.
For the sakes of modularity and universality, we have settled for the formal language on this page as the language of choice on $\mathsf{Pr} \infty \mathsf{fWiki}$.
The page Definition:Translation Scheme for Predicate Logic documents how various other approaches from the literature can be translated into ours.
If so desired, a generic such formal system may be addressed as a predicate calculus, but this has to be used with reluctance and caution.
Also known as
Such a language of predicate logic is also known as a first order (formal) language.
Also see
- Results about the language of predicate logic can be found here.