Turns out that having a page about a subject you're learning is a lovely hobby. Think of what you see below as an unfinished mathematical writing exercise made to hold things I'm studying at the "Algebra with Coffee" meetings that I attend every Thursday. There are some quirks that I'm still trying to figure out, like if I should abuse more logical notations or not, but hopefully you can read without much problem.

Updates.

2024/11/31... big update!

There were differences in my references concerning notations and definitions that are now hopefully adressed better than before.
I shall thank Imya for pointing out a small mistake that is now fixed.

2024/12/26... not so big update.

Typing the isomorphism theorems proofs will take some time, but I'm happy to be at the end of my class notes. After that, I think I will try to polish and improve the quality of the text over time instead of adding more stuff just for the sake of it.

To start out, we should make some basic definitions about what we mean by an operation and then proceed to define what an algebraic structure is.

Take \(A\) as a set and \(n\) a positive integer.
We define \(A^n\) to be the set of all \(n\)-tuples of elements of \(A\), and \(A^0\ = {\varnothing}\).

For any \(A\) and \(n\) as above, we call a function \(A^n \rightarrow A\) an n-ary operation on \(A\). The natural number \(n\) is called the rank of the operation. Note that when \(n=0\) we have a function \(c : {\varnothing} \rightarrow A\) which is completely determined by the value \(c({\varnothing}) \in A\). Nullary operations or constants, as they can be called, are just the elements of A.

An algebra is a pair \(\langle A, F\rangle\) in which \(A\) is a nonempty set and \(F = \langle f_i : i \in I \rangle \) is a family of operations on \(A\), indexed by some set \(I.\)
The set \(A\) is called the universe of the algebra, and the \(f_i\) are the fundamental or basic operations.

Let \(A = \langle A, F \rangle\) be an algebra with \(F = \langle f_i : i \in I\rangle. \) The function \(\rho : I \rightarrow \mathbb{N}\) which assigns to each \(i \in I\) the rank of \(f_i\) is called the similarity type of \(A.\) Two algebras are called similar if they have the same similarity type.

Take \(\textbf{A} = \langle A, F \rangle\) and \(\textbf{B} = \langle B, G \rangle\) to be algebras of the same similarity type \(\rho : I \rightarrow \mathbb{N}\). We call \(\textbf{B}\) a subalgebra of \(\textbf{A}\) if \(B \subseteq A\) and \(\forall i \in I\), \(g_i = f_i \upharpoonright B^{\rho(i)}.\) The notation may seem confusing, but we are just essentially stating that any operation of \(G\) can be considered as an operation of \(F\) with the domain resctriction of \(B^{\rho(i)}\), where \(\rho(i)\) is the arity of the operation. To say that \(B\) is a subalgebra of \(A\) we denote \(B \leq A\).

A function \(h: B \rightarrow A\) is called a homomorphism if for every \(i \in I\) and every \(b_1,b_2,...,b_n \in B\), \(h(g_i(b_1,...,b_n)) = f_i(h(b_1),...,h(b_n)).\) \((n = \rho(i)\)).
The thing that makes \(h\) "special" is its ability to preserve operations, and we shall see many uses of functions with such a property.

This first example will be useful to define the next one. A monoid is an agelbra \(\langle M, \cdot, e \rangle\) statisfying the associative law and the identities \(x \cdot e = x\) and \(e \cdot x = x\). Note that "\(\cdot\)" is a binary operation and "\(e\)" a nullary operation.

A group is an algebra \(\langle G, \cdot, ^{-1}, e \rangle\) of similarity type \(\langle 2,1,0 \rangle\), such that \(\langle G, \cdot, e \rangle\) is a monoid and satisfying \(x \cdot x^{-1} = x^{-1} \cdot x = e\). If it is also true that for any two elements of \(G,\) lets say \(x\) and \(y,\) \(x \cdot y = y \cdot x,\) then \(G\) is called an Abelian group.

There are many other examples that can be given, like rings and such (you could even create your own algebra), but these two should be enough.

To make things easier, especially in notation, since most of times when we talk about several algebras in the same phrase they have the same similarity type, we will fix a similarity type and then consider algebras of that type.
Geez! I repeated the word "type" too many times.

