  This text is devoted to the theory of varieties, which provides an important
tool, based in universal algebra, for the classification of regular languages.
In the introductory section, we present a number of examples that illustrate
and motivate the fundamental concepts. We do this for the most part without
proofs, and often without precise definitions, leaving these to the formal
development of the theory that begins in Section 2. Our presentation of the
theory draws heavily on the work of Gehrke, Grigorieff and Pin (2008) on the
equational theory of lattices of regular languages. In the subsequent sections
we consider in more detail aspects of varieties that were only briefly evoked
in the introduction: Decidability, operations on languages, and
characterizations in formal logic.
