# Pullback (category theory)

In category theory, a branch of mathematics, a pullback (also called a fiber product, fibre product, fibered product or Cartesian square) is the limit of a diagram consisting of two morphisms f : X → Z and g : Y → Z with a common codomain; it is the limit of the cospan XZY. The pullback is often written

P = X ×Z Y.

## Universal property

Explicitly, the pullback of the morphisms Template:Mvar and Template:Mvar consists of an object Template:Mvar and two morphisms p1 : P → X and p2 : P → Y for which the diagram

commutes. Moreover, the pullback (P, p1, p2) must be universal with respect to this diagram. That is, for any other such triple (Q, q1, q2) for which the following diagram commutes, there must exist a unique u : Q → P (called a mediating morphism) such that

${\displaystyle p_{2}\circ u=q_{2},\qquad p_{1}\circ u=q_{1}.}$

As with all universal constructions, the pullback, if it exists, is unique up to isomorphism. In fact, given two pullbacks (A, a1, a2) and (B, b1, b2) of the same cospan, there is a unique isomorphism between Template:Mvar and Template:Mvar respecting the pullback structure.

## Weak pullbacks

A weak pullback of a cospan X → Z ← Y is a cone over the cospan that is only weakly universal, that is, the mediating morphism u : Q → P above is not required to be unique.

## Discussion

The pullback is similar to the product, but not the same. One may obtain the product by "forgetting" that the morphisms Template:Mvar and Template:Mvar exist, and forgetting that the object Template:Mvar exists. One is then left with a discrete category containing only the two objects Template:Mvar and Template:Mvar, and no arrows between them. This discrete category may be used as the index set to construct the ordinary binary product. Thus, the pullback can be thought of as the ordinary (Cartesian) product, but with additional structure. Instead of "forgetting" Template:Mvar, Template:Mvar, and Template:Mvar, one can also "trivialize" them by specializing Template:Mvar to be the terminal object (assuming it exists). Template:Mvar and Template:Mvar are then uniquely determined and thus carry no information, and the pullback of this cospan can be seen to be the product of Template:Mvar and Template:Mvar.

The categorical dual of a pullback is a called a pushout. Remarks opposite to the above apply: the pushout is a coproduct with additional structure.

## Examples

### Commutative Rings

In the category of commutative rings (with identity), denoted CRing, the pullback is called the fibered product. Let

A, B, C ∈ Ob(CRing),
α : AC ∈ Hom(CRing),
β : BC ∈ Hom(CRing).

So Template:Mvar, Template:Mvar, and Template:Mvar are commutative rings with identity and Template:Mvar and Template:Mvar are ring homomorphisms. Then the pullback of these objects and morphisms is defined to be the subset of the Cartesian product A × B defined by

${\displaystyle A\times _{C}B=\left\{(a,b)\in A\times B\;{\big |}\;\alpha (a)=\beta (b)\right\}}$

along with the morphisms

${\displaystyle \beta '\colon A\times _{C}B\to A,\qquad \alpha '\colon A\times _{C}B\to B}$

such that

${\displaystyle \alpha \circ \beta '=\beta \circ \alpha '.}$

### Sets

In the category of sets, a pullback of Template:Mvar and Template:Mvar is given by the set

${\displaystyle X\times _{Z}Y=\{(x,y)\in X\times Y|f(x)=g(y)\},}$

together with the restrictions of the projection maps π1 and π2 to X ×Z Y.

Alternatively one may view the pullback in Set asymmetrically:

${\displaystyle X\times _{Z}Y\cong \coprod _{x\in X}g^{-1}[\{f(x)\}]\cong \coprod _{y\in Y}f^{-1}[\{g(y)\}]}$

where ${\displaystyle \coprod }$ is the disjoint (tagged) union of sets (the involved sets are not disjoint on their own unless Template:Mvar resp. Template:Mvar is injective). In the first case, the projection π1 extracts the Template:Mvar index while π2 forgets the index, leaving elements of Template:Mvar.

This example motivates another way of characterizing the pullback: as the equalizer of the morphisms f ∘ p1, g ∘ p2 : X × Y → Z where X × Y is the binary product of Template:Mvar and Template:Mvar and p1 and p2 are the natural projections. This shows that pullbacks exist in any category with binary products and equalizers. In fact, by the existence theorem for limits, all finite limits exist in a category with a terminal object, binary products and equalizers.

### Fiber Bundles

Another example of a pullback comes from the theory of fiber bundles: given a bundle map π : EB and a continuous map f : X → B, the pullback X ×B E is a fiber bundle over Template:Mvar called the pullback bundle. The associated commutative diagram is a morphism of fiber bundles.

### Categories with a Terminal Object

In any category with a terminal object Template:Mvar, the pullback X ×Z Y is just the ordinary product X × Y.[1]

### Preimages

Preimages of sets under functions can be described as pullbacks as follows:

Suppose f : AB, B0B. Let Template:Mvar be the inclusion map B0B. Then a pullback of Template:Mvar and Template:Mvar (in Set) is given by the preimage f−1[B0] together with the inclusion of the preimage in Template:Mvar

f−1[B0] ↪ A

and the restriction of Template:Mvar to f−1[B0]

f-1[B0] → B0.

## Properties

• Whenever X ×Z Y exists, then so does Y ×Z X and there is an isomorphism X ×Z YY ×Z X.
• Monomorphisms are stable under pullback: if the arrow Template:Mvar above is monic, then so is the arrow p2. For example, in the category of sets, if Template:Mvar is a subset of Template:Mvar, then, for any g : Y → Z, the pullback X ×Z Y is the inverse image of Template:Mvar under Template:Mvar.
• Isomorphisms are also stable, and hence, for example, X ×X YY for any map Y → X.
• Any category with pullbacks and products has equalizers.