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 moreCartesian 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 ZeroThe Number ZeroCounting to FiveCounting to 10Counting to 20Counting a Set of Objects Up to 20Cardinality: The Last Number CountedMatching Numerals to QuantitiesSubitizing Small QuantitiesAddition Within 10Number Bonds to 10Addition Within 20Doubles and Near DoublesDoubles Facts Within 10Near Doubles Facts Within 20Mental Math Strategies for AdditionMental Math: Adding and Subtracting TensAddition Within 100Repeated Addition as MultiplicationMultiplication as Equal GroupsMultiplication: ArraysBasic Multiplication Facts (0s, 1s, 2s, 5s, 10s)Multiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Multiplication and Division Fact FamiliesRelationship Between Multiplication and DivisionDivision Facts as Inverse of MultiplicationRemainders and Quotients in DivisionDivision Word ProblemsMulti-Step Word ProblemsSolving Multi-Step Word ProblemsMultiplication Word ProblemsDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineComparing and Ordering IntegersAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersIntroduction to ExponentsOrder of OperationsInteger Order of OperationsVariable ExpressionsThe Distributive PropertyVariables and Expressions ReviewIntroduction to PolynomialsAdding and Subtracting PolynomialsMultiplying PolynomialsFactorialPermutationsCombinationsCounting Principles: Addition and Multiplication RulesIntroduction to Graph TheoryPropositional Logic FoundationsLogical EquivalencesSet Operations: Union, Intersection, and ComplementCartesian Products and RelationsPartial OrdersBinary RelationsEquivalence RelationsInjective, Surjective, and Bijective FunctionsCategories and MorphismsFunctorsCommutative Diagrams in Category TheoryCommutative Diagrams and CompositionNatural Transformations2-Categories and Weak FunctorsNatural Isomorphisms Between FunctorsIsomorphisms in CategoriesUniversal PropertiesInitial and Terminal ObjectsProducts and CoproductsEqualizers and CoequalizersLimits and ColimitsPullbacks and PushoutsAdjoint FunctorsClosed Monoidal Categories

Longest path: 90 steps · 530 total prerequisite topics

Prerequisites (4)

Leads To (2)