Therefore, instead of I, lets take for an index set a family \(\Omega \) of operation symbols, and let \(\rho : \Omega \rightarrow \mathbb{N}\). Then by an algebra \(\textbf{A}\) of type \(\rho\) we mean a set \(A\) together with, for each operation symbol \(\omega \in \Omega\), an operation \(\omega^{\textbf{A}}\) of rank \(\rho(\omega)\). Thus \(\textbf{A} = \langle A, \Omega^{\textbf{A}} \rangle \) where \(\Omega^{\textbf{A}} = \langle \omega^{\textbf{A}} : \omega \in \Omega \rangle\). Thankfully, we will be able to omit the superscript most of the time without being confused if we're talking about the operation symbol or the operation itself.

Proposition. Let \(\textbf{A}\) be any algebra, and let \(\mathcal{S}\) be any nonempty collection of subalgebras of \(A.\) Then \(\bigcap\limits_{B \in \mathcal{S}} B \leq \textbf{A}\).

Proof.

Say \(\bigcap\limits_{B \in \mathcal{S}} B = L\). Certainly \(L \subseteq A\). Let \(\omega \in \Omega\) be an operation of \(\textbf{A}\) \((\rho(\omega) = n)\), and let \(l_1,...,l_n \in L\). Then \(\forall B \in \mathcal{S}\), \(l_1,...,l_n \in B\), since \(B \leq A\), \(a = \omega(l_1,...,l_n) \in B\). Now \(a \in B\) \( \forall B \in \mathcal{S}\), so \(a \in L\). \(\square\)

Let \(\textbf{A}\) be an algebra and \(X \subseteq A.\) Consider the set \(\mathcal{B}_X = \langle B \leq A \; | \; X \subseteq B \rangle\), a family of subalgebras of \(\textbf{A}\) that contain \(X\). The minimal subalgebra generated by \(X\) is the minimal subalgebra in the set \(\mathcal{B}_X.\) We denote \(\langle X \rangle.\)

Proposition. \(\langle X \rangle = \bigcap\limits_{B \in \mathcal{B}_X} B.\)

Proof.

Let \(\bigcap\limits_{B \in \mathcal{B}_X} B = L\). The last proposition we proved tells us that \(L \leq A.\)

For any \(B \in \mathcal{B}_X\), \(X \subseteq B\). Then \(X \subseteq L\), so that \(L \in \mathcal{B}_X.\) Since \(L = \bigcap\limits_{B \in \mathcal{B}_X} B\), for any \(B \in \mathcal{B}_X\), \(L \subseteq B\), thus \(L = \langle X \rangle.\)\(\square\)

To get a more clear idea of what we mean by \(\langle X \rangle\) we can use the following proposition.

Proposition. Let \(\textbf{A} = \langle A, \Omega \rangle\) be an algebra and \(X \subseteq A.\) Define, by recursion on n, the sets \(X_n\) by:

\(X_0 = X\);
...
\(X_{n+1} = X_n \cup \{ \omega(x_1,...,x_k) : x_1,...,x_k \in X_n\), \(\omega \in \Omega\), and \(k = \rho(\omega)\}\).
Then \(\langle X \rangle = \bigcup\limits_{n = 0}^{\infty} X_n.\)

Proof.

Let \(Y = \bigcup\limits_{n = 0}^{\infty} X_n.\) Clearly \(X_n \subseteq Y \subseteq A\), for every \(n\) we consider. In particular \(X = X_0 \subseteq Y\). Let \(\omega \in \Omega\) \((k = \rho(\omega))\) be a basic operation and \(a_1,..,a_k \in Y\). From the construction of \(Y\), there is an \(n\) such that \(a_1,...,a_k \in X_n\). From its definition, \(\omega(a_1,...,a_k) \in X_{n+1} \subseteq Y.\)
Thus \(Y\) is a subalgebra of \(\textbf{A}\) containing \(X\). Then \(Y \in \mathcal{B}_X\), and by definition, \(\langle X \rangle \subseteq Y.\)

