ñòð. 14 
small categories, let f : C Â¡ D be an arrow of , and let P (Y ) = D. An arrow
!
u : X Â¡ Y of is cartesian for f and Y if
!
CA{1 P (u) = f .
38
4.1 Fibrations 39
CA{2 For any arrow v : Z Â¡ Y of
! and any arrow h : P (Z) Â¡ C of
! for
which f Â± h = P (v), there is a unique w : Z Â¡ X in such that u Â± w = v
!
and P (w) = h.
Similarly, if f : C Â¡ D and P (X) = C, then an arrow u : X Â¡ Y is op
! !
cartesian for f and X if
OA{1 P (u) = f .
OA{2 For any arrow v : X Â¡ Z of
! and any arrow k : D Â¡ P (Z) for which
!
k Â± f = P (v), there is a unique w : Y Â¡ Z in for which w Â± u = v and
!
P (w) = k.
If P : Â¡! is a functor, categorists often think of as being above . (This
is also common for functions between spaces, which is what originally suggested
the ideas in this section.) For example, if P (Y ) = D, one says that Y lies over
D. Similar terminology is used for arrows. Thus a cartesian arrow for f must lie
over f (CA{1) and one refers to CA{2 as a `unique lifting' property.
4.1.2 DeÂ¯nition A functor P : Â¡ ! is a Â¯bration if there is a cartesian
arrow for every f : C Â¡ D in
! and every object Y of for which P (Y ) = D.
P is an opÂ¯bration if there is an opcartesian arrow for every f : C Â¡ D in
!
for which P (X) = C. It follows that P : Â¡ !
and every object X of is a
op op op
Â¡
!
Â¯bration if and only if P : is an opÂ¯bration.
If P : Â¡ ! is a Â¯bration, one also says that is Â¯bered over . In that
case, is the base category and is the total category of the Â¯bration.
4.1.3 DeÂ¯nition A cleavage for a Â¯bration P : Â¡ ! is a function Â° that
takes an arrow f : C Â¡ D and object Y such that P (Y ) = D to an arrow Â°(f; Y )
!
of that is cartesian for f and Y . Similarly an opcleavage Â· takes f : C Â¡ D !
and X such that P (X ) = C to an arrow Â·(f; X) that is opcartesian for f and X.
The cleavage Â° is a splitting of the Â¯bration if it satisÂ¯es the following two
requirements.
SC{1 Let D be an object of and let Y be an object of for which P (Y ) = D.
Then Â°(idD ; Y ) = idY .
SC{2 Suppose f : C Â¡ D and g : D Â¡ E in and suppose Y and Z are objects
! !
of for which P (Z) = E and Y is the domain of Â°(g; Z). Then
Â°(g; Z) Â± Â°(f; Y ) = Â°(g Â± f; Z)
Note that under the assumptions in SC{2, P (Y ) = D, so that Â°(f; Y ) and
Â°(g; Z) Â± Â°(f; Y ) are deÂ¯ned.
A Â¯bration is split if it has a splitting.
40 Fibrations
Â¡
!
Similarly, an opcleavage Â· is a splitting of an opÂ¯bration P : if
Â·(idC ; X ) = idX whenever P (X) = C and
Â·(g; Y ) Â± Â·(f; X) = Â·(g Â± f; X)
whenever f : C Â¡ D and g : D Â¡ E in , P (X) = C and Y is the codomain of
! !
Â·(f; X ). A split opÂ¯bration is again one which has a splitting.
4.1.4 Example Let and be any categories. Then the second projection
Â£Â¡ ! is both a split Â¯bration and a split opÂ¯bration. To see that it
p2 :
is a Â¯bration, suppose that f : C Â¡ C 0 in and let Y = (A; C 0) be an object of
!
Â£ . Then we can take Â°(f; Y ) to be the arrow (idA ; f ) : (A; C) Â¡ (A; C 0 ). If
!
0 00 0 00
(g; h) : (A ; C ) Â¡ (A; C ) and u : C Â¡ C satisfy f Â± u = h (note that p2 (g; h) =
! !
h), then the unique arrow from (A ; C 00 ) to (A; C 0 ) required by CA{2 is (g; u).
0
4.1.5 Example If is a category, the arrow category of (which we have
already mentioned in 4.2.17) has as objects the arrows of . An arrow from f : A
Â¡ B to g : C Â¡ D is a pair (h; k) of arrows with h : A Â¡ C, k : B Â¡ D for
! ! ! !
which
h C
A
g
f (4.1)
? ?

B D
k
commutes.
Â¡! which takes
If is the arrow category of , there is a functor P :
f : A Â¡ B to B and (h; k) : f Â¡ g to k. If
! ! has pullbacks, this functor is a
Â¯bration. For a given f : C Â¡ D in
! and object k : B Â¡ D of , a cartesian
!
arrow for f and k is any (u; f ) given by a pullback
u
P B
u0 k (4.2)
? ?

C D
f
The veriÂ¯cation is left as an exercise (Exercise ES 4).
4.1.6 Fibers For any functor P : Â¡ ! , the Â¯ber over an object C of is
the set of objects X for which P (X) = C and arrows f for which P (f) = idC . It
is easy to verify that this Â¯ber is a subcategory of (Exercise ES 1).
4.1 Fibrations 41
In the case of Example ES 4.1.4, the Â¯bers are all the same: each one is iso
morphic to the category . This suggests thinking of an arbitrary Â¯bration as a
type of generalized product, in which the Â¯rst coordinates come in general from
varying sets depending on the second coordinate. This observation can also be
made concerning the relationship between a set product S Â£ T and a general
T indexed set.
On the other hand, the Â¯ber of the Â¯bration in Example ES 4.1.5 over an
object A of is the slice category =A. Since an object of =A can be thought
of as an indexed family of objects of , indexed by A, this example has been
referred to as `Â¯bered over itself'.
4.1.7 Cleavages induce functors If is Â¯bered over , then the Â¯bers form
an indexed set of categories (indexed by the objects). Given a cleavage, the arrows
of induce functors between the Â¯bers. In this way Â¯brations or opÂ¯brations give
a concept like that of indexed sets, in which the indexing takes into account the
arrows of the underlying categories as well as the objects. Propositions ES 4.1.8
and ES 4.1.9 below spell this out.
An alternative approach to these ideas which follows the indexed set analogy
more explicitly is the concept of indexed category (see [Johnstone and ParÂ¶, e
1978], [Tarlecki, Burstall and Goguen, 1991]). Rosebrugh and Wood [1992] apply
indexed categories to relational databases and Cockett and Spencer [1992] use
them in studying datatypes.
ñòð. 14 