Swan's Theorem Over Any Base

Prerequisites: A previous brush with projective modules, equivalences of categories, vector bundles (including sections and pullbacks), and partitions of unity. While I hope to write a more introductory account at some point, this post is unfortunately not that… But I hope it can still be useful to some!

Acknowledgements: I would like to thank a few people: Kimball, for entertaining my speculations about a generalization and soon after sending me Vaserstein's paper; Brendan, for pointing out that bump functions (rather than the finite numerations that I was using) are the key to full-faithful-ness; and Julio, for consistently encouraging me to maintain my blog and helping me to believe that I have something of worth to share.

The homotopy classification of numerable principal bundles over any topological space, due to Dold, is a result that never ceases to amaze me. This is not what I will discuss here, but it is quite a testament to the sheer power of partitions of unity. A loosely related finding, due to Vaserstein, extends Swan's theorem theorem to classify (certain) vector bundles over any space. This theorem requires a fairly reasonable constraint on the vector bundles in question, which does not mention partitions of unity, but still allows for the practical use of them. This condition and the resulting theorem will be the topic of what follows. There are surely mistakes, so I would be thrilled if any reader who has a question, comment or correction would hit me up in the comments and say so.

We will write \mathbb F to denote either \mathbb R or \mathbb C. Similar results hold over \mathbb H, but I am too lazy to qualify everything with the appropriate prefixes of "left" and "right." All vector bundles will be assumed finite-dimensional. To do Swan's theorem (and topological K-theory more generally), we need to consider vector bundles with locally constant dimension. The quintessential example is the following. For a natural number n, let Gr(n) denote the Grassmannian of all subspaces of \mathbb F^n (this is the disjoint union of the n+1 usual Grassmannians with constant dimension). If \mathcal M_n denotes the vector space n\times n matrices with coordinates in \mathbb F, we can view Gr(n)\subset \mathcal M_n by identifying any P\in Gr(n) with the orthogonal projection \text{proj}_P (with the standard inner product on \mathbb F^n). Then we have n^2 coordinate maps a_{ij}:\mathcal M_n\rightarrow \mathbb{F} and a map f:X\rightarrow Gr(n) is continuous if and only if each a_{ij}\circ f is continuous (for all 1\leq i,j\leq n). In terms of subspaces and the standard basis of \mathbb F^n, we have a_{ij}(P)=\big\langle e_i,\text{proj}_P(e_j)\big\rangle.
This space Gr(n) also has a "tautological" vector bundle \tau over it, whose total space is E(\tau)=\{(P,v)\in Gr(n)\times \mathbb F^n:v\in P\}.
The fiber over any subspace P\in Gr(n) is the subspace P itself, so we see that the dimension of this bundle is not constant when n>0. Although seemingly unnatural, this will be useful for our purpose.
The projection \tau:E(\tau)\rightarrow Gr(n) is clearly continuous, since it is just a restriction of the projection Gr(n)\times \mathbb F^n\rightarrow Gr(n). To get local trivializations, consider the continuous trace map \text{tr}:\mathcal M_n\rightarrow \mathbb F. Since \text{tr}(\text{proj}_P)=\dim(P), we see that the map \dim:Gr(n)\rightarrow \mathbb N is continuous. If \dim(P)=k, then there exist some indices 1\leq i_1<i_2<\dots<i_k\leq n such that \text{proj}_P:\text{span}(e_{i_1},\dots,e_{i_k})\rightarrow P is an isomorphism. Define a continuous map D:Gr(n)\rightarrow \mathbb F by D(X)=\det\left(\begin{array}{cc}a_{i_{1}i_1}(X) & a_{i_1i_2}(X) & \cdots & a_{i_1i_k}(X)\\ a_{i_2i_1}(X) & a_{i_2i_2}(X) & \cdots & a_{i_2i_k}(X)\\ \vdots && \ddots &\vdots \\ a_{i_ki_1}(X) & a_{i_ki_2}(X) & \cdots & a_{i_ki_k}(X)\end{array}\right)
Then U=\dim^{-1}(k)\cap D^{-1}(\mathbb F-0) is an open set in Gr(n), consisting of all k-planes Q\in Gr(n) such that \text{proj}_Q:\text{span}(e_{i_1},\dots,e_{i_k})\rightarrow Q is an isomorphism. Thus we have P\in U and the map \big(Q,(x_1,\dots,x_k)\big)\mapsto \big(Q,\text{proj}_Q(x_1e_{i_1}+\dots+x_ke_{i_k})\big)
 is a trivialization U\times \mathbb F^k\rightarrow \tau^{-1}(U). This proves the local trivializability of \tau near any P\in Gr(n).

