Skip to content

A Signature is a many-sorted specification S = (Sorts, Ops, ar) — a finite set of sort names, a family of named operation symbols, and an arity function assigning each operation a typed profile (input-sort sequence) → (output sort). The defining structure: a signature is the purely syntactic skeleton of a theory, specifying what operations a structure must provide without axioms or semantics. Signature morphisms (a sort-map and an operation-map that together preserve typed profiles) form the category Sig; they induce reduct functors on model categories that go backward, while sentence-translation goes forward — the satisfaction condition (Goguen & Burstall 1992). In FARS: a spec's params: block is a 0-ary signature over the type vocabulary (every operation is a constant); a nuclear pair (σ_t, Δ_t) on H_t has a 1-ary signature with sort H_t.
Table of contents

Signature

Formal definition

A Signature is a triple S=(S,Ω,ar)\mathbf{S} = (\mathcal{S}, \Omega, ar):

S=(S:FinSet,  Ω:FinSet,  ar:ΩS×S)\mathbf{S} = (\mathcal{S} : \mathrm{FinSet},\; \Omega : \mathrm{FinSet},\; ar : \Omega \to \mathcal{S}^* \times \mathcal{S})

where:

  • S\mathcal{S} is the sort set — a finite set of type names; sorts classify the objects a structure operates on; in the relational universe, the sort set is drawn from the type vocabulary Types={relational-universe,  relational-universe-morphism,  charter,  person,  area,  relational-history,  }\mathrm{Types} = \{\mathrm{relational\text{-}universe},\; \mathrm{relational\text{-}universe\text{-}morphism},\; \mathrm{charter},\; \mathrm{person},\; \mathrm{area},\; \mathrm{relational\text{-}history},\; \ldots\}
  • Ω\Omega is the operation symbol set — a finite set of named operation symbols; each operation symbol names one thing a structure of this signature must provide
  • ar:ΩS×Sar : \Omega \to \mathcal{S}^* \times \mathcal{S} is the arity function — assigning each operation ωΩ\omega \in \Omega a profile (s1sn,  s)S×S(s_1 \cdots s_n,\; s) \in \mathcal{S}^* \times \mathcal{S}, meaning ω\omega takes inputs of sorts s1,,sns_1, \ldots, s_n and produces output of sort ss; an operation with empty input sequence (n=0n = 0) is a constant — it declares that a value of sort ss must be provided with no further input

Four invariants. S\mathbf{S} is a signature iff it satisfies:

  1. Finiteness: S<|\mathcal{S}| < \infty and Ω<|\Omega| < \infty — signatures are finite; they admit decidable satisfaction checking; infinite signatures cannot be verified at any history.

  2. Profile closure: arar is well-typed — every sort appearing in any profile is in S\mathcal{S}: for every ωΩ\omega \in \Omega with ar(ω)=(s1sn,s)ar(\omega) = (s_1 \cdots s_n, s), each sis_i and ss is in S\mathcal{S}. A profile mentioning an undeclared sort is not a valid arity.

  3. No axioms: a signature carries no equations, implications, or constraints on what the operations must do — it specifies the syntactic interface only. Adding axioms produces a Theory; the signature and its theory are distinct objects. This is the Goguen-Burstall separation: the signature category Sig is the syntactic level; models (implementations) are the semantic level.

  4. Operation distinctness: operation symbols in Ω\Omega are distinct names. Two operations ω1,ω2Ω\omega_1, \omega_2 \in \Omega with identical profiles but distinct names are distinct operations — the name is part of the specification, not an implementation detail.

Signature morphism

A signature morphism φ:S1S2\varphi : \mathbf{S}_1 \to \mathbf{S}_2 is a pair φ=(φS,φΩ)\varphi = (\varphi_\mathcal{S}, \varphi_\Omega) where:

  • φS:S1S2\varphi_\mathcal{S} : \mathcal{S}_1 \to \mathcal{S}_2 is a sort map — a function on sort names
  • φΩ:Ω1Ω2\varphi_\Omega : \Omega_1 \to \Omega_2 is an operation map — a function on operation symbols

subject to the profile-preservation condition: for every ωΩ1\omega \in \Omega_1 with ar1(ω)=(s1sn,  s)ar_1(\omega) = (s_1 \cdots s_n,\; s),

