Problems with the usual definition for Group

Ivo Stratev
8 min readMar 19, 2021

--

There are real problems with the usual definition. But the biggest one is not that this definition does not define only Groups but the fact that it does not reflect the way Groups are used.

I’ve decided to take the usual definition straight from Wikipedia only because I do not what to point fingers at anyone! Before I wrote this blog post I’ve checked some of the most used textbooks on Abstract Algebra and also a lot of the publicly available notes from top universities around the world and almost all do have the problems I want to talk about (some do not have all).

But just before I explain what the problems are I want to say that it’s definitely not easy to stand up and say to people who are way way smarter than you (and I don’t define myself as a smart guy) and have made a lot of BIG, GREAT, and REMARKABLE contributions to modern Mathematics: “You’ve guys made a mistake”… Again I do not what to point fingers at anyone but to only explain what the problems are and what the solutions are…

So here is the usual definition for Group taken from Wikipedia.

Let G be a non-empty set. And let * be a binary operation over G. We say that G together with * form a Group if:

For all a, b, c in G we have a * (b * c) = (a * b) * c;

There exists an element e in G such that for all a in G we have e * a = a = a * e;

For all a in G there exists an element b in G such that a * b = e = b * a.

Here is what the above “axioms” tell:

  • * is associative;
  • There exists a neutral element in G in respect to *;
  • It depends… Tell me what e is and I will tell you…

The first problem

The first problem is actually somewhat hidden (not so obvious) only because usually the above “axioms” are not given formally. Let’s re-write them.

  • (∀ a ∊ G)(∀ b ∊ G)(∀ c ∊ G)[a * (b * c) = (a * b) * c];
  • (∃ e ∊ G)(∀ a ∊ G)[e * a = a & a * e = a];
  • (∀ a ∊ G)(∃ b ∊ G)[a * b = e & b * a = e].

Now not only the “axioms” are much easier to read but also it is a lot easier to spot the problem and also for me to explain it.

Here is the problem: the first two formulas are closed, but the third is not! Or in other words, the occurrence of the variable e in the third formula is free. All other variable occurrences are bound and they can safely be renamed with variables that do not appear anywhere else without changing the meaning of the three formulas. And I’ll do a renaming so it becomes clearer what the problem really is and then I will explain it.

  • (∀ x ∊ G)(∀ y ∊ G)(∀ z ∊ G)[x * (y * z) = (x * y) * z];
  • (∃ u ∊ G)(∀ t ∊ G)[u * t= t & t * u = t];
  • (∀ w ∊ G)(∃ s ∊ G)[w * s= e & s * w = e].

Now here is what really happened I’ve renamed e to u in the second formula. Here is why nothing has changed. Before the renaming, the second formula was saying that: “There exists an element e in G such that for all a in G we have e * a = a and a * e = a” and after the renaming, the second formula is saying that “There exists an element u in G such that for all t in G we have u * t = t and t * u = t”. In both cases, we say that there exists some element in G such that… It does not matter how this element is named because we just state that such an element exists…

However, we can not rename e in the third formula because its appearance is again free… In other words, it really matters that we have used the variable e there and not any other.

And now it is clear that e in the third formula is not necessarily the same object as e in the second one.

Here is what some mathematicians do to “fix” the problem. They prove that: “There exists a unique element e in G such that for all a in G we have e * a = a and a * e = a” and then they add that e in the third formula is exactly that unique element. By doing this they believe that the definition they gave is correct…. And here is the thing: it’s not… Some do the following they introduce only the first two axioms then they prove the above statement just as the others do and only after that they introduce the third “axiom”… And for me, this is an Ad-hoc solution and just reveals how bad the usual definition is… Why? Well because to give the full definition they have to prove something in the middle of the definition which gives them the right to continue the definition… If the last sentence does not ring a bell in your head that there is something wrong I don’t know what would… (no offense)

Now a lot of the math textbooks leave exercises for the curious reader so I’ll also leave two exercises.

Exercise 1. Show that the first definition listed in this blog post is true when G = {a, b}, e = b, and * is given by the following table:

Exercise 2. Show that the first definition listed in this blog post is true when G = {a, b, c}, e = b, and * is given by the following table:

