The Solovay-Kitaev Theorem guarantees that for any single-qubit gate U and precision ε > 0, it is possible to approximate U to within ε using Θ(logc(1/ε)) gates from a fixed finite universal set of quantum gates. The proof involves first using a "shrinking lemma" to show that any gate in an ε-net can be approximated to within Cε using a constant number of applications of gates from the universal set. This is then iterated to construct an approximation of the desired gate U to arbitrary precision using a number of gates that scales as the logarithm of 1/ε.