A couple of other notions will be useful before we dive in:
  • Two vector bundles \xi and \eta are said to be "complementary" if \xi\oplus \eta is trivializable.
  • A bundle \xi is "numerable" if there is an open cover \mathscr U=\{U_i:i\in I\} admitting a subordinate partition of unity, such that \xi is trivializable over each U_i. If we can choose this \mathscr U to be finite, we say that \xi is "finitely numerable."
  • For a bundle \xi over a base X, the evaluation map \text{ev}:X\times \Gamma(\xi)\rightarrow E(\xi) is \text{ev}(x,s)=s(x). We say a vector subspace V\subset \Gamma(E) is "ample" (borrowing this term from Atiyah's K-theory) if \text{ev}(X\times V)=E(\xi). This means that any vector in any fiber is in the image of some s\in V
With this language in hand, we can now state our first result. The reasonable constraint I mentioned (and the usual definition of "finite type") is our condition (a) below. Once we prove that (\text a)\Longrightarrow (\text c), we will see that the existence of a complementary bundle allows us the tool of partitions of unity. When enough is left to the imagination of the familiar reader, the parts of this proofs are "one-liners." However, I would rather give a little bit of extra detail than ask the reader to place undue trust in me, which will make some of the arguments a tad longer.

Lemma 1. For any vector bundle \xi:E\rightarrow X, the following are equivalent:
(a) \xi admits a complementary bundle \eta;
(b) \xi\cong f^*\tau for some map f:X\rightarrow Gr(n) (for some n\in \mathbb N);
(c) \xi is finitely numerable;
(d) there exists a finite-dimensional, ample subspace V\subset \Gamma(\xi);
(e) there exists a surjective bundle map \varphi:X\times \mathbb F^n\rightarrow E (for some n\in \mathbb N).
If any (and thus all) of these conditions hold(s), we say that \xi is of finite type.

Proof. There are five implications that we need to prove.
(\text a)\Longrightarrow (\text b) Choose an isomorphism \varphi:E(\xi\oplus \eta)\rightarrow X\times \mathbb F^n. We view \xi as a sub-bundle of \xi\oplus \eta, so that we have an inclusion E(\xi)\subset E(\xi\oplus \eta). We have an inner product on \xi\oplus \eta, given by (v,w)\mapsto \big\langle \pi\circ \varphi(v),\pi\circ\varphi(w)\big\rangle,
where 
\pi:X\times \mathbb F^n\rightarrow \mathbb F^n denotes projection. Therefore, we get an orthogonal projection \text{proj}_\xi:E(\xi\oplus \eta)\rightarrow E(\xi).
(Note: this may not agree with the direct sum projection \xi\oplus \eta\rightarrow \xi). D
efine a map f:X\rightarrow Gr(n) by f(x)=\pi\circ \varphi(\xi_{\,x}), where \xi_{\,x} is the fiber over x\in X. To prove that f is continuous, we need to prove that a_{ij}\circ f is continuous for every 1\leq i,j\leq n (where a_{ij}:Gr(n)\rightarrow \mathbb F is as defined above). For a fixed v\in \mathbb F^n, we can see that \text{proj}_{f(x)}(v) is continuous in x, because \text{proj}_{f(x)}(v)=\text{proj}_{\pi \circ\varphi(\xi_x)}(v)=\pi\circ \varphi\Big(\text{proj}_{\xi}\big(\varphi^{-1}(x,v)\big)\Big).
It follow that for any 1\leq i,j\leq n, the function a_{ij}\circ f(x)=\big\langle e_i,\text{proj}_{f(x)}(e_j)\big\rangle is continuous in x. Thus f is continuous. We can also define a continuous map F:E(\xi)\rightarrow E(\tau) by F(u)=\big(f\circ \xi(u),\pi\circ \varphi(v)\big).
This mapping is a lift of f to the total spaces of \xi and \tau. But for any x\in X, the map \pi\circ \varphi:\xi_x\rightarrow \mathbb F^n is a linear injection with image \pi\circ\varphi(\xi_x)=f(x)=\tau_{f(x)}. Therefore F is a fiber-wise isomorphism, which implies that F factors through an isomorphism \xi\cong f^*\tau
(\text b)\Longrightarrow (\text c) For this part, we will use that Gr(n) is compact Hausdorff (in particular, it is normal). By compactness of Gr(n), we can find a finite open cover \{U_1,\dots,U_n\} such that \tau is trivializable over each U_i. Since Gr(n) is normal, we can find functions \rho_i:Gr(n)\rightarrow [0,1] with \sum_{i=1}^n\rho_i=1 and \text{supp}(\rho_i)\subset U_i for each i=1,\dots,n (i.e. a subordinate partition of unity). Then the functions \rho_i\circ f:X\rightarrow [0,1] form a partition of unity subordinate to \{f^{-1}(U_1),\dots,f^{-1}(U_n)\}, since \text{supp}(f\circ \rho_i)\subset f^{-1}\big(\text{supp}(\rho_i)\big)\subset f^{-1}(U_i).
Over each f^{-1}(U_i), we see that \xi|_{f^{-1}(U_i)}\cong (f^*\tau)|_{f^{-1}(U_i)}\cong f^*(\tau|_{U_i})
 is the pullback of a trivializable bundle and thus trivializable. This proves that \xi is finitely numerable. (In short, we have used the facts that every bundle over a compact Hausdorff space is finitely numerable, and that finite numerability is preserved by pullbacks.)
(\text c)\Longrightarrow (\text d) By the finite numerability of \xi, we can find an open cover \{U_1,\dots,U_n\}, isomorphisms \varphi_i: U_i\times \mathbb F^{k_i}\rightarrow E(\xi|_{U_i}) (notice that the dimension may vary), and a partition of unity \{\rho_1,\dots,\rho_n\} with \text{supp}(\rho_i)\subset U_i for each i=1,\dots,n. For any 1\leq i\leq n and 1\leq j\leq k_i, we can define s_{i,j}(x)=\left\{\begin{array}{cc}\rho_i(x)\varphi_i(x,e_j),&\text{if }x\in U_i\\ 0_x,&\text{otherwise}\end{array}\right.
(Here, we write 0_x for the zero vector in the fiber \xi_x.) Since \text{supp}(\rho_i)\subset U_i, this is a well-defined section s_{i,j}\in \Gamma(\xi). Fix any x\in X and any v\in \xi_x. For each index i with x\in U_i, we can write \varphi_i^{-1}(v)=(x,a_{i1}e_1+\dots+a_{ik_i}e_{k_i})
for some scalars a_{i1},\dots,a_{ik_i}\in\mathbb F. Then we have \sum_{j=1}^{k_i}a_{ij}\varphi(x,e_j)=\varphi_i\left(x,a_{i1}e_1+\dots+a_{ik_i}e_{k_i}\right)=v.
Setting a_{ij}=0 whenever x\notin U_i, we can calculate \sum_{i=1}^n\sum_{j=1}^{k_i}a_{ij}s_{ij}(x)=\sum_{x\in U_i}\sum_{j=1}^{k_i}a_{ij}\rho_i(x)\varphi_i(x,e_j)=\sum_{x\in U_i}\rho_i(x)\sum_{j=1}^{k_i}a_{ij}\varphi_i(x,e_j)=\sum_{x\in U_i}\rho_i(x)v=v.
This proves that any v\in E(\xi) can be realized as the image of some section in V=\text{span}\{s_{ij}:1\leq i\leq n\text{ and }1\leq j\leq k_i\}.
Therefore, the subspace V\subset \Gamma(\xi) is ample and has finite dimension k_1+\dots+k_n
(\text d)\Longrightarrow (\text e) We can view the restricted map \text{ev}|_{X\times V}:X\times V\rightarrow E as a bundle map, since \xi\circ \text{ev}(x,s)=\xi\circ s(x)=x.
Since V is ample, this map is surjective. Since V is finite-dimensional, we can identify it with \mathbb F^n
(\text e)\Longrightarrow (\text a) Since \varphi is surjective, it has locally constant rank and \ker\varphi\subset X\times \mathbb F^n is a sub-bundle. Taking the standard inner product on \mathbb F^n, we get a complementary sub-bundle (\ker\varphi)^\perp\subset X\times \mathbb F^n.  The restriction \varphi:(\ker \varphi)^\perp\rightarrow \xi is a bijective bundle map, so we have \xi\cong (\ker\varphi)^\perp. But now (\ker \varphi)\oplus \xi\cong (\ker \varphi)\oplus (\ker \varphi)^\perp
is trivializable (the right-hand side is simply X\times \mathbb F^n), so \xi and \ker\varphi are complementary. 
\square

Having established several descriptions of this notion of "finite type," we will prove Swan's theorem, which describes the category of finite-type bundles as being (in some sense) the same as the category of finitely generated, projective modules over the ring C(X) of continuous maps X\rightarrow \mathbb F. To do so, we seek to understand how a bundle \xi is described by it sections \Gamma(\xi), viewed as a C(X)-module. 
This particular presentation is my own, but all proofs closely resemble those in Swan's original paper, from which I have taken both inspiration and the general trajectory of this argument.

For any bundle map f:E(\xi)\rightarrow E(\eta), we define a morphism \Gamma \!f:\Gamma(\xi)\rightarrow \Gamma(\eta) by \Gamma \!f(s)=f\circ s. Writing \textbf{Vect}_X for the category of vector bundles over X, this is a functor \Gamma:\textbf{Vect}_X\rightarrow \textbf{Mod}_{C(X)}. Additionally, if we have two bundle maps f,g:E(\xi)\rightarrow E(\eta) and functions a,b\in C(X), we get \Gamma(af+bg)=a\Gamma(f)+b\Gamma(g).
 
\big(This C(X)-linearity condition can be phrased in terms of categories enriched over \textbf{Mod}_{C(X)}.\big)

We also have a canonical isomorphism \Gamma(\xi\oplus \eta)\cong \Gamma(\xi)\oplus \Gamma(\eta) for any \xi,\eta\in \textbf{Vect}_X (applying \Gamma to the coproduct diagram \xi\rightarrow \xi\oplus \eta\leftarrow \eta produces another coproduct diagram). Let \varepsilon:X\times \mathbb F\rightarrow X be the trivial line bundle. Then we have \Gamma(\varepsilon)\cong C(X) and thus \Gamma(\varepsilon^{\oplus n})\cong C(X)^{\oplus n} for any n\in \mathbb N, so the sections of a trivializable bundle form a free C(X)-module. This leads us to our next result:

Lemma 2. If \xi:E\rightarrow X is a bundle of finite type, then \Gamma(\xi) is finitely generated and projective.

Proof. Consider a complement \xi\oplus \eta\cong \varepsilon^{\oplus n}Then we get both an inclusion and a projection map: \iota:E(\xi)\rightarrow E(\varepsilon^{\oplus n})\qquad\text{and}\qquad \pi:E(\varepsilon^{\oplus n})\rightarrow E(\xi).
Then \pi\circ \iota=\text{Id} and therefore \Gamma\pi\circ \Gamma\iota=\text{Id}. Since \Gamma\pi:\Gamma(\varepsilon^{\oplus n})\rightarrow \Gamma(\xi) a surjection with a section, we get a splitting \Gamma(\varepsilon^{\oplus n})\cong \Gamma(\xi)\oplus \ker(\Gamma \pi). Since \Gamma(\varepsilon^{\oplus n}) is free, we see that \Gamma(\xi) is projective. Moreover, the module \Gamma(\xi) is finitely generated by the images of the n generators of \Gamma(\varepsilon^{\oplus n}). \square 

We now write \textbf{Vec}_X^\text{fin} for the category of bundles over X of finite type and \textbf{Proj}_{C(X)}^\text{fin} for the category of finitely generated projective C(X)-modules. We get a restricted functor \Gamma:\textbf{Vec}_X^\text{fin}\rightarrow \textbf{Proj}_{C(X)}^\text{fin} by Lemma 2. Our ultimate theorem will show that these two categories are identified by the functor \Gamma. More precisely, recall that an "equivalence" of categories is a functor F:\mathscr C\rightarrow \mathscr D, which is:
  • fully faithful, meaning that F:\text{Hom}(A,B)\rightarrow \text{Hom}\big(F(A),F(B)\big) is a bijection for all objects A,B\in \text{Ob}(\mathscr C) (i.e. morphisms in \mathscr C and \mathscr D look the same under the functor F);
  • essentially surjective, meaning that every object B\in \text{Ob}(\mathscr D) is isomorphic to F(A) for some object A\in \text{Ob}(\mathscr C) (i.e. isomorphism classes in \mathscr D all contain objects hit by the functor F).
Notice that F being fully faithful already implies that F is injective on isomorphism classes, which is why the second condition only requires essential surjectivity. We will (eventually) show the functor \Gamma:\textbf{Vec}_X^\text{fin}\rightarrow \textbf{Proj}_{C(X)}^\text{fin} to be an equivalence of categories. In fact, the fully faithful condition will hold for a larger class of bundles! Since this post is all about proving things in generality, I will go into these more pedantic details, starting with some more definitions concerning a bundle \xi:E\rightarrow X.
  • For our purposes, a "bump function about x" means a map u:X\rightarrow [0,\infty), where u(x)>0 and \xi is trivializable over some open set U\supset \text{supp}(u). (Possibly rescaling, we can assume that u(x)=1.) If every x\in X admits a bump function about x, we say that \xi is "bumpable."
  • Using the definition of "ample" above, we will say that \xi has "ample sections" if \Gamma(\xi) is ample, i.e. every vector in every fiber is in the image of some section.
  • We say that sections s_1,\dots,s_n\in \Gamma(\xi) form a "local basis near x" if there is a neighborhood x\in U such that s_1(y),\dots,s_n(y) is a basis of the fiber \xi_y for every y\in U. We will say that the bundle has local bases to mean that every point x\in X admits a local basis near x
We begin by collecting some facts about these notions:

Lemma 3. If s_1,\dots,s_n\in \Gamma(\xi) are such that s_1(x),\dots,s_n(x) are a basis for the fiber \xi_x, then they form a local basis near x. Our properties of bundles obey the following chain of implications:
\text{trivializable}\Longrightarrow \text{finite type}\Longrightarrow \text{bumpable}\Longrightarrow \text{ample sections}\Longleftrightarrow \text{local bases}.
Proof. Suppose that s_1,\dots,s_n\in \Gamma(\xi) are such that s_1(x),\dots,s_n(x) form a basis for the fiber \xi_x. Then, by the upper semi-continuity of rank, there is a neighborhood x\in U, with s_1(y),\dots,s_n(y) linearly independent for each y\in U. Since \xi has locally constant dimension, there is a neighborhood x\in V with \dim\xi_y=n for each y\in V. Thus s_1(y),\dots,s_n(y) is a basis of \xi_y for every y\in U\cap V, so the sections s_1,\dots,s_n form a local basis near x
        Suppose that \xi has ample sections. For any point x\in X, we can choose a basis v_1,\dots,v_n\in \xi_x and find sections s_1,\dots,s_n\in \Gamma(\xi), with s_i(x)=v_i for each i=1,\dots,n. We have just proven that such sections will form a local basis near x. Since x was arbitrary, we see that \xi admits local bases.
        Conversely, suppose that \xi admits local bases. Then for any x\in X, we can take a local basis s_1,\dots,s_n\in \Gamma(\xi) near x. Since s_1(x),\dots,s_n(x) span the fiber \xi_x, we see that any vector in this fiber is in the image of a section. But x was arbitrary, so \xi has ample sections.
        Suppose that \xi is bumpable. For any x\in X, we can find a trivialization \varphi:U\times \mathbb F^n\rightarrow E(\xi|_U) over a neighborhood x\in U, and a function u:X\rightarrow [0,\infty) such that u(x)=1 and \text{supp}(u)\subset U. Any element of the fiber \xi_x is of the form \varphi(x,v) for some v\in \mathbb F^n and thus lies in the image of s(y)=\left\{\begin{array}{cc}u(y)\varphi(y,v), & \text{if }x\in U\\ 0_x, & \text{otherwise}\end{array}\right.
Since \text{supp}(u)\subset U, this gives us a well-defined section s\in \Gamma(\xi). Since x and v were both arbitrary, this proves that \xi has ample sections.
        Finally, the implications "\text{trivializable}\Longrightarrow \text{finite type}" and "\text{finite type}\Longrightarrow \text{bumpable}" follow immediately from Definitions 1(a) and 1(c) of finite type, respectively. \square

Let \textbf{Vect}_X^\text{bump} denote the category of bumpable vector bundles over X. We now set out to prove that the restricted functor \Gamma:\textbf{Vect}_X^\text{bump}\rightarrow \text{Mod}_{C(X)} is fully faithful, beginning with faithfulness:

Lemma 4. Given two bundles \xi,\eta\in \textbf{Vect}_X, where \xi has ample sections, the map of hom-sets \Gamma:\text{Hom}(\xi,\eta)\rightarrow \text{Hom}\big(\Gamma(\xi),\Gamma(\eta)\big) is injective.

Proof. Since the hom-sets are abelian groups and the map \Gamma is a homomorphism, it suffices to show that its kernel is trivial. Suppose that f:E(\xi)\rightarrow E(\eta) is a bundle map with \Gamma\!f=0. By ampleness, for any v\in E(\xi), we have some x\in X and s\in \Gamma(\xi) with s(x)=v. But then we have f(v)=(f\circ s)(v)=\Gamma\!f(s)(v)=0,
since \Gamma\!f=0. Since v\in E(\xi) was arbitrary, it follows that f=0. \square

We can also give a more algebraic description of fibers, in terms of sections. For a vector bundle \xi:E\rightarrow X and a point x\in X, we will write \text{ev}_x:\Gamma(\xi)\rightarrow \xi_x to denote evaluation \text{ev}_x(s)=s(x). This is a morphism of C(X)-modules and if \Gamma(\xi) is ample, then \text{ev}_x is surjective. Therefore, we can describe \xi_x\cong \Gamma(\xi)/\ker (\text{ev}_x). Recall that if R is a ring, I\subset R is an ideal and M is an R-module, we write IM for the submodule of M generated by \{am:a\in I\text{ and }m\in M\}, which consists of all finite sums of these generating elements am (with a\in I and m\in M). With this notation, we have:

Lemma 5. Consider a bumpable bundle \xi:E\rightarrow X. Fix a point x\in X and let \mathfrak m_x\subset C(X) denote the ideal of functions that vanish at x. Then \ker(\text{ev}_x)=\mathfrak m_x \Gamma(\xi) and therefore \xi_x\cong \Gamma(\xi)/\mathfrak m_x\Gamma(\xi).

Proof. Since bumpable bundles have ample sections, the second assertion will follow immediately from the first assertion and the paragraph above. If a\in \mathfrak m_x and s\in \Gamma(\xi), then a(x)=0 and thus \text{ev}_x(as)=(as)(x)=a(x)s(x)=0.
Therefore \mathfrak m_x\Gamma(\xi)\subset \ker(\text{ev}_x). To prove the converse inclusion, suppose that s\in \ker(\text{ev}_x). Since \xi is bumpable, there exists a neighborhood x\in U, a trivialization \varphi:E(\xi|_U)\rightarrow U\times \mathbb F^n
, and a map u:X\rightarrow [0,\infty) with u(x)=1 and \text{supp}(u)\subset U. We define v:X\rightarrow [0,1] and w:X\rightarrow \mathbb R by v(y)=\min\left(2u(y),1\right)\qquad\text{and}\qquad w(y)=\min(2-2u(x),1).
Now, notice that v\equiv 1 on the open set u^{-1}(1/2,\infty) containing x, whereas w\equiv 1 on u^{-1}[0,1/2]. Thus v(y)<1\Longrightarrow w(y)=1. Note also that w(x)=0, so we have w\in \mathfrak m_x. Let \pi_i:U\times \mathbb F^n\rightarrow \mathbb F denote projection onto the i^\text{th} coordinate of \mathbb F^n. For each i=1,\dots,n, we can define both a_i(y)=\left\{\begin{array}{cc}v(y)\cdot (\pi_i\circ \varphi\circ s)(y), & \text{if }y\in U\\ 0, & \text{otherwise}\end{array}\right.\qquad\text{and}\qquad s_i(y)=\left\{\begin{array}{cc}v(y)\cdot \varphi^{-1}(y,e_i), & \text{if }y\in U \\ 0_y, & \text{otherwise}\end{array}\right.
Since \text{supp}(v)=\text{supp}(u)\subset U, we get well-defined a_1,\dots,a_n\in C(X) and s_1,\dots,s_n\in \Gamma(\xi). Since s(x)=0_x by assumption, we have a_i(x)=0 and therefore a_i\in \mathfrak m_x, for all i=1,\dots,n. Whenever v(y)=1 (which implies y\in U), we can view s_i(y) as the i^\text{th} basis vector of the fiber \xi_y and a_i(y) as the corresponding component of s(y)\in \xi_y (both via the trivialization \varphi), so we get s(y)=a_1(y)s_1(y)+\dots+a_n(y)s_n(y).
Phrased differently, the section r=s-(a_1s_1+\dots+a_ns_n) vanishes on v^{-1}(1). Thus if r(y)\neq 0, then v(y)<1 and consequently w(y)=1. This proves that r=wr and consequently that s=r+a_1s_1+\dots+a_ns_n=wr+a_1s_1+\dots+a_ns_n\in \mathfrak m_x \Gamma(\xi).
Since s\in \ker(\text{ev}_x) was arbitrary, this proves the reverse inclusion \ker(\text{ev}_x)\subset \mathfrak m_x\Gamma(\xi). \square

Lemma 5 says that in a bumpable bundle, the vanishing of a section at a point x can be seen to occur "because of functions" vanishing at xThis will combine with the C(X)-linearity of \Gamma to show that every module homomorphism \Gamma(\xi)\rightarrow \Gamma(\eta) comes from a bundle map \xi\rightarrow \eta. More specifically:

Lemma 6. If \xi and \eta are bundles over X and \xi is bumpable, then the map of hom-sets \Gamma:\text{Hom}(\xi,\eta)\rightarrow \text{Hom}\big(\Gamma(\xi),\Gamma(\eta)\big)
is a bijection. In particular, the functor 
\Gamma:\textbf{Vec}_X^\text{bump}\rightarrow \textbf{Mod}_{C(X)} is fully faithful.

Proof. Since any bumpable bundle has ample sections, injectivity of this map follows from Lemma 4, so it suffices to consider an arbitrary morphism \varphi:\Gamma(\xi)\rightarrow \Gamma(\eta) and show that it lies in the image. For any x\in X, we have a morphism \text{ev}_x\circ\varphi:\Gamma(\xi)\rightarrow \eta_x. For any a\in \mathfrak m_x and s\in \Gamma(\xi), we get \text{ev}_x\circ \varphi(as)=\text{ev}_x\big(a\varphi(s)\big)=a(x)\cdot \varphi(s)(x)=0,
since a(x)=0. Thus \mathfrak m_x\Gamma(\xi)\subset \ker(\text{ev}_x\circ \varphi), so this \text{ev}_x\circ\varphi factors through to give a linear map f_x:\xi_x\cong \Gamma(\xi)/\mathfrak m_x\Gamma(\xi)\rightarrow \eta_x.
(Here, we are using Lemma 5 and the assumption that \xi is bumpable.) We want to define a bundle map f:E(\xi)\rightarrow E(\eta) given fiberwise by f_x:\xi_x\rightarrow \eta_x. From this definition, for any s\in \Gamma(\xi), we have f\big(s(x)\big)=f_x\big(s(x)\big)=\text{ev}_x\circ \varphi(s)=\varphi(s)(x).
We don't yet know that f is continuous, but once we do, the rest will fall into place. By its definition, we have f(\xi_x)\subset \eta_x, so we indeed get a bundle map. 
This map also satisfies \Gamma\!f=\varphi (proving that \varphi is in the image of \Gamma), because \Gamma\!f(s)(x)=f\circ s(x)=\varphi(s)(x). It remains to prove f is continuous. Fix x\in X and let s_1,\dots,s_n\in \Gamma(\xi) be a local basis near x. Then there is a neighborhood x\in U such that s_1(y),\dots,s_n(y) forms a basis of \xi_y for each y\in U. Thus we may define a trivialization \psi:U\times \mathbb F^n\rightarrow E(\xi|_U)\qquad\text{by}\qquad \psi\big(y,(a_1,\dots,a_n)\big)=a_1s_1(y)+\dots+a_ns_n(y).
On this trivialized portion, we can see that f\circ \psi is continuous, being a linear combination of sections: f\circ\psi\big(y,(a_1,\dots,a_n)\big)=a_1f\big(s_1(y)\big)+\dots+a_nf\big(s_n(y)\big)=a_1\varphi(s_1)(y)+\dots+a_n\varphi(s_n)(y).
But \psi is a homeomorphism onto the open set E(\xi|_U)\subset E(\xi) containing the fiber \xi_x, so this proves continuity of f near that fiber. Since x\in X was an arbitrary point, we conclude that f is continuous.
        Our final assertion—that the functor \Gamma:\textbf{Vect}^\text{bump}_X\rightarrow \textbf{Mod}_{C(X)} is fully faithful—is really just a restatement of the above result (with the added, unnecessary assumption that \eta is bumpable). \square

Knowing this functor to be fully faithful is quite powerful: it is a complete description of bundles and maps between them, purely in terms of their modules of sections. For example, given any bumpable bundles \xi and \eta, we have \xi\cong \eta\Longleftrightarrow \Gamma(\xi)\cong \Gamma(\eta). But we are still lacking in one respect: we don't have a good idea of which C(X)-modules can be realized as modules of sections. To identify a nice sub-category of \textbf{Mod}_{C(X)} that exactly reflects a category of bundles, we have to restrict to finite type. Once we make this restrction, following the creed that objects are best understood in terms of maps between them, we will see that essential surjectivity follows fairly directly from full-faithful-ness (combined with the fact that "fiber-wise projections have locally constant rank," detailed below). 

Theorem 7. For any finitely generated projective C(X)-module P, there exists a bundle \xi:E\rightarrow X of finite type, such that \Gamma(\xi)\cong P. Hence \Gamma:\textbf{Vec}_X^\text{fin}\rightarrow \textbf{Proj}_{C(X)}^\text{fin} is an equivalence of categories.

Proof. Since P is finitely generated and projective, we can write P\oplus Q\cong C(X)^{\oplus n} for some other C(X)-module Q and some n\in\mathbb N. Then we have a C(X)-linear map \varphi:C(X)^{\oplus n}\rightarrow C(X)^{\oplus n}, corresponding to projection P\oplus Q\rightarrow P. We can identify C(X)^{\oplus n}=\Gamma(\varepsilon^{\oplus n}) and get a bijection \Gamma:\text{Hom}(\varepsilon^{\oplus n},\varepsilon^{\oplus n})\rightarrow \text{Hom}\big(C(X)^{\oplus n},C(X)^{\oplus n}\big),
because \Gamma is fully faithful on bumpable bundles (e.g. trivial bundles). Now let f:E(\varepsilon^{\oplus n})\rightarrow E(\varepsilon^{\oplus n}) be the unique bundle map with \Gamma\! f=\varphi. Since \varphi is a projection, we have \varphi^2=\varphi and thus f^2=f. Let f_x:\mathbb F^n\rightarrow \mathbb F^n denote the map f on the fiber over some x\in X. Since f_x^2=f_x, we see that \mathbb F^n splits as the direct sum of two eigenspaces: \mathbb F^n=\ker(f_x)\oplus \ker(\text{Id}-f_x)
. Thus we have \text{rank}(f_x)=n-\dim\ker(f_x)=\dim\ker(\text{Id}-f_x)=n-\text{rank}(\text{Id}-f_x).
From the upper semi-continuity of rank (applied to f_x and \text{Id}-f_x), we can now see that the function \text{rank}(f_x) is upper and lower semi-continuous as a function X\rightarrow \mathbb N and therefore locally constant. Thus, we may define sub-bundles \eta=\ker f and \xi=\text{im}\,f=\ker(\text{Id}-f) with \xi\oplus \eta=\varepsilon^{\oplus n}. Then
\Gamma(\xi)\oplus \Gamma(\eta)\cong \Gamma(\xi\oplus \eta)=\Gamma(\varepsilon^{\oplus n})=C(X)^{\oplus n}.
Since f:\xi\oplus \eta\rightarrow \xi\oplus \eta simply annihilates the \eta-component, we can see that \Gamma\!f:\Gamma(\xi)\oplus \Gamma(\eta)\rightarrow \Gamma(\xi)\oplus \Gamma(\eta)
just annihilates the \Gamma(\eta)-component. Since \Gamma\!f=\varphi, we therefore have \Gamma(\xi)\cong \text{im}\,\Gamma\!f=\text{im}\,\varphi\cong P.
        Finally, we put all the pieces together. We proved in Lemma 2 that \Gamma(\xi) is finitely generated and projective whenever \xi has finite type, so we have a functor \Gamma:\textbf{Vec}_X^\text{fin}\rightarrow \textbf{Proj}_{C(X)}^\text{fin}. We have just proven that this functor is essentially surjective. It is fully faithful by Lemma 6, since any finite type bundle is bumpable. Therefore, we have proven the desired equivalence of categories. \square

Comments