Study Music. Click to play or pause. After it starts, press the Space Bar to play or pause. If enabled, it will resume across pages.

Category Theory and the Art of Choosing the Right Notation

In category theory, notation is not cosmetic. It is part of the mathematics. A good choice of symbols makes variance visible, keeps types from drifting, and allows you to read a diagram as a proof. A poor choice hides the direction of functors, blurs the distinction between objects and morphisms, and turns a clear universal property into an unreadable tangle.

This post is a practical guide to notation choices that support real work: proving statements, checking definitions, reading papers, and communicating categorical ideas without ambiguity. The guiding principle is simple:

Premium Gaming TV
65-Inch OLED Gaming Pick

LG 65-Inch Class OLED evo AI 4K C5 Series Smart TV (OLED65C5PUA, 2025)

LG • OLED65C5PUA • OLED TV
LG 65-Inch Class OLED evo AI 4K C5 Series Smart TV (OLED65C5PUA, 2025)
A strong fit for buyers who want OLED image quality plus gaming-focused refresh and HDMI 2.1 support

A premium gaming-and-entertainment TV option for console pages, living-room gaming roundups, and OLED recommendation articles.

$1396.99
Price checked: 2026-03-23 18:31. Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply to the purchase of this product.
  • 65-inch 4K OLED display
  • Up to 144Hz refresh support
  • Dolby Vision and Dolby Atmos
  • Four HDMI 2.1 inputs
  • G-Sync, FreeSync, and VRR support
View LG OLED on Amazon
Check the live Amazon listing for the latest price, stock, shipping, and size selection.

Why it stands out

  • Great gaming feature set
  • Strong OLED picture quality
  • Works well in premium console or PC-over-TV setups

Things to know

  • Premium purchase
  • Large-screen price moves often
See Amazon for current availability
As an Amazon Associate I earn from qualifying purchases.
  • Notation should make the typing constraints obvious.
  • Notation should encode variance and compositional direction.
  • Notation should scale to higher structure (functors, natural transformations, adjunctions) without rewriting everything.

The first discipline: keep “types” visible

Category theory is type theory in disguise. Every expression has a source and target object, and composition is defined only when types match. Your notation should continuously reinforce that.

A robust baseline convention is:

  • categories: $\mathcal{C}, \mathcal{D}, \mathcal{E}$
  • objects: $X,Y,Z$ or $A,B,C$
  • morphisms: $f,g,h$
  • functors: $F,G,H$
  • natural transformations: $\eta, \epsilon, \alpha, \beta$

This is common because it keeps every level distinct.

A simple trick that prevents many mistakes is to write morphisms with their types at least once when entering a proof:

  • $f : X \to Y$, $g : Y \to Z$, so $g \circ f : X \to Z$.

Once the types are set, you can rely on them implicitly, but the first explicit statement anchors the rest.

Composition order: choose a convention and defend it

Two composition conventions appear:

  • right-__GCNKDDTOK_0__\left: $(g \circ f)(x) = g(f(x))$
  • left-__GCNKDDTOK_0__\right (diagrammatic): sometimes written as $f ; g$

Both can work, but mixing them is a reliable path to errors. In most category theory texts, \right-\to-\left $g \circ f$ is standard, and commutative diagrams are drawn with arrows following the diagram’s direction. The key is to make sure your written composition aligns with how you read arrows in diagrams.

A helpful practice is to put a “type line” next \to a complicated composite:

  • $X \xrightarrow{f} Y \xrightarrow{g} Z \xrightarrow{h} W$ corresponds \to $h \circ g \circ f : X \to W$.

Then you can read the composite straight from the diagram even when the algebraic expression is dense.

Notation for Hom-sets: pick a level of explicitness

At minimum, you need:

  • $\mathrm{Hom}_{\mathcal{C}}(X,Y)$ for morphisms in $\mathcal{C}$.

Two refinements improve readability:

  • Use $\mathcal{C}(X,Y)$ when the ambient category is clear.
  • Use $[X,Y]$ only when you have already declared a closed structure and $[-, -]$ means an internal hom object, not a hom-set.