ar2(φΩ(ω))=(φS(s1)φS(sn),  φS(s))ar_2(\varphi_\Omega(\omega)) = (\varphi_\mathcal{S}(s_1) \cdots \varphi_\mathcal{S}(s_n),\; \varphi_\mathcal{S}(s))

The morphism translates names: it maps each operation in S1\mathbf{S}_1 to an operation in S2\mathbf{S}_2 whose profile is the sort-translated profile of the original.

Signature morphisms are not required to be injective. A morphism may merge distinct sorts (φS\varphi_\mathcal{S} need not be injective) or map distinct operations to the same target operation (φΩ\varphi_\Omega need not be injective). This allows for renaming, collapsing, and forgetting.

The category Sig\mathbf{Sig}. Signatures with their morphisms form a category: identity morphism idS=(idS,idΩ)\mathrm{id}_\mathbf{S} = (\mathrm{id}_\mathcal{S}, \mathrm{id}_\Omega); composition (φφ)S=φSφS(\varphi' \circ \varphi)_\mathcal{S} = \varphi'_\mathcal{S} \circ \varphi_\mathcal{S}, (φφ)Ω=φΩφΩ(\varphi' \circ \varphi)_\Omega = \varphi'_\Omega \circ \varphi_\Omega. Profile-preservation composes.

Sig\mathbf{Sig} has all colimits (set-theoretic construction). In particular, given a span S1φ1S0φ2S2\mathbf{S}_1 \xleftarrow{\varphi_1} \mathbf{S}_0 \xrightarrow{\varphi_2} \mathbf{S}_2, the pushout S1S0S2\mathbf{S}_1 \sqcup_{\mathbf{S}_0} \mathbf{S}_2 is formed by taking the disjoint union of sorts and operations from S1\mathbf{S}_1 and S2\mathbf{S}_2 and identifying the images of S0\mathbf{S}_0 under φ1\varphi_1 and φ2\varphi_2. This is the signature union over a common sub-signature.

Inclusion morphism. If S1=(S1,Ω1,ar1)\mathbf{S}_1 = (\mathcal{S}_1, \Omega_1, ar_1) and S2=(S2,Ω2,ar2)\mathbf{S}_2 = (\mathcal{S}_2, \Omega_2, ar_2) with S1S2\mathcal{S}_1 \subseteq \mathcal{S}_2, Ω1Ω2\Omega_1 \subseteq \Omega_2, and ar2Ω1=ar1ar_2|_{\Omega_1} = ar_1, then the inclusions form a signature morphism ι:S1S2\iota : \mathbf{S}_1 \hookrightarrow \mathbf{S}_2. This is the subsumption morphism used by CapabilitySignature: when all operations are 0-ary constants and the sort set is Types\mathrm{Types}, signature inclusion coincides with capability-signature subsumption.

Implementations

A S\mathbf{S}-implementation MM of a signature S=(S,Ω,ar)\mathbf{S} = (\mathcal{S}, \Omega, ar) over a relational universe is an assignment:

  • For each sort sSs \in \mathcal{S}: a carrier MsM_s (a relational universe object of sort ss)
  • For each operation ωΩ\omega \in \Omega with ar(ω)=(s1sn,s)ar(\omega) = (s_1 \cdots s_n, s): a relational-universe-morphism Mω:Ms1××MsnMsM_\omega : M_{s_1} \times \cdots \times M_{s_n} \to M_s

An implementation interprets the signature: it provides concrete objects and morphisms for every declared sort and operation symbol.

Reduct functor. A signature morphism φ:S1S2\varphi : \mathbf{S}_1 \to \mathbf{S}_2 induces a reduct functor φ:Impl(S2)Impl(S1)\varphi^* : \mathrm{Impl}(\mathbf{S}_2) \to \mathrm{Impl}(\mathbf{S}_1) going backward:

φ(M)s=MφS(s)φ(M)ω=MφΩ(ω)\varphi^*(M)_s = M_{\varphi_\mathcal{S}(s)} \qquad \varphi^*(M)_\omega = M_{\varphi_\Omega(\omega)}

The reduct re-labels: it takes an S2\mathbf{S}_2-implementation and reads it as an S1\mathbf{S}_1-implementation by following the translation. The reduct forgets all operations and sorts in S2\mathbf{S}_2 that are not in the image of φ\varphi.

Reduct is contravariantly functorial: (φφ)=φ(φ)(\varphi' \circ \varphi)^* = \varphi^* \circ (\varphi')^* and id=Id\mathrm{id}^* = \mathrm{Id}.

Institution structure

The relational universe (T,J,H)(T, J, H) admits a signature-theoretic reading as an institution (Goguen & Burstall, JACM 39(1), 1992): an institution I=(Sig,Sen,Mod,)\mathbf{I} = (\mathbf{Sig}, \mathrm{Sen}, \mathrm{Mod}, \models) consisting of:

  • Sig\mathbf{Sig} — the category of signatures (as defined above)
  • Sen:SigSet\mathrm{Sen} : \mathbf{Sig} \to \mathbf{Set} — a covariant functor assigning to each signature S\mathbf{S} the set of S\mathbf{S}-propositions expressible in the fiber Heyting algebra; a signature morphism φ:S1S2\varphi : \mathbf{S}_1 \to \mathbf{S}_2 acts on sentences by forward translation Sen(φ)\mathrm{Sen}(\varphi): substituting each sort and operation in a sentence with its φ\varphi-image
  • Mod:SigopCat\mathrm{Mod} : \mathbf{Sig}^{op} \to \mathbf{Cat} — a contravariant functor assigning to each S\mathbf{S} the category of S\mathbf{S}-implementations; a morphism φ\varphi acts as the reduct functor φ\varphi^* going backward
  • S,tMod(S)×Sen(S)\models_{\mathbf{S},t} \subseteq |\mathrm{Mod}(\mathbf{S})| \times \mathrm{Sen}(\mathbf{S}) — satisfaction at history tt: implementation MS,tρM \models_{\mathbf{S},t} \rho iff ρHt\rho \in H^*_t when interpreted under MM

The satisfaction condition (Goguen & Burstall’s coherence axiom): for every signature morphism φ:S1S2\varphi : \mathbf{S}_1 \to \mathbf{S}_2, every S2\mathbf{S}_2-implementation MM', and every S1\mathbf{S}_1-sentence ρ\rho:

MS2,tSen(φ)(ρ)    φ(M)S1,tρM' \models_{\mathbf{S}_2,t} \mathrm{Sen}(\varphi)(\rho) \iff \varphi^*(M') \models_{\mathbf{S}_1,t} \rho

Truth is invariant under change of notation. Translating a sentence forward to S2\mathbf{S}_2 (via Sen(φ)\mathrm{Sen}(\varphi)) and checking it against MM' gives the same result as checking the original sentence against the reduct φ(M)\varphi^*(M'). This coherence axiom is what makes the institution hang together: morphisms rename without changing what is true.

