A Steiner S(*l*,*m*,*n*) system is an *n*-element set *S* together with a set of *m*-element subsets of *S* (which we will call the *special* *m*-element subsets) with the property that each *l*-element subset of *S* is contained in exactly one of the special *m*-element subsets.

A Steiner S(2,3,*n*) system is often called a **Steiner triple system**, and its special 3-element subsets are called **triples**. If *S* is a Steiner triple system, we can define a multiplication on it by setting *aa* = *a* for all *a* in *S*, and *ab* = *c* if {*a*,*b*,*c*} is a triple. This makes *S* into an idempotent commutative quasigroup.

It can be shown that if there is a Steiner S(2,*m*,*n*) system, where *m* is a prime power greater than 1, then *n* = 1 or *m* (mod *m*(*m*`-`1)). In particular, a Steiner triple system S(2,3,*n*) must have *n* = 6*k*+1 or 6*k*+3. It is known that this is the only restriction on Steiner triple systems, that is, for each natural number *k*, S(2,3,6*k*+1) and S(2,3,6*k*+3) systems exist.

A finite projective plane of order *q* can be considered as a Steiner S(2, *q*+1, *q*^{2}+*q*+1) system, since it has *q*^{2}+*q*+1 points, each line passes through *q*+1 points, and each pair of distinct points lies on exactly one line.

One of the most remarkable objects in mathematics is the Steiner S(5,8,24) system. This is connected with many of the sporadic simple groups and with the exceptional 24-dimensional lattice known as the Leech lattice. There are many ways to construct the S(5,8,24) system. The method given here is perhaps the simplest to describe, and is easy to convert into a computer program. It uses sequences of 24 bits. The idea is to write these down in lexicographic order, missing out any one which differs from some earlier one in less than 8 positions. The result looks like this:

000000000000000000000000 000000000000000011111111 000000000000111100001111 000000000000111111110000 000000000011001100110011 000000000011001111001100 000000000011110000111100 000000000011110011000011 000000000101010101010101 000000000101010110101010 . . (next 4083 omitted) . 111111111111000011110000 111111111111111100000000 111111111111111111111111The list contains 4096 items, called Golay code words. They form a group under the XOR operation. 1 of them has zero 1-bits, 759 of them have eight 1-bits, 2576 of them have twelve 1-bits, 759 of them have sixteen 1-bits, and 1 has twenty-four 1-bits. The 759 special 8-element sets (called