Abstract Algebra Done The Way It Should Have Been: Cosets, Normal SubGroups, and Factor Groups

Ivo Stratev
7 min readApr 8, 2021

In my previous post, I said when a subset of the domain of a Group forms a SubGroup of that Group. In this blog post, I continue showing how Abstract Algebra can be done in a more usable and logically correct way.

So let's start by defining the term Left Coset of a subset of the domain of a Group by an element of the Group.

Let 𝒢 = <G, e, op, inv> be a Group and let H be a subset of G. Let g be an element of G then the Left Coset of H by g in 𝒢 is the set

{x ∊ G | (∃ h ∊ H)[x = op(g, h)]}.

Now, 𝒢 if is a Group, and H ⊆ U(𝒢), and g ∊ G I will denote the Left Coset of H by g in 𝒢 with LeftCoset(g, H, 𝒢).

I will not explicitly define the term Right Coset of a subset of the domain of a Group by an element of the Group because it is practically almost the same as the left variant…

Now 𝒢 if is a Group, and H ⊆ U(𝒢) we can define the set of all Left Cosets of H by an element of U(𝒢) in the Group 𝒢 like

LeftCosets(H, 𝒢) = {S ∊ 𝒫(U(𝒢)) | (∃ g ∊ U(𝒢))[S = LeftCoset(g, H, 𝒢)]}.

It is very normal to ask ourselves what conditions should H satisfy in order for LeftCosets(H, 𝒢) to form a Group with respect to 𝒢?

Requiring H to form a subgroup of 𝒢 is definitely a good idea because this will ensure that the identity element of 𝒢 is in H and H will also be closed under the operations of 𝒢.

Now let H forms a subgroup of 𝒢 and let’s imagine that LeftCosets(H, 𝒢) forms a Group. And lets this Group be < LeftCosets(H, 𝒢), E, Op, Inv> and let 𝒢 = <G, e, op, inv>. It is probably a good idea to have

  1. E = LeftCoset(e, H, 𝒢) = {op(e, h) | h in H} = {h | h in H} = H
  2. (∀a ∊ G)(∀b ∊ G)[Op(LeftCoset(a, H, 𝒢), LeftCoset(b, H, 𝒢)) = LeftCoset(op(a, b), H, 𝒢)]
  3. (∀a ∊ G)[Inv(LeftCoset(a, H, 𝒢)) = LeftCoset(inv(a), H, 𝒢))]

Lets focus on the second condition for a moment. First lets examine why we would want it.

Let 𝒢 = <G, e, op, inv> and let 𝒢 be a Group and let H forms a subgroup of 𝒢 let a ∊ G and b ∊ G then since e∊ G we have op(a, b) = op(op(a, e), op(b, e)) and op(a, b) = op(op(a, b), e) and of course op(a, b) ∊ LeftCoset(op(a, b), H, 𝒢) whcih means that op(a, b ) is product of elements from LeftCoset(a, H, 𝒢) and LeftCoset(b, H, 𝒢).

Lets see if condition 2 itself requires a condition on H. Let x ∊ LeftCoset(a, H, 𝒢) and y ∊ LeftCoset(b, H, 𝒢) then there exists u in H and t in H such that x = op(a, u) and y = op(b, t). Ok let then u and t be elements of H such that x = op(a, u) and y = op(b, t). Then we have op(x, y) = op(op(a, u), op(b, t)) = op(a, op(op(u, b), t))).

And here is the thing if op(u, b) was an element of RightCoset(b, H, 𝒢) we would have that op(x, y) is an element of LeftCoset(op(a, b), H, 𝒢).

Indeed lets op(u, b) be in RightCoset(b, H, 𝒢) then there exists h in H such that op(u, b) = op(b, h). So let h be an of RightCoset(b, H, 𝒢) such that op(u, b) = op(b, h). We now have op(x, y) = op(a, op(op(b, h), t))) = op(a, op(b, op(h, t))) = op(op(a, b), op(h, t)). But since H forms a subgroup of 𝒢 we have op(h, t) in H and so op(op(a, b), op(h, t)) is in LeftCoset(op(a, b), H, 𝒢).

So here is what we have just proved:

(∀g ∊ G)[LeftCoset(g, H, 𝒢) ⊆ RightCoset(g, H, 𝒢)] (∀a ∊ G)(∀b ∊ G)(∀x ∊ LeftCoset(a, H, 𝒢))(∀y ∊ LeftCoset(b, H, 𝒢))[op(x, y) ∊ LeftCoset(op(a, b), H, 𝒢)].

The converse is easy to see and check.

Here is a small exercise for the curious reader:

Let 𝒢 = <G, e, op, inv> and let 𝒢 be a Group and let H forms a subgroup of 𝒢 and let's define a relation Eq(H, 𝒢) over the set G such that