To prove the opposite inclusion, let's check by induction on \(n\) that \(X_n \subseteq \langle X \rangle\). When \(n = 0\), \(X_0 = X \subseteq \langle X \rangle\) from its definition. Assume that \(X_n \subseteq \langle X \rangle.\) If \(b \in (X_{n+1} - X_n)\), then \(b = \omega(a_1,...,a_k)\) for \(\omega \in \Omega\) \((k = \rho(n))\) and \(a_1,...,a_k \in X_n\). But \(a_1,...,a_k \in \langle X \rangle\) and since the latter object is a subalgebra, \(b \in \langle X \rangle\) as well. Therefore, for any \(n\) we consider, \(X_n \subseteq \langle X \rangle.\) Since \(Y = \bigcup\limits_{n = 0}^{\infty} X_n\), then \(Y \subseteq \langle X \rangle\) so that \(\langle X \rangle = Y\)\(\square\)

There are a few handful definitions regarding homomorphisms we might make. Let \(\varphi : \textbf{A} \rightarrow \textbf{B}\) be a homomorphism.
If \(\varphi\) is an injective (i.e., one-to-one) homomorphism, we can call \(\varphi\) an embedding or a monomorphism.
If \(\varphi\) is a surjective homomorphism, then \(\varphi\) is an epimorphism and \(\textbf{B}\) is called a homomorphic image of \(\textbf{A}\).
If \(\varphi\) is a bijective homomorphism, then \(\varphi\) is an isomorphism and the algebras \(\textbf{A}\) and \(\textbf{B}\) are called isomorphic.
If \(\varphi\) is a homomorphism from \(\textbf{A}\) to \(\textbf{A}\), then \(\varphi\) is an endomorphism.
If \(\varphi\) is an endomorphism and an isomorphism, then \(\varphi\) is an automorphism.
That's about it, I hope you aren't feeling sleepy sleepy emoji gif.

Proposition. Let \(\varphi : A \rightarrow B\) and \(\psi : B \rightarrow C\) be two homomorphisms. Then \(\psi \circ \varphi : A \rightarrow C\) is a homomorphism.

Proof.

Suppose \(A\), \(B\) and \(C\) be three algebras with the same signature \(\Omega\) (similar algebras), so that \(\omega \in \Omega\) \((\rho(\omega) = n)\). Let \(a_1,...,a_n \in A\).

\(\psi \circ \varphi(\omega(a_1,...,a_n)) = \psi(\varphi(\omega(a_1,...,a_n))).\)

Since \(\varphi\) is a homomorphism, then \(\psi(\varphi(\omega(a_1,...,a_n))) = \psi(\omega(\varphi(a_1),...,\varphi(a_n))).\)

Since \(\psi\) is a homomorphism, then \(\psi(\omega(\varphi(a_1),...,\varphi(a_n))) = \omega(\psi(\varphi(a_1),...\varphi(a_n))) = \)

\(\omega((\psi \circ \varphi)(a_1),...,(\psi \circ \varphi)(a_n))\).

Thus, \(\psi \circ \varphi(\omega(a_1,...,a_n)) = \omega((\psi \circ \varphi)(a_1),...,(\psi \circ \varphi)(a_n))\), so, by definition, \(\psi \circ \varphi \) is a homomorphism.\(\square\)

Let \(\varphi : A \rightarrow B\) be any function. We define \(ker\varphi = \{(a_1,a_2) \in A^2 : \varphi(a_1) = \varphi(a_2)\}\). This set is called the kernel of \(\varphi\).

Observations.

If \(\varphi : A \rightarrow B\) is a homomorphism, then \(im\varphi \leq B.\)

Proof.

Consider that \(im\varphi = \varphi(A) = \{\varphi(a) \; | \; a \in A \} \subseteq B.\)

For any \(\omega \in \Omega\) \((\rho(\omega) = n)\) and \(b_1,..b_n \in \varphi(A)\) there exists \(a_1,...a_n\) such that \(b_i = \varphi(a_i)\) \((1 \leq i \leq n).\)
Therefore, \(\omega(b_1,...,b_n) = \omega(\varphi(a_1),...,\varphi(a_1)).\) Since \(\varphi\) is a homomorphism, \(\omega(\varphi(a_1),...,\varphi(a_1)) = \varphi(\omega(a_1,...,a_n)).\)
Thus, it is clear that \(\omega(b_1,...,b_n) \in \varphi(A)\) and \(\varphi(A)\) is closed under the operations of the signature \(\Omega\) or, as we wanted to proof, \(\varphi(A) = im\varphi \leq B\).\(\square\)

