QHE from Kubo's formula I'm following David Tong's lectures on the Quantum Hall Effect, in which he rederives the TKNN formula using the Kubo formula.
The notes are a understandably hand-wavy with notation, so let me provide some preliminaries.
Preliminaries.
Consider a single particle Hamiltonian $H$ on a 2d torus of length $L$ in each direction. Attach a square lattice to the 2d torus, with unit cell of length $a$ so that $L=Na$, so that the Hamiltonian $H$ is translationally invariant under the lattice.
We then know from Bloch's theorem that there exist Bloch states $\psi_{k\alpha}=|k \alpha\rangle$ which diagonalize $H$ where $k \in \text{Brillouin Zone}$. Therefore, at zero temperature, the Kubo formula tells us that
$$
\sigma_{xy}= \frac{1}{iL^2}\sum_{E_{k\alpha} <E_F <E_{k'\alpha'}} \frac{\langle k\alpha|J_x|k'\alpha'\rangle\langle k'\alpha'|J_y|k\alpha\rangle-\text{c.c.}}{(E_{k'\alpha'}-E_{k\alpha})^2}
$$
where the summation is over $k,\alpha,k',\alpha'$ such that $|k\alpha\rangle$ are filled band states and $|k'\alpha'\rangle$ are unfilled. This follows from the fact that the many-body Hamiltonian $H^\text{sq}$ is just the non-interacting sum of the single particle Hamiltonians $H$. Notice that by definition, the current of a gauge-invariant Hamiltonian $H[A]$ is defined as,
$J=-\partial H[A]/\partial A$. Also notice that by gauge invariance, we have
$$
H_k[A] \equiv e^{ik\hat{r}} H[A] e^{-ik\hat{r}} = H[A+k]
$$
where I use the hat notation to indicate that $\hat{r}$ is the position operator. Therefore,
$$
J=- \left. \frac{\partial}{\partial p} \right|_{p=0} H_p[A]
$$
Substituting this back into the Kubo formula, we can focus on the term
$$
-\langle k\alpha|J_x|k'\alpha'\rangle=  \langle k\alpha|  \left(\left. \frac{\partial}{\partial p} \right|_{p=0} H_p \right)|k'\alpha'\rangle
$$
Where I have dropped the $A$ for simplicity.
Question. To prove the TKNN formula, we need that
$$
\langle k\alpha|J_x|k'\alpha'\rangle= (E_{k'\alpha'}-E_{k\alpha})\langle \psi_{k\alpha}|\left.\frac{\partial}{\partial p_x}\right|_{p=k'}\psi_{p\alpha'}\rangle
$$
However, I can't understand why. Indeed, ignoring the fact that $p$ can be arbitrarily small, while $k'$ can only be in the BZ, we still have
\begin{align}
J_x &= i[\hat{x},H] \\
\langle k\alpha|J_x|k'\alpha'\rangle &= (E_{k'\alpha'}-E_{k\alpha}) \langle k\alpha|i\hat{x}|k'\alpha'\rangle
\end{align}
Now if the Bloch states were just plane waves $|k\alpha\rangle \propto e^{ikx}$, then the statement holds since $i\hat{x}\mapsto \partial_{k_x}$ in momentum space. However, in general, what we have is that $|k\alpha\rangle = e^{ikr} u_{k\alpha}(r)$ for some lattice periodic $u_{k\alpha}$, and so I don't quite understand why the statement is true.
 A: I don't think the equation you're trying to prove is correct - or at least, it's not exactly what you want. I would instead do the following.
Let $H_p \equiv e^{-i p \hat{r}}He^{i p \hat{r}}$, opposite your convention. We have
$$\langle k \alpha |  J_x | k' \alpha' \rangle = \frac{\partial}{\partial p_x} \langle k \alpha |  H_p | k' \alpha' \rangle |_{p=0}.$$
Now focus on the matrix element $\langle k \alpha |  H_p | k' \alpha' \rangle$. First, it is zero unless $k = k'$. (See the addendum below.) Second, $| k \alpha \rangle \propto e^{i k \hat{r}} | u_{k\alpha} \rangle$, where $| u_{k\alpha } \rangle$ is the cell periodic function. All together,
$$ \langle k \alpha |  H_p | k' \alpha' \rangle = \delta_{kk'} 
\langle u_{k \alpha}| H_{p+k} | u_{k \alpha'} \rangle$$
Implicit in the equation above is the fact that on the left hand side, the inner product is an integral over the whole sample, whereas on the right hand side it is an integral over one unit cell.
At this point, we have
$$\langle k \alpha |  J_x | k' \alpha' \rangle = \frac{\partial}{\partial p_x} \langle u_{k \alpha}| H_{p+k} | u_{k \alpha'} \rangle|_{p=0} \delta_{k k'} \\
=\langle u_{k \alpha}| \left(\frac{\partial}{\partial k_x} H_{k} \right) | u_{k \alpha'} \rangle \delta_{k k'}.
$$
Now we can follow Tong's notes to get
$$\langle k \alpha |  J_x | k' \alpha' \rangle = 
\langle u_{k \alpha}| \left(\frac{\partial}{\partial k_x} H_{k} \right) | u_{k \alpha'} \rangle \delta_{k k'} \\
= \left[ \langle u_{k \alpha}| \left(\frac{\partial}{\partial k_x} H_{k}  | u_{k \alpha'} \rangle \right)  - 
\langle u_{k \alpha}|  H_{k}  \left(\frac{\partial}{\partial k_x}| u_{k \beta} \rangle \right) \right] \delta_{k k'} \\
= (E_{k \alpha} - E_{k \alpha '}) \langle u_{k \alpha} |\left(\frac{\partial}{\partial k_x}| u_{k \alpha'} \rangle \right) \delta_{kk'}
$$
This final equality is the correct version of what you want.
Addendum
The idea behind $\langle k \alpha |  H_p | k' \alpha' \rangle = 0$ if $k \ne k'$ is that $H_p$ carries zero crystal momentum, so it cannot connect states with distinct crystal momentum. Formally:
Let $T_R$ denote the operator which translates by lattice vector $R$. Write
$$\langle k \alpha |  H_p | k' \alpha' \rangle = 
(\langle k \alpha | T_R^{\dagger}) (T_R  H_p T_R^{\dagger}) (T_R | k' \alpha' \rangle).$$
Since $| k \alpha \rangle $ has crystal momentum $k$, $T_R| k \alpha \rangle = e^{-ikR}| k \alpha \rangle$. We also have
$$ T_R H_p T_R^{\dagger} = (T_R e^{-ip\hat{r}} T_R^{\dagger}) (T_R H T_R^{\dagger}) (T_R e^{ip\hat{r}} T_R^{\dagger}) 
\\
= e^{-ip(\hat{r} - R)} H e^{ip(\hat{r} - R)} \\
= H_p
$$
The second line above follows from the fact that $H$ is invariant under lattice translations and from $T_R\hat{r}T_R^{\dagger} = \hat{r} - R$, which is essentially the definition of translation. (You could alternatively use the BCH formula.)
Hence for all lattice vectors $R$,
$$ \langle k \alpha |  H_p | k' \alpha' \rangle  = e^{i(k-k')R}\langle k \alpha |  H_p | k' \alpha' \rangle  $$
which for $k \ne k'$ (modulo reciprocal lattice vectors) implies $\langle k \alpha |  H_p | k' \alpha' \rangle = 0$.