(∀a ∊ G)(∀b ∊ G)[<a, b> ∊ Eq(H, 𝒢) (∃ h∊ H)[b = op(h, op(a, inv(h))]]. Show that Eq(H, 𝒢) is an equivalence relation.

We saw that if 𝒢 is group and H forms a subgroup of 𝒢 and (∀g ∊ U(𝒢))[LeftCoset(g, H, 𝒢) ⊆ RightCoset(g, H, 𝒢)] at least one good thing happens. And here is the thing if we require that (∀g ∊ U(𝒢))[LeftCoset(g, H, 𝒢) = RightCoset(g, H, 𝒢)] is true a lot of good things happen. We are now ready for our next definition.

Let 𝒢 be group and H forms a subgroup of 𝒢. We say that H forms a normal subgroup of 𝒢 if (∀g ∊ U(𝒢))[LeftCoset(g, H, 𝒢) = RightCoset(g, H, 𝒢)].

Here is the second exercise for the curious reader (one of the good things):

Let 𝒢 = <G, e, op, inv> and let 𝒢 be a Group and let H forms a normal subgroup. Prove that

(∀g ∊ U(𝒢))[ [g]_Eq(H, 𝒢) = LeftCoset(g, H, 𝒢) = RightCoset(g, H, 𝒢) ].

Where [g]_Eq(H, 𝒢) is of course the equivalence class of g under Eq(H, 𝒢).

We are almost ready for the definition of Factor Group / Quotient Group. We miss only two pieces to solve the Puzzle. And the longer of those two pieces will of course be left as an exercise for the curious reader.

Let 𝒢 = <G, e, op, inv> and let 𝒢 be a Group and let H forms a normal subgroup of 𝒢. Lets define Inv to be the set {<X, inv[X]> | X ∊ G/Eq(H, 𝒢)} where G/Eq(H, 𝒢 ) is of course the Quotient set of G by Eq(H, 𝒢 ) (the set of all equivalence classes of G by Eq(H, 𝒢 )) and inv[X] is the image of the set X under the function inv (the set {y ∊ G | (∃ x∊ X)[y = inv(x)]} ). And let's define Op to be the set

{<T, op[T]> | T ∊ (G/Eq(H, 𝒢))²}. I will now prove that Inv is a unary operation and leave it to the curious reader to prove that Op is a binary operation.

First, it is obvious that Inv is a function with a domain G/Eq(H, 𝒢) from the way it is defined. So I will show that Range(Inv) is a subset of G/Eq(H, 𝒢).

Let X be an element of G/Eq(H, 𝒢) then let x be an element of G such that X = [x]_Eq(H, 𝒢). I will now show that Inv(X) = inv[X] = [inv(x)]_Eq(H, 𝒢).

Let y be an element of inv[X]. Then let g be an element of X such that y = inv(g). We have that X = [x]_Eq(H, 𝒢) and g ∊ X and therefore there exists an element h of H such that g = op(h, op(x, inv(h))). Let * = op and $ = inv. I will now switch to infix notation for * and prefix for $ because the expressions will be alot more readable and easy to understand. Let then h be an element of H such that g = h * (x * $h). We now have y = $g = $(h * (x * $h)) = $(x * $h) * $h = ($$h * $x) * $h = (h * $x) * $h = h * ($x * $h) = h * (inv(x) *$h) = op(h, op(inv(x), inv(h))) ∊ [inv(x)]_Eq(H, 𝒢). Now when we generalize this result we get Inv(X) = inv[X] ⊆ [inv(x)]_Eq(H, 𝒢).

Let now y be an element of [inv(x)]_Eq(H, 𝒢). Therefore there exists an element h of H such that y = op(h, op(inv(x), inv(h))). So let h be an element of H such that y = op(h, op(inv(x), inv(h)). We have y = inv(inv(y)) which leads to y = inv(op(h, op(inv(inv(x)), inv(h)))) = inv(op(h, op(x, inv(h)))). Lets g = op(h, op(x, inv(h))). By the definition of Eq(H, 𝒢) we get that g and x are in Eq(H, 𝒢 ). Therefore g in an element of X. But remember we have y = inv(g) from which follows that y is an element of inv[X]. Now when we generalize this result we get [inv(x)]_Eq(H, 𝒢) ⊆ Inv(X) = inv[X].

So I have just shown that really Inv(X) = inv[X] = [inv(x)]_Eq(H, 𝒢). After generalization, we get Range(Inv) G/Eq(H, 𝒢 ) which is what I wanted to show in the first place. Therefore Inv is indeed a unary operation over the set G/Eq(H, 𝒢).

Now if 𝒢 = <G, e, op, inv> is a Group and H forms a normal subgroup of 𝒢 I will denote with ⟪op, H⟫ the set {<T, op[T]> | T ∊ (G/Eq(H, 𝒢))²} and with ⟪inv, H⟫ the set {<X, inv[X]> | X ∊ G/Eq(H, 𝒢)}. ⟪op, H⟫ should be read as the natural lifting of the Group operation of 𝒢 with respect to H. And similarly ⟪inv, H⟫ should be read as the natural lifting of the inverse function of 𝒢 with respect to H.

Here is the last exercise for this blog post:

If 𝒢 = <G, e, op, inv> is a Group and H forms a normal subgroup of 𝒢 show that <G/Eq(H, 𝒢), H, ⟪op, H⟫, ⟪inv, H⟫> is a Group (this Group is called the Quotient Group of 𝒢 by H or the Factor Group of 𝒢 by H). I will denote this Group simply with 𝒢 : H.

When G is a finite set we have |G/Eq(H, 𝒢)| = |G| / |H| because [e]_Eq(H, 𝒢) = H hence the name Quotient Group.

I will wrap up this blog post by saying that the usual way of defining Factor Groups is dependent on the Axiom of Choice while the way I have shown is not and this is actually a very big win!

Photo of boxes
LeftCosets in real life. Photo from Unsplash: https://unsplash.com/photos/4UbSaPKGRqc

--

--

Ivo Stratev

Passionate about Programming. Interested in Highly Distributed Systems and the Microservice Architecture. In love with Math and proving things.