BACK Mascot image.
← MA0 1 · Introduction to University Mathematics (Proofs)

Lesson 9

Groups

Taught

Operations and Semigroups

The last chapter produced a set with a multiplication on it. The permutations of a set compose, the composite is again a permutation, the composition is associative, there is an identity, and every element has an inverse. None of those five facts mentions what a permutation is. This chapter keeps the five facts and drops the permutations. Many other sets with an operation satisfy the same five facts, so a result proved from them holds for all of these at once.

Operations

Definition 9.1 (Operation).

Let SS be a non-empty set. An operation on SS is a function

∗ : S×S→S.* \, : \, S \times S \to S.

One writes a∗ba * b for the value of ∗* at the ordered pair (a,b)(a, b). The pair (S,∗)(S, *) is a set equipped with an operation.

Two things are asked for. The first is that a value is named for every ordered pair of elements, which is what makes ∗* a function on all of S×SS \times S. The second is that the value lands back in SS, and one says that SS is closed under ∗*. Writing a∗ba * b instead of ∗((a,b))*\bigl((a,b)\bigr) is only notation; the object underneath is still a function, and two operations are equal exactly when they agree at every pair.

Example 9.2 (Operations already in hand).

  1. (N0,+)(\mathbb{N}_0, +) and (N0,⋅)(\mathbb{N}_0, \cdot), with addition as built in the chapter on the natural numbers and multiplication as defined in its problems. So are (N,+)(\mathbb{N}, +) and (N,⋅)(\mathbb{N}, \cdot), since a sum or product of positive numbers is positive.
  2. For a non-empty set AA, the Cartesian power AAA^A, the set of all functions A→AA \to A, carries composition, (f,g)↦f∘g(f, g) \mapsto f \circ g. Its subset SAS_A of permutations is closed under the same operation, since composition sends bijections to bijections; that closure is what let us write σλ\sigma\lambda at all.
  3. For any set XX, the power set P(X)\mathcal{P}(X) carries both ∪\cup and ∩\cap.
  4. On a totally ordered set MM, the rule sending (a,b)(a, b) to whichever of aa and bb is the larger is an operation, since comparability names one of them and antisymmetry makes the choice unambiguous when they are equal.
  5. On any non-empty SS, the rule a∗b=defaa * b \defeq a (keep the left factor) is an operation.

Example 9.3 (Two failures of closure).

Call n∈Nn \in \mathbb{N} prime if n>1n > 1 and the only k∈Nk \in \mathbb{N} dividing nn are 11 and nn, in the sense of divisibility. The primes are closed under neither addition nor multiplication: 3+5=83 + 5 = 8 and 3⋅5=153 \cdot 5 = 15, and neither is prime. Restricting ++ or ⋅\cdot to the primes therefore does not produce an operation on them, and the restricted function is not a function into the primes at all.

The odd numbers show that the two can differ. They are closed under multiplication, since the remainder classes write two odd numbers as 2j+12j + 1 and 2k+12k + 1, whose product is 2(2jk+j+k)+12(2jk + j + k) + 1; they are not closed under addition, since 1+1=21 + 1 = 2.

Definition 9.4 (Closed subsets).

Let ∗* be an operation on SS and let S′⊂SS' \subset S be non-empty. Then S′S' is closed under ∗* if a∗b∈S′a * b \in S' for all a,b∈S′a, b \in S'. In that case the restriction of ∗* to S′×S′S' \times S' is an operation on S′S', and (S′,∗)(S', *) is a substructure of (S,∗)(S, *).

Closure is all that must be checked. Every named structure below (semigroup, group, subgroup) is this definition with further conditions added, and each further condition is either always inherited or always needs checking.

Example 9.5 (A substructure of the natural numbers).

Fix ℓ∈N\ell \in \mathbb{N} and let ℓN0=def{n∈N0∣n=ℓk for some k∈N0}\ell\mathbb{N}_0 \defeq \{n \in \mathbb{N}_0 \mid n = \ell k \text{ for some } k \in \mathbb{N}_0\} be the multiples of ℓ\ell. If n=ℓkn = \ell k and m=ℓjm = \ell j then n+m=ℓ(k+j)n + m = \ell(k + j) by distributivity and n⋅m=ℓ(k⋅ℓ⋅j)n \cdot m = \ell(k \cdot \ell \cdot j), so ℓN0\ell\mathbb{N}_0 is closed under both operations and is a substructure of (N0,+)(\mathbb{N}_0, +) and of (N0,⋅)(\mathbb{N}_0, \cdot).

Associativity and Commutativity

Definition 9.6 (Associative and commutative operations).

Let ∗* be an operation on SS.

  1. The operation is associative if (a∗b)∗c=a∗(b∗c)(a * b) * c = a * (b * c) for all a,b,c∈Sa, b, c \in S. In that case (S,∗)(S, *) is a semigroup.
  2. The operation is commutative if a∗b=b∗aa * b = b * a for all a,b∈Sa, b \in S. A commutative semigroup is also called abelian.

Both conditions are equalities required to hold identically, so both are inherited by every substructure: a law true of all elements of SS is in particular true of all elements of a subset. We note this once here rather than re-checking it in each example.

Example 9.7 (Which of them associate).

Addition and multiplication on N0\mathbb{N}_0 are associative and commutative by the laws of addition and the corresponding laws of multiplication. Composition on AAA^A is associative by the theorem on associativity of composition, so AAA^A and SAS_A are semigroups under ∘\circ. Union and intersection on P(X)\mathcal{P}(X) are associative and commutative by the basic properties of unions and by the algebra of intersection. Taking the larger of two elements of a totally ordered set is associative and commutative, both sides of each law naming the largest of the elements involved.

Keeping the left factor, a∗b=defaa * b \defeq a, is associative, since both (a∗b)∗c(a * b) * c and a∗(b∗c)a * (b * c) are aa, and is not commutative as soon as SS has two distinct points.

Composition shows that the two conditions are independent. It is associative on every AAA^A, and already in S3S_3 there are permutations with σλ≠λσ\sigma\lambda \neq \lambda\sigma, as the worked product of the last chapter showed in S4S_4. Associativity is the more useful of the two, because of the next theorem.

Products of Many Factors

Definition 9.8 (Left-associated product).

Let (S,∗)(S, *) be a set with an operation and let a1,…,an∈Sa_1, \ldots, a_n \in S with n∈Nn \in \mathbb{N}. The left-associated product is defined by the recursion

p(a1)=defa1,p(a1,…,ak+1)=defp(a1,…,ak)∗ak+1(1⩽k<n).p(a_1) \defeq a_1, \qquad p(a_1, \ldots, a_{k+1}) \defeq p(a_1, \ldots, a_k) * a_{k+1} \quad (1 \leqslant k < n).

A full bracketing of a1∗⋯∗ana_1 * \cdots * a_n is either the single term a1a_1, when n=1n = 1, or an expression L∗RL * R in which LL is a full bracketing of a1∗⋯∗aka_1 * \cdots * a_k and RR is a full bracketing of ak+1∗⋯∗ana_{k+1} * \cdots * a_n, for some 1⩽k<n1 \leqslant k < n.

Theorem 9.9 (General associativity).

Let (S,∗)(S, *) be a semigroup, let n∈Nn \in \mathbb{N} and let a1,…,an∈Sa_1, \ldots, a_n \in S.

  1. For every 1⩽k<n1 \leqslant k < n,
p(a1,…,an)=p(a1,…,ak)∗p(ak+1,…,an).p(a_1, \ldots, a_n) = p(a_1, \ldots, a_k) * p(a_{k+1}, \ldots, a_n).
  1. Every full bracketing of a1∗⋯∗ana_1 * \cdots * a_n equals p(a1,…,an)p(a_1, \ldots, a_n).
  2. If ∗* is commutative and (b1,…,bn)(b_1, \ldots, b_n) is obtained from (a1,…,an)(a_1, \ldots, a_n) by exchanging two neighbouring entries, then p(b1,…,bn)=p(a1,…,an)p(b_1, \ldots, b_n) = p(a_1, \ldots, a_n).

Discussion.

This is the theorem on general associativity and neighbour swaps with ++ replaced by ∗*, and the earlier proof never mentioned N0\mathbb{N}_0: it used the associativity of ++ for the first two parts and its commutativity for the third, and nothing else. So the argument transfers unchanged. We repeat the main step, which is the first part, the splitting identity, which says a left-associated product may be cut anywhere; it is an induction on the length of the second block, with the recursion clause as the base and a single application of associativity in the step. The second part is then an induction on nn in which a bracketing L∗RL * R is split at its own top-level cut and the two halves identified by the inductive hypothesis. The third puts the exchanged pair in the middle by two applications of the first part, exchanges it by commutativity, and reassembles.

Proof.

For the first part, fix kk and induct on the length mm of the second block, so that n=k+mn = k + m. If m=1m = 1 the assertion is p(a1,…,ak+1)=p(a1,…,ak)∗ak+1p(a_1, \ldots, a_{k+1}) = p(a_1, \ldots, a_k) * a_{k+1}, which is the recursion clause. Suppose it holds at mm. Then

p(a1,…,an+1)=p(a1,…,an)∗an+1=(p(a1,…,ak)∗p(ak+1,…,an))∗an+1=p(a1,…,ak)∗(p(ak+1,…,an)∗an+1)=p(a1,…,ak)∗p(ak+1,…,an+1),\begin{aligned} p(a_1, \ldots, a_{n+1}) &= p(a_1, \ldots, a_n) * a_{n+1} \\ &= \bigl(p(a_1, \ldots, a_k) * p(a_{k+1}, \ldots, a_n)\bigr) * a_{n+1} \\ &= p(a_1, \ldots, a_k) * \bigl(p(a_{k+1}, \ldots, a_n) * a_{n+1}\bigr) \\ &= p(a_1, \ldots, a_k) * p(a_{k+1}, \ldots, a_{n+1}), \end{aligned}

by the recursion clause, the inductive hypothesis, associativity, and the recursion clause again.

The second and third parts are the two parts of the earlier theorem, whose proof used only the binary laws just used here; substituting ∗* for ++ throughout gives the argument verbatim, with the first part standing in for the splitting identity recorded there.

The second part allows us to write a1∗a2∗⋯∗ana_1 * a_2 * \cdots * a_n with no brackets at all in a semigroup, and we do so from here on. The third part allows exchanging neighbours when the operation commutes, and neighbours are enough, because the last chapter proved that every rearrangement is a string of neighbour exchanges.

