By now we have met many examples of groups. In this chapter, we begin by considering the elementary abstract theory of groups. In the first section we develop the most immediate consequences of the definition of a group and introduce a number of basic concepts, in particular, the notion of a subgroup. Our definitions and proofs are abstract, but are supported by many illustrative examples. The main result in this chapter is Lagrange's Theorem, which is established in Section 5.2. This theorem says that the number of elements in a subgroup of a finite group divides the number of elements in the whole group. The result has many consequences and provides another proof of the theorems of Fermat and Euler which we proved in Chapter 1. In the third section we define what it means for two groups to be isomorphic: to have the same abstract form. Then, after describing a way of building new groups from old, we move on to describe, up to isomorphism, all groups with up to eight elements. The final section of the chapter gives an application of some of the ideas we have developed, to error-detecting and error-correcting codes.
We introduced the idea of an abstract group in Section 4.3 and then gave many examples of groups. In this section we will prove a number of results which hold true for all these examples.