A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Closed Monoidal Categories

Research Depth 89 in the knowledge graph ☐ I know this ☆ Set as goal
6topics build on this
530prerequisites beneath it
See this on the map →
Monoidal CategoriesAdjoint Functors+2 more→→Cartesian Closed CategoriesSymmetric Monoidal Categories
closed monoidal category internal hom currying exponential symmetric monoidal closed

Core Idea

A closed monoidal category is a monoidal category (C, ⊗, I) in which for every object B, the functor (−) ⊗ B has a right adjoint [B, −], called the internal hom. The adjunction Hom(A ⊗ B, C) ≅ Hom(A, [B, C]) is the categorical generalization of currying: a morphism from A ⊗ B to C corresponds naturally to a morphism from A to the function object [B, C]. In the symmetric case, (Set, ×) is closed with [B, C] = the set of functions B → C, and (Vect_k, ⊗_k) is closed with [V, W] = Hom_k(V, W). Closed monoidal structure provides the foundation for internal languages and type-theoretic interpretations of categories.

How It's Best Learned

Verify the currying adjunction in Set: a function f: A × B → C corresponds to a function g: A → CB where g(a)(b) = f(a,b). Then check the same pattern in Vect: a bilinear map V ⊗ W → U corresponds to a linear map V → Hom(W, U). Identify the unit and counit of the adjunction (evaluation and coevaluation maps).

Common Misconceptions

Explainer

You know that a monoidal category equips objects with a tensor product ⊗ and a unit object I, satisfying associativity and unit laws up to coherent isomorphism. The monoidal structure lets you "multiply" objects together. A closed monoidal category adds the ability to "divide" — or more precisely, to form function objects. For every pair of objects B and C, the internal hom [B, C] is an object of the category that represents morphisms from B to C, living *inside* the category rather than just as an external set.

The definition is an adjunction: the functor (−) ⊗ B (which tensors any object with B on the right) has a right adjoint [B, −]. In symbols: Hom(A ⊗ B, C) ≅ Hom(A, [B, C]), naturally in A and C. This is the categorical abstraction of currying — a fact you may recognize from functional programming. A function of two arguments f: A × B → C corresponds exactly to a function g: A → (B → C), where g(a) is the function that takes b and returns f(a, b). Set with the cartesian product is the canonical example: [B, C] is the set of all functions B → C, and the adjunction is the familiar bijection between functions of two variables and functions returning functions.

The internal hom [B, C] is more than just a notational convenience — it is an *object* of the category with its own morphisms, structure, and properties. In Vect_k, the internal hom [V, W] = Hom_k(V, W) is a vector space, and morphisms in [V, W] are linear maps. In a category of types in a programming language, [B, C] is the function type B → C, and the currying adjunction is the semantic content of lambda abstraction. The evaluation morphism ev: [B, C] ⊗ B → C (the counit of the adjunction) is function application; the coevaluation coev: A → [B, A ⊗ B] (the unit) is currying.

Closed monoidal structure is what makes a category suitable for an internal language: you can interpret type-theoretic constructs — function types, substitution, beta-reduction — directly as morphisms in the category. This is the foundation of the Curry-Howard-Lambek correspondence linking intuitionistic logic, typed lambda calculus, and cartesian closed categories (the special case where ⊗ is the cartesian product). In the non-cartesian symmetric monoidal closed case, the internal language becomes linear type theory, where resources are used exactly once — a direct model for quantum mechanics, where quantum states cannot be duplicated (no-cloning theorem), and for resource-sensitive computation in programming languages like Rust.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Set Operations: Union, Intersection, and Complement → Cartesian Products and Relations → Partial Orders → Binary Relations → Equivalence Relations → Injective, Surjective, and Bijective Functions → Categories and Morphisms → Functors → Commutative Diagrams in Category Theory → Commutative Diagrams and Composition → Natural Transformations → 2-Categories and Weak Functors → Natural Isomorphisms Between Functors → Isomorphisms in Categories → Universal Properties → Initial and Terminal Objects → Products and Coproducts → Equalizers and Coequalizers → Limits and Colimits → Pullbacks and Pushouts → Adjoint Functors → Closed Monoidal Categories

Longest path: 90 steps · 530 total prerequisite topics

Prerequisites (4)

Leads To (2)