A frequent beginner confusion is between the set $\mathcal{C}(X,Y)$ and an internal hom object $[X,Y]$ in a monoidal closed category. If you use brackets for internal homs, reserve $\mathcal{C}(X,Y)$ for hom-sets. This makes enrichment and closure readable rather than mysterious.

Variance: notation that forces you to notice direction

Contravariance is one of the main sources of silent mistakes. Good notation surfaces it.

When you define a functor on morphisms, write:

  • for covariant $F : \mathcal{C} \to \mathcal{D}$, $F(f) : F(X) \to F(Y)$ when $f : X \to Y$
  • for contravariant $P : \mathcal{C}^{\mathrm{op}} \to \mathcal{D}$, $P(f) : P(Y) \to P(X)$

Even better is to use $\mathcal{C}^{\mathrm{op}}$ explicitly in the domain whenever contravariance is present. Treating “contravariant functor from $\mathcal{C}$” as shorthand is fine in speech, but in writing it hides the type constraints you need.

A compact “variance table” helps when you set up a proof:

| Object | Domain | Morphism direction | Typical example |

|—|—|—|—|

| Functor $F$ | $\mathcal{C}$ | preserves arrows | free functor |

| Presheaf $P$ | $\mathcal{C}^{\mathrm{op}}$ | reverses arrows | $\mathcal{C}(-,X)$ |

| Copresheaf $Q$ | $\mathcal{C}$ | preserves arrows | $\mathcal{C}(X,-)$ |

This is not about memorizing; it is about keeping direction explicit.

Natural transformations: notation that makes components easy

A natural transformation $\alpha : F \Rightarrow G$ is a family of arrows $\alpha_X : F(X) \to G(X)$ indexed by objects, satisfying naturality squares.

The notational point is: you should be able to write a component quickly and then test naturality by drawing the square.

A clean component convention:

  • $\alpha_X$ means “the component at $X$.”
  • $\alpha_f$ is usually avoided; use $F(f)$ and $G(f)$ for functorial action on morphisms.

When a proof depends on naturality, write the square as a diagram, not as an equation first:

text
F(X)  --F(f)-->  F(Y)
 |              |
α_X            α_Y
 |              |
 v              v
G(X)  --G(f)-->  G(Y)

Then translate to the equation $\alpha_Y \circ F(f) = G(f) \circ \alpha_X$ only if you need algebraic manipulation. This keeps the meaning visible.

Adjunction notation: write the data you will use

Adjunctions are one of the places where notation can either clarify everything or conceal the real mechanism.

For an adjunction $F \dashv G$, you have:

  • unit $\eta : \mathrm{id}_{\mathcal{C}} \Rightarrow G F$
  • counit $\epsilon : F G \Rightarrow \mathrm{id}_{\mathcal{D}}$

The triangle identities are the working heart. A notation pattern that keeps you honest is to always include the category of each identity when ambiguity is possible:

  • $\mathrm{id}_{\mathcal{C}}$, $\mathrm{id}_{\mathcal{D}}$

Then the triangles can be written without confusion:

  • $F \xrightarrow{F\eta} FGF \xrightarrow{\epsilon F} F$
  • $G \xrightarrow{\eta G} GFG \xrightarrow{G\epsilon} G$

A common failure mode is swapping $\eta$ and $\epsilon$, or forgetting which side they live on. Writing $F\eta$ and $\epsilon F$ makes the side explicit.

Another notational improvement is to reserve $\eta$ and $\epsilon$ for units and counits, rather than using them for unrelated maps. This reduces cognitive load when you read long computations in monads or derived adjunctions.

Universal properties: notation as a compression device

Universal properties are easiest to read when notation separates:

  • the diagram being mapped,
  • the cone or cocone,
  • the universal arrow.

For a product $X \times Y$, write:

  • projections $\pi_X : X \times Y \to X$, $\pi_Y : X \times Y \to Y$

Then the universal property is:

  • for any $Z$ with maps $f:Z\to X$, $g:Z\to Y$, there exists a unique $\langle f,g \rangle : Z \to X \times Y$ with $\pi_X \circ \langle f,g \rangle = f$ and $\pi_Y \circ \langle f,g \rangle = g$.