Corollary 9.10 (Rearranging a product).

Let (S,∗)(S, *) be an abelian semigroup, let a1,…,an∈Sa_1, \ldots, a_n \in S and let σ∈Sn\sigma \in S_n. Then

aσ(1)∗aσ(2)∗⋯∗aσ(n)=a1∗a2∗⋯∗an.a_{\sigma(1)} * a_{\sigma(2)} * \cdots * a_{\sigma(n)} = a_1 * a_2 * \cdots * a_n.

Proof.

The proposition that neighbour swaps suffice writes σ\sigma as a product π1π2⋯πm\pi_1 \pi_2 \cdots \pi_m of transpositions of neighbouring points. Applying the third part of the theorem once for each πi\pi_i carries the list (aσ(1),…,aσ(n))(a_{\sigma(1)}, \ldots, a_{\sigma(n)}) to (a1,…,an)(a_1, \ldots, a_n) without changing the left-associated product, and the second part identifies that product with the bracket-free expression on either side.

Remark.

The corollary uses results from three chapters. The bracketing was settled for sums in the chapter on sequences, the reduction of an arbitrary rearrangement to neighbour exchanges was set as a problem there and proved in the chapter on permutations, and the assembly is one line. Nothing about N0\mathbb{N}_0 was used, so the statement holds for unions, for intersections, for the larger-of-two operation, and for every abelian semigroup yet to be met.

Problem 9.1.

On S={a,b,c}S = \{a, b, c\} define an operation by the table

∗abcaabcbbcaccab\begin{array}{c|ccc} * & a & b & c \\ \hline a & a & b & c \\ b & b & c & a \\ c & c & a & b \end{array}

the entry in row xx and column yy being x∗yx * y. Decide whether ∗* is associative and whether it is commutative.

Problem 9.2.

Let SS be non-empty and define a∗b=defba * b \defeq b, keeping the right factor. Decide whether ∗* is associative and whether it is commutative, and compare with the left-factor rule.

Problem 9.3.

Let (S,∗)(S, *) be an abelian semigroup and let aj,k∈Sa_{j,k} \in S for j∈⟨m⟩j \in \langle m \rangle and k∈⟨n⟩k \in \langle n \rangle. Show that forming the products along the rows and then combining, and forming them along the columns and then combining, give the same element of SS.

Identity, Inverses and Groups

A semigroup asks one law of its operation. Two further conditions, an identity element and an inverse for each element, give a group. We look at each condition separately first.

The Identity

Definition 9.11 (Identity element).

Let (S,∗)(S, *) be a set with an operation. An element e∈Se \in S is an identity for ∗* if

e∗a=a∗e=afor every a∈S.e * a = a * e = a \qquad \text{for every } a \in S.

A semigroup with an identity is called a monoid.

An operation written additively usually has its identity written 00, and one written multiplicatively usually has it written 11. The choice is only notation. The definition asks for the law on both sides, and the next section shows why one side alone is weaker.

Proposition 9.12 (Uniqueness of the identity).

An operation has at most one identity.

Discussion.

The claim is a uniqueness statement, so we suppose two identities ee and e′e' and derive e=e′e = e'. We evaluate one product in two ways: reading e∗e′e * e' with the left factor as the identity gives e′e', reading it with the right factor as the identity gives ee, so the two are equal. No associativity is needed, which is why the proposition is stated for an operation and not for a semigroup.

Proof.

Let ee and e′e' be identities for ∗*. Since ee is an identity, e∗e′=e′e * e' = e'. Since e′e' is an identity, e∗e′=ee * e' = e. Hence e=e′e = e'.

Example 9.13 (Identities in the running examples).

The identity for ++ on N0\mathbb{N}_0 is 00, and the identity for ⋅\cdot on N0\mathbb{N}_0 and on N\mathbb{N} is 11. Composition on AAA^A has the identity map idA\mathrm{id}_A as its identity, by the identity laws, and the same map serves for SAS_A. On P(X)\mathcal{P}(X) the identity for ∪\cup is ∅\emptyset and the identity for ∩\cap is XX. Taking the larger of two elements of a totally ordered set has an identity exactly when the set has a minimum, which is then the identity.

Two of the examples have none. Keeping the left factor has no identity once SS has two distinct points: an identity ee would satisfy e∗a=ae * a = a for every aa, whereas e∗a=ee * a = e, forcing every aa to equal ee. And (N,+)(\mathbb{N}, +) has no identity, not because no element behaves like one but because the element that would, namely 00, is not in the set.

Inverses

Definition 9.14 (Inverse element).

Let (S,∗)(S, *) be a set with an operation and with identity ee, and let a∈Sa \in S. An element b∈Sb \in S is an inverse of aa if

a∗b=b∗a=e.a * b = b * a = e.

If aa has an inverse, aa is invertible.

Multiplicative notation writes a−1a^{-1} for the inverse and additive notation writes −a-a. The two-sided demand is the same shape as the one made of inverse functions, and for the same reason: a one-sided inverse is weaker unless associativity lets us combine the two sides, as in the next proposition.

Proposition 9.15 (Uniqueness of inverses).

Let (S,∗)(S, *) be a monoid and let a∈Sa \in S be invertible. Then aa has exactly one inverse.

Discussion.

Uniqueness again, so we take two inverses bb and cc of the same aa and show they agree. We form one expression that can be read as either: put aa between them, as b∗a∗cb * a * c, and bracket it the two available ways. Bracketing to the right uses that cc is an inverse and leaves bb; bracketing to the left uses that bb is one and leaves cc. The re-bracketing uses associativity, and without it the argument fails.

Proof.

Let bb and cc be inverses of aa. Then

b=b∗e(e is the identity)=b∗(a∗c)(c is an inverse of a)=(b∗a)∗c(associativity)=e∗c(b is an inverse of a)=c(e is the identity).\begin{aligned} b &= b * e && \text{($e$ is the identity)} \\ &= b * (a * c) && \text{($c$ is an inverse of $a$)} \\ &= (b * a) * c && \text{(associativity)} \\ &= e * c && \text{($b$ is an inverse of $a$)} \\ &= c && \text{($e$ is the identity)}. \end{aligned}

So one may speak of the inverse of an invertible element, and write a−1a^{-1} for it. Two consequences follow at once. First, ee is invertible with e−1=ee^{-1} = e, since e∗e=ee * e = e. Second, (a−1)−1=a(a^{-1})^{-1} = a: the defining equations a∗a−1=a−1∗a=ea * a^{-1} = a^{-1} * a = e are unchanged when aa and a−1a^{-1} are exchanged, so aa is an inverse of a−1a^{-1}, and uniqueness makes it the inverse.

Proposition 9.16 (Inverse of a product).

Let (S,∗)(S, *) be a monoid and let a,b∈Sa, b \in S be invertible. Then a∗ba * b is invertible and

(a∗b)−1=b−1∗a−1.(a * b)^{-1} = b^{-1} * a^{-1}.

Discussion.

There are two assertions, an existence claim and a formula, and one calculation settles both: if the element named on the right multiplies with a∗ba * b to give ee on both sides, then a∗ba * b is invertible and, by the uniqueness just proved, that element is the inverse. The check is a product of four factors, which general associativity lets us write without brackets; cancelling the inner pair a−1∗aa^{-1} * a leaves b−1∗bb^{-1} * b, and cancelling that leaves ee. The order is reversed so that the inner pair is adjacent.

Proof.

Using general associativity to drop brackets,

(b−1∗a−1)∗(a∗b)=b−1∗(a−1∗a)∗b=b−1∗e∗b=b−1∗b=e,(b^{-1} * a^{-1}) * (a * b) = b^{-1} * (a^{-1} * a) * b = b^{-1} * e * b = b^{-1} * b = e,

and in the same way (a∗b)∗(b−1∗a−1)=a∗(b∗b−1)∗a−1=a∗a−1=e(a * b) * (b^{-1} * a^{-1}) = a * (b * b^{-1}) * a^{-1} = a * a^{-1} = e. So b−1∗a−1b^{-1} * a^{-1} is an inverse of a∗ba * b, and by uniqueness it is the inverse.

The reversal is not new. It is the inverse of a composition met for functions, and the rule (σλ)−1=λ−1σ−1(\sigma\lambda)^{-1} = \lambda^{-1}\sigma^{-1} used without comment for permutations. The proof here covers both, and every other monoid as well.

Proposition 9.17 (The invertible elements).

Let (S,∗)(S, *) be a monoid with identity ee and let

G=def{a∈S∣a is invertible}.G \defeq \{a \in S \mid a \text{ is invertible}\}.

Then e∈Ge \in G; if a,b∈Ga, b \in G then a∗b∈Ga * b \in G; and if a∈Ga \in G then a−1∈Ga^{-1} \in G. So (G,∗)(G, *) is a monoid with identity ee, in which every element is invertible.

Discussion.

Three closure claims and then a summary that follows from them. That e∈Ge \in G was noted above, ee being its own inverse. That GG is closed under ∗* is the previous proposition, which not only says a∗ba * b is invertible but names the inverse, so nothing further is needed. That GG is closed under inversion is the remark that (a−1)−1=a(a^{-1})^{-1} = a, which exhibits an inverse for a−1a^{-1}. The summary then needs only that associativity and the identity laws are inherited by a subset, which they are, being laws required of all elements.

Proof.

From e∗e=ee * e = e we get e∈Ge \in G with e−1=ee^{-1} = e. If a,b∈Ga, b \in G then a∗ba * b is invertible by the previous proposition, so a∗b∈Ga * b \in G, and GG is closed under ∗*. If a∈Ga \in G then (a−1)−1=a(a^{-1})^{-1} = a exhibits aa as an inverse of a−1a^{-1}, so a−1∈Ga^{-1} \in G.

Hence GG is a closed subset containing ee, and it inherits associativity and the identity laws from SS. Each of its elements is invertible, and its inverse lies in GG, so (G,∗)(G, *) is a monoid in which every element is invertible.

Example 9.18 (Who is invertible).

In (N0,+)(\mathbb{N}_0, +) only 00 is invertible, since a+b=0a + b = 0 forces a=b=0a = b = 0 by the corollary on sums that vanish. In (N0,⋅)(\mathbb{N}_0, \cdot) only 11 is invertible. In P(X)\mathcal{P}(X) under ∪\cup only ∅\emptyset is invertible, and under ∩\cap only XX.

