A first order language $\mathcal{L}$ is composed by a set of variables (possibly infinite) $\mbox{Var}=\{x_1,\dots,x_n,\dots\}$, a set $C$ of symbols of constant, a set $R$ of symbols of predicate and a set $F$ of symbols of functions and a function $a\colon F\cup R\rightarrow\mathbb{N} $ such that represents the $\textbf{Arity}$ of that symbols and logical connectives like $\neg$ or $\wedge$.
Let $\mathcal{L}$ a first order language, Term$_{\mathcal{L}}$ is definined as the smallest set closed under the following rules:
- $\mbox{Var}\subseteq$ Term$_{\mathcal{L}}$
- $\mbox{C}\subseteq\mbox{Term}_{\mathcal{L}}$
- If $f\in \mbox{F}$ such that $a(f)=n$ and $t_1,\dots,t_n\in \mbox{Term}_{\mathcal{L}}$, then $f(t_1,\dots, t_n)\in\mbox{Term}_{\mathcal{L}}.$
For example, if the language is the classical language of First order Group Theory with the binary predicate of equality, $x\cdot y=z$ is a possible formula involving a binary function symbol ($\cdot$), a binary predicate symbol (=) and three variables and $x\cdot y$ is a possible term. Clearly
$x\cdot\cdot y\cdot\cdot$ is not a term in that language.
It should be clear that terms contains only a finite amount of variables.