Universal hash functions - Proof
Let us first look at the total number of hash functions in $H$. Since each key can be mapped to $m$ different indexes and there $n$ different keys. We get:
\begin{align}
|H| = m^{n}
\end{align}
Now, without loss of generality, let us consider the first two keys $x = k_{1}$ and $y = k_{2}$. We will compute the number of hash functions where $x$ and $y$ will collide i.e., $h(x) = h(y) = i$ for any $i \in \{0,\dotsc,m-1\}$.
\begin{align}
|\{h \in H : h(x) = h(y) = i\}| = m^{n-2}  
\end{align}
Therefore, summing up for all $i \in \{0,\dotsc,m-1\}$, we get:  $$|\{h \in H : h(x) = h(y)\}| = m^{n-1} = \frac{|H|}{m}$$
Hence, $H$ is a universal hash family.