A structure over a signature consists of a set "D", known as the domain of discourse, together with interpretations of the non-logical symbols: Every constant symbol is interpreted by an element of "D", and the interpretation of an "n"-ary function symbol is an "n"-ary function on "D", i.e. a function "Dn" → "D" from the "n"-fold cartesian product of the domain to the domain itself. Every "n"-ary relation symbol is interpreted by an "n"-ary relation on the domain, i.e. by a subset of "Dn".