[step:Build a chart from a commuting frame by composing flows]
Assume for now that we have smooth sections $\hat E_1, \ldots, \hat E_k \in \Gamma(E|_U)$ on some open $U \ni p$ that (i) form a pointwise basis of $E_q$ for every $q \in U$, and (ii) satisfy $[\hat E_i, \hat E_j] = 0$ on $U$ for every $1 \le i, j \le k$. We construct the Frobenius chart under this assumption.
Extend $\hat E_1(p), \ldots, \hat E_k(p) \in T_pM$ to a basis $\hat E_1(p), \ldots, \hat E_k(p), v_{k+1}, \ldots, v_n$ of $T_pM$ by adjoining vectors $v_{k+1}, \ldots, v_n \in T_pM$. Choose a smooth chart $(\tilde U, \tilde\varphi)$ at $p$ with $\tilde\varphi(p) = 0$ and with coordinate directions $\partial_{\tilde x_l}|_p = v_l$ for $l = k+1, \ldots, n$ (obtained from any initial chart by a linear change of coordinates on $\mathbb{R}^n$).
Let $\varphi^{\hat E_i}_{t}$ denote the local flow of $\hat E_i$. Define
\begin{align*}
F: (-\varepsilon, \varepsilon)^n &\to M \\
(y_1, \ldots, y_n) &\mapsto \bigl(\varphi^{\hat E_1}_{y_1} \circ \cdots \circ \varphi^{\hat E_k}_{y_k}\bigr)\bigl(\tilde\varphi^{-1}(0, \ldots, 0, y_{k+1}, \ldots, y_n)\bigr),
\end{align*}
for some $\varepsilon > 0$ small enough that all flows are defined and the image stays inside $U \cap \tilde U$. Then $F(0) = p$.
[/step]