[guided]The purpose of the trivialization is to turn a section of $E$ into an ordinary vector-valued function. Let $V \subset U$ be open. We define
\begin{align*}
T_V: \mathcal{E}(V) &\to \mathcal{C}^\infty_M(V)^k
\end{align*}
by taking a section $s: V \to E$ and writing it in the chosen trivialization. Since $s$ is a section, it satisfies $\pi \circ s = \operatorname{id}_V$. Since $\Phi$ is a trivialization over $U$, it satisfies
\begin{align*}
\operatorname{pr}_1 \circ \Phi = \pi|_{\pi^{-1}(U)}.
\end{align*}
Therefore
\begin{align*}
\operatorname{pr}_1 \circ \Phi \circ s
= \pi \circ s
= \operatorname{id}_V.
\end{align*}
This means that $\Phi(s(x))$ has first coordinate $x$. Hence there is a unique smooth map
\begin{align*}
f_s: V &\to \mathbb{R}^k
\end{align*}
such that
\begin{align*}
\Phi(s(x)) = (x,f_s(x)).
\end{align*}
Writing $f_s=(f_{s,1},\dots,f_{s,k})$, where each
\begin{align*}
f_{s,i}: V &\to \mathbb{R}
\end{align*}
is smooth, we set
\begin{align*}
T_V(s) := (f_{s,1},\dots,f_{s,k}).
\end{align*}
Now we construct the inverse map explicitly. Given a tuple $(g_1,\dots,g_k) \in \mathcal{C}^\infty_M(V)^k$, define the smooth map $g: V \to \mathbb{R}^k$ by
\begin{align*}
g(x) = (g_1(x),\dots,g_k(x)).
\end{align*}
Then define the map $S_V(g_1,\dots,g_k): V \to E$ by
\begin{align*}
S_V(g_1,\dots,g_k)(x) = \Phi^{-1}(x,g(x)).
\end{align*}
This map is smooth because it is the composite of the smooth map $x \mapsto (x,g(x))$ with the smooth map $\Phi^{-1}$. It is also a section, since
\begin{align*}
\pi(S_V(g_1,\dots,g_k)(x))
= \pi(\Phi^{-1}(x,g(x)))
= x.
\end{align*}
Therefore $S_V(g_1,\dots,g_k) \in \mathcal{E}(V)$.
The two constructions undo one another. Starting with a section $s$, the definition of $f_s$ gives
\begin{align*}
S_V(T_V(s))(x)
= \Phi^{-1}(x,f_s(x))
= s(x).
\end{align*}
Starting with a tuple $(g_1,\dots,g_k)$, the section $S_V(g_1,\dots,g_k)$ has trivialized form $(x,g(x))$, so its coordinate functions are exactly $g_1,\dots,g_k$:
\begin{align*}
T_V(S_V(g_1,\dots,g_k)) = (g_1,\dots,g_k).
\end{align*}
Thus $T_V$ is a bijection.
Finally, the bijection respects the module structures because $\Phi$ is fibrewise linear. For $a \in \mathcal{C}^\infty_M(V)$ and $s,t \in \mathcal{E}(V)$, addition and scalar multiplication of sections are defined fibrewise. For every $x \in V$,
\begin{align*}
(s+t)(x) = s(x)+t(x).
\end{align*}
Also, for every $x \in V$,
\begin{align*}
(a s)(x) = a(x)s(x).
\end{align*}
Since $\Phi_x: E_x \to \mathbb{R}^k$ is linear for every $x \in V$, these operations become componentwise addition and scalar multiplication on $\mathcal{C}^\infty_M(V)^k$. Hence
\begin{align*}
T_V(s+t) = T_V(s)+T_V(t).
\end{align*}
Similarly,
\begin{align*}
T_V(a s) = a\,T_V(s).
\end{align*}
Therefore $T_V$ is an isomorphism of $\mathcal{C}^\infty_M(V)$-modules.[/guided]