nLab
dependent product

Context

Category theory

Limits and colimits

Dependent products

Idea

The dependent product is a universal construction in category theory. It generalizes the internal hom, and hence indexed products, to the situation where the codomain may depend on the domain, hence it forms sections of a bundle.

The dual concept is that of dependent sum.

The concept of cartesian product of sets makes sense for any family of sets, while the category-theoretic product makes sense for any family of objects. In each case, however, the family is indexed by a set; how can we get a purely category-theoretic product indexed by an object?

First we need to describe a family of objects indexed by an object; it's common to interpret this as a bundle, that is an arbitrary morphism g:BA. (In Set, A would be the index set of the family, and the fiber of the bundle over an element x of A would be the set indexed by x. Conversely, given a family of sets, B can be constructed as its disjoint union.)

In these terms, the cartesian product of the family of sets is the set S of (global) sections of the bundle. This set comes equipped with an evaluation map ev:S×AB such that

S×AevBgAS \times A \stackrel{ev}\to B \stackrel{g}\to A

equals the usual product projection; in other words, ev is a morphism in the over category Set/A. The universal property of S is that, given any set T and morphism T×AB in Set/A, there's a unique map TS that makes everything commute.

In other words, S and ev define an adjunction from Set to Set/A in which taking the product with A is the left adjoint and applying this universal property is the right adjoint. This is the basis for the definition below, but we add one further level of generality: we move everything from Set to an arbitrary over category Set/I.

Definitions

Let 𝒞 be a category, and g:BA a morphism in 𝒞, such that pullbacks along this morphism exist. These then constitute the base change functor between the corresponding slice categories

g *:𝒞 /A𝒞 /B.g^* \colon \mathcal{C}_{/A} \to \mathcal{C}_{/B} \,.
Definition

The dependent product along g is, if it exists, the right adjoint functor g::𝒞 /B𝒞 /A to the base change along g

(g * g):𝒞 /B gg *𝒞 /A.(g^* \vdash \prod_g) \colon \mathcal{C}_{/B} \stackrel{\overset{g^* }{\leftarrow}}{\underset{\prod_g}{\to}} \mathcal{C}_{/A} \,.

So a category with all dependent products is necessarily a category with all pullbacks.

Properties

Relation to spaces of sections

Proposition

Let 𝒞 be a cartesian closed category with all limits. Let XC be any object.

Then the dependent product functor

𝒞/X xX×X𝒞\mathcal{C}/X \stackrel{\overset{- \times X}{\leftarrow}}{\underset{\prod_{x \in X}}{\to}} \mathcal{C}

sends bundles PX to their object of sections

xXP xΓ X(P):=[X,P]× [X,X]{id}.\prod_{x \in X} P_x \simeq \Gamma_X(P) := [X,P] \times_{[X,X]} \{id\} \,.
Proof

One computes for every A𝒞

𝒞(A×X,PX) =𝒞(A×X,P)× 𝒞(A×X,X){p 2} =𝒞(A,[X,P])× 𝒞(A,[X,X]){p˜ 2} =𝒞(A,[X,P]× [X,X]{Id}) =𝒞(A,Γ X(P)).\begin{aligned} \mathcal{C}(A \times X, P \to X) &= \mathcal{C}(A \times X, P ) \times_{\mathcal{C}(A \times X, X)} \{p_2\} \\ & = \mathcal{C}(A, [X,P]) \times_{\mathcal{C}(A,[X,X])} \{\tilde p_2\} \\ &= \mathcal{C}(A, [X,P] \times_{[X,X]} \{Id\}) \\ &= \mathcal{C}(A, \Gamma_X(P)) \end{aligned} \,.
Remark

This statement and its proof remain valid in homotopy theory. More in detail, if 𝒞 is a simplicial model category, X, A and X×A are cofibrant, P and X are fibrant and PX is a fibration, then Γ X(A) as above is the homotopy-correct derived section space.

Relation to exponential objects / internal homs

As a special case of the above one obtaines exponential objects/internal homs.

Let 𝒞 have a terminal object *𝒞. Let X𝒞 be any object and let X:X* be the terminal morphism.

Proposition

The dependent product along X of the base change along X is the exponential object/internal hom [X,A]

XX *A[X,A]𝒞.\prod_{X} X^* A \simeq [X,A] \in \mathcal{C} \,.
Remark

This is essentially a categorified version of the familiar fact that the product nm of two natural numbers can be identified with the sum m++mn of n copies of m.

Relation to type theory and quantification in logic

The dependent product is the categorical semantics of what in type theory is the formation of dependent product types. Under propositions as types this corresponds to universal quantification.

type theorycategory theory
syntaxsemantics
natural deductionuniversal construction
dependent product typedependent product
type formationX:Typex:XA(x):Type( x:XA(x)):Type
term introductionx:Xa(x):A(x)(xa(x)): x:XA(x)
term eliminationf:( x:XA(x))x:Xx:Xf(x):A(x)
computation rule(ya(y))(x)=a(x)

Examples

Dependent products (and sums) exist in any topos:

Proposition

For C a topos and f:AI any morphism in C, both the left adjoint f:C/AC/I as well as the right adjoint f:C/AC/I to f *:C/IC/A exist.

Moreover, f * preserves the subobject classifier and internal homs.

This is (MacLaneMoerdijk, theorem 2 in section IV, 7).

The dependent product plays a role in the definition of universe in a topos.

References

Standard textbook accounts include section A1.5.3 of

and section IV of

Revised on October 2, 2012 22:25:42 by Urs Schreiber (82.169.65.155)