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:

  1. has a terminal object
  2. has binary products
  3. 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