If \(\varphi : A \rightarrow B\) is a monomorphism, then \(\varphi : A \rightarrow im\varphi\) is an isomorphism. Sometimes we denote \(\varphi : A \hookrightarrow B\) and \(ker\varphi = \Delta_A = \{(a,a) : a \in A\}.\)

Proposition. Take \(\varphi : A \rightarrow B\) to be a homomorphism. If \(A = \langle X \rangle\), then \(im\varphi = \langle \varphi(X) \rangle.\)

Proof.

Let \(A = \langle X \rangle\) and \(im\varphi = \varphi(A) = \langle \varphi(a) : a \in A \rangle,\) such that \(X \subseteq A\) and \(\varphi(X) \subseteq \varphi(A) \leq B.\) We can think of \(\mathcal{B}_{\varphi(X)}\) as a family of subalgebras of \(B\) that contain \(\varphi(X)\). Then, it follows that \(\varphi(A) \in \mathcal{B}_{\varphi(X)}\) so that \(\langle \varphi(X) \rangle \subseteq \varphi(A)\), as we already proved that \(\langle \varphi(X) \rangle\) is the minimal subalgebra in \(\mathcal{B}_{\varphi(X)}\).

To prove the opposite inclusion, we shall prove by induction on \(i\) that \(\varphi(X_i) \subseteq \varphi(X)_i\). When \(X_0 = X\), for any \(x \in X\), \(\varphi(x) \in \varphi(X) = \varphi(X)_0\). Say \(k \in \mathbb{N}\), and suppose we already proved for \(0 \leq i \leq k\) that \(\varphi(X_i) \subseteq \varphi(X)_i\), where \(\omega \in \Omega\) \(\rho(w)=n\). Consider \(X_{k+1} \ni \omega(x_1,...,x_n)\) so that \(x_j \in X_{i_j}\) and \(i_j \leq k\) \((1 \leq j \leq n)\). Since \(\varphi\) is a homomorphism, \(\varphi(\omega(x_1,...,x_n)) = \omega(\varphi(x_1),...,\varphi(x_n))\). Thus, from our induction hypothesis, \(\varphi(x_j) \in \varphi(X)_{i_j}\) so that \(\omega(\varphi(x_1),...,\varphi(x_n)) \in \varphi(X)_{k+1}\), and \(\varphi(X_{k+1}) \subseteq \varphi(X)_{k+1}.\) Then, for any \(i \in \mathbb{N}\), \(\varphi(X_i) \subseteq \varphi(X)_i\) so that \(\varphi(A) = \varphi(\langle X \rangle ) = \varphi(\bigcup\limits_{i = 0}^{\infty} X_i) = \bigcup\limits_{i = 0}^{\infty} (\varphi(X_i))\), but \(\bigcup\limits_{i = 0}^{\infty} (\varphi(X_i)) \subseteq \bigcup\limits_{i = 0}^{\infty} \varphi(X)_i = \langle \varphi(X) \rangle\).

Therefore, \(im\varphi = \varphi(A) = \langle \varphi(X) \rangle .\) \(\square\)

There's a good chance that if you made it this far into this whole bulge of text, you know what a equivalence relation is. For that reason, I won't bother trying to get into much detail. Think of a relation as a subset of \(A^n\) and an equivalence relation \(T\) as a binary relation on a set \(A\) which for all \(x,y,z \in A\)
\((x, x) \in T\)
\((x, y) \in T\) implies that \((y, x) \in T\)
\((x, y) \in T\) and \((y, z) \in T\) implies that \((x,z) \in T.\)

To our studies, we should increment this concept with another property. Say \(A\) is an algebra and \(T \subseteq A \times A\) an equivalence relation. If for any operation \(\omega\) in our signature \(\Omega\) \((\rho(\omega) = n\)), and any \((a_1, b_1),...,(a_n,b_n) \in T\) it is true that \((\omega(a_1,...,a_n), \omega(b_1,...,b_n)) \in T\), then \(T\) is called a congruence relation. This property makes \(T\) compatible with any operation from the algebra signature. We can also define, for any subalgebra \(B \leq A\), \(T_{|B} = \{(b_1,b_2) \in B \times B \; | \; (b_1, b_2) \in T \}.\) \(T_{|B}\) is a congruence relation on \(B.\)

Proposition. Let \(\{T_i \; | \; i \in I\}\) be a family of congruence relations. Then \(T = \bigcap\limits_{i \in I}T_i\) is a congruence relation. The proof is pretty simple, but I decided to present it anyway.

Proof.

The first thing we have to prove is that for any \(i \in I\), \(T_i \subseteq A \times A\) is an equivalence relation and therefore, \(\bigcap\limits_{i \in I}T_i\) is an equivalence.
For any \(a \in A\), since \(T_i\) is an equivalence relation, \((a,a) \in T_i\) for any \(i \in I\). Then, \((a,a) \in \bigcap\limits_{i \in I}T_i.\)
If \(a,b \in A\) and \((a,b) \in \bigcap\limits_{i \in I}T_i\) then, for any \(i \in I\), \((a,b) \in T_i\). Since \(T_i\) is an equivalence relation, \((b,a) \in T_i\), thus \((b,a) \in \bigcap\limits_{i \in I}T_i\)
Say \(a,b,c \in A\) and suppose that \((a,b) \in \bigcap\limits_{i \in I}T_i\) and \((b,c) \in \bigcap\limits_{i \in I}T_i\). From this, we know that for any \(i \in I,\) \((a,b) \in T_i\) and \((b,a) \in T_i\). Since \(T_i\) is an equivalence relation, \((a, c) \in T_i\), then \((a,c) \in \bigcap\limits_{i \in I}T_i\).
These three conditions make \(\bigcap\limits_{i \in I}T_i\) an equivalence relation.

The proof from this point is very straightforward. Let \(\omega \in \Omega\) \((\rho(\omega) = n)\) and \((a_j, b_j) \in \bigcap\limits_{i \in I}T_i\) \((1 \leq j \leq n).\) For any \(i \in I\), \((a_j, b_j) \in T_i\). Since \(T_i\) is a congruence relation, \((\omega(a_1,...,a_n), \omega(b_1,...,b_n)) \in T_i\), then \((\omega(a_1,...,a_n), \omega(b_1,...,b_n)) \in \bigcap\limits_{i \in I}T_i\).
Therefore, \(\bigcap\limits_{i \in I}T_i\) is a congruence relation. \(\square\)

Proposition. The kernel of any homomorphism is a congruence relation. The proof it is just as simple as the last one, but (again) I'm going to present it anyway.

Proof.

Let \(A\) and \(B\) be two algebras with the same signature \(\Omega\). Say \(\varphi : A \rightarrow B\) is a homomorphism to which \(ker\varphi = \{(a_1,a_2) \in A \times A \; | \; \varphi(a_1) = \varphi(a_2)\}.\) The first step is to prove that \(ker\varphi\) is a equivalence relation.
For any \(a \in A\), \(\varphi(a) = \varphi(a)\). Then, \((a,a) \in ker\varphi.\)
If \(a,b \in A\) and \((a,b) \in ker\varphi\) so that \(\varphi(a) = \varphi(b)\), then \(\varphi(b) = \varphi(a)\). Thus, \((b,a) \in ker\varphi.\)
Say \(a, b, c \in A\). Suppose that \((a,b) \in ker\varphi\) and \((b,c) \in ker\varphi\). Then, \(\varphi(a) = \varphi(b) = \varphi(c)\). Therefore, \((a,c) \in ker\varphi.\)
These three conditions make \(ker\varphi\) an equivalence relation.

The proof from this point is very straightforward. Let \(\omega \in \Omega\) \((\rho(\omega) = n)\) and \((a_j, b_j) \in A\). If \((a_j, b_j) \in ker\varphi\) \((1 \leq j \leq n)\), then \(\varphi(a_j) = \varphi(b_j)\). Since \(\varphi\) is a homomorphism, \(\varphi(\omega(a_1,...,a_n)) = \omega(\varphi(a_1),...,\varphi(a_n)) = \varphi(\omega(b_1,...,b_n)),\) but \(\varphi(\omega(b_1,...,b_n)) = \omega(\varphi(a_1),...,\varphi(a_n)).\) Then, \((\omega(a_1,...,a_n), \omega(b_1,...,b_n)) \in ker\varphi\).
Therefore, \(ker\varphi\) is a congruence relation.\(\square\)

The definition of a congruence relation allows us to partition any algebra in congruence classes just like we can partition any set in equivalence classes. Let \(A\) be an algebra with the signature \(\Omega\) and \(T\) a congruence relation. The set \(A/T\) together with the signature \(\Omega\) where for any \(\omega \in \Omega\) \((\rho(\omega) = n)\), \(\omega([a_1]_T,...,[a_n]_T) = [\omega(a_1,...,a_n)]_T\) is called a quotient algebra.

Proposition. Let \(A/T\) be a quotient algebra. The mapping \(\tau : A \ni a \rightarrow [a]_T \in A/T\) is an epimorphism and \(ker\tau = T.\)
The epimorphism \(\tau\) is called a natural epimorphism.

Proof.

It is pretty clear that \(\tau\) is surjective as \(im\tau = \{[a]_t \; | \; a \in A\} = A/T.\) To prove that \(\tau\) is a homomorphism is also very straightforward.
Let \(\omega \in \Omega\) \((\rho(\omega) = n)\) and \(a_1,...,a_n \in A\). Then, \(\tau(\omega(a_1,...,a_n)) = [\omega(a_1,..,a_n)]_T = \omega([a_1]_T,...,[a_n]_T)\), but \(\omega([a_1]_T,...,[a_n]_T) = \omega(\tau(a_1),...,\tau(a_n)).\) Thus, \(\tau\) is a homomorphism and also, by definition, an epimorphism.

The objective now is to prove the equality.
Let \(a_1,a_2 \in A\) so that \((a_1,a_2) \in ker\tau\). This means that \(\tau(a_1) = \tau(a_2)\) so that \([a_1]_T = [a_2]_T.\)
If \([a_1]_T = [a_2]_T\), then \(a_2 \in [a_2]_T = [a_1]_T\) so that \((a_1,a_2) \in T.\)
If \((a_1,a_2) \in T\), then \(a_2 \in [a_1]_T\) and \(a_2 \in [a_2]_T\). Since \(a_2\) is a element o both classes and \([a_2]_T\) is not empty, then \([a_1]_T = [a_2]_T\). Therefore, \((a_1,a_2) \in ker\tau\) if and only if \((a_1,a_2) \in T\), which let us conclude that \(ker\tau = T.\) \(\square\)

The Isomorphism Theorems.

I. Let \(\varphi : A \rightarrow B\) be a homomorphism. There exists then \(\psi : A/ker\varphi \rightarrow im\phi\) such that \(\varphi = \psi \circ t\), where \(\tau : A \rightarrow A/ker\varphi\) is a natural epimorphism.

Lemma: Let \(\varphi : A \rightarrow B\) be a homomorphism and \(T_1 \subseteq A \times A\), \(T_2 \subseteq B \times B\) two congruence relations. If \(\varphi(T_1) \subseteq T_2\), there exists then \(\psi: A/T_1 \rightarrow B/T_2\) such that \(\psi \circ \tau_1 = \tau_2 \circ \varphi\), where \(\tau_1 : A \rightarrow A/T_1\) and \(\tau_2 : B \rightarrow B/T_2\) are two natural epimorphisms.

II. Let \(A\) be an algebra, \(B \leq A\) and \(q \subseteq A \times A\) an congruence relation. We denote \(B \cdot q = \bigcup\limits_{b \in B}[b]_q\). Then, \(B \cdot q \leq A\) and \((B \cdot q)/q_{|B \cdot q} \cong B/q_{|B}.\)

III. Let \(A\) an algebra and \(q \subseteq r \subseteq A \times A\) two congruence relations. Thus, there exists the congruence relation \(r/q \subseteq A/q \times A/q\) such that \((([a_1]_q,[a_2]_q) \in r/q) \iff ((a_1,a_2) \in r)\), and \((A/q)/(r/q) \cong A/r.\)