Here is the reason why I gave those two exercises. In the first exercise G together with * really leads to a group and this group is isomorphic to the group that 𝕫2 forms. While G together with * from the second exercise leads only to a Monoid and not a Group and in both cases e is not equal to the neutral element in respect to *!

The Solution to the first problem

The real solution to the first problem is actually to combine the second and the third formulas in one! And here is the result in English.

Let G be a non-empty set. And let * be a binary operation over G. We say that G together with * form a Group if:

For all a, b, c in G we have a * (b * c) = (a * b) * c;

There exists an element e in G such that for all a in G we have e * a = a = a * e and there exists an element b in G such that a * b = e = b * a.

And here is the result if we use mathematical formulas.

Let G be a non-empty set. And let * be a binary operation over G. We say that G together with * form a Group if:

(∀ a ∊ G)(∀ b ∊ G)(∀ c ∊ G)[a * (b * c) = (a * b) * c];

(∃ e ∊ G)(∀ a ∊ G)[e * a = a & a * e = a & (∃ b ∊ G)[a * b = e & b * a = e]].

Definitely, there will be someone who will say that by doing this now groups are not monoids with an extra property. To those people, I’ll say that the real problem is what their definition for a Group is, and to very carefully read the next section of this blog post.

The real problem

And now is the time to talk about the real and the bigger problem for me. No matter the way the above definition is written it does not reflect the way we work with Groups…

Here is what usually happens after the definition for Group is given: it is said that “we will usually denote the neutral element with e and if a is an element from the carrier of the Group most of the times we will denote the inverse element of a with a^-1”. And the above will be OK if the definition is like one of the two solutions to the first problem from the end of the last section and if it has been proven that indeed that the element stated to exist in the second axiom is unique and that for each element a in G there exists a unique element b in G such that both a * b and b * a are equal to the neutral element.

In other words, based on the definition and what should be proven we introduce a constant (the neutral element) and a function (the one which returns the inverse of an element) and we heavily and happily use them ever after.

And here is the truth: most mathematicians that work in the field of Abstract Algebra are interested in the fact that the structures with which they work every day are formed/generated from a set together with some operations. And a lot of mathematicians that use concepts from Abstract Algebra just follow what their colleagues are doing (use their definitions for their concepts). And this is it.

But for me, it is a red flag that we give one definition and then use what we got from this definition and not really the definition we gave. I call this the syndrome of “Misused definition” (because the “Law of Leaky Abstractions” does not really hold) and a lot of definitions coming from Abstract Algebra suffer from this syndrome but they are definitely not the only ones.

So here is my question why don’t we do things the other way around? Introduce the concept of a Group the way we are gonna use groups and then prove that all we really need is a set together with an operation (prove that the two definitions are equivalent)? And if we do this we will actually do what Logicians are doing.

The real solution

Here is the definition I use for Groups (exactly as I give it to my students).

Let G be a set. Let e be an element of G. Let op be a binary operation over G. Let inv be a unary operation over G. We say that <G, e, op, inv> is a Group if:

(∀ a ∊ G)(∀ b ∊ G)(∀ c ∊ G)[op(a, op(b, c)) = op(op(a, b), c)];

(∀ a ∊ G)[op(e, a) = a & op(a, e) = a];

(∀ a ∊ G)[op(a, inv(a))= e & op(inv(a), a) = e].

This definition is of course not mine. It was pointed to me for the first time by my Teaching Assistant on the subject Logic Programming in my second year as a Bachelor of Informatics.

And just for comparison here is the definition I use for Monoids.

Let M be a set. Let e be an element of M. Let op be a binary operation over M. We say that <M, e, op> is a Monoid if:

(∀ a ∊ M)(∀ b ∊ M)(∀ c ∊ M)[op(a, op(b, c)) = op(op(a, b), c)];

(∀ a ∊ M)[op(e, a) = a & op(a, e) = a].

And yes for me a Group is not just a Monoid with a special property. For me, each Group has a substructure of a Monoid and I believe that this is the right thing.

I will wrap this blog post by saying that until someone proves that P is not the same as NP (maybe one day I’ll) for me the greatest of all mathematicians is Emmy Noether and she is most known for her work in the field of Abstract Algebra!

--

--

Ivo Stratev

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