Cartesian Closed Categories
Summary
A cartesian closed category (CCC) has finite products and, for any two objects , an exponential object representing the functor . Equivalently, for each . Set, CAT, are CCC; is not (but is monoidal closed).
Overview
A cartesian closed category is a category where “function objects” exist: for any two objects and , there is an object (the internal hom, or exponential) whose elements are “morphisms from to .” CCCs are the categorical models of the simply-typed lambda calculus and arise naturally in logic, computer science, and sheaf theory.
Main Content
Definition 6.3.15: Cartesian Closed Category
A category is cartesian closed if:
- has a terminal object
- has binary products
- For each , the functor has a right adjoint
The object is called the exponential of by , or the internal hom from to , written also .
The adjunction means: naturally in and .
The natural isomorphism is called currying (or -abstraction) in computer science.
Definition: Evaluation Map
The evaluation map is the counit of the adjunction :
It corresponds to the identity under the currying bijection.
Examples of CCCs
Example: Set is CCC (BCT, Ch. 6.3)
In Set: = the set of all functions from to . The currying bijection sends to .
Example: CAT is CCC (BCT, Ch. 6.3)
In CAT (category of small categories): is the functor category. The currying bijection is the standard “currying” of functors.
Example: Presheaf Categories are CCC (BCT, Ch. 6.3)
For any small , the presheaf category is cartesian closed. The exponential for presheaves is:
i.e., the set of natural transformations from to .
Proof: Pointwise limits ensure the product exists; the definition above makes a presheaf, and one verifies the adjunction.
Example: Vect_k is NOT CCC (BCT, Ch. 6.3)
The category of -vector spaces is not cartesian closed: is a monoidal closed structure, but the monoidal product is (tensor product), not (direct product). Since has a zero object, it cannot be cartesian closed.
is an example of a symmetric monoidal closed category instead.
Connection to Logic and Type Theory
In the propositions as types / proofs as programs correspondence (Curry-Howard):
- Objects of a CCC = types
- Morphisms = proofs that implies
- Products = conjunction
- Exponentials = implication
- Terminal object = truth
CCCs are the categorical models of the simply-typed lambda calculus.
Closure and Internal Homs in Non-Cartesian Contexts
When the monoidal product is not the cartesian product , but still has a right adjoint , the category is called monoidal closed (or symmetric monoidal closed if the monoidal structure is symmetric). , -, and chain complexes are examples.
Connections
- Presheaf categories (Limits in Presheaf Categories): the CCC structure on is proven using pointwise limits.
- Adjunctions (Adjoint Functors): the CCC condition is exactly that each product functor has a right adjoint.
- The density theorem gives the exponential in presheaf categories via its universal property.
See Also
- Products and Equalizers — Products, one ingredient of CCCs
- Adjoint Functors — The adjunction
- Limits in Presheaf Categories — Why presheaf categories are CCC
- Beck’s Monadicity Theorem — monadicity / algebraic structure connection