Structures
From Learning Logic for Computer Science
A structure gives the frame for interpreting first-order formulas.
Given a signature $\mathcal S$, an $\mathcal S$-structure is something which gives meaning to all the symbol in the signature and provides a domain for quantification.
Example Let $\mathcal S = \{\text{zero}, \text{one}, \text{add}/\!/2, \text{mult}/\!/2, \text{Lt}/2\}$. Then a possible and natural way to give meaning to the symbols is to stipulate that
- the objects considered are natural numbers,
- $\text{zero}$ and $\text{one}$ are interpreted by $0$ and $1$, respectively,
- $\text{add}$ and $\text{mult}$ are interpreted by the operations $+$ and $\times$, as defined on the natural numbers, and
- $\text{Lt}$ is interpreted by the natural "less-than" relation on the natural numbers.
Formal definition
Let $\mathcal S$ be an arbitrary signature. An $\mathcal S$-structure $\mathcal A$ consists of
- a universe $A$, which is a non-empty set,
- for every constant symbol $c \in \mathcal S$ an interpretation $c^\mathcal A \in A$ of $c$,
- for every function symbol $f/\!/n \in \mathcal S$ an interpretation $f^\mathcal A \colon A^n \to A$, and
- for every relation symbol $R/n \in \mathcal S$ an interpretation $R^\mathcal A \subseteq A^n$.
Example The above example describes the $\mathcal S$-structure $\mathcal N$ given by: \begin{align} N & = \mathbf N \\ \text{zero}^\mathcal N & = 0\\ \text{one}^\mathcal N & = 1\\ \text{add}^\mathcal N & = {+}\\ \text{mult}^\mathcal N & = {\times}\\ \text{Lt}^\mathcal N & = {<} \end{align} The symbols $+$, $\times$, and $<$ denote the usual operations on the natural numbers.
Example A perfectly valid $\mathcal S$-structure $\mathcal A$ is given by: \begin{align} A & = \{0, 1, 2, 3\} \\ \text{zero}^\mathcal A & = 3\\ \text{one}^\mathcal A & = 2\\ \text{add}^\mathcal A(a,b) & = 0 && \text{for $a, b \in A$}\\ \text{mult}^\mathcal A(a,b) & = a + b \text{ rem } 4 && \text{for $a, b \in A$}\\ \text{Lt}^\mathcal N & = \{\langle a, a\rangle \colon a \in A\} \end{align} The function $\text{rem}$ is the remainder function.
Term structures
There is a simple way to define structures over a given signature: every term without free variables over the given signature stands for itself and relation symbols are interpreted arbitrarily.
Given a signature $\mathcal S$, we call the set of all possible $\mathcal S$-terms without free variables, a ground term. So ground terms are terms that only consists of function and constant symbols.
Definition Let $\mathcal S$ be a signature with at least one constant symbol. A term structure over $\mathcal S$, also called $\mathcal S$-term structure, is an $\mathcal S$-structure $\mathcal T$ such that
- $T$ is the set of $\mathcal S$-ground terms,
- $c^\mathcal T = c$ for every $c \in C$, and
- $f^\mathcal T(t_0, \dots, t_{n-1}) = f(t_0, \dots, t_{n-1})$ for every $f/\!/n \in \mathcal F$ and $\mathcal S$-ground terms $t_0, \dots, t_{n-1}$.
Example Let $\mathcal S = \{\text{zero}, \text{succ}/\!/1\}$. Then there is exactly one $\mathcal S$-term structure. Its elements are $\text{zero}, \text{succ}(\text{zero}), \text{succ}(\text{succ}(\text{zero})), \dots$.
The condition that there need to be constant symbols in the signature is a necessary and sufficient condition for the existence of ground terms.
Commonly used structures
There is a list of commonly used structures.