Cleaning up confusions in logic and formal theories
There are tons of technicalities in Logic. This leads, occasionally, to confusions. Thus it is instructive to briefly summarize all the basic notions.
Formal language
In logic one creates, first, a formal language,
Thus to define a formal language, one specifies an alphabet $\Sigma$, then describes the collection $\Sigma^\ast$. The description is often given inductively via a grammar.
The simplest example is that of propositional logic.
First order language becomes much more complicated.
- (countable set of) constants $c_1, c_2, ...$,
- predicate symbols of arity $n$, $P^n_1, P^n_2, ...$ for all $n\in\mathbb{N}$,
- function symbols of arity $n$, $f^n_1, f^n_2, ...$ for all $n\in\mathbb{N}$
- quantifiers $\forall,\exists$.
Remember that a function takes a term to another term, and a predicate takes a term and yields an atomic formula. When a formula $A$ has no free variable, it can then be seen as a sentence.
Model theory
In model theory one speaks of signatures and structures. Here one exclusively works with functions and sets.
A signature of a formal language $\mathfrak{L}$ is just the collection of non-logical symbols (letters) in an alphabet $\Sigma$. What constitutes non-logical symbols is subject to stipulation. One can also speak of a signature without mentioning any formal language. In this case it is just a set of $n$-ary function symbols and predicate symbols.
The notion of signature is closely related to that of structure, and the definitions are various. The essense here is that a structure is just a set $S$ called domain or universe together with a signature that is interpreted on $S$.
- an $n$-ary function symbol $f^n$ is mapped to $\iota(f): S^n \to S$,
- an $n$-ary relation symbol $R^n$ is mapped to $\iota(R) \subseteq S^n$,
- for a constant c, $\iota(c)\in S$ is just an element of the domain.
Given a formal language $\mathfrak{L}$, one speaks of a theory. These are just sets $T$ of sentences in the formal language $\mathfrak{L}$ (with free variables and notion of formulae). A structure $\Gamma$ is a model of a theory $T$ if it satisfies all the sentences (confusingly called axioms but these are not, in general, axioms in a deduction system for a logic) of $T$, namely $\Gamma \vDash \sigma$ for every $\sigma \in T$. Some important theorems then can be formulated in this choice of terminology:
- The model existence theorem says that a consistent theory $T$ always has a model. Meaning that there is always a structure $\Gamma$, s.t. $\Gamma \vDash t$ for all $t\in T$.
- The soundness theorem says that what can be proved from a theory $T$ ($\sigma$ s.t. $T\vdash \sigma$) is also valid in any model of $T$ ($T\vDash \sigma$). Here $T\vDash \sigma$ is really an abuse of notation, meaning really given any structure $\mathcal{M}$ s.t. $\mathcal{M}\vDash t$ ($\forall t\in T$), one has $\mathcal{M}\vDash \sigma$.
- The completeness theorem says that $T\vDash \sigma$ then $T\vdash \sigma$.
Deductive/inference systems (Proof theory)
Stipulating a formal language is not enough, since one really wants to achive is to stipulate a system in which rigourous deductions - going from a hypothesis to a conclusion according to some given rules - can be carried out. This is done by introducing the notion of deductive system.
There is no general notion that is widely agreed-upon, but we adopt what is given in nLab for some intuition. This is also used in Martin-Lof style dependent type theory.
What a judgement means depends on the context. The steps here are usually rules of inference. When $n=0$ in a step, the step is often called an axiom. A good practice is not to call a step with no hypothesis an axiom, or call it explicitly logical axiom, since it is a custom to call sentences in a theory an axiom. The confusion inflates when one works in deductive systems that are not notationally-heavy, e.g. in Hilbert system; these are systems with many logical axiom schemata and few inference rules.
[the syntactic tradition] is always in search of its fundamental concepts, which is to say, an operational distinction between sense and syntax. Or to put tese things more concretely, it aims to find deep geometrical invariants of syntax: therin is to be found the sense.Category theory might shed some light on the issue. ◈
In general, a judgement in propositional logic is a formula. The same goes for first order logic. Traditionally, what is called a logical system is a language with a deductive system that looks like propositional and first order logic, in particular, the judgements are formulae. ◀
Hilbert system is a mess, but their conservative extensions are managable.
Remark: typesetting proofs
While I use \frac
to write formal proofs, mathjax utilizes Bussproof for sequent and natural deductions. When the proof becomes complicated, this is needed. When using $\LaTeX$ proper mathpartir is a better choice.