1

I have a little doubt about the concept of signatures and their relationship with formal languages.

Here are some definitions I'm using:

An alphabet is a set of symbols.

A formal language $\mathcal L$ is a set of strings whose symbols are taken from a given alphabet, called the alphabet of $\mathcal L$.

A syntax is a collection of rules that determines a formal language.

A semantics is a collection of rules that determine the meaning of formulas and symbols of the alphabet.

We can use sets to determine the alphabet of formal languages, so for example the alphabet of propositional logic includes propositional variables, logical connectives, and punctuation marks (parentheses and comma, for example), so we have

$$\begin{aligned} \Gamma_{\text{prop. var.} }&=\{P_0,P_1,P_2,\dots\} \\\\ \Gamma_{\text{connec.} }&=\{ {\neg} , {\land} , {\lor} , {\rightarrow} , {\leftrightarrow} \} \\\\ \Gamma_{\text{punct.} }&=\{(,),,\} \end{aligned}$$

If we want to specify the arity of connectives, we can partition $\Gamma_{\text{connect.} }$ into two sets, and define it as the union of them:

$$\Gamma_{\text{connect.} }=\{ {\neg} \}\cup\{ {\land} , {\lor} , {\rightarrow} , {\leftrightarrow} \}$$

Now we can identify the arity of the connectives with the partition that they belong to. Similarly, we could extend this idea to first-order logic to deal with relation and function symbols, so their arities are determined by the partition they belong to.

When reading about this, I came across the idea of a signature, which seems confusing to me, because there are lots of different usages of the word, some define it as a pair with a set of non-logical symbols and a function to determine the arity of the function and relation symbols. This concept of arity function makes sense, we could adopt it to determine how to interpret formulas with relations and functions in FOL, by specifying, for example, that a relation symbol where the arity function maps it to $2$ must be interpreted as a binary relation over subsets of the universe in discussion. This way we avoid partitions.

Although the notion of arity function makes sense, I still can't grasp the purpose of a signature, and if there is no other benefit other than this function, then we could simply drop the signatures and stick with the function.

So here's my question:

What's the purpose of signatures in the specification of formal languages? Are they an alternative to the use of alphabets?

Thanks for taking the time.

0 Answers0