The index of a subgroup H of a finite group G is the number of left (or right) cosets of G modulo H. The index is often written as [G:H] but there is no reason to introduce this extra notation because [G:H] = o(G)/o(H), where o(X) is the order of (number of elements in) the group X. The fact the [G:H] = o(G)/o(H) is called Lagrange's Theorem, but I see no reason that such a trivial fact should be named after someone.

If x is an element of G, the left coset of x modulo H, xH, is the set of all elements xh where h is in H. The right coset, Hx, is the set of all elements hx where h is in H. The left coset space, G/H, is the set of all distinct left cosets modulo H.

Proof that [G:H] = o(G)/o(H):

For any element g in G, gH contains exactly o(H) elements. This follows from the fact that gx = gy implies that x = y (see my writeup in group theory).

If f in G is not in gH, then no f' in fH can be in gH. This is easy to see. Assume some f' is in gH but f is not. Let f' = fh1 and an element in gH be gh2. If fh1 = gh2, then f = gh2h1-1 so f is in gH, a contradiction.

Therefore o(G) = [G:H]o(H) and Lagrange's Theorem is verified.