# Extension by new constant and function names

In mathematical logic, a theory can be extended with new constants or function names under certain conditions with assurance that the extension will introduce no contradiction. Extension by definitions is perhaps the best-known approach, but it requires unique existence of an object with the desired property. Addition of new names can also be done safely without uniqueness.

Suppose that a closed formula

${\displaystyle \exists x_{1}\ldots \exists x_{m}\,\varphi (x_{1},\ldots ,x_{m})}$

is a theorem of a first-order theory ${\displaystyle T}$. Let ${\displaystyle T_{1}}$ be a theory obtained from ${\displaystyle T}$ by extending its language with new constants

${\displaystyle a_{1},\ldots ,a_{m}}$

${\displaystyle \varphi (a_{1},\ldots ,a_{m})}$.

Then ${\displaystyle T_{1}}$ is a conservative extension of ${\displaystyle T}$, which means that the theory ${\displaystyle T_{1}}$ has the same set of theorems in the original language (i.e., without constants ${\displaystyle a_{i}}$) as the theory ${\displaystyle T}$.

Such a theory can also be conservatively extended by introducing a new functional symbol:[1]

Suppose that a closed formula ${\displaystyle \forall {\vec {x}}\,\exists y\,\!\,\varphi (y,{\vec {x}})}$ is a theorem of a first-order theory ${\displaystyle T}$, where we denote ${\displaystyle {\vec {x}}:=(x_{1},\ldots ,x_{n})}$. Let ${\displaystyle T_{1}}$ be a theory obtained from ${\displaystyle T}$ by extending its language with a new functional symbol ${\displaystyle f}$ (of arity ${\displaystyle n}$) and adding a new axiom ${\displaystyle \forall {\vec {x}}\,\varphi (f({\vec {x}}),{\vec {x}})}$. Then ${\displaystyle T_{1}}$ is a conservative extension of ${\displaystyle T}$, i.e. the theories ${\displaystyle T}$ and ${\displaystyle T_{1}}$ prove the same theorems not involving the functional symbol ${\displaystyle f}$).

Shoenfield states the theorem in the form for a new function name, and constants are the same as functions of zero arguments. In formal systems that admit ordered tuples, extension by multiple constants as shown here can be accomplished by addition of a new constant tuple and the new constant names having the values of elements of the tuple.