Definition:Language of Predicate Logic

From ProofWiki
Jump to navigation Jump to search

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:


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

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})\)   $:$   Any 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$:
$\map f {\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.