The study of $\Pi^0_1$ classes (effectively closed classes in Cantor space or Baire space) emerged in the early 1970's with work by Jockusch and Soare, although Kreisel and Shoenfield had obtained some previous results on degrees of models. The use of $\Pi^0_1$ classes rapidly spread to many other areas, including model theory, computable combinatorics and Ramsey's theorem, complexity theory and randomness, and models of Peano arithmetic. In Section \ref{S:lowbasis}, we consider two of the original theorems in this study (the Low Basis Theorem and the Computably Dominated Basis Theorem), each showing that a nonempty $\Pi^0_1$ class has a member of a certain type. The subsequent popularity of this area has lead to many related results. In Section \ref{S:lowbasis}, we take a look at some of these, including an antibasis theorem, a proper low$_n$ basis theorem, as well as cone avoidance constructions.
A prominent method of constructing members of $\Pi^0_1$ classes is known as forcing with $\Pi^0_1$ classes. The name comes from the fact that in such constructions we begin with a certain tree and pass to a smaller subtree in order to m force a given requirement. This technique is very flexible and can be used to obtain a number of finer results about the members of nonempty $\Pi^0_1$ classes, including ones which avoid cones or form minimal pairs with given noncomputable sets. In Section \ref{S:forcing}, we discuss this notion of forcing in a general setting, defining the appropriate notions of condition, extension, density, and genericity. We also discuss individual forcing modules, and how they can be combined to achieve desired conclusions.
A function $f$ is computably dominated (hyperimmune-free) if every function $g \equivT f$ (not only $f$ itself) is bounded by a computable function. The Computably Dominated Basis Theorem in Section \ref{S:lowbasis} connects $\Pi^0_1$ classes to computable domination because it shows that every nonempty $\Pi^0_1$ class contains a computably dominated (c.d.) member. In Section \ref{S:dominate} we explore other properties of computably dominated functions and the degrees they can inhabit. In particular, we look at the following questions: Can degrees comparable with $\emp'$ be c.d.? Can a $\Sigma^0_2$ set be c.d.? Although sparsely distributed and difficult to construct, the c.d.\ functions have two surprising downward closure properties. The c.d.\ functions also play an important role in algorithmic randomness and complexity, and are treated in recent books in these areas by Nies [1999] and Downey and Hirschfeldt [2010]. Cooper [2004] also covers computable domination and hyperimmune degrees.
One of the original motivations for looking at $\Pi^0_1$ classes was the study of degrees of complete extensions of Peano Arithmetic (PA), or equivalently, degrees of models of PA ( PA degrees ). Indeed, the complete extensions of PA form a $\Pi^0_1$ class, and if $f$ is any complete extension of PA and $\scrC$ is any nonempty $\Pi^0_1$ class, then $f$ can compute a member $g \in \scrC$. In Section \ref{S:peano}, we consider a number of alternative ways of defining the PA degrees, including as those degrees which contain a $\{0,1\}$-valued diagonally noncomputable (d.n.c.) function.
Over the last decade a rapidly growing area has been Kolmogorov complexity and algorithmic randomness. There has been a close connection between $\Pi^0_1$ classes and 1-random (Martin-L\"of random) reals. For example, there is a nonempty $\Pi^0_1$ class all of whose elements are 1-random, as we shall see in Corollary~\ref{C:1randpi}. In Section \ref{S:random}, we relate randomness to the computably dominated degrees that we study in Section \ref{S:dominate}, and we examine the relationship between the measure of a $\Pi^0_1$ class and the 1-random reals it contains.