Nuclear derivation

Signature proposition. For each signature S\mathbf{S} recognized within normative system II at history tt, define:

sigSHt\mathbf{sig}_\mathbf{S} \in H_t

as the proposition “signature S\mathbf{S} is constitutively active in II at history tt.” This is a proposition about the existence of the specification interface itself — distinct from any proposition about an implementation.

Implementation proposition. For each structure MM and signature S\mathbf{S} at history tt, define:

implM,SHt\mathrm{impl}_{M,\mathbf{S}} \in H_t

as the proposition “structure MM implements signature S\mathbf{S} at history tt” — MM provides a doubly-settled carrier and morphism for every sort and operation in S\mathbf{S}.

Signature operativity. Signature S\mathbf{S} is operative at tt iff:

sigSHt=Fix(σt)Fix(Δt)\mathbf{sig}_\mathbf{S} \in H^*_t = \mathrm{Fix}(\sigma_t) \cap \mathrm{Fix}(\Delta_t)

The double-settlement: σt(sigS)=sigS\sigma_t(\mathbf{sig}_\mathbf{S}) = \mathbf{sig}_\mathbf{S} — the interface is recognized by the normative community; Δt(sigS)=sigS\Delta_t(\mathbf{sig}_\mathbf{S}) = \mathbf{sig}_\mathbf{S} — the interface is stable forward.

Implementation operativity. MM operatively implements S\mathbf{S} at tt iff:

implM,SHt\mathrm{impl}_{M,\mathbf{S}} \in H^*_t

This requires sigSHt\mathbf{sig}_\mathbf{S} \in H^*_t (signature operative) and, for each sort sSs \in \mathcal{S}, the carrier proposition MsHtM_s \in H^*_t, and for each operation ωΩ\omega \in \Omega, the morphism proposition MωHtM_\omega \in H^*_t.

Four failure modes for sigS\mathbf{sig}_\mathbf{S}:

Quadrant σt(sigS)\sigma_t(\mathbf{sig}_\mathbf{S}) Δt(sigS)\Delta_t(\mathbf{sig}_\mathbf{S}) Signature status
HtH^*_t =sigS= \mathbf{sig}_\mathbf{S} =sigS= \mathbf{sig}_\mathbf{S} Operative: recognized and institutionally stable
Fix(σt)Ht\mathrm{Fix}(\sigma_t) \setminus H^*_t =sigS= \mathbf{sig}_\mathbf{S} >sigS> \mathbf{sig}_\mathbf{S} Recognized but fragile — accepted as an interface but not institutionally sustained forward
Fix(Δt)Ht\mathrm{Fix}(\Delta_t) \setminus H^*_t >sigS> \mathbf{sig}_\mathbf{S} =sigS= \mathbf{sig}_\mathbf{S} Structurally required but unrecognized — the system needs this interface but no community has named it
Ht(HtFix(σt)Fix(Δt))H_t \setminus (H^*_t \cup \mathrm{Fix}(\sigma_t) \cup \mathrm{Fix}(\Delta_t)) >sigS> \mathbf{sig}_\mathbf{S} >sigS> \mathbf{sig}_\mathbf{S} Proposed only — drafted but inoperative

Theorem (Implementation Persistence). If implM,SHt\mathrm{impl}_{M,\mathbf{S}} \in H^*_t and f:stf : s \to t is a morphism in the site (T,J)(T, J), then H(f)(implM,S)HsH(f)(\mathrm{impl}_{M,\mathbf{S}}) \in H^*_s.

Proof sketch. By the Persistence Theorem for HH^* (Institution): restriction maps H(f):HtHsH(f) : H_t \to H_s satisfy H(f)(Ht)HsH(f)(H^*_t) \subseteq H^*_s. Since implM,SHt\mathrm{impl}_{M,\mathbf{S}} \in H^*_t, H(f)(implM,S)HsH(f)(\mathrm{impl}_{M,\mathbf{S}}) \in H^*_s. \square

Implementation Persistence is the nuclear content of the satisfaction condition: a structure that operatively implements a signature at tt also operatively implements it at every earlier history sts \leq t.

Theorem (Reduct Monotonicity). If φ:S1S2\varphi : \mathbf{S}_1 \to \mathbf{S}_2 is a signature morphism and implM,S2Ht\mathrm{impl}_{M,\mathbf{S}_2} \in H^*_t, then implφ(M),S1Ht\mathrm{impl}_{\varphi^*(M),\mathbf{S}_1} \in H^*_t.

Proof sketch. implM,S2Ht\mathrm{impl}_{M,\mathbf{S}_2} \in H^*_t means every carrier MsM_s and operation MωM_\omega for sS2s \in \mathcal{S}_2, ωΩ2\omega \in \Omega_2 is doubly settled. The reduct φ(M)\varphi^*(M) uses carriers MφS(s)M_{\varphi_\mathcal{S}(s)} and operations MφΩ(ω)M_{\varphi_\Omega(\omega)} for sS1s \in \mathcal{S}_1, ωΩ1\omega \in \Omega_1 — all in the image of φ\varphi, hence all doubly settled. Therefore implφ(M),S1Ht\mathrm{impl}_{\varphi^*(M),\mathbf{S}_1} \in H^*_t. \square

Reduct Monotonicity is the nuclear statement of the satisfaction condition: implementing a richer signature entails implementing every signature into which a morphism exists. This is the general theorem of which CapabilitySignature’s Subsumption Satisfaction Monotonicity is the restricted (0-ary inclusion-morphism) case.

FARS instantiation

In FARS, two specific classes of signatures appear:

0-ary signatures (params: blocks). Every spec’s params: block is a signature with sort set STypes\mathcal{S} \subseteq \mathrm{Types} and all operations of arity 0 (constants). The params: entry name: type declares a constant operation named name of output sort type. The capability-signature κ:ParamNamesTypes\kappa : \mathrm{ParamNames} \to \mathrm{Types} (see CapabilitySignature) is the FARS name for this restricted form.

Nuclear pair signature. The nuclear pair (σt,Δt)(\sigma_t, \Delta_t) on fiber HtH_t has the signature:

Snuc=({H},  {σ,Δ},  ar)\mathbf{S}_{\mathrm{nuc}} = (\{\mathrm{H}\},\; \{\sigma, \Delta\},\; ar)

with ar(σ)=(H,H)ar(\sigma) = (\mathrm{H}, \mathrm{H}) and ar(Δ)=(H,H)ar(\Delta) = (\mathrm{H}, \mathrm{H}) — two 1-ary operations from sort H\mathrm{H} to sort H\mathrm{H}. An implementation of Snuc\mathbf{S}_{\mathrm{nuc}} is exactly a pair of endomorphisms on HtH_t — the nuclear pair itself is one such implementation, and the axioms (inflation, monotonicity, idempotence) are added to obtain the theory of nuclei from this signature.

Signature vs. adjacent concepts

Concept What it specifies Has axioms? Morphisms Key source
Signature Sort names + operation profiles No Sort-map + operation-map preserving profiles Goguen & Burstall (1992)
CapabilitySignature 0-ary signature over Types\mathrm{Types} No Subsumption inclusion ι:κ1κ2\iota : \kappa_1 \hookrightarrow \kappa_2 This system; RBAC (Sandhu 1996)
Theory Signature + axiom set Yes Theory morphism (sig morphism preserving consequence) Goguen & Burstall (1992)
Institution Category of signatures + Sen + Mod + \models No — axioms live in theories Institution morphism Goguen & Burstall (1992)
NormativeSystem Roles + norms + deontic constraints Yes Normative morphism This system

A signature is the syntactic skeleton; a theory is the signature plus axioms; a specification is a theory intended for implementation (possibly open/parameterized); a normative system is a theory whose axioms are deontic (obligation, permission, prohibition).

Open questions

  • Whether the institution (T,J,H)(T, J, H) satisfies the amalgamation property for its signature pushouts: given a pushout S1S0S2\mathbf{S}_1 \sqcup_{\mathbf{S}_0} \mathbf{S}_2 and implementations M1Impl(S1)M_1 \in \mathrm{Impl}(\mathbf{S}_1), M2Impl(S2)M_2 \in \mathrm{Impl}(\mathbf{S}_2) agreeing on S0\mathbf{S}_0 (their reducts to S0\mathbf{S}_0 coincide), whether there exists an implementation MImpl(S1S0S2)M \in \mathrm{Impl}(\mathbf{S}_1 \sqcup_{\mathbf{S}_0} \mathbf{S}_2) whose reducts to S1\mathbf{S}_1 and S2\mathbf{S}_2 are M1M_1 and M2M_2. This would allow theories to be combined by specification union — a key tool for modular specification.
  • Whether derived signature morphisms — where an operation in S1\mathbf{S}_1 maps not to a single operation in S2\mathbf{S}_2 but to a term built from S2\mathbf{S}_2-operations — are necessary for expressing renaming-by-definition in this system; and whether derived morphisms preserve the satisfaction condition or require a stronger version (the term-translation variant studied in Mossakowski et al. 2016).
  • Whether the sort set S\mathcal{S} of a signature should be closed under the type constructors of the relational universe (products ×\times, exponentials \to, presheaf type H()H(-)) — whether the FARS type vocabulary needs to be closed under these operations to form a well-behaved signature category, or whether partial closure is sufficient.
  • Whether the Grothendieck institution construction (Diaconescu 2002) applies: given that our system has multiple “levels” of signature (0-ary for FARS specs, 1-ary for nuclear pairs, higher for general algebraic structures), whether there is an indexed institution (iIi)(i \mapsto \mathbf{I}_i) that is flattened into a single global institution via the Grothendieck construction — and whether the resulting global signature category captures the multi-level structure of the system.
  • Whether the initial algebra TST_\mathbf{S} (the term algebra over signature S\mathbf{S}) has a nuclear representation — whether TST_\mathbf{S} corresponds to the least doubly-settled implementation: implTS,SHt\mathrm{impl}_{T_\mathbf{S},\mathbf{S}} \in H^*_t and for any other MM with implM,SHt\mathrm{impl}_{M,\mathbf{S}} \in H^*_t, there is a unique implementation morphism TSMT_\mathbf{S} \to M that is doubly-settled.

Relations

Arity function
Relational universe morphism
Ast
Date created
Date modified
Defines
Signature
Operations
Relational universe morphism
Output
Relational universe morphism
Related
Capability signature, relational universe morphism, relational universe, institution, normative system, theory, role
Sorts
Relational universe