[proofplan]
We first name the chosen local free trivializations and extract transition matrices from the induced automorphisms of the free sheaf in the standard basis. The inverse change of basis proves that these matrices are pointwise invertible, so they define smooth maps into $GL(k,\mathbb R)$, and functoriality of composition gives the cocycle identities. We then glue the local products $U_i \times \mathbb R^k$ using these transition functions and identify the sheaf of smooth sections of the resulting bundle with $\mathcal F$ by matching local coordinate functions.
[/proofplan]
[step:Represent each change of local basis by a smooth invertible matrix]
For each $i\in I$, write
\begin{align*}
\varphi_i:\mathcal F|_{U_i} &\longrightarrow (\mathcal C^\infty_M|_{U_i})^k
\end{align*}
for the chosen isomorphism of sheaves of $\mathcal C^\infty_M|_{U_i}$-modules. Fix $i,j \in I$, and set $U_{ij} := U_i \cap U_j$. Define $A_{ij}$ to be the sheaf morphism from $(\mathcal C^\infty_M|_{U_{ij}})^k$ to $(\mathcal C^\infty_M|_{U_{ij}})^k$ given by
\begin{align*}
A_{ij}:= \varphi_i|_{U_{ij}} \circ \bigl(\varphi_j|_{U_{ij}}\bigr)^{-1}.
\end{align*}
Let $\varepsilon_1,\dots,\varepsilon_k$ denote the standard local frame of $(\mathcal C^\infty_M|_{U_{ij}})^k$. Since $A_{ij}$ is $\mathcal C^\infty_M|_{U_{ij}}$-linear, there are unique functions $g_{ij,ab} \in C^\infty(U_{ij})$, for $1 \leq a,b \leq k$, such that
\begin{align*}
A_{ij}(\varepsilon_b)=\sum_{a=1}^k g_{ij,ab}\varepsilon_a.
\end{align*}
Let $M_k(\mathbb R)$ denote the real [vector space](/page/Vector%20Space) of $k\times k$ matrices. Define $g_{ij}: U_{ij} \to M_k(\mathbb R)$ by
\begin{align*}
g_{ij}(x):= \bigl(g_{ij,ab}(x)\bigr)_{1 \leq a,b \leq k}.
\end{align*}
Each entry $g_{ij,ab}$ is smooth, so $g_{ij}$ is a smooth map into $M_k(\mathbb R)$.
It remains to show that the image lies in $GL(k,\mathbb R)$. Since $A_{ij}$ is an isomorphism, its inverse is
\begin{align*}
A_{ji}: (\mathcal C^\infty_M|_{U_{ij}})^k \longrightarrow (\mathcal C^\infty_M|_{U_{ij}})^k.
\end{align*}
Writing $A_{ji}$ in the same way gives a smooth matrix-valued function $g_{ji}:U_{ij}\to M_k(\mathbb R)$. The equalities $A_{ij}A_{ji}=\operatorname{id}$ and $A_{ji}A_{ij}=\operatorname{id}$ imply, after applying both sides to each $\varepsilon_b$, that $g_{ij}(x)g_{ji}(x)=I_k$ and $g_{ji}(x)g_{ij}(x)=I_k$ for every $x \in U_{ij}$. Hence $g_{ij}(x)\in GL(k,\mathbb R)$ for every $x \in U_{ij}$, and therefore
\begin{align*}
g_{ij}:U_{ij}\to GL(k,\mathbb R)
\end{align*}
is smooth.
[/step]
[step:Derive the cocycle identities from composition of trivializations]
For every $i \in I$, the map $A_{ii}$ is the identity automorphism of $(\mathcal C^\infty_M|_{U_i})^k$, so its matrix is $g_{ii}(x)=I_k$ for all $x \in U_i$.
Now fix $i,j,\ell \in I$, and set $U_{ij\ell}:=U_i\cap U_j\cap U_\ell$. On $U_{ij\ell}$, composition of the restricted sheaf morphisms gives
\begin{align*}
A_{ij}\circ A_{j\ell}=\varphi_i\circ \varphi_j^{-1}\circ \varphi_j\circ \varphi_\ell^{-1}=\varphi_i\circ \varphi_\ell^{-1}=A_{i\ell}.
\end{align*}
Applying this identity to the standard basis and using the column convention for the matrices gives
\begin{align*}
g_{ij}(x)g_{j\ell}(x)=g_{i\ell}(x)
\end{align*}
for every $x \in U_{ij\ell}$.
[guided]
The transition maps must satisfy the same algebra as changing coordinates. First, changing from the $i$-trivialization to itself does nothing. In sheaf language this says $A_{ii}=\varphi_i\circ\varphi_i^{-1}=\operatorname{id}_{(\mathcal C^\infty_M|_{U_i})^k}$,
so the associated matrix is the identity matrix:
\begin{align*}
g_{ii}(x)=I_k
\end{align*}
for every $x\in U_i$.
For the triple-overlap identity, fix $i,j,\ell\in I$ and define $U_{ij\ell}:=U_i\cap U_j\cap U_\ell$. On this [open set](/page/Open%20Set), the map $A_{j\ell}$ changes coordinates from the $\ell$-trivialization to the $j$-trivialization, and $A_{ij}$ then changes coordinates from the $j$-trivialization to the $i$-trivialization. Their composition is therefore $A_{ij}\circ A_{j\ell}=\varphi_i\circ \varphi_j^{-1}\circ \varphi_j\circ \varphi_\ell^{-1}=\varphi_i\circ \varphi_\ell^{-1}=A_{i\ell}$.
Because the matrices $g_{ij}$ were defined by the action of $A_{ij}$ on the standard basis of the free rank $k$ sheaf, composition of sheaf morphisms corresponds to multiplication of the associated matrices. Thus, for every $x\in U_{ij\ell}$,
\begin{align*}
g_{ij}(x)g_{j\ell}(x)=g_{i\ell}(x).
\end{align*}
This is exactly the cocycle identity needed to glue local vector bundles.
[/guided]
[/step]
[step:Glue the local products using the transition maps]
Define a set
\begin{align*}
E := \left(\coprod_{i\in I} U_i\times \mathbb R^k\right)\big/\sim,
\end{align*}
where the [equivalence relation](/page/Equivalence%20Relation) $\sim$ is generated by
\begin{align*}
(j,x,v)\sim (i,x,g_{ij}(x)v)
\end{align*}
for all $i,j\in I$, all $x\in U_{ij}$, and all $v\in\mathbb R^k$. The cocycle identities prove that this relation is compatible on triple overlaps and hence that $\sim$ is transitive after passing through any chain of overlapping trivializations. Define $\pi:E\to M$ by
\begin{align*}
\pi([(i,x,v)]):=x.
\end{align*}
For each $i\in I$, define the local trivialization $\Psi_i:\pi^{-1}(U_i)\to U_i\times \mathbb R^k$ by
\begin{align*}
\Psi_i([(j,x,v)]):=(x,g_{ij}(x)v).
\end{align*}
This map is well-defined because the cocycle identity gives the same value after replacing $(j,x,v)$ by an equivalent representative. Its inverse is the map from $U_i\times \mathbb R^k$ to $\pi^{-1}(U_i)$ sending $(x,v)$ to $[(i,x,v)]$.
The standard vector-bundle gluing theorem applies exactly to an open cover, smooth transition maps into $GL(k,\mathbb R)$, and the identities $g_{ii}=I_k$ and $g_{ij}g_{j\ell}=g_{i\ell}$ on triple overlaps; these hypotheses were verified in the previous two steps. Therefore equip $E$ with the unique topology and smooth structure for which each $\Psi_i$ is a homeomorphism and a smooth chart over $U_i$. On $U_{ij}$, the transition map between these charts is the map from $U_{ij}\times \mathbb R^k$ to $U_{ij}\times \mathbb R^k$ sending $(x,v)$ to $(x,g_{ij}(x)v)$. This map is smooth because $g_{ij}:U_{ij}\to GL(k,\mathbb R)$ is smooth, and its inverse sends $(x,v)$ to $(x,g_{ji}(x)v)$, which is smooth for the same reason. Thus the charts are smoothly compatible, the projection $\pi$ is locally the projection $U_i\times\mathbb R^k\to U_i$, and the vector space operations are smooth because in each chart they are the standard operations on $\mathbb R^k$. These charts define a smooth rank $k$ real vector bundle $\pi:E\to M$.
[/step]
[step:Identify local sections of the glued bundle with compatible coordinate functions]
Let $V\subset M$ be open. A smooth section $s:V\to E$ is equivalently a family of smooth maps $f_i:V\cap U_i\to \mathbb R^k$
such that, on $V\cap U_i\cap U_j$,
\begin{align*}
f_i(x)=g_{ij}(x)f_j(x).
\end{align*}
Indeed, $f_i$ is the coordinate expression of $s$ under $\Psi_i$, and the displayed equation is precisely the transition rule for the bundle trivializations.
On the other hand, a section $t\in \mathcal F(V)$ determines local coordinate functions
\begin{align*}
f_i := \varphi_i(t|_{V\cap U_i}) \in \bigl(C^\infty(V\cap U_i)\bigr)^k.
\end{align*}
On $V\cap U_i\cap U_j$ these satisfy
\begin{align*}
f_i
=
(\varphi_i\circ\varphi_j^{-1})(f_j)
=
g_{ij}f_j.
\end{align*}
Thus $t$ determines a smooth section of $E$ over $V$.
Conversely, suppose a family $(f_i)_{i\in I}$ with
\begin{align*}
f_i\in \bigl(C^\infty(V\cap U_i)\bigr)^k
\end{align*}
satisfies $f_i=g_{ij}f_j$ on $V\cap U_i\cap U_j$. Define
\begin{align*}
t_i := \varphi_i^{-1}(f_i)\in \mathcal F(V\cap U_i).
\end{align*}
The compatibility condition gives
\begin{align*}
t_i|_{V\cap U_i\cap U_j}=t_j|_{V\cap U_i\cap U_j},
\end{align*}
so the sheaf gluing axiom for $\mathcal F$ produces a unique $t\in\mathcal F(V)$ with $t|_{V\cap U_i}=t_i$ for every $i\in I$.
[/step]
[step:Conclude that the sheaf of sections is isomorphic to the original locally free sheaf]
Let $\Gamma^\infty(E)$ denote the sheaf of smooth sections of the smooth vector bundle $\pi:E\to M$, so that for each open set $V\subset M$, $\Gamma^\infty(E)(V)$ is the $C^\infty(V)$-module of smooth maps $s:V\to E$ satisfying $\pi\circ s=\operatorname{id}_V$. For each open set $V\subset M$, define $\Theta_V:\mathcal F(V)\to \Gamma^\infty(E)(V)$ by sending $t\in\mathcal F(V)$ to the section whose local coordinate functions are
\begin{align*}
\varphi_i(t|_{V\cap U_i})\in \bigl(C^\infty(V\cap U_i)\bigr)^k.
\end{align*}
The previous step proves that $\Theta_V$ is bijective. Since each $\varphi_i$ is $\mathcal C^\infty_M$-linear, $\Theta_V$ is a $C^\infty(V)$-module homomorphism. The construction commutes with restriction to smaller open subsets because both the sheaf restrictions in $\mathcal F$ and the coordinate restrictions of sections of $E$ are computed locally on the same cover. Therefore the family $(\Theta_V)_{V\subset M}$ is an isomorphism of sheaves of $\mathcal C^\infty_M$-modules:
\begin{align*}
\mathcal F \cong \Gamma^\infty(E).
\end{align*}
This completes the reconstruction of a smooth rank $k$ vector bundle from the locally free sheaf $\mathcal F$.
[/step]