The main example is composition. In the monoid AAA^A the invertible elements are exactly the bijections A→AA \to A, by the theorem on invertibility and bijections; that is to say, they are exactly the permutations, and the set they form is SAS_A. The previous proposition, applied to AAA^A, is therefore the statement that SAS_A is closed under composition and under inversion. We proved this twice already, once for functions and once for permutations; here it follows from a proposition about monoids.

Problem 9.4.

Let ∗* be an operation on SS with a left identity ℓ\ell, meaning ℓ∗a=a\ell * a = a for every aa, and a right identity rr, meaning a∗r=aa * r = a for every aa. Show that ℓ=r\ell = r, and that it is then an identity. No associativity is needed.

Problem 9.5.

Show that under the left-factor rule a∗b=defaa * b \defeq a every element of SS is a right identity, and that under the right-factor rule a∗b=defba * b \defeq b every element is a left identity. So a one-sided identity need be neither unique nor accompanied by one on the other side, and neither rule has an identity once SS has two distinct points.

Problem 9.6.

Let (S,∗)(S, *) be a monoid and let a,b,c∈Sa, b, c \in S satisfy a∗b=ea * b = e and b∗c=eb * c = e. Show that a=ca = c, so that bb is a two-sided inverse of aa. Which hypothesis fails if SS is only a set with an operation?

Groups

Definition 9.19 (Group).

A group is a monoid in which every element is invertible: a set GG with an associative operation, an identity ee, and an inverse for each of its elements. A group whose operation is commutative is abelian, in the sense already fixed for semigroups.

The proposition on invertible elements now reads: the invertible elements of any monoid form a group. Applied to AAA^A under composition it says that SAS_A is a group, without using anything about permutations.

Example 9.20 (Groups already met).

  1. For any non-empty set AA, the symmetric group SAS_A under composition. For A=⟨n⟩A = \langle n \rangle this is SnS_n, with #Sn=n!\#S_n = n! by the count of bijections.
  2. The dihedral group Dn⊂SnD_n \subset S_n. That it is closed under products and inverses was a problem of the last chapter, and the identity permutation is a symmetry of every polygon, so DnD_n is a group with #Dn=2n\#D_n = 2n.
  3. The even permutations in SnS_n, closed under products and inverses by another problem there. For n⩾2n \geqslant 2 this group is written AnA_n and called the alternating group on nn letters.
  4. The one-element set {e}\{e\} with the only operation available to it. It is a group, called the trivial group, and it is the smallest group, since a group must contain an identity.
  5. S2={id,τ1,2}S_2 = \{\mathrm{id}, \tau_{1,2}\}, the smallest group with more than one element. Its whole multiplication is τ1,2∗τ1,2=id\tau_{1,2} * \tau_{1,2} = \mathrm{id}, which is the proposition that a transposition is its own inverse.

None of (N0,+)(\mathbb{N}_0, +), (N,+)(\mathbb{N}, +) and (N0,⋅)(\mathbb{N}_0, \cdot) is a group. The first is a monoid in which only 00 is invertible; the second has no identity at all; the third is a monoid in which only 11 is invertible.

Remark (The groups not yet available).

The familiar first examples of groups are the integers under addition and the non-zero rationals or reals under multiplication. We do not have them: the integers are the subject of the next chapter, and they are built by adding to (N0,+)(\mathbb{N}_0, +) the inverses it lacks. The examples above are the ones already constructed, and they are enough to prove everything in this chapter; the arithmetic ones become further examples once they are built.

The definition asks for a two-sided identity and two-sided inverses, four conditions in all. The two left-handed ones already imply the others.

Theorem 9.21 (A left identity with left inverses is enough).

Let (G,∗)(G, *) be a semigroup. Suppose there is ℓ∈G\ell \in G with ℓ∗a=a\ell * a = a for every a∈Ga \in G, and suppose that for every a∈Ga \in G there is b∈Gb \in G with b∗a=ℓb * a = \ell. Then ℓ\ell is an identity, every such bb is an inverse of aa, and (G,∗)(G, *) is a group.

Discussion.

The statement is an implication from a shortened list of axioms to the full one, so we assume the two left-handed conditions and must produce the two right-handed ones. We apply the hypotheses repeatedly and re-bracket, in a particular order: the right-inverse law must come first, because the right-identity law is proved from it.

To get a∗b=ℓa * b = \ell, take a left inverse bb of aa and then a left inverse cc of bb. Insert ℓ\ell in front of a∗ba * b using the left identity, replace that ℓ\ell by c∗bc * b, and re-bracket so that b∗ab * a becomes adjacent; that inner pair becomes ℓ\ell, which the left identity removes, leaving c∗b=ℓc * b = \ell. Once a∗b=ℓa * b = \ell is known, a∗ℓa * \ell can be written as a∗(b∗a)a * (b * a), re-bracketed to (a∗b)∗a=ℓ∗a=a(a * b) * a = \ell * a = a, which is the right-identity law. No appeal to uniqueness is needed anywhere; the calculation gives the two-sided laws directly.

Proof.

Fix a∈Ga \in G, choose b∈Gb \in G with b∗a=ℓb * a = \ell, and choose c∈Gc \in G with c∗b=ℓc * b = \ell. Then

a∗b=ℓ∗(a∗b)=(c∗b)∗(a∗b)=c∗((b∗a)∗b)=c∗(ℓ∗b)=c∗b=ℓ,\begin{aligned} a * b &= \ell * (a * b) = (c * b) * (a * b) \\ &= c * \bigl((b * a) * b\bigr) = c * (\ell * b) = c * b = \ell, \end{aligned}

using the left identity, the choice of cc, associativity, the choice of bb, and the left identity again. So bb is a right inverse of aa as well as a left one.

Consequently

a∗ℓ=a∗(b∗a)=(a∗b)∗a=ℓ∗a=a,a * \ell = a * (b * a) = (a * b) * a = \ell * a = a,

so ℓ\ell is a right identity as well as a left one. Hence ℓ\ell is an identity, each aa has the two-sided inverse bb, and (G,∗)(G, *) is a group.

Remark (Right axioms, mixed axioms).

The same argument with left and right exchanged shows that a right identity together with right inverses is equally sufficient. A left identity paired with right inverses is not enough, and a counterexample with two elements exists; producing one is a problem below. So the two halves of the definition may be dropped in matching pairs but not in mismatched ones.

Proposition 9.22 (Cancellation in a group).

Let (G,∗)(G, *) be a group and let a,x1,x2,y1,y2∈Ga, x_1, x_2, y_1, y_2 \in G. If a∗x1=a∗x2a * x_1 = a * x_2 then x1=x2x_1 = x_2; and if y1∗a=y2∗ay_1 * a = y_2 * a then y1=y2y_1 = y_2.

Discussion.

Two implications of the same shape, and the second is the mirror image of the first, so only one need be written out. In each the hypothesis is an equation with a common factor on one side, and the way to remove a factor is to introduce its inverse on that same side and re-bracket: the inverse then meets aa and the pair becomes ee, which the identity law removes. Both the associativity and the existence of a−1a^{-1} are used, and each once.

Proof.

Suppose a∗x1=a∗x2a * x_1 = a * x_2. Then

x1=e∗x1=(a−1∗a)∗x1=a−1∗(a∗x1)=a−1∗(a∗x2)=(a−1∗a)∗x2=e∗x2=x2.\begin{aligned} x_1 &= e * x_1 = (a^{-1} * a) * x_1 = a^{-1} * (a * x_1) \\ &= a^{-1} * (a * x_2) = (a^{-1} * a) * x_2 = e * x_2 = x_2. \end{aligned}

The second implication is the same computation with a−1a^{-1} applied on the right.

Cancellation says exactly that, for each fixed aa, the maps x↦a∗xx \mapsto a * x and y↦y∗ay \mapsto y * a are injective. When GG is finite they are therefore bijective, so each of the equations a∗x=ba * x = b and y∗a=by * a = b has exactly one solution. In fact they are bijective whether or not GG is finite, since x↦a−1∗xx \mapsto a^{-1} * x undoes the first; the finite case is worth noting separately, because it uses nothing about inverses and so applies to semigroups that are not groups.

Definition 9.23 (Regular semigroup).

A monoid in which cancellation holds on both sides (that is, a∗x1=a∗x2a * x_1 = a * x_2 implies x1=x2x_1 = x_2, and y1∗a=y2∗ay_1 * a = y_2 * a implies y1=y2y_1 = y_2) is called regular.

Every group is regular, by the proposition. The converse fails, and our standard examples show it.

Example 9.24 (The natural numbers cancel).

(N0,+)(\mathbb{N}_0, +) is regular, since x+z=y+zx + z = y + z implies x=yx = y by the cancellation problem of the chapter on the natural numbers. It is not a group. Multiplication on N\mathbb{N} is regular too: if a⋅x1=a⋅x2a \cdot x_1 = a \cdot x_2 with aa positive and, say, x1⩽x2x_1 \leqslant x_2, write x2=x1+sx_2 = x_1 + s and cancel to get a⋅s=0a \cdot s = 0, whence s=0s = 0 because a product of positive numbers is positive. It is not a group either.

So regularity is strictly weaker than being a group, and it is the condition we need of a monoid we want to enlarge into a group. That is what the next chapter does to (N0,+)(\mathbb{N}_0, +).

Problem 9.7.

Construct a semigroup with a left identity in which every element has a right inverse, but which is not a group. Two elements suffice.

Problem 9.8.

Let (G,∗)(G, *) be a finite group and write out its multiplication table, the entry in row xx and column yy being x∗yx * y. Show that every element of GG occurs exactly once in each row and exactly once in each column.

Problem 9.9.

Show that (N0,⋅)(\mathbb{N}_0, \cdot) is not regular, and that P(X)\mathcal{P}(X) under ∪\cup is not regular once XX is non-empty.

Problem 9.10.

The symmetric difference A⊕B=def(A∖B)∪(B∖A)A \oplus B \defeq (A \setminus B) \cup (B \setminus A), the set of objects lying in exactly one of AA and BB, was met in the exercises of the chapter on sets. Show that (P(X),⊕)\bigl(\mathcal{P}(X), \oplus\bigr) is an abelian group, and identify its identity and the inverse of each element.

Subgroups

Definition 9.25 (Subgroup).

Let (G,∗)(G, *) be a group with identity ee and let H⊂GH \subset G be non-empty. Then HH is a subgroup of GG if e∈He \in H, if a∗b∈Ha * b \in H for all a,b∈Ha, b \in H, and if a−1∈Ha^{-1} \in H for all a∈Ha \in H. A subgroup other than {e}\{e\} and GG is called proper.

The three conditions say precisely that (H,∗)(H, *) is itself a group under the restricted operation, and nothing extra is assumed. Suppose HH is a closed subset that happens to be a group in its own right, with identity f∈Hf \in H. Then f∗f=ff * f = f holds in GG, and cancelling ff there gives f=ef = e: a subset cannot have an identity of its own. Likewise the inverse of a∈Ha \in H computed inside HH is an inverse of aa inside GG, so uniqueness of inverses makes it a−1a^{-1}. The conditions listed are therefore necessary as well as sufficient, and they may be checked by computing in GG.

Proposition 9.26 (One-step subgroup criterion).

Let (G,∗)(G, *) be a group and let H⊂GH \subset G be non-empty. Then HH is a subgroup of GG if and only if a∗b−1∈Ha * b^{-1} \in H for all a,b∈Ha, b \in H.

Discussion.

A biconditional between the three conditions of the definition and a single one, and one direction is much easier than the other. Forwards is immediate: a subgroup contains b−1b^{-1} and is closed, so it contains a∗b−1a * b^{-1}. Backwards, we get the three conditions from the one by choosing aa and bb suitably. Non-emptiness supplies some a∈Ha \in H to start from; taking b=ab = a produces ee; taking a=ea = e then produces b−1b^{-1} for every b∈Hb \in H; and once inverses are available, the product a∗ba * b is a∗(b−1)−1a * (b^{-1})^{-1}, which the hypothesis covers. Each step uses the hypothesis once, and the steps must come in this order.

Proof.

Suppose HH is a subgroup and let a,b∈Ha, b \in H. Then b−1∈Hb^{-1} \in H, so a∗b−1∈Ha * b^{-1} \in H.

Conversely suppose a∗b−1∈Ha * b^{-1} \in H whenever a,b∈Ha, b \in H. Since HH is non-empty, choose a∈Ha \in H; taking b=ab = a gives e=a∗a−1∈He = a * a^{-1} \in H. Now let b∈Hb \in H; taking the pair (e,b)(e, b) gives b−1=e∗b−1∈Hb^{-1} = e * b^{-1} \in H, so HH is closed under inverses. Finally let a,b∈Ha, b \in H; then b−1∈Hb^{-1} \in H, so taking the pair (a,b−1)(a, b^{-1}) gives a∗(b−1)−1=a∗b∈Ha * (b^{-1})^{-1} = a * b \in H. Hence HH satisfies the three conditions.

Example 9.27 (Subgroups already met).

DnD_n is a subgroup of SnS_n, and for n⩾2n \geqslant 2 the alternating group AnA_n is a subgroup of SnS_n. Inside SAS_A, the permutations fixing a chosen point a∈Aa \in A form a subgroup: the identity fixes aa, a composite of two maps fixing aa fixes aa, and if σ(a)=a\sigma(a) = a then σ−1(a)=a\sigma^{-1}(a) = a. Every group has the two subgroups {e}\{e\} and GG.

For each ℓ∈N\ell \in \mathbb{N} the multiples of ℓ\ell form a subgroup of the integers under addition, an example we can state properly once the integers are built.

Problem 9.11.

Show that a non-empty finite subset HH of a group GG that is closed under the operation is already a subgroup. For fixed a∈Ha \in H the map x↦a∗xx \mapsto a * x sends HH into HH; use finiteness to make it surjective, and read off e∈He \in H and a−1∈Ha^{-1} \in H.

Problem 9.12.

Show that an intersection of subgroups of GG is a subgroup of GG, for any non-empty indexed family of them. Show by example that a union of two subgroups need not be one.

Problem 9.13.

List every subgroup of S3S_3, and check each against the one-step criterion.

Homomorphisms and Quotients

A subgroup cuts a group into pieces of equal size, and sometimes the pieces form a group themselves. The last notion of this chapter is a map that respects the operation.

Cosets

Definition 9.28 (Cosets).

Let HH be a subgroup of a group (G,∗)(G, *) and let b∈Gb \in G. The right coset and the left coset of HH by bb are

H∗b=def{h∗b∣h∈H},b∗H=def{b∗h∣h∈H}.H * b \defeq \{h * b \mid h \in H\}, \qquad b * H \defeq \{b * h \mid h \in H\}.

Proposition 9.29 (The right cosets partition the group).

Let HH be a subgroup of a group (G,∗)(G, *) and define a1∼a2a_1 \sim a_2 to mean a1∗a2−1∈Ha_1 * a_2^{-1} \in H. Then ∼\sim is an equivalence relation on GG whose classes are exactly the right cosets of HH. Moreover #(H∗b)=#H\#(H * b) = \#H for every bb, when HH is finite.

Discussion.

Three assertions. The first asks for the three defining properties of an equivalence relation, and each comes from one of the three subgroup conditions: reflexivity is e∈He \in H, symmetry is closure under inverses applied to a1∗a2−1a_1 * a_2^{-1}, and transitivity is closure under the operation applied to a product that telescopes. The second is an equality of sets, so it is two inclusions, and both come from writing an element of one side in the form the other side demands. The third is a counting claim, and since cardinality classifies finite sets it is enough to produce a bijection H→H∗bH \to H * b; the map h↦h∗bh \mapsto h * b is one, being surjective by the definition of the coset and injective by cancellation.

Proof.

For reflexivity, a∗a−1=e∈Ha * a^{-1} = e \in H, so a∼aa \sim a. For symmetry, if a1∗a2−1∈Ha_1 * a_2^{-1} \in H then its inverse (a1∗a2−1)−1=a2∗a1−1(a_1 * a_2^{-1})^{-1} = a_2 * a_1^{-1} lies in HH, so a2∼a1a_2 \sim a_1. For transitivity, if a1∗a2−1∈Ha_1 * a_2^{-1} \in H and a2∗a3−1∈Ha_2 * a_3^{-1} \in H then their product

(a1∗a2−1)∗(a2∗a3−1)=a1∗a3−1(a_1 * a_2^{-1}) * (a_2 * a_3^{-1}) = a_1 * a_3^{-1}

lies in HH, so a1∼a3a_1 \sim a_3.

For the classes, fix bb. If a∼ba \sim b then h=defa∗b−1∈Hh \defeq a * b^{-1} \in H and a=h∗b∈H∗ba = h * b \in H * b. Conversely if a=h∗ba = h * b with h∈Hh \in H then a∗b−1=h∈Ha * b^{-1} = h \in H, so a∼ba \sim b. Hence [b]=H∗b[b] = H * b.

For the count, the map h↦h∗bh \mapsto h * b from HH to H∗bH * b is surjective by the definition of H∗bH * b and injective by cancellation, hence a bijection, so the two sets have the same cardinality.

Since the classes of an equivalence relation partition the set, the right cosets partition GG into pieces all of the same size as HH. The left cosets do the same, by the mirror argument with a1−1∗a2∈Ha_1^{-1} * a_2 \in H.

Problem 9.14.

Let GG be a finite group and HH a subgroup. Show that #G\#G is the product of #H\#H with the number of right cosets of HH. Deduce that #H\#H divides #G\#G.

Problem 9.15.

Show that the left cosets of HH partition GG as the right cosets do, and that the two partitions have the same number of pieces, by checking that H∗b↦b−1∗HH * b \mapsto b^{-1} * H is a well-defined bijection between them.

Homomorphisms

Definition 9.30 (Homomorphism).

Let (G1,∗)(G_1, *) and (G2,∗)(G_2, *) be groups. A function α:G1→G2\alpha : G_1 \to G_2 is a homomorphism if

α(a∗b)=α(a)∗α(b)for all a,b∈G1.\alpha(a * b) = \alpha(a) * \alpha(b) \qquad \text{for all } a, b \in G_1.

Its kernel is ker⁡α=defα−1({e2})\ker \alpha \defeq \alpha^{-1}(\{e_2\}), the preimage of the identity of G2G_2, and its image is α(G1)\alpha(G_1). A bijective homomorphism is an isomorphism; groups with an isomorphism between them are isomorphic, written G1≅G2G_1 \cong G_2. An isomorphism from a group to itself is an automorphism. Throughout, e1e_1 and e2e_2 are the identities of G1G_1 and of G2G_2.

The same symbol ∗* denotes two different operations, one on each side of the equation, and that is deliberate: the condition says that computing in G1G_1 and then transporting gives the same answer as transporting and then computing in G2G_2.

Proposition 9.31 (Homomorphisms respect the identity and inverses).

Let α:G1→G2\alpha : G_1 \to G_2 be a homomorphism. Then α(e1)=e2\alpha(e_1) = e_2 and α(a−1)=α(a)−1\alpha(a^{-1}) = \alpha(a)^{-1} for every a∈G1a \in G_1.

Discussion.

Neither conclusion is assumed by the definition, which mentions only products, so both must be derived from the product condition. For the first, e1e_1 is characterised inside G1G_1 by e1∗e1=e1e_1 * e_1 = e_1; applying α\alpha turns that into an equation about α(e1)\alpha(e_1) alone, and cancellation in G2G_2 finishes it. For the second, apply α\alpha to the defining equation a∗a−1=e1a * a^{-1} = e_1 and use the first part: the result says α(a−1)\alpha(a^{-1}) is an inverse of α(a)\alpha(a), and inverses are unique.

Proof.

From e1∗e1=e1e_1 * e_1 = e_1 we get α(e1)∗α(e1)=α(e1)=α(e1)∗e2\alpha(e_1) * \alpha(e_1) = \alpha(e_1) = \alpha(e_1) * e_2, and cancelling α(e1)\alpha(e_1) on the left gives α(e1)=e2\alpha(e_1) = e_2.

Then α(a)∗α(a−1)=α(a∗a−1)=α(e1)=e2\alpha(a) * \alpha(a^{-1}) = \alpha(a * a^{-1}) = \alpha(e_1) = e_2, and likewise α(a−1)∗α(a)=e2\alpha(a^{-1}) * \alpha(a) = e_2. So α(a−1)\alpha(a^{-1}) is an inverse of α(a)\alpha(a), hence is α(a)−1\alpha(a)^{-1} by uniqueness.

Proposition 9.32 (Kernel and image).

Let α:G1→G2\alpha : G_1 \to G_2 be a homomorphism.

  1. ker⁡α\ker \alpha is a subgroup of G1G_1 and α(G1)\alpha(G_1) is a subgroup of G2G_2.
  2. α\alpha is injective if and only if ker⁡α={e1}\ker \alpha = \{e_1\}.
  3. If α\alpha is an isomorphism then so is α−1\alpha^{-1}.

Discussion.

Three separate claims. The first two subgroup checks are the one-step criterion, and each is a short computation using the previous proposition to convert α\alpha of an inverse into an inverse of α\alpha; non-emptiness comes from α(e1)=e2\alpha(e_1) = e_2 in both cases. The second claim is a biconditional: forwards, an injective map sends at most one point to e2e_2 and e1e_1 is already one; backwards, the way to turn an equality α(a1)=α(a2)\alpha(a_1) = \alpha(a_2) into a statement about the kernel is to move everything to one side, forming a1∗a2−1a_1 * a_2^{-1}, which the hypothesis then forces to be e1e_1. The third is again a matter of transporting a condition: given a2,b2∈G2a_2, b_2 \in G_2, name their preimages, apply the homomorphism condition to those, and read the resulting equation backwards through α−1\alpha^{-1}; that α−1\alpha^{-1} is bijective is the theorem that the inverse of a bijection is a bijection.

Proof.

For the first, α(e1)=e2\alpha(e_1) = e_2 puts e1∈ker⁡αe_1 \in \ker \alpha and e2∈α(G1)e_2 \in \alpha(G_1), so both are non-empty. If a,b∈ker⁡αa, b \in \ker \alpha then

α(a∗b−1)=α(a)∗α(b)−1=e2∗e2−1=e2,\alpha(a * b^{-1}) = \alpha(a) * \alpha(b)^{-1} = e_2 * e_2^{-1} = e_2,

so a∗b−1∈ker⁡αa * b^{-1} \in \ker\alpha and the one-step criterion applies. If α(a),α(b)∈α(G1)\alpha(a), \alpha(b) \in \alpha(G_1) then α(a)∗α(b)−1=α(a∗b−1)∈α(G1)\alpha(a) * \alpha(b)^{-1} = \alpha(a * b^{-1}) \in \alpha(G_1), and the criterion applies again.

For the second, suppose α\alpha is injective and a∈ker⁡αa \in \ker\alpha. Then α(a)=e2=α(e1)\alpha(a) = e_2 = \alpha(e_1), so a=e1a = e_1. Conversely suppose ker⁡α={e1}\ker\alpha = \{e_1\} and α(a1)=α(a2)\alpha(a_1) = \alpha(a_2). Then

α(a1∗a2−1)=α(a1)∗α(a2)−1=e2,\alpha(a_1 * a_2^{-1}) = \alpha(a_1) * \alpha(a_2)^{-1} = e_2,

so a1∗a2−1=e1a_1 * a_2^{-1} = e_1 and hence a1=a2a_1 = a_2.

For the third, let α\alpha be an isomorphism and let a2,b2∈G2a_2, b_2 \in G_2 have preimages a1,b1a_1, b_1. Then α(a1∗b1)=a2∗b2\alpha(a_1 * b_1) = a_2 * b_2, so α−1(a2∗b2)=a1∗b1=α−1(a2)∗α−1(b2)\alpha^{-1}(a_2 * b_2) = a_1 * b_1 = \alpha^{-1}(a_2) * \alpha^{-1}(b_2). And α−1\alpha^{-1} is a bijection, so it is an isomorphism.

Example 9.33 (The sign is a homomorphism).

The sign of a permutation takes two values, and the group with two elements is S2={id,τ1,2}S_2 = \{\mathrm{id}, \tau_{1,2}\}. Define sg:Sn→S2\mathrm{sg} : S_n \to S_2 by sending an even permutation to id\mathrm{id} and an odd one to τ1,2\tau_{1,2}. The theorem on the properties of the sign says the sign of a product is the product of the signs, which is exactly the statement that sg\mathrm{sg} is a homomorphism: the four cases of “even or odd times even or odd” are the four products in S2S_2.

Its kernel is the set of even permutations, which is AnA_n. So the fact that the alternating group is a subgroup, checked by hand last chapter, now follows from the proposition on kernels. For n⩾2n \geqslant 2 the map is surjective, since a transposition is odd, so its image is all of S2S_2.

Theorem 9.34 (Cayley's theorem).

Every group is isomorphic to a subgroup of a symmetric group. Precisely: if (G,∗)(G, *) is a group then a↦λaa \mapsto \lambda_a, where λa(x)=defa∗x\lambda_a(x) \defeq a * x, is an injective homomorphism G→SGG \to S_G, so GG is isomorphic to a subgroup of SGS_G.

Discussion.

There are three things to check. First, the proposed values must lie where the theorem says: λa\lambda_a must be a permutation of GG, and it is, because λa−1\lambda_{a^{-1}} undoes it on both sides, so it is invertible and hence a bijection. Second, the map must be a homomorphism, and since both sides are functions on GG the check is an equality of functions, settled by evaluating at an arbitrary xx; associativity is the only thing used, and it is used once. Third, injectivity, which by the previous proposition is the triviality of the kernel: if λa\lambda_a is the identity permutation then it fixes ee in particular, and λa(e)=a\lambda_a(e) = a. The isomorphism onto a subgroup is then the image, which the previous proposition already knows to be a subgroup.

Proof.

For each a∈Ga \in G the maps λa\lambda_a and λa−1\lambda_{a^{-1}} satisfy

λa−1(λa(x))=a−1∗(a∗x)=x\lambda_{a^{-1}}\bigl(\lambda_a(x)\bigr) = a^{-1} * (a * x) = x

and likewise in the other order, so λa\lambda_a is invertible and hence a permutation of GG; that is, λa∈SG\lambda_a \in S_G.

Let Λ:G→SG\Lambda : G \to S_G be a↦λaa \mapsto \lambda_a. For a,b∈Ga, b \in G and any x∈Gx \in G,

λa∗b(x)=(a∗b)∗x=a∗(b∗x)=λa(λb(x))=(λaλb)(x),\lambda_{a * b}(x) = (a * b) * x = a * (b * x) = \lambda_a\bigl(\lambda_b(x)\bigr) = (\lambda_a \lambda_b)(x),

so Λ(a∗b)=Λ(a)Λ(b)\Lambda(a * b) = \Lambda(a)\Lambda(b) and Λ\Lambda is a homomorphism.

If a∈ker⁡Λa \in \ker\Lambda then λa=idG\lambda_a = \mathrm{id}_G, so a=a∗e=λa(e)=ea = a * e = \lambda_a(e) = e. Hence ker⁡Λ={e}\ker\Lambda = \{e\} and Λ\Lambda is injective. Its image is a subgroup of SGS_G, and Λ\Lambda restricted to that image is a bijective homomorphism, hence an isomorphism.

Remark.

Cayley’s theorem says that every group is a group of permutations, so in that sense the last chapter already covered all groups. The statement is weak, though: SGS_G has #G !\#G\,! elements when GG is finite, so the copy of GG inside it is a very small part of a very large group, and locating it is no easier than knowing GG already.

Problem 9.16.

Show that sg:Sn→S2\mathrm{sg} : S_n \to S_2 of the example above is the only homomorphism Sn→S2S_n \to S_2 that is not constant, for n⩾2n \geqslant 2. Every transposition must go to the same place; say why.

Problem 9.17.

Show that a homomorphism carries a subgroup of G1G_1 to a subgroup of G2G_2, and that the preimage of a subgroup of G2G_2 is a subgroup of G1G_1.

Problem 9.18.

Show that D3D_3 and S3S_3 are isomorphic, and that D4D_4 and S4S_4 are not.

Normal Subgroups and Quotients

Kernels satisfy a condition that not every subgroup does, and it is exactly the condition needed to make the cosets into a group.

Definition 9.35 (Normal subgroup).

A subgroup HH of a group (G,∗)(G, *) is normal if b−1∗a∗b∈Hb^{-1} * a * b \in H for all a∈Ha \in H and b∈Gb \in G.

In an abelian group b−1∗a∗b=ab^{-1} * a * b = a, so every subgroup is normal, and the condition only matters in the non-commutative case.

Proposition 9.36 (Kernels are normal).

The kernel of a homomorphism α:G1→G2\alpha : G_1 \to G_2 is a normal subgroup of G1G_1.

Discussion.

That the kernel is a subgroup is already proved, so only the normality condition is left, and it is a membership claim: we must show α\alpha sends b−1∗a∗bb^{-1} * a * b to e2e_2. Applying the homomorphism condition twice turns that element into a product of three values of α\alpha, the middle one being e2e_2 because aa lies in the kernel; the outer two are inverse to each other by the proposition on how homomorphisms treat inverses, so the product is e2e_2.

Proof.

Let a∈ker⁡αa \in \ker\alpha and b∈G1b \in G_1. Then

α(b−1∗a∗b)=α(b)−1∗α(a)∗α(b)=α(b)−1∗e2∗α(b)=α(b)−1∗α(b)=e2,\begin{aligned} \alpha(b^{-1} * a * b) &= \alpha(b)^{-1} * \alpha(a) * \alpha(b) \\ &= \alpha(b)^{-1} * e_2 * \alpha(b) = \alpha(b)^{-1} * \alpha(b) = e_2, \end{aligned}

so b−1∗a∗b∈ker⁡αb^{-1} * a * b \in \ker\alpha. With the subgroup property already established, ker⁡α\ker\alpha is normal.

Theorem 9.37 (Normal subgroups are those whose cosets agree).

Let HH be a subgroup of a group (G,∗)(G, *). Then HH is normal if and only if H∗b=b∗HH * b = b * H for every b∈Gb \in G.

Discussion.

A biconditional, and each direction converts one membership statement into another by moving a factor across. Forwards: an element of H∗bH * b is h∗bh * b, and to exhibit it in b∗Hb * H we must write it as bb times something in HH; inserting b∗b−1b * b^{-1} gives b∗(b−1∗h∗b)b * (b^{-1} * h * b), and normality is precisely the statement that the bracketed factor lies in HH. The reverse inclusion is the same move with b−1b^{-1} in place of bb, which normality also covers. Backwards: given the equality of the two cosets, an element b−1∗a∗bb^{-1} * a * b with a∈Ha \in H is a member of b−1∗(H∗b)b^{-1} * (H * b), which the hypothesis rewrites as b−1∗(b∗H)=Hb^{-1} * (b * H) = H.

Proof.

Suppose HH is normal and let b∈Gb \in G. If h∈Hh \in H then h∗b=b∗(b−1∗h∗b)h * b = b * (b^{-1} * h * b) and b−1∗h∗b∈Hb^{-1} * h * b \in H, so H∗b⊂b∗HH * b \subset b * H. If h∈Hh \in H then b∗h=(b∗h∗b−1)∗bb * h = \bigl(b * h * b^{-1}\bigr) * b, and b∗h∗b−1=(b−1)−1∗h∗b−1∈Hb * h * b^{-1} = (b^{-1})^{-1} * h * b^{-1} \in H by normality applied with b−1b^{-1}, so b∗H⊂H∗bb * H \subset H * b. Hence the two cosets are equal.

Conversely suppose H∗b=b∗HH * b = b * H for every bb, and let a∈Ha \in H and b∈Gb \in G. Then a∗b∈H∗b=b∗Ha * b \in H * b = b * H, so a∗b=b∗ha * b = b * h for some h∈Hh \in H, and b−1∗a∗b=h∈Hb^{-1} * a * b = h \in H. So HH is normal.

When HH is normal the two partitions of GG coincide and there is just one collection of cosets, which we write G/HG/H — the quotient of GG by the equivalence relation of the coset proposition.

Theorem 9.38 (The quotient group).

Let HH be a normal subgroup of a group (G,∗)(G, *). Then

(H∗a)∗(H∗b)=defH∗(a∗b)(H * a) * (H * b) \defeq H * (a * b)

is a well-defined operation on G/HG/H, making G/HG/H a group with identity H=H∗eH = H * e and with (H∗a)−1=H∗a−1(H * a)^{-1} = H * a^{-1}. The map q:G→G/Hq : G \to G/H sending aa to H∗aH * a is a surjective homomorphism with ker⁡q=H\ker q = H.

Discussion.

The main difficulty is showing that the operation is well defined. The proposed rule names the answer using aa and bb, but the arguments of the operation are the cosets, and a coset has many names; so we must show that replacing aa by any a′a' with H∗a′=H∗aH * a' = H * a, and bb likewise, leaves H∗(a∗b)H * (a * b) unchanged. Written in terms of the equivalence relation, that means a′∗a−1∈Ha' * a^{-1} \in H and b′∗b−1∈Hb' * b^{-1} \in H should force (a′∗b′)∗(a∗b)−1∈H(a' * b') * (a * b)^{-1} \in H, and this calculation uses normality: the two known members of HH are separated by aa, and normality lets us move it past.

The rest follows from the laws in GG. Associativity, the identity law and the inverse law each reduce, through the definition of the operation, to the corresponding law in GG applied to representatives. That qq is a homomorphism is the definition of the operation read backwards, surjectivity is the definition of G/HG/H, and the kernel is the set of aa with H∗a=HH * a = H, which is HH.

Proof.

For well-definedness, suppose H∗a′=H∗aH * a' = H * a and H∗b′=H∗bH * b' = H * b, so that h=defa′∗a−1h \defeq a' * a^{-1} and k=defb′∗b−1k \defeq b' * b^{-1} lie in HH. Then a′=h∗aa' = h * a and b′=k∗bb' = k * b, so

(a′∗b′)∗(a∗b)−1=h∗a∗k∗b∗b−1∗a−1=h∗(a∗k∗a−1),(a' * b') * (a * b)^{-1} = h * a * k * b * b^{-1} * a^{-1} = h * (a * k * a^{-1}),

and a∗k∗a−1=(a−1)−1∗k∗a−1∈Ha * k * a^{-1} = (a^{-1})^{-1} * k * a^{-1} \in H by normality. So the displayed element is a product of two members of HH and lies in HH, giving H∗(a′∗b′)=H∗(a∗b)H * (a' * b') = H * (a * b). The operation is therefore well defined.

Associativity follows from associativity in GG:

((H∗a)∗(H∗b))∗(H∗c)=H∗((a∗b)∗c)=H∗(a∗(b∗c))=(H∗a)∗((H∗b)∗(H∗c)).\begin{aligned} \bigl((H * a) * (H * b)\bigr) * (H * c) &= H * \bigl((a * b) * c\bigr) \\ &= H * \bigl(a * (b * c)\bigr) \\ &= (H * a) * \bigl((H * b) * (H * c)\bigr). \end{aligned}

Also (H∗e)∗(H∗a)=H∗a=(H∗a)∗(H∗e)(H * e) * (H * a) = H * a = (H * a) * (H * e), so H∗e=HH * e = H is an identity, and (H∗a)∗(H∗a−1)=H∗e=(H∗a−1)∗(H∗a)(H * a) * (H * a^{-1}) = H * e = (H * a^{-1}) * (H * a), so H∗a−1H * a^{-1} is an inverse of H∗aH * a. Hence G/HG/H is a group.

Finally q(a∗b)=H∗(a∗b)=(H∗a)∗(H∗b)=q(a)∗q(b)q(a * b) = H * (a * b) = (H * a) * (H * b) = q(a) * q(b), so qq is a homomorphism; it is surjective because every coset is H∗aH * a for some aa; and q(a)=Hq(a) = H holds exactly when a∗e−1=a∈Ha * e^{-1} = a \in H, so ker⁡q=H\ker q = H.

Remark.

So normal subgroups and kernels are the same thing: every kernel is normal, by the proposition, and every normal subgroup is the kernel of the map qq onto its own quotient. So the question “which subgroups can be quotiented by?” and the question “which subgroups arise as kernels?” have one answer.

Theorem 9.39 (First isomorphism theorem).

Let α:G1→G2\alpha : G_1 \to G_2 be a homomorphism. Then

G1/ker⁡α  ≅  α(G1),G_1/\ker\alpha \;\cong\; \alpha(G_1),

by the isomorphism sending the coset ker⁡α∗a\ker\alpha * a to α(a)\alpha(a).

Discussion.

The statement claims an isomorphism between two groups both of which are already known to exist: the quotient by the previous theorem, since the kernel is normal, and the image by the proposition on kernels and images. So we only need to check four things about the named map. That it is well defined is the same issue as before, since a coset has many names, and it holds because two representatives differ by a member of the kernel, which α\alpha sends to the identity. That it is a homomorphism is the definition of the quotient operation together with the homomorphism property of α\alpha. Surjectivity onto the image is immediate. Injectivity is the triviality of the kernel of the new map, and it comes out as the statement that α(a)=e2\alpha(a) = e_2 puts aa in ker⁡α\ker\alpha, so the coset is the identity of the quotient.

Proof.

Write K=defker⁡αK \defeq \ker\alpha, a normal subgroup by the proposition, so that G1/KG_1/K is a group. Define β(K∗a)=defα(a)\beta(K * a) \defeq \alpha(a).

Well defined. If K∗a′=K∗aK * a' = K * a then a′∗a−1∈Ka' * a^{-1} \in K, so α(a′)∗α(a)−1=α(a′∗a−1)=e2\alpha(a') * \alpha(a)^{-1} = \alpha(a' * a^{-1}) = e_2 and hence α(a′)=α(a)\alpha(a') = \alpha(a).

Homomorphism. β((K∗a)∗(K∗b))=β(K∗(a∗b))=α(a∗b)=α(a)∗α(b)=β(K∗a)∗β(K∗b)\beta\bigl((K * a) * (K * b)\bigr) = \beta\bigl(K * (a * b)\bigr) = \alpha(a * b) = \alpha(a) * \alpha(b) = \beta(K * a) * \beta(K * b).

Surjective onto α(G1)\alpha(G_1). Every element of the image is α(a)=β(K∗a)\alpha(a) = \beta(K * a) for some aa.

Injective. If β(K∗a)=e2\beta(K * a) = e_2 then α(a)=e2\alpha(a) = e_2, so a∈Ka \in K and K∗a=KK * a = K, the identity of G1/KG_1/K. So the kernel of β\beta is trivial and β\beta is injective.

Hence β\beta is a bijective homomorphism from G1/KG_1/K onto α(G1)\alpha(G_1).

Example 9.40 (The sign again).

Take α=sg:Sn→S2\alpha = \mathrm{sg} : S_n \to S_2 with n⩾2n \geqslant 2. Its kernel is AnA_n and its image is all of S2S_2, so the theorem gives

Sn/An  ≅  S2.S_n/A_n \;\cong\; S_2 .

The quotient has two elements, the even permutations and the odd ones, and its multiplication is the arithmetic of parity: even times even is even, even times odd is odd, odd times odd is even. Counting the cosets recovers the problem that #Sn\#S_n is twice the number of even permutations, this time as a consequence rather than a construction.

Problem 9.19.

Show that a subgroup H⊂GH \subset G with exactly two right cosets is normal, without computing anything about HH itself.

Problem 9.20.

Show that {id,τ1,2}\{\mathrm{id}, \tau_{1,2}\} is a subgroup of S3S_3 that is not normal, and that A3A_3 is a normal subgroup of S3S_3. Which of the two has a quotient group, and what is it?

Problem 9.21.

Let α:G1→G2\alpha : G_1 \to G_2 be a homomorphism and let HH be a normal subgroup of G1G_1 contained in ker⁡α\ker\alpha. Show that there is exactly one homomorphism γ:G1/H→G2\gamma : G_1/H \to G_2 with α=γ∘q\alpha = \gamma \circ q, where q:G1→G1/Hq : G_1 \to G_1/H is the quotient map. The first isomorphism theorem is the case H=ker⁡αH = \ker\alpha.

Exercises

 

Answers are checked in your browser, as often as you like. Nothing is sent anywhere and nothing is kept but your own work. A formula may be written with the symbols themselves or with ~ & | -> <-> ^, and \and, \or, \to expand as you type.

Exercise 9.1.

The symmetries of the square form D4D_4, with #D4=8\#D_4 = 8.

The number of σ∈D4\sigma \in D_4 with σσ=id\sigma\sigma = \mathrm{id} is:

answer one of these

The number of σ∈D4\sigma \in D_4 with σσσ=id\sigma\sigma\sigma = \mathrm{id} is:

answer one of these

Exercise 9.2.

Let (G,∗)(G, *) be a finite group and write ana^n for the product of nn copies of aa.

For a∈Ga \in G, the set {n∈N∣an=e}\{n \in \mathbb{N} \mid a^n = e\} is:

answer one of these

There is a single N∈NN \in \mathbb{N} with aN=ea^N = e for every a∈Ga \in G at once:

answer one of these

Exercise 9.3.

Let (G,∗)(G, *) be a finite group with #G\#G even. The number of a∈Ga \in G with a∗a=ea * a = e is:

answer one of these

Exercise 9.4.

Let K⊂H⊂GK \subset H \subset G, with HH a subgroup of the finite group GG and KK a subgroup of HH. Suppose HH has exactly 33 right cosets in GG, and KK exactly 44 right cosets in HH.

The number of right cosets of KK in GG is:

answer one of these

Exercise 9.5.

Let HH be a subgroup of SnS_n with #H=20\#H = 20.

If HH contains an odd permutation, the number of odd permutations in HH is:

answer one of these

If HH contains no odd permutation, that number is:

answer one of these

Exercise 9.6.

Let GG be an infinite group and let HH and KK be subgroups with exactly 33 and exactly 55 right cosets. The number of right cosets of H∩KH \cap K in GG is:

answer one of these

Exercise 9.7.

Let SS be a non-empty subset of a group (G,∗)(G, *) and suppose the sets b∗Sb * S, for b∈Gb \in G, partition GG. Then SS is:

answer one of these

Exercise 9.8.

For a group (G,∗)(G, *) put Z(G)=def{a∈G∣a∗b=b∗a for every b∈G}Z(G) \defeq \{a \in G \mid a * b = b * a \text{ for every } b \in G\}.

Then Z(G)Z(G) is:

answer one of these

Exercise 9.9.

Let K={e,k}K = \{e, k\} with k≠ek \neq e be a normal subgroup of (G,∗)(G, *). Then:

answer one of these

Exercise 9.10.

Let KK be a normal subgroup of HH and let HH be a normal subgroup of GG.

Then KK:

answer one of these

The smallest symmetric group holding a pair that witnesses this is:

answer one of these

Exercise 9.11.

Let HH be a subgroup of (G,∗)(G, *). The largest normal subgroup of GG contained in HH is:

answer one of these

Exercises in Lean

 

The proofs below are checked in your browser. Nothing is sent anywhere, and nothing is stored but your own work. Type \to for →, \and for ∧, \< and \> for ⟨ ⟩.

Every statement of this chapter is made of one group, so the checker is given one and the sheet works inside it. The objects are its elements, and three new pieces of notation carry the structure:

a ∗ b    the product, typed \ast
e        the identity
a⁻¹      the inverse of a, typed \-1

The operation binds like a product, so a ∗ b ∗ c is (a ∗ b) ∗ c and brackets are written where the other reading is wanted. A subgroup is a set, hence an object like any other, and a ∈ H is the membership of the sets chapter.

Five entries carry Definition 9.19 and nothing else is given away:

mul_assoc        (a ∗ b) ∗ c = a ∗ (b ∗ c)
e_mul            e ∗ a = a
mul_e            a ∗ e = a
inv_mul_cancel   a⁻¹ ∗ a = e
mul_inv_cancel   a ∗ a⁻¹ = e

Everything else in the chapter is a consequence, and the sheet asks for the consequences.

Multiplying an equation through

The axioms are equations, so the work is rewriting. What the paper proofs do in one line (multiply both sides by a−1a^{-1}) the checker needs spelled out, and congrArg says it: from h : x = y it builds f x = f y for any f written out as fun t => …. Once the equation has the factor on it, rw [...] at h cancels.

Example.

The observation that settled the identity of a subgroup, in the discussion after Definition 9.25 . Multiplying by a−1a^{-1} on the left is the whole of it.

lean worked
1example (a : Obj) (h : a ∗ a = a) : a = e := by
verified
goalGoals accomplished.

Example.

The left half of Proposition 9.22 . It is listed below as mul_left_cancel, so the exercises may lean on it.

lean worked
1example (a x y : Obj) (h : a ∗ x = a ∗ y) : x = y := by
verified
goalGoals accomplished.

Example.

Inverting twice returns the element, noted after Proposition 9.15 . It is listed below as inv_inv.

lean worked
1example (a : Obj) : (a⁻¹)⁻¹ = a := by
verified
goalGoals accomplished.

Exercise 9.12.

The identity is its own inverse.

lean proof
1example : e⁻¹ = e := by
goal⊢ e⁻¹ = e

Exercise 9.13.

Proposition 9.12 , with only the left-hand law assumed.

lean proof
1example (f : Obj) (h : ∀ a : Obj, f ∗ a = a) : f = e := by
goalf : Obj h : ∀ (a : Obj), f ∗ a = a ⊢ f = e

Exercise 9.14.

The right half of Proposition 9.22 .

lean proof
1example (a y z : Obj) (h : y ∗ a = z ∗ a) : y = z := by
goala y z : Obj h : y ∗ a = z ∗ a ⊢ y = z

Exercise 9.15.

Proposition 9.15 , in the form Problem 9.6 puts it.

lean proof
1example (a b c : Obj) (hb : b ∗ a = e) (hc : a ∗ c = e) : b = c := by
goala b c : Obj hb : b ∗ a = e hc : a ∗ c = e ⊢ b = c

Exercise 9.16.

The equation a∗x=ba * x = b has no second solution, as the remark after Proposition 9.22 observes.

lean proof
1example (a b x : Obj) (h : a ∗ x = b) : x = a⁻¹ ∗ b := by
goala b x : Obj h : a ∗ x = b ⊢ x = a⁻¹ ∗ b

Exercise 9.17.

Proposition 9.16 . Show first that b−1∗a−1b^{-1} * a^{-1} multiplies with a∗ba * b to give ee.

lean proof
1example (a b : Obj) : (a ∗ b)⁻¹ = b⁻¹ ∗ a⁻¹ := by
goala b : Obj ⊢ (a ∗ b)⁻¹ = b⁻¹ ∗ a⁻¹

Exercise 9.18.

The rearrangement that carries a right coset onto a left one in Theorem 9.37 .

lean proof
1example (x b : Obj) : x ∗ b = b ∗ (b⁻¹ ∗ x ∗ b) := by
goalx b : Obj ⊢ x ∗ b = b ∗ ((b⁻¹ ∗ x) ∗ b)

Exercise 9.19.

The first step of the backward direction of Proposition 9.26 .

lean proof
1example (H x : Obj) (hx : x ∈ H) (h : ∀ a b : Obj, a ∈ H → b ∈ H → a ∗ b⁻¹ ∈ H) : e ∈ H := by
goalH x : Obj hx : x ∈ H h : ∀ (a : Obj), ∀ (b : Obj), a ∈ H → b ∈ H → a ∗ b⁻¹ ∈ H ⊢ e ∈ H

Exercise 9.20.

Its second step.

lean proof
1example (H b : Obj) (he : e ∈ H) (hb : b ∈ H)2    (h : ∀ a b : Obj, a ∈ H → b ∈ H → a ∗ b⁻¹ ∈ H) : b⁻¹ ∈ H := by
goalH b : Obj he : e ∈ H hb : b ∈ H h : ∀ (a : Obj), ∀ (b : Obj), a ∈ H → b ∈ H → a ∗ b⁻¹ ∈ H ⊢ b⁻¹ ∈ H

Exercise 9.21.

And its third, which is where inv_inv earns its place.

lean proof
1example (H a b : Obj) (ha : a ∈ H) (hb : b⁻¹ ∈ H)2    (h : ∀ a b : Obj, a ∈ H → b ∈ H → a ∗ b⁻¹ ∈ H) : a ∗ b ∈ H := by
goalH a b : Obj ha : a ∈ H hb : b⁻¹ ∈ H h : ∀ (a : Obj), ∀ (b : Obj), a ∈ H → b ∈ H → a ∗ b⁻¹ ∈ H ⊢ a ∗ b ∈ H

Exercise 9.22.

The first half of Proposition 9.31 . A homomorphism is a map with the one property, so it arrives as an arrow together with the equation it satisfies.

lean proof
1example (f : Obj → Obj) (hf : ∀ a b : Obj, f (a ∗ b) = f a ∗ f b) : f e = e := by
goalf : Obj → Obj hf : ∀ (a : Obj), ∀ (b : Obj), f (a ∗ b) = f a ∗ f b ⊢ f e = e

Exercise 9.23.

Its second half, with the first half to hand.

lean proof
1example (f : Obj → Obj) (hf : ∀ a b : Obj, f (a ∗ b) = f a ∗ f b) (hfe : f e = e) (a : Obj) :2    f a⁻¹ = (f a)⁻¹ := by
goalf : Obj → Obj hf : ∀ (a : Obj), ∀ (b : Obj), f (a ∗ b) = f a ∗ f b hfe : f e = e a : Obj ⊢ f a⁻¹ = (f a)⁻¹

Exercise 9.24.

The kernel is closed under the operation, part of Proposition 9.32 . The kernel arrives as a set together with its membership criterion.

lean proof
1example (f : Obj → Obj) (K : Obj) (hf : ∀ a b : Obj, f (a ∗ b) = f a ∗ f b)2    (hK : ∀ x : Obj, x ∈ K ↔ f x = e) (a b : Obj) (ha : a ∈ K) (hb : b ∈ K) : a ∗ b ∈ K := by
goalf : Obj → Obj K : Obj hf : ∀ (a : Obj), ∀ (b : Obj), f (a ∗ b) = f a ∗ f b hK : ∀ (x : Obj), x ∈ K ↔ f x = e a b : Obj ha : a ∈ K hb : b ∈ K ⊢ a ∗ b ∈ K

Exercise 9.25.

Proposition 9.36 : the kernel is normal. (Harder.)

lean proof
1example (f : Obj → Obj) (K : Obj) (hf : ∀ a b : Obj, f (a ∗ b) = f a ∗ f b) (hfe : f e = e)2    (hinv : ∀ a : Obj, f a⁻¹ = (f a)⁻¹) (hK : ∀ x : Obj, x ∈ K ↔ f x = e)3    (a b : Obj) (ha : a ∈ K) : b⁻¹ ∗ a ∗ b ∈ K := by
goalf : Obj → Obj K : Obj hf : ∀ (a : Obj), ∀ (b : Obj), f (a ∗ b) = f a ∗ f b hfe : f e = e hinv : ∀ (a : Obj), f a⁻¹ = (f a)⁻¹ hK : ∀ (x : Obj), x ∈ K ↔ f x = e a b : Obj ha : a ∈ K ⊢ (b⁻¹ ∗ a) ∗ b ∈ K
What the checker understands

Tactics

intro h assume the hypothesis of an implication, naming it h
exact e give the proof outright
apply f reduce the goal to the hypotheses of f
assumption close the goal with a hypothesis already present
trivial close the goal True
exfalso replace the goal with False
by_contra h assume the negation of the goal
constructor split ∧ into both halves, or ↔ into both directions
left / right choose which half of a ∨ to prove
rcases h with a | b argue by cases on a disjunction
obtain ⟨a, b⟩ := h take a conjunction or an existential apart
cases h as above, keeping the name
refine e give the proof with holes left in it
have h : p := … record an intermediate result
show p restate the goal in an equal form
use w give a witness for ∃
specialize h a instantiate a ∀ hypothesis
rw [h] rewrite with an equation, ← to go backwards
rfl both sides compute to the same thing
decide / norm_num settle a closed computation
tauto close a goal that is true by pure logic
induction n with k ih the fifth Peano condition: prove the goal at 0, then at succ k from ih

Results you may cite

Classical.em ∀ (a : Prop), a ∨ ¬a — the law of excluded middle
Classical.byContradiction ∀ {a : Prop}, (¬a → False) → a — proof by contradiction; the tactic by_contra does this for you
Classical.byCases ∀ {a b : Prop}, (a → b) → (¬a → b) → b — split on whether a holds
not_not ∀ {a : Prop}, ¬¬a ↔ a — double negation
not_and_or ∀ {a b : Prop}, ¬(a ∧ b) ↔ ¬a ∨ ¬b — De Morgan
not_or ∀ {a b : Prop}, ¬(a ∨ b) ↔ ¬a ∧ ¬b — De Morgan
not_imp ∀ {a b : Prop}, ¬(a → b) ↔ a ∧ ¬b
and_comm ∀ {a b : Prop}, a ∧ b ↔ b ∧ a
or_comm ∀ {a b : Prop}, a ∨ b ↔ b ∨ a
Set.ext ∀ {A B : Obj}, (∀ x : Obj, x ∈ A ↔ x ∈ B) → A = B — extensionality: sets with the same elements are equal
Set.ext_iff ∀ {A B : Obj}, A = B ↔ (∀ x : Obj, x ∈ A ↔ x ∈ B) — extensionality and substitution, in one biconditional
Set.subset_antisymm ∀ {A B : Obj}, A ⊆ B → B ⊆ A → A = B — mutual inclusion is equality
Set.empty_subset ∀ {A : Obj}, ∅ ⊆ A — the empty set is a subset of every set
Set.pair_eq ∀ {a b c d : Obj}, ((a, b) = (c, d)) ↔ (a = c ∧ b = d) — two ordered pairs are equal exactly when their coordinates are
Nat.succ_inj ∀ {m n : ℕ}, succ m = succ n → m = n — the third Peano condition: the successor is injective
Nat.succ_ne_zero ∀ (n : ℕ), succ n ≠ 0 — the fourth: zero is nobody's successor
Nat.pred ∀ {n : ℕ}, n ≠ 0 → ∃ m : ℕ, n = succ m — predecessors: everything but zero is a successor
Nat.add_zero ∀ (m : ℕ), m + 0 = m — the first clause of addition
Nat.add_succ ∀ (m n : ℕ), m + succ n = succ (m + n) — the second clause of addition
Nat.zero_add ∀ (n : ℕ), 0 + n = n — addition from the left
Nat.succ_add ∀ (m n : ℕ), succ m + n = succ (m + n) — addition from the left, at a successor
Nat.add_assoc ∀ (m n p : ℕ), (m + n) + p = m + (n + p) — addition is associative
Nat.add_comm ∀ (m n : ℕ), m + n = n + m — addition is commutative
Nat.add_ne_zero ∀ {a : ℕ} (b : ℕ), a ≠ 0 → a + b ≠ 0 — positivity is absorbing
Nat.mul_zero ∀ (m : ℕ), m * 0 = 0 — the first clause of multiplication
Nat.mul_succ ∀ (m n : ℕ), m * succ n = m * n + m — the second clause of multiplication
Nat.zero_mul ∀ (m : ℕ), 0 * m = 0 — multiplication from the left
Nat.succ_mul ∀ (m n : ℕ), succ m * n = m * n + n — multiplication from the left, at a successor
Nat.add_right_cancel ∀ {m n k : ℕ}, m + k = n + k → m = n — cancellation, from the last sheet
Nat.add_eq_zero ∀ {m n : ℕ}, m + n = 0 → m = 0 ∧ n = 0 — a sum is zero only when both parts are, from the last sheet
Nat.mul_comm ∀ (m n : ℕ), m * n = n * m — multiplication is commutative, from the last sheet
Nat.mul_add ∀ (m n p : ℕ), m * (n + p) = m * n + m * p — multiplication distributes over addition, from the last sheet
Nat.mul_assoc ∀ (m n p : ℕ), (m * n) * p = m * (n * p) — multiplication associates, from the problems of the last chapter
Nat.add_mul ∀ (m n p : ℕ), (m + n) * p = m * p + n * p — distributivity on the other side
Nat.add_left_cancel ∀ {a m n : ℕ}, a + m = a + n → m = n — uniqueness of differences
Nat.lt_trichotomy ∀ (m n : ℕ), m < n ∨ m = n ∨ n < m — trichotomy, from the theorem that ℕ is strictly ordered
Nat.lt_irrefl ∀ (n : ℕ), ¬(n < n) — anti-reflexivity, from the last sheet
Nat.lt_trans ∀ {m n p : ℕ}, m < n → n < p → m < p — transitivity of the strict order, from the last sheet
Nat.lt_succ_self ∀ (n : ℕ), n < succ n — every number is below its successor, from the last sheet
Nat.not_lt_zero ∀ {n : ℕ}, ¬(n < 0) — nothing lies below zero
Nat.lt_succ_iff ∀ {m n : ℕ}, m < succ n ↔ m < n ∨ m = n — nothing lies strictly between n and succ n
Num.inj ∀ {m n : ℕ}, ↑m = ↑n → m = n — distinct numbers name distinct objects of ω
swap_apply_left ∀ (a b : Obj), swap a b a = b — the transposition sends a to b
swap_apply_right ∀ (a b : Obj), swap a b b = a — and b to a
swap_apply_of_ne_of_ne ∀ {a b x : Obj}, x ≠ a → x ≠ b → swap a b x = x — and fixes every other point
swap_swap ∀ (a b x : Obj), swap a b (swap a b x) = x — a transposition is its own inverse
Function.iterate_zero_apply ∀ (f : Obj → Obj) (x : Obj), f^[0] x = x — the first clause of the powers of a map
Function.iterate_succ_apply ∀ (f : Obj → Obj) (n : ℕ) (x : Obj), f^[succ n] x = f^[n] (f x) — the second clause: f^[succ n] is f^[n] ∘ f
Function.iterate_add_apply ∀ (f : Obj → Obj) (m n : ℕ) (x : Obj), f^[m + n] x = f^[m] (f^[n] x) — the first law of exponents
Nat.factorial_zero 0 ! = succ 0 — the first clause of the factorial
Nat.factorial_succ ∀ (n : ℕ), (succ n) ! = succ n * n ! — the second clause of the factorial
Nat.choose_zero_right ∀ (n : ℕ), choose n 0 = succ 0 — the empty set is the one 0-subset
Nat.choose_eq_zero_of_lt ∀ {n k : ℕ}, n < k → choose n k = 0 — no subset is larger than the whole
Nat.choose_succ_succ ∀ (n k : ℕ), choose (succ n) (succ k) = choose n k + choose n (succ k) — Pascal's identity
mul_assoc ∀ (a b c : Obj), (a ∗ b) ∗ c = a ∗ (b ∗ c) — the operation associates
e_mul ∀ (a : Obj), e ∗ a = a — the identity on the left
mul_e ∀ (a : Obj), a ∗ e = a — and on the right
inv_mul_cancel ∀ (a : Obj), a⁻¹ ∗ a = e — the inverse on the left
mul_inv_cancel ∀ (a : Obj), a ∗ a⁻¹ = e — and on the right
inv_inv ∀ (a : Obj), (a⁻¹)⁻¹ = a — worked above: inverting twice gives the element back
mul_left_cancel ∀ {a x y : Obj}, a ∗ x = a ∗ y → x = y — worked above: the left half of prop-9-5

From the logical core

And.intro ∀ {a b : Prop}, a → b → a ∧ b
And.left ∀ {a b : Prop}, a ∧ b → a
And.right ∀ {a b : Prop}, a ∧ b → b
And.symm ∀ {a b : Prop}, a ∧ b → b ∧ a
Or.inl ∀ {a b : Prop}, a → a ∨ b
Or.inr ∀ {a b : Prop}, b → a ∨ b
Or.elim ∀ {a b c : Prop}, a ∨ b → (a → c) → (b → c) → c
Or.symm ∀ {a b : Prop}, a ∨ b → b ∨ a
Iff.intro ∀ {a b : Prop}, (a → b) → (b → a) → (a ↔ b)
Iff.mp ∀ {a b : Prop}, (a ↔ b) → a → b
Iff.mpr ∀ {a b : Prop}, (a ↔ b) → b → a
Iff.symm ∀ {a b : Prop}, (a ↔ b) → (b ↔ a)
Iff.rfl ∀ {a : Prop}, a ↔ a
Iff.trans ∀ {a b c : Prop}, (a ↔ b) → (b ↔ c) → (a ↔ c)
True.intro True
False.elim ∀ {a : Prop}, False → a
absurd ∀ {a b : Prop}, a → ¬a → b
id ∀ {a : Prop}, a → a
mt ∀ {a b : Prop}, (a → b) → ¬b → ¬a
Eq.refl ∀ {α : Type} (a : α), a = a
Eq.symm ∀ {α : Type} {a b : α}, a = b → b = a
Eq.trans ∀ {α : Type} {a b c : α}, a = b → b = c → a = c
congrArg ∀ {α : Type} {β : Type} {a b : α} (f : α → β), a = b → f a = f b
Exists.intro ∀ {α : Type} {p : α → Prop} (w : α), p w → ∃ x : α, p x
Exists.elim ∀ {α : Type} {p : α → Prop} {b : Prop}, (∃ x : α, p x) → (∀ y : α, p y → b) → b