In logic, especially mathematical logic, a signature lists and describes the non-logical symbols of a formal language. In universal algebra, a signature lists the operations that characterize an algebraic structure. In model theory, signatures are used for both purposes.
Signatures play the same role in mathematics as type signatures in computer programming. They are rarely made explicit in more philosophical treatments of logic.
Formally, a (single-sorted) signature can be defined as a triple σ = (Sfunc, Srel, ar), where Sfunc and Srel are disjoint sets not containing any other basic logical symbols, called respectively
and a function ar: Sfunc Srel → which assigns a non-negative integer called arity to every function or relation symbol. A function or relation symbol is called n-ary if its arity is n. A nullary (0-ary) function symbol is called a constant symbol.