Existence of horizontal lifts on submersion $\pi: M \to N$ Let $M$ and $N$ be smooth Riemannian manifolds, and consider a smooth submersion $\pi: M \to N$. We define the vertical tangent space at $x$ by $V_x := \ker d\pi_x$ and the horizontal tangent space at $x$ by $H_x := V_x^\perp$. I'd like to show that every vector field $X$ on $N$ has a horizontal lift $\tilde{X}$ on $M$. That is, $\tilde{X}$ is a horizontal vector field and $d \pi_x \tilde{X}_x = X_{\pi(x)}$ for all $x \in M$.
It's clear that we can define $\tilde{X}$ by $\tilde{X}_x = \left(d\pi_x\big{\vert}_{H_x}\right)^{-1} X_{\pi(x)}$ for all $x \in M$, since $d\pi_x: H_x \to T_{\pi(x)} N$ is a linear isomorphism by construction of the horizontal tangent space. I just need to show that such an $\tilde{X}$ is smooth.
For this, we can take advantage of the fact that $\pi$ looks locally like a projection. That is, for some coordinates $(x^1, \dots, x^m)$ on $M$, we have $\pi(x^1, \dots, x^m) = (x^1, \dots, x^n)$, where $m = \dim(M)$ and $n = \dim(N)$. Applying Gram-Schmidt to the coordinate vector fields, we can get a smooth orthonormal frame $E_1, \dots, E_m$ such that $(E_1)_x, \dots, (E_n)_x$ span $H_x$ and $(E_{n+1})_x, \dots, (E_m)_x$ span $V_x$ for all $x$ in the coordinate neighborhood. This type of reasoning was used in this post, but I'm not following the conclusion well.
It is claimed that for $1 \le i \le n$, $d\pi_x$ maps each $E_i$ to a smooth vector field on $N$ (although I believe they meant to say $d\pi$, not $d\pi_x$). How do we know that $d \pi(E_i)$ is well-defined? That is, how can we say for certain that $(E_i)_x = (E_i)_y$ whenever $\pi(x) = \pi(y)$?  It is clear that $\pi(x) = \pi(y)$ is equivalent to saying $x = (x^1, \dots, x^n, x^{n+1}, \dots, x^m)$ and $y = (x^1, \dots, x^n, y^{n+1}, \dots, y^m)$, but I'm not sure how the $E_i$ look. And even once we have this, it's still not clear how I should proceed. I guess I can say that any horizontal vector field on $M$ can (locally) be written as $A^i E_i$, which can then be mapped to a smooth vector field $(A^i \circ \pi)d\pi(E_i)$ on $N$. But how do I know that the inverse is also true?
 A: No, the push-forward of $E_i$, $i=1, \cdots, n$ is not a well-defined vector field on $N$. For example, let $M = \mathbb R^3$ and $N = \mathbb R^2$ with the standard Euclidean metric and projection $\pi(x, y, z) = (x, y)$. Then
$$ (E_1)_{(x, y, z)} = (\cos z , \sin z, 0), \ \ \ (E_2)_{(x, y, z)} = (-\sin z, \cos z, 0), \ \ \ E_3 = (0,0,1)$$
is an orthonormal frame on $\mathbb R^3$ so that $E_1, E_2$ spans the horizontal space. However, e.g.
$$ d\pi_{(x, y, z)} E_1 = (\cos z, \sin z)$$
depends on $z \in \pi^{-1}(x, y)$.
To show the smoothness you do not need to "push-forward" the orthonormal frame. It suffices to assume that $M = \mathbb R^m$, $N = \mathbb R^n$ and $\pi : M\to N$ is the usual projection. Then every vector fields on $N$ is given by
$$ X = \sum_{i=1}^n X^i \frac{\partial}{\partial x^i},$$
where $X^i :\mathbb R^n \to \mathbb R$ are smooth. Then define
$$ \check X = \sum_{i=1}^n (X^i \circ \pi) \frac{\partial}{\partial x^i}.$$
This is a smooth vector fields on $\mathbb R^m$ and $d\pi_{x} \check X_x = X_{\pi(x)}$ for all $x\in \mathbb R^m$. Of course this might not be horizontal, but we can define
$$\tilde X = \check X - \sum_{j=n+1}^m \langle \check X, E_j \rangle E_j.$$
Then $\tilde X$ is horizontal and since $d\pi (E_j) = 0$ for $j=n+1, \cdots, m$, $d\pi_{x} \tilde X_x = X_{\pi(x)}$. Hence $\tilde X$ is the horizontal lift of $X$. Since each $E_i$ is smooth, $\tilde X$ is also smooth.
