The Jordan Holder theorem states that the composition series for a group is unique. If you start with a different kernel, and build a different composition series, you get the same factor groups, possibly in a different order.
Jordan Holder was generalized to modules without too much fuss. The quotient modules that arise from the composition series of M are uniquely a function of M. A different composition series will produce the same factors, possibly in a different order.
The Krull Schmidt theorem is similar. Write G as a direct product of smaller groups, and if the component groups are indecomposable, i.e. not a direct product of still smaller groups, then the composition is unique. There is only one way to write G as the finite direct product of component groups. For instance, Z/3 * Z/5 * Z/20 cannot be written as any other direct product.
Like Jordan Holder, Krull Schmidt generalizes to modules. A module M is the direct product of submodules in a unique way. As you move through the proof, take a moment to verify each step as it applies to modules. In many cases the algebra is easier, because the group suddenly becomes abelian. You only need turn group homomorphisms into module homomorphisms, and you're all set.
As a warmup, let M be a finitely generated module over a pid. As described in the previous chapter, M is the direct product of cyclic modules in a unique way. Let U be one of these cyclic modules. If U is part of the free submodule of M, then U is the same as R. If R is a direct product of two R modules, then R is the direct product of two rings. This is because R is commutative. Write 1 as e + f, according to the components of the direct product. Now 1*1 = e2 + ef + fe + f2 = e + f. When f acts on e the result lives in the first component, and when e acts on f the result lives in the second. This because each component is its own R submodule. But ef = fe, so the same element is in both components, and that means ef = fe = 0. Rewrite the equation as e2 + f2 = e + f. Within the first component, e2 = e, and within the second component, f2 = f. These are idempotents, that turn R into the direct product of two rings. However, R is an integral domain, and has no nontrivial idempotents. Therefore R is indecomposable.
Let U be one of the cyclic modules in MT, isomorphic to R/pj. Note that U is itself a ring, and U is a U module. The action of R is the same as the action of U. If U is a direct product of R modules then U is a direct product of U modules, and U is a direct product of rings. This again implies idempotents. Let x be an idempotent in U. If x is a multiple of p then x2 cannot equal x. The exponent on p is doubled. So x is nonzero mod p. Since p is maximal, R/P is a field. If x2 = x in a field, then x = 1. Write x as 1+yp. Square this and get 1 + 2yp + y2p2. Look mod p2, and y has to equal 2y. Thus y = 0. The same would happen with 1+yp2, 1+yp3, etc. The only idempotent is 1, and U is indecomposable.
M has been separated into a unique finite direct product of indecomposable modules. Of course this is a special case, wherein R is a pid and each component is cyclic. In general, R is unconstrained, and a component can be just about anything you like. R could be noncommutative, whence M could be a left or right module. When applied to groups, G could be nonabelian. Still, there is only one way, up to isomorphism, to write a group or module as a finite direct product of indecomposable groups or modules.
Throughout this chapter, a "chain" consists of normal subgroups of G, linearly ordered by containment. This is different from the normal series that we saw earlier, where each subgroup is normal in the subgroup above it. The subgroups of this chain need only be normal in G.
If G has no infinite ascending chain it has the "ascending chain condition", also known as acc. If G has no infinite descending chain it has the "descending chain condition", also known as dcc. This is consistent with the corresponding definitions for modules.
Note that G could be acc and dcc, and still have infinite chains of subgroups that are not normal. Consider the alternating group on infinitely many letters. This group is simple, hence it is acc and dcc. The subgroups An, as n runs from 1 to infinity, form an ascending chain, and the subgroups that exclude the first n letters form a descending chain.
Let Q be a quotient group of G. Since normal subgroups of Q pull back to normal subgroups of G, an infinite chain in Q lifts to an infinite chain in G. Therefore Q inherits acc or dcc from G.
Let G = K*Q, a special case of kernel and quotient. By the above, Q and K inherit acc or dcc from G. The converse is also true. If K and Q are acc or dcc then so is G. See the corresponding proof for modules.
This generalizes to a finite direct product of groups. The product is acc or dcc iff the same holds for each component.
Again, let G = K*Q. Let J be a normal subgroup of K. Conjugate x*J/x, and the K component maps J onto J, while the Q component drops out. Thus J is normal in G. A chain of normal subgroups in K becomes, without modification, a chain in G.
A group is decomposable if it is the direct product of two nontrivial groups. Simple groups are indecomposable, but so is Z/pn and Sn. By convention an indecomposable group is nontrivial, just as the prime numbers do not include 1.
A group is finitely decomposable if it is the finite direct product of indecomposable groups. Thus an indecomposable group is finitely decomposable, even though it is not decomposable.
A finite direct product of finitely decomposable groups is finitely decomposable.
Assume G is not finitely decomposable. This means it is not indecomposable, hence it is decomposable. Separate it into H*K. One of these components, H or K, is not finitely decomposable, so separate that into two pieces. One of those components can then be separated, and so on forever. This builds a descending chain of normal subgroups of G. The complement is an ascending chain. Either acc or dcc forces G to be finitely decomposable.
An endomorphism f is normal if it commutes with every inner automorphism. That is, f(a*x/a) = a*f(x)/a.
If you're generalizing this theorem to modules, * becomes +, the group is abelian, and every endomorphism is normal. So you can cross out the word normal and apply this theorem, and subsequent theorems, to all module endomorphisms. But for now, let's return to groups.
Let v be the composite endomorphism fn. Note that v is a normal endomorphism.
Let H be normal in G, and conjugate f(H). That's the same as f applied to the conjugate of H, or f(H). Thus the image of a normal subgroup is normal.
Turn this around and let H be the preimage of J, with J normal in G. Suppose some x in H has a*x/a outside of H. Apply f and get y outside of J. Thus a*f(x)/a = y, which contradicts J normal in G. The preimage of a normal subgroup is normal.
Start with G and apply f repeatedly, and build a descending chain. Or start with e and take preimages repeatedly, and build an ascending chain. Since G and e are both normal in G, each group in the chain is indeed normal in G, as it should be.
If f is a monomorphism and G is dcc, f is an automorphism. Similarly, if f is an epimorphism and G is acc, f is an automorphism. The proof for modules applies here.
Let G be both acc and dcc, and let f be a normal endomorphism on G.
For some n, G is the direct product of the kernel and the image of fn(G).
Choose n so that kernels and images beyond n are constant. For notational convenience, let v = fn. 

Wait a minute. Don't the kernels get larger as the images get smaller? Isn't acc or dcc enough? Well yes, if G is finite, or if the image of f is finite. Then ascending kernels correspond to descending images. But in general this doesn't work. Let M be an infinite dimensional vector space, with a basis b0 b1 b2 b3 etc. Let f push these basis elements forward, f(b0) = b1, f(b1) = b2, and so on. Invoke f again and again, and the kernel is always 0, while the images descend. Conversely, let f pull the basis back, with f(b1) = b0, and f(b0) = 0. The image is always M, but the kernels ascend. So we need G to be both acc and dcc. Then there is some v() where the kernel never increases and the image never decreases.
Suppose y lies in both the kernel of v and the image of v. Let v(x) = y, so that x is in the kernel of v2. Yet this kernel is the same as the kernel of v, hence y = 1 (the identity element for G). The kernel and the image are disjoint.
For any c in G, v(c) = v2(d) for some d. This because v and v2 have the same image. Let b = c/v(d). Expand v(b) into v(c)/v2(d), which is 1. Thus b is in the kernel of v. Since b*v(d) = c, our arbitrary element c is something in the kernel times something in the image.
Let x lie in the kernel and let y lie in the image, and consider the commutator b = xy/x/y. Apply v and get v(x) * v(y/x/y). Of course v(x) drops out. Since v is normal this is the same as y*v(1/x)/y. This collapses to 1, hence b is in the kernel.
Remember that the image is normal in G, hence xy/x is in the image, and y is in the image, so b is in the image. With b in kernel and image, b = 1, and x and y commute. That completes the proof.
An endomorphism f is nilpotent if for some n, fn maps all of G to 1. This is consistent with a nilpotent transformation on a vector space.
If G is indecomposable, and acc and dcc, and f is a normal endomorphism, then f is an automorphism or it is nilpotent. Let v = fn, and let G = the kernel of v cross the image of v, as described in the previous section. Since G is indecomposable, either the kernel or the image is 1. If the image is 1 then f is nilpotent. If the kernel is 1 then f is injective, and f becomes an automorphism, as described earlier.
Let f1 f2 f3 … fk be a finite set of normal endomorphisms. Add two endomorphisms together by letting (f1+f2)(x) = f1(x)*f2(x). (The use of + is a bit confusing here, since + might not be commutative.) Assume the sum of any distinct subset of these endomorphisms, in any order, gives a well defined endomorphism. This does not always hold, but it is valid in certain situations, such as when G is abelian, or when f1 through fk are independent projections. Naturally f1+f2 is a valid endomorphism in the world of modules.
If f1 + f2 is a group homomorphism, we have the following for any x and y in G.
f1(x)*f1(y) * f2(x)*f2(y) = f1(x)*f2(x) * f1(y)*f2(y)
Cancel f1(x) from the left and f2(y) from the right and get this.
f1(y) * f2(x) = f2(x) * f1(y)
Set y = x, and f1 + f2 = f2 + f1. Thus addition is commutative after all, and we are justified in using the + operator. Of course, if f1 + f2 is not a group homomorphism, just a function from G into G, then f1 + f2 might not equal f2 + f1.
In the algebra of endomorphisms, let f1+f2 denote the sum described above, and let f1*f2 denote f1 followed by f2. Verify that multiplication distributes over addition, on either side. Thus the following expansion is valid.
(f1 + f2) (f3 + f4) = f1f3 + f2f3 + f1f4 + f2f4
Verify that the sum or composition of normal endomorphisms is normal (assuming the sum is an endomorphism). We already addressed function composition, but here it is again in detail.
f1(f2(a*x/a)) = f1(a*f2(x)/a) = a*f1(f2(x))/a
f1(a*x/a) * f2(a*x/a) = a*f1(x)/a * a*f2(x)/a = a*f1(x)*f2(x)/a
Assume G is indecomposable, and satisfies acc and dcc. Let the normal endomorphisms f1 through fk be nilpotent. All the derived endomorphisms are also nilpotent.
We showed above that any normal endomorphism is either nilpotent or an automorphism. If f1 is nilpotent it is not an automorphism, and it has a kernel. Thus f1f2 has a kernel, and is a normal endomorphism, and is nilpotent. All finite function compositions are nilpotent.
Suppose the sum f1 + f2 is an automorphism,with inverse e. If d = f1 + f2, we have de = ed = 1. Remember that d is normal. Let c be an inner automorphism, whence cd = dc. Multiply by e on the left and right, whence ec = ce. Therefore e is a normal automorphism.
Let e1 = e*f1, and e2 = e*f2. Thus e1+e2 is the identity automorphism.
By composition, e1 and e2 are normal.
Write e1(e1+e2) = e1 = (e1+e2)e1, thus e1e2 = e2e1.
Expand (e1+e2)n. Since e1 and e2 commute, each product becomes a power of e1 times a power of e2. Since f1 and f2 are nilpotent, e1 and e2 have nontrivial kernels. They cannot be automorphisms, hence they are nilpotent. Choose n large enough to make e1n and e2n trivial, and double it. Now (e1+e2)2n takes G into 1, term by term, whence e1+e2 is nilpotent. This contradicts the fact that e1 + e2 is the identity automorphism. Therefore f1 + f2 is nilpotent.
Any product of functions drawn from f1 through fk is nilpotent, and any finite sum of these products that is a valid group endomorphism is nilpotent.
Let G be nontrivial, satisfying acc and dcc. Being acc and dcc, there is at least one finite decomposition G = G1*G2*G3*…Gk. Suppose G is isomorphic to another direct product H1*H2*H3*…Hl, where all component groups are indecomposable. Restrict the isomorphism to Hi, giving an isomorphic subgroup inside G. Do this across the board, and say, without loss of generality, that G = H1 * H2 * H3 * … Hl. In other words, G itself has two decompositions, without vectoring through some other group that is isomorphic to G. We will prove that k = l, and after reindexing, Gi and Hi are isomorphic.
Why not just say Gi = Hi? Well, as an example, G could be Z*Z. Let G1 and G2 be the components of G. Then let [1,2] generate H1, and let [1,1] generate H2. Corresponding subgroups are isomorphic, but not equal. So G decomposes into a unique direct product, up to isomorphism.
Let w0 be the assertion that G is the product of H1 through Hl, which is true by assumption. For j between 1 and l, let wj state that, after reindexing, G is the product of G1 through Gj times Hj+1through Hl, such that Gi and Hi are isomorphic up to j. This reindexing is backward compatible. Once the connections are made through j, they are left alone, as we find a new Hi in G that is isomorphic to Gj+1.
G1  G2  G3  G4  G5  G6  G7 
⇕  ⇕  ⇕  ⇕  ↑  
H1  H2  H3  H4  H5  H6  H7 
Assume wj1 is true. Let pi project G onto Gi using the original decomposition. Let qi project G onto Gi for i < j, and onto Hi for i ≥ j. In other words, q reflects the decomposition of wj1.
View pi and qi as endomorphisms of G. All endomorphisms are projections, and normal.
The product of any two projections from the set p, or the set q, is trivial for distinct projections, or it is the projection when that projection is multiplied by itself.
Add two distinct projections and get a combined projection that extracts both components, such as G3 and G5. These are well defined endomorphisms. This builds a ring of endomorphisms, as described in the previous section.
Compose the identity automorphism, the sum over qi, with pj. This gives pj = the sum of qipj, as i runs from 1 to l. But when i < j, qi =pi, and pipj is trivial; so let the sum run from j to l. The terms of the sum are normal endomorphisms, and they can be added together (as projections followed by pj) to create well defined endomorphisms.
All these endomorphisms map G into Gj. The same is true if you restrict the domain to Gj. This gives endomorphisms on an indecomposable module, which happens to be acc and dcc. The results of the previous section are in force.
The sum of the component endomorphisms is nilpotent if each endomorphism is nilpotent. Yet pj fixes Gj, and is an automorphism, hence not nilpotent. For some i, v = qipj is not nilpotent. It is an automorphism on Gj.
Turn this around and let u = pjqi, an endomorphism on Hi. If u is nilpotent with order n, then vn+1 = qiunpj. With un = 1, vn+1 = 1, which contradicts the fact that v is an automorphism; therefore u is also an automorphism. Both functions qi and pj must be injective and surjective, hence they build isomorphisms between Gj and Hi.
Reindex H, so that Hi becomes Hj.
For illustration, I will let j = 5 and l = 9. We still have to replace H5 with G5, and find a direct product that builds G.
Suppose a sum, ai drawn from Gi, as i runs from 1 to 5, plus bi drawn from Hi, as i runs from 6 to 9, equals 0. Apply q5 to this equation, which is one of 9 projections in the set q. Everything drops out except for q5(a5). Remember that a5 lives in G5, and q5 is an isomorphism from G5 onto H5. This gives the equation q5(a5) = 0. Since a5 is nonzero and q5 is an isomorphism, this is a contradiction. That takes a5 out of the picture. The remaining subgroups are disjoint, as per wj1. Therefore the subgroups are all disjoint.
Next show that all of G is spanned. By assumption, G1 through G4 and H5 through H9 span G. The projection q5 maps G5 onto H5. Start with G5 and we have H5 plus maybe some other stuff that is spanned by H6 through H9. Subtract that stuff away and find all of H5, hence G is spanned.
Finally G5 must commute with the other groups. It already commutes with G1 through G4. Suppose it does not commute with H6 or higher. Let a in G5 be b+y, where b is in H5 and y is in the span of H6 through H9. Select z in H6 through H9 so that z and y do not commute. (We already know that z and b commute.) Slice z up according to its projections into G1 through G7. Only the slice belonging to G5 might not commute with a in G5. Call this slice z5, and ignore the other projections. Apply q5 to see what part of z5 lies in H5. Of course no part of z lies in H5, hence q5(z5) = 0. Yet q5 is an isomorphism, hence z5 = 0. Therefore z commutes with b+y, all subgroups commute, G is the direct product of G1 through G5 times H6 through H9, and w5 is true.
Continue this process until j = k or l, whichever is less. At this point G = G times some other groups, and those other groups can only be trivial, thus k = l. The representation of G as a direct product of indecomposable groups is unique.
As a bonus, replacing Hj with Gj is an automorphism on G. Both Hj and Gj commute with all the G subgroups before, and all the H subgroups after, and qj builds an isomorphism from Gj onto Hj, hence this isomorphism, along with the identity map on all the other subgroups, becomes an automorphism on G.
When G is a module, this theorem can assert the uniqueness of certain indecomposable summands, even if G is not acc or dcc. Assume G has an indecomposable summand G1 that happens to be acc and dcc, even if G is not. This is the first in a finite decomposition Gi, while Hi is some other finite decomposition for G. The above proof is valid, at least for G1, and builds an automorphism from G1 through H1 and back onto G1. This path is injective from start to finish. Let F be the image of G1 in H1, and let E be the kernel of p1(H1) onto G1. Since F is a perfect copy of G1 inside H1, the map p1 is a semidirect product. Since H1 is a module, the semidirect product becomes a direct product. However, H1 is indecomposable, hence E = 0, and F is all of H1. The map is once again an isomorphism, and replacing H1 with G1 builds an automorphism on G. The quotient modules G/G1 and G/H1 are isomorphic.
This extends to all the summands in the first list that are acc and dcc. G1, G2, and G3 correspond to H1, H2, and H3, and the resulting quotient modules are isomorphic.
If there are only 4 modules in the list, so that G4 is G mod G1*G2*G3, then replace the first 3 modules, build the associated isomorphism, and equate quotient modules, whence G4 and H4 are isomorphic. The decomposition is unique if all but one of the summands in either list is acc and dcc.
This chapter would not be complete without an example of a group that splits in two different ways. Obviously the group is not both acc and dcc.
Represent the group as Z*G, where Z is an abelian group and G is a nonabelian group. Eventually Z will turn into Z, the integers. I will use additive notation for Z and multiplicative notation for G. Thus 0 is the identity in Z and e is the identity in G. An ordered pair will be written [a,x], for a in Z and x in G. The bottom of the group is [0,G]. The goal is to rewrite this group as another direct product H*K.
Z  H  K  
G  H0  K0 
A homomorphism carries H into Z, with kernel H0 mapping to 0. In other words, H0 = H intersect [0,G]. Similarly, K0 = K intersect [0,G]. Thus H0 and K0 are subgroups of G that commute. In fact their direct product H0 * K0 is a subgroup of G. Call this subgroup S.
Let Ha be the coset of H0 in G that corresponds to a in Z. This is another slice of H. It is H0*xa, where xa is the cosrep. Or it is xa*H0. It is the same coset; xa conjugates the kernel H0 onto itself. There is such a coset for those elements a in Z that are projected from H. The same coset could be used again and again, the elements of Z make them distinct in Z*G. In fact every cosrep could be e, but that makes H the direct product of H0 and a subgroup of Z, and hence decomposable. If there is more to H than [0,H0], then some of the cosreps are outside of H0.
The cosets are compatible with the action of Z. The order of xa is the least power of xa that winds up back in H0. This could be 1, if xa = e. The order of xa divides the order of a in Z. If n×a = 0, then xan corresponds to 0 in Z, and has to lie in H0 by the definition of H0.
K is K0 times yb for various values of b in Z.
If H0 = G, every cosrep may as well be e, and H is G cross a subgroup of Z. This subgroup has to be 0, else H is a direct product. Thus H = [0,G]. That leaves K0 = e, and if K includes two values of G for some b in Z, then K0 is nontrivial, so K has one value of G corresponding to each b in Z. K is Z cross some individual members of G whose action is compatible with that of Z. The simplest example is Z cross e. But if Z is in fact the integers, 1 could correspond to any free element of G. In any case, K is isomorphic to Z, so we still have Z cross G up to isomorphism. Therefore H0 and K0 are nontrivial proper subgroups of G.
Represent H * K, projected into G, as H0xa * K0yb over every a and b. If all the cosets of H0, and all the cosets of K0, lie in S, then S is all we get from H * K. S = G, and G is a direct product H0*K0. So there are some cosreps outside of S.
A cosrep xa conjugates H0 onto itself, and commutes with K0, thus conjugates S onto itself. The same for yb, hence S is normal in G. The quotient group G/S is defined by the cosreps xayb.
Both Xa and H0 commute with K0, and since H and K commute, xa also commutes with yb.
Suppose distinct cosets represented by x, cross the distinct cosets represented by y, produce distinct cosets of S in G. This makes G the direct product of H and K. Since G is indecomposable, some xayb = xcyd, for xa ≠ xc and yb ≠ yd. Bring x to the left and y to the right, and there is some overlap in x and y, besides x0 = y0 = e. At first this looks like an intersection between H and K, but if a ≠ b, this is not the case. The components in Z keep them apart.
Note that the overlap could be S itself. That is, xa = yb = e, for some a ≠ b (to keep H and K apart).
Suppose every yb overlaps with some xa. The cosreps xa are sufficient to cover all the cosets of S in G. You don't need yb at all. G becomes the direct product of {H0*xa} and K0. Thus there are some cosets from either side that do not overlap.
If Z is finitely generated then the quotient group G/S is finitely generated, by xa and yb, where a and b range over the generators of Z. Since x and y commute, the group is abelian, and G/S is a finite direct product of cycles. If any one of these cycles commutes with S then G splits. So it is important that some x not commute with H0, and some y not commute with K0.
Let Z be the integers. For notational convenience, let x = x1 and let y = y1. Both x and y are outside of S, and x and y are not the same coset of S, else all of y overlaps with x.
H includes [1,x], but H*K has to include [0,x]. There is some power p (possibly negative) such that (x/y)p = x. Thus xp1 = yp. We knew there had to be some overlap between x and y; here it is. If p = 1 then y is in S. If p = 2 then x and all powers of x are subsumed by y. Similarly p cannot equal 0 or 1. Try p = 3, so that x2 = y3.
Now it's time to build G H and K, and see if it plays out. Represent H0 and K0 by two independent triangles. H0 rotates its triangle, a group of order 3. K0 flips (reflects) its triangle through the altitude, a group of order 2. Thus S is a group of order 6, H0 * K0.
As x passes through S, from xS to Sx, flip the first triangle and preserve the second. Thus x conjugates H0 and commutes with K0 as required. Note that x2S = Sx2.
Pass y through S, from yS to Sy, and rotate the second triangle, while preserving the first. Note that y3S = Sy3.
Finally replace y3 with x2 wherever it appears. This builds the group G, with words in canonical format: H0 * K0 times a power of x times a power of y. The exponent on x is any integer; the exponent on y is 0 1 or 2. The inverse of y is x2y2 The quotient G/S is generated by y2/x. If G splits then G/S splits, but a group isomorphic to Z cannot split. So some part of the kernel would have to split off. Yet nothing in the kernel commutes with both x and y. Therefore G is indecomposable. Since Z is also indecomposable, we have our first representation.
Build H from H0 and the powers of x, where the exponent on x corresponds to the integer in Z. Build K from K0 and the powers of y, where the exponent on y corresponds to the integer in Z, but then replace each y3 with x2. Thus x8y2 corresponds to 14. These are valid subgroups of Z cross G.
Since H0 and K0 commute, and x and y commute, H and K commute.
H and K are disjoint. Suppose they have an element in common, with projection a in Z. a has to be a multiple of 3, else the element from K contains y. If a = 3n, then H presents x3n while K presents x2n. Therefore n = a = 0. This pulls H down to H0 and K down to K0, which are disjoint.
H and K span. Multiply [3,x3] by [3,x2] to get [0,x] in [0,G]. Multiply [1,y] by [1,x] to get y/x in G. The presence of y/x and x implies y. Thus [0,G] is covered. All the integers of Z are covered, and the group is spanned.
H has a quotient generated by x, which is cyclic, and does not split. And nothing in H0 commutes with x, hence H is indecomposable. The same goes for K, with quotient generated by y.
Neither H nor K is abelian, hence neither can be isomorphic to Z. This gives the second, nonisomorphic representation for the same group.
In this example every group has a finite kernel and a free quotient, hence acc, but not dcc.