Definition of Poisson Bracket Context: Let $f,g :T^*M\rightarrow \mathbb{R}$, the Poisson Bracket was defined classically as
$$\{f,g\}=\sum\limits_{i=1}^n\frac{\partial f}{\partial q^i}\frac{\partial g}{\partial p_i}-\frac{\partial f}{\partial p_i}\frac{\partial g}{\partial q^i}$$
But this definition depends of a choice of canonical coordinates $(q,p)$ and that is my problem: 
Question: How can I prove this definition is actually well-defined?
Thanks in advance for any help or any recommendation to read about.
 A: You can check directly that if you change from one pair of canonical Coordinates to another pair of canonical coordinates, the Poisson bracket stays the same. Just use the fact that $\dfrac{\partial}{\partial x^i} = \dfrac{\partial y^j}{\partial x^i} \dfrac{\partial}{\partial y^j}$ (sum on $j$) (do this for each $q^i$ and $p^i$). I think this is the kind of computation you should do atleast once in your life, just so you get the feel for it.
This computation however, is pretty long; I remember doing it once, and it took like 1-2 full pages, and I messed up several times with minus signs, and you have to keep track of all the indices etc.

But another way of doing this is as follows: let $\omega$ be the symplectic $2$-form on $N:=T^*M$. Since this is a non-degenerate $2$-form, it gives rise to a vector bundle isomorphism $\omega^{\flat}:TN \to T^*N$, with inverse $\omega^{\sharp}:T^*N \to TN$ (these are the musical isomorphisms for $\omega$). So, now we can define the Poisson bracket completely chart-free as the map $\{\cdot, \cdot\}: C^{\infty}(N) \times C^{\infty}(N) \to C^{\infty}(N)$, given by
\begin{align}
\{f,g\} := \omega\left(\omega^{\sharp} \circ df, \omega^{\sharp} \circ dg \right)
\end{align}
Here, $df$ is a $1$-form on $N$, which means it is a map $N \to T^*N$ such that for every $\nu \in N$, $df(\nu) \in T_{\nu}^*N$. The composition $\omega^{\sharp} \circ df$ is thus a map $N \to TN$, and you can check that it is indeed a vector field (i.e for every $\nu \in N$, $\omega^{\sharp}(df(\nu)) \in T_{\nu}N$). 
So, what's going on abstractly is that we start with two smooth functions $f$ and $g$, and we want to make another smooth function. So, how can we do it? Well, we take the exterior derivative to get $1$-forms $df$ and $dg$. We then use the non-degeneracy of $\omega$ to "convert" the $1$-forms into vector fields, $X_f := \omega^{\sharp} \circ df$ and $X_g := \omega^{\sharp} \circ dg$. Finally, how do we get a smooth function from here? Simple, just feed these vector fields into the $2$-form $\omega$. So, $\{f,g\} := \omega(X_f, X_g)$ is another way of writing the above equation.

Just a small remark: sometimes, what I wrote as $\omega^{\sharp} \circ df$ is simply written as $\omega^{\sharp}(df)$, so the composition symbol is omitted. This is a small difference, so idk whether one is likely to get confused or not.
Sometimes, the Poisson bracket is defined as $\{f,g\} := X_f(g)$ (the action of the vector field $X_f$ on the function $g$). This definition is equivalent to the one I gave above, perhaps up to a minus sign (there are a few conventions, the difference being where the minus sign goes). Frederic Schuller has a lecture on the basic application of Symplectic geometry to Classical Mechanics: 
A: Hint: Rewrite this as obtained from inserting the Hamiltonian vector fields generated by $f$ and $g$ into the symplectic form. 