The angle-bracket notation $\langle f,g \rangle$ is powerful because it is type-checkable by inspection. It also extends naturally to pullbacks, equalizers, and limits.

For coproducts, use brackets $[f,g]$ for the induced morphism out of a coproduct, but only if you will not use $[X,Y]$ for internal homs in the same context. If you do use internal homs, switch coproduct maps to another notation such as $\{f,g\}$ or write “copairing” in words. The goal is to prevent bracket overload.

Yoneda notation: small choices that prevent big confusion

Yoneda lemma arguments become clean when you write representables consistently:

  • covariant representable: $h^X = \mathcal{C}(X,-) : \mathcal{C} \to \mathbf{Set}$
  • contravariant representable: $h_X = \mathcal{C}(-,X) : \mathcal{C}^{\mathrm{op}} \to \mathbf{Set}$

Many texts swap these, but the key is to keep the variance readable. Using superscripts for covariant and subscripts for contravariant is a useful convention because it echoes how indices behave in other contexts.

When you write an element $x \in h_X(Y)$, you are really holding a morphism $Y \to X$. Writing it as a morphism early saves time later:

  • “Let $x \in \mathcal{C}(Y,X)$, meaning $x : Y \to X$.”

Then naturality computations become composition statements instead of mysterious “elements moving around.”

Enrichment and ends: notation should advertise extra structure

If you are working in enriched category theory, the distinction between hom-objects and hom-sets is essential, and notation must reflect it.

A reliable approach:

  • $\mathcal{V}$-enriched hom-object: $\mathcal{C}(X,Y)$ living in $\mathcal{V}$
  • underlying set hom: $\mathcal{C}_0(X,Y)$ or $\mathrm{Hom}(X,Y)$ when you apply $\mathcal{V}(I,-)$

For ends and coends, the integral notation is standard:

$$ \int_{c} F(c,c), \qquad \int^{c} F(c,c). $$

Because this notation is compact but can be opaque, pair it with an explanatory phrase the first time it appears:

  • “the end of $F$, i.e., the universal dinatural family …”

A small amount of verbal annotation prevents the symbol from becoming a black box.

A practical “notation pack” you can reuse

Below is a set of choices that work well across most categorical writing:

  • categories: $\mathcal{C}, \mathcal{D}, \mathcal{E}$
  • objects: $X,Y,Z$ (or $A,B,C$ in algebra)
  • morphisms: $f,g,h$
  • functors: $F,G,H$
  • natural transformations: $\alpha, \beta$; unit $\eta$; counit $\epsilon$
  • hom-sets: $\mathcal{C}(X,Y)$ with ambient category indicated when needed
  • representables: $h_X = \mathcal{C}(-,X)$, $h^X = \mathcal{C}(X,-)$
  • products: $X\times Y$, projections $\pi_X,\pi_Y$, pairing $\langle f,g \rangle$
  • coproducts: $X\sqcup Y$, injections $\iota_X,\iota_Y$, copairing chosen to avoid bracket clashes
  • limits/colimits: $\lim$, $\mathrm{colim}$ when working in $\mathbf{Set}$, otherwise “limit of the diagram $D$” with cone notation

This pack is not a law. It is a working configuration that makes the common errors hard to commit.

Closing: notation is part of categorical thinking

Category theory often replaces elementwise calculation with structural reasoning. Notation is what makes that replacement possible. When your notation advertises variance, keeps types visible, and turns commutative squares into the default format, your proofs become shorter and more reliable.

The goal is not prettiness. The goal is that after you write a line, you can ask:

  • “Is this expression even well-typed?”

If the answer is obvious from the symbols on the page, you have chosen good notation.

Books by Drew Higgins

Explore this field
Category Theory
Library Category Theory
Mathematics
Algebra
Analysis and Partial Differential Equations
Combinatorics
Dynamical Systems
Geometry
Logic and Foundations
Mathematical Physics
Number Theory
Numerical Analysis

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *