Вы находитесь на странице: 1из 3

# Prerequisites

As in every (or at least most.) branches of mathematical study, we will make use
of variables to range over some set of objects. In other branches it is common
to use letters like $x$, $y$, $z$, $S$, $X$, $\phi$ and so on to stand for said
objects, but we have a complication here because we are studying formal systems
and the variables inside them. The complication, essentially, is that we are usi
ng math to study math. We are assuming an ambient mathematical theory with which
to conduct our study of formal mathematical theories. That is, we will be study
ing formal mathematical theories using a *metatheory*. Inside the metatheory we
have *metavariables* which will stand for and range over (among other things) va
riables in the formal systems being studied.
To avoid confusion, we must set out a special notation to make metavariables dis
tinct from variables. We will use bold letters like $\textbf{A}, \textbf{B}, \te
xtbf{x}, textbf{y}$ for metavariables. Later on we will designate certain letter
s to stand exclusively for certain kinds of objects under study.
# Formal systems
<div class="chatter">
Here we are concerned with studying strings of symbols and operations on these s
trings. So first we will consider a set of symbols by taking any set, $S$, and t
reating each of its elements as a symbol. Formally it's just a set, but we shoul
d keep in mind that we are dealing with symbols.
(Quote Shoenfield here by saying a symbol is something you can write on a page)
For any set $M$, we can form the **free monoid** on $M$, which we denote $F(M)$
and which consists of the set of all finite strings of symbols in $M$ together w
ith an operation for *concatenating* two strings together. Being a monoid, we of
course have an "identity" symbol, the *empty string*, which consists of no symb
ols at all. Concatenating any string with the empty string, in either order, res
ults in the original string.
Each string of symbols, being a concatenation of some finite number of symbols,
has associated with it a *length*, the (natural) number of symbols in the string
. The monoid identity (the empty string) is the unique string of length 0 in $F(
M)$.
We could be more formal about the above and say that the free monoid on a set $M
$ consists of all the finite tuples of elements of $M$ together with a concatena
tion operation which takes two finite tuples, an $m$-tuple $a$ and an $n$-tuple
$b$ \and returns a $(m+n)$-tuple where the first $m$ elements are $a$ (in the sa
me order), and the remaining $n$ elements are $b$. Then the unique 0-tuple is th
e empty string.
A *sub-tuple* of a given tuple $(a_1, \ldots, a_n)$ is a tuple $(a_i, \ldots, a_
j)$ for $1 \leq i \leq j \leq n$. We similarly speak of a *substring* of a strin
g.
</div>
A **formal language** is a pair $L = (\Sigma, F)$ where $\Sigma$ is a set and $F
\subseteq F(\Sigma)$ ($F$ is subset of the free monoid on $\Sigma$). The set $A
$ is called the *alphabet* of $L$, and $F$ is called the *formulae* of $L$. A *s
ubformula* of a formula $\textbf{A}$ is a formula of $F$ that's also a substring
of $\textbf{A}$.
<div class="chatter">
A formal language is a model of a system of strings where only some of the strin
gs are considered *well-formed* (i.e., the formulae).
We can build on top of this notion by considering a system where only some of th
e well-formed strings are *true*. Such a system is called a *formal system*:
</div>
A **formal system** is a triple $\Phi = (\Sigma, F, R \subset \mathcal{F} \times
F)$ where $(\Sigma, F)$ is a formal language and $R$ is a relation on the power
set of $F$ and $F$, which we call the *rules of inference*. For every pair in th
is relation, the left term is a set of formulae called the *hypotheses* or *prem
ise*, and the right term is a formula called the *conclusion*. The set of rules
which have the empty set as the left term are called *axioms*.
<div class="chatter">
We might have simply specified the subset of $F$ which constitutes the true form
ulae of the system, but that doesn't give us much structure to work with. Also,
the motivation here comes from mathematics, where we don't know in advance which
formulae are true. All we know is methods for producing new true formulae from
previously known true formulae, and our task is to discover valid derivations of
expressions which seem to be true.
Speaking of derivations, we can introduce this notion formally. The idea is that
we build up a collection of "true" formulas (theorems) by starting with some sp
ecified set of formulas $\Gamma$ and producing new formulas via the rules of inf
erence. I.e. we take rules whose premises are true and add their conclusions to
the collection of true formulas. If $\Gamma = \emptyset$, then the formulas deri
vable from there are the *theorems* of the formal system. (Recall that even star
ting from the empty set, we can pull all the axioms into the set of theorems, th
en using the axioms use rules to derive more theorems.)
Formally:
</div>
A **derivation** in a formal system $\Phi$ of a formula $\textbf{A}$ from a set
of formulas $\Gamma$ is a sequence (tuple, really) of formulas ending in $\textb
f{A}$ such that each term is either in $\Gamma$ or is the conclusion of a rule w
hose hypotheses are all previous terms in the sequence. We will say that $\textb
f{A}$ is *derivable* or *inferrable* from $\Gamma$ if there's a derivation of $\
textbf{A}$ from $\Gamma$ in $\Phi$, and we will denote this in symbols by $\Gamm
a \vdash_{\Phi} \textbf{A}$.
If $\textbf{A}$ is derivable from $\Gamma = \emptyset$, we will use the shorthan
d notation $\vdash_{\Phi} \textbf{A}$. Such a formula is called a **theorem** of
$\Phi$.
<div class="chatter">
It seems we could have just as well defined a derivation of $\textbf{A}$ as a se
quence of rules ending in a rule whose conclusion is $\textbf{A}$, with each ter
m being a rule whose premises are either in $\Gamma$ or are conclusions of previ
ous rules in the sequence. Is there any advantage or disadvantage to this?
</div>
# First order languages
Some standard symbols used in logic are $\vee, \neg, \exists$ and $=$. We will c
all the first three *logical connectives*. A set of *variables* is any countable
set $V$ disjoint from the four previously mentioned symbols. We will use a par
ticular set $\{x,y,z,w,x',y',z',w',w'', \ldots\}$ in this article. The set of va
riables + logical connectives + $=$ is called the **logical symbols**.
A **signature** is a signature is a triple $(\mathcal{F}, \mathcal{R}, ar)$ wher
e $\mathcal{F}$ is a set called *function symbols*, $\mathcal{R}$ is a set calle
d *predicate symbols*, with $\mathcal{F}$ and $\mathcal{R}$ are disjoint. and $a
r$ is function which assigns to each function and predicate symbol a natural num
ber, called the *arity* of the symbol. We define sets for all $n \in \mathbb{N}$
$F_n = \{ ar_{pre}(n) \in \mathcal{F} \}$ and $R_n = \{ ar_{pre}(n) \in \mathca
l{R} \}$, which are called the *n-ary function symbols* and the *n-ary predicate
symbols*, respectively.
A **first-order signature** is a tuple $(V, \mathcal{F}, \mathcal{R})$ where $V$
is a set of variables and $(\mathcal{F}, \mathcal{R})$ is a signature such that
$=$ is a binary predicate and the other logical symbols are neither function no
r predicate symbols. There is a set of symbols associated with each first-order
signature $S$, which we will call the *underlying alphabet*, denoted $\Sigma(S)$
. We associate a *index* with each symbol in the underlying alphabet $\Sigma(S)$
, defined in this way:
- for all $v \in V$ the index is 0
- $\neg$ has index 1, $\vee$ and $\exists$ have index 2
- n-ary function and predicate symbols have index $n$
For a first-order signature $S$, we will create a formal language on the underly
ing alphabet $\Sigma(S)$ in this manner:
The set of **terms** $T$ is defined inductively:
- $V \subseteq T$
- if $a_1, \ldots, a_n$ are in $T$ and $\textbf{f}$ is an n-ary function symbol
, then $f a_1 \cdots a_n \in T$

Вам также может понравиться