signature (in logic)


Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism = propositions as types +programs as proofs +relation type theory/category theory

logiccategory theorytype theory
trueterminal object/(-2)-truncated objecth-level 0-type/unit type
falseinitial objectempty type
proposition(-1)-truncated objecth-proposition, mere proposition
proofgeneralized elementprogram
cut rulecompositionsubstitution
cut elimination for implicationcounit for hom-tensor adjunctionbeta reduction
introduction rule for implicationunit for hom-tensor adjunctioneta conversion
conjunctionproductproduct type
disjunctioncoproduct ((-1)-truncation of)sum type (bracket type of)
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
existential quantificationdependent sum ((-1)-truncation of)dependent sum type (bracket type of)
equivalencepath space objectidentity type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
completely presented setdiscrete object/0-truncated objecth-level 2-type/preset/h-set
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
modalityclosure operator monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem

homotopy levels




In logic, a signature is a collection of data which prescribes the ‘alphabet’ of non-logical symbols of a logical theory, saying which operations and predicates are taken to be primitive.



Formally, a signature Σ\Sigma consists of

  • A set SS whose elements are called sorts or types of Σ\Sigma,

  • A set Rel(Σ)Rel(\Sigma) whose elements are called relation symbols, equipped with a function ar:Rel(Σ)S *ar: Rel(\Sigma) \to S^* to the free monoid on SS which prescribes an arity for each relation symbol,

  • A set Func(Σ)Func(\Sigma) whose elements are called function symbols, equipped with a function

    dom,cod:Func(Σ)S *×S\langle dom, cod \rangle: Func(\Sigma) \to S^* \times S

    which prescribes an arity or type for each function symbol. A function symbol ff is usually written as dom(f)cod(f)dom(f) \to cod(f) to indicate its arity.

The majority of (but far from all) mathematical concepts are described by means of a single-sorted signature, where SS consists of a single element XX. Examples where multisorted signatures are used is the theory of categories (with an object sort and a morphism sort) and (multi)directed graphs (with a vertex sort and an edge sort). But in the single-sorted or one-sorted case, the free monoid on the one-sort set is isomorphic to \mathbb{N}, and the arity of a relation is a number nn. Hence we speak of an nn-ary relation (unary, binary, etc.). Similarly, the arity of a function symbol or operation ff is the number nn which indexes dom(f)dom(f) (hence we speak of unary operations, binary operations, etc.) In either the single-sorted or multisorted case, a 0-ary operation (where the domain empty) is usually called a constant.

A relational signature is where Func(Σ)Func(\Sigma) is empty, and an equational or algebraic signature is where Rel(Σ)Rel(\Sigma) is empty. (In the latter case, the only relation symbol is the equality symbol, but this is typically considered a logical symbol.) Occasionally one allows a relational signature to have constants.


A (set-theoretic) model or interpretation MM of a signature consists of functions which assign

  • To each sort ss a set M(s)M(s),

  • To each relation symbol RR of arity s 1,,s n\langle s_1, \ldots, s_n \rangle a subset M(R)M(s 1)××M(s n)M(R) \hookrightarrow M(s_1) \times \ldots \times M(s_n),

  • To each function symbol ff of type s 1,,s ns\langle s_1, \ldots, s_n \rangle \to s a function M(f):M(s 1)××M(s n)M(s)M(f): M(s_1) \times \ldots \times M(s_n) \to M(s). In the case of constants of type ss, the empty product on the left is taken to be a terminal or 1-element set 11, whose element needs no name but is often given a generic name like ’**’.

More generally a signature may be interpreted in other categories CC besides Set; for this it is reasonable to suppose that CC is at least a regular category. See also


In terms of a signature one may formulate propositions, sequents and then theories. See there for more details.


An important point to bear in mind is that essentially the same theories (where ‘same’ means that the categories of models are equivalent or even isomorphic) may have very different signatures. For example,

  • The theory of groups is usually described as a single-sorted theory whose signature has one binary operation (called ‘multiplication’) mm, one constant ee (called ‘identity’), and one unary operation (called ‘inversion’) ii. But it can also be described using a signature with just one (binary) operation mm; there one adds in extra axioms which posit the existence of an identity and of inverse elements. Or, it can be described using a signature with a single (binary) operation dd (for ‘division’). All these are examples of equational signatures.

  • A Boolean ring is usually described as a commutative ring with identity in which multiplication is idempotent, hence the theory of Boolean rings is usually presented using the signature normally reserved for rings (with identity). A Boolean algebra may be described using a variety of signatures, for example non-equationally, involving a binary relation \leq and function symbols \wedge, ¬\neg, \top.

  • The theory ZFC is usually described using a single-sorted relational signature with one binary relation \in. However, other approaches are possible: one can also describe ZFC with a relational symbol \subseteq together with a unary function symbol singsing (to be interpreted as taking a ‘set’ SS, i.e., an element of a ZFC structure, to a singleton ‘set’ {S}\{S\}).


The multiplicity of ways in which one can describe essentially the same class of objects is a phenomenon which in higher category theory is often referred to as bias. Often one desires to use an ‘unbiased’ approach which includes different signatures under one roof and on the same footing. In the case of algebraic (equational) theories, this can be done using the device of clones or Lawvere theories, which does not single out certain non-logical operations as ‘privileged’.

There are several reasons though why one might prefer to retain some bias, for example:

  • Tradition, familiarity, thus ease of reference. For example, a group is a set equipped with a binary mm, an unary ii, and a constant ee, rather than a set equipped with a single division operation, or a finite product-preserving functor for that matter.

  • Mathematical intuition. That is, different signatures may invoke different intuitions or attitudes toward a subject; for example, “Boolean rings” may invoke a more algebraic or algebro-geometric attitude (as in Stone duality) whereas “Boolean algebras” may invoke a more logical attitude (propositional logic).

  • Differences in logical strength. That is, first-order logic should be thought of as coming in layers, ranging from equational logic up to pretopos logic, and different signatures may need differing levels of logical strength for them to be interpreted as intended. Equational logic may be preferred on occasion because it is a very weak logic, whereas relational signatures often require at least the strength of regular categories for them to be interpreted correctly.

The language of a signature

Each signature Σ\Sigma generates a language whose elements are predicates formed by using Σ\Sigma as alphabet. In traditional logical syntax, this runs as follows: (to be filled in).

This can be recast in categorical terms as follows: the operational part of a signature Σ\Sigma is a span

S *Func ΣSS^* \leftarrow Func_\Sigma \to S

which generates a multisorted Lawvere theory, Law(Func Σ)Law(Func_\Sigma).


i:S *Set:s{RRel(Σ):ar(R)=s}i: S^* \to Set: \vec{s} \mapsto \{R \in Rel(\Sigma): ar(R) = \vec{s}\}

where S *S^* is treated as a discrete category. Define an interpretation of Σ\Sigma to be an ordered pair

(M:Law(Func Σ) opBool,ρ:iUMj)(M: Law(Func_\Sigma)^{op} \to Bool, \rho: i \to U M j)

where U:BoolSetU: Bool \to Set is the underlying-set functor, j:S *Law(Func Σ) opj: S^* \to Law(Func_\Sigma)^{op} is the obvious inclusion functor, MM is a functor whose values M(f)M(f) on morphisms have left adjoints f\exists_f such that the Beck-Chevalley conditions are satisfied, and ρ\rho is a natural transformation. A morphism of interpretations (M,ρ)(M,ρ)(M, \rho) \to (M', \rho') is a natural transformation ϕ:MM\phi: M \to M' commuting with the left adjoints, such that ρ=(U(ϕ)j)ρ\rho' = (U(\phi)j) \circ \rho.

The language of Σ\Sigma is the initial interpretation.

(To be expanded upon and cleaned up…)

Revised on August 25, 2012 21:30:51 by Urs Schreiber (