To see why the coprime constraint is necessary, let a representation take Zp onto the 2×2 matrices [1,x|0,1] mod p. This is reducible, with a subspace generated by the row vector [0,1] on the left, but it is not decomposable. The matrix [1,1|0,1] is already in jordan form, and is not similar to a diagonal matrix, which is what we need for an equivalent decomposable representation.
Assume the characteristic of K does not divide |G|. Perform a change of basis if necessary, so that each element e in the finite group G corresponds to a lower block triangular matrix [ae,0|be,ce]. This keeps the subspace W within W, according to the upper left block.
Build the matrix S as the sum over e ∈ G of be/ae. Then divide S by |G|. Thus the order of G has to be a unit in K. Since the matrix associated with e is invertible, all rows are linearly independent, including the top vectors that build the upper left block. Thus ae is invertible, and there is no trouble writing be/ae.
Build the n×n matrix Q = [1,0;-S,1], where 1 represents the identity block. The desired change of basis is now Q*r(G)/Q. This will diagonalize every matrix in G.
Q inverse still has the identity matrix in the upper left and the lower right. The lower left block becomes S. Verify that Q times Q inverse = 1.
Evaluate Q*r(e)/Q. Clearly ae and ce are preserved. The lower left block is -Sae + be + ceS. This becomes 0, though that is far from obvious. We need to prove be = Sae - ceS.
Loop over each i in G, and choose j so that ij = e. Consider the lower left block of r(e) = r(i)r(j). This gives be = biaj + cibj. Add this up over all i in G. This multiplies be by |G|. Divide through by |G|, and split the right side into two separate sums.
Consider the sum over biaj. Replace aj with (1/ai)ae. Each term is now bi/ai*ae, and the sum is now Sae.
Consider the second sum, having terms cibj. Replace j with k inverse, so that the terms become cib1/k. The new relationship is i = ek. Use this to rewrite the sum as ceckb1/k.
What can we say about the lower left block of 1/k? Multiply r(k) by r(1/k) and the lower left block is 0. Thus bka1/k + ckb1/k = 0. In other words, ckb1/k = -bka1/k = bk/ak. Multiply through by ce and the left side is exactly what we want to add up. Replace this with -ce*be/ae, and the sum is -ceS.
Put the two sums together and get Sae - ceS. This is be, which is what we wanted to prove. Therefore the representation is decomposable, with Q making the matrices block diagonal.
If a representation is decomposable from one side, it is decomposable from the other. Convert to diagonal matrices, which are decomposable from either side.
This leads to an important generalization of Moshkey's theorem. Let G be a finite group and let M be an RG module. If R is a semisimple ring, and |G| is a unit in R, then M is a semisimple RG module.
By definition, R is a semisimple left R module, and the direct sum of semisimple modules is semisimple, and M is the quotient thereof, which is also semisimple. Thus M is a semisimple R module.
Let W be an RG submodule, hence an R module, hence a summand of M. Let p be the projection from M onto W. If M = W+V, p throws V away. Build a new R endomorphism p′(x) = ∑(e ∈ G) (1/e)(p(e(x))). Since p takes M into W, and W is stable, the result lies in W. When applied to W, p′ is W times the order of G. By assumption, this is a unit in R. Hence p′ maps W onto W, and M onto W.
Consider any c in G, and evaluate p′(c(x)). Apply c, e, p, and 1/e, in that order. No harm in following up with 1/c, and then c. Think of ec as a single element in G. We are still taking the sum over the elements of G, just in a different order. The result is c applied to p′(x). Thus p′ respects the action of G, and is an RG endomorphism.
Let T be the kernel of p′, which is an RG submodule of M. Let q be an RG homomorphism that pulls W back into M. Basically, q(W) = W/|G|. We already said p′(W) = W*|G|. The sequence is split exact, and M = T+W. This makes W an RG summand of M, and M is semisimple.
Since K is semisimple, the earlier formulation of Moshkey's theorem, in terms of vector spaces, is a special case of this one. Yet this proof is much easier to understand. Sometimes the more general problem is easier to solve.
Conversely, if RG is a left semisimple RG module, for any group G, then R is a semisimple ring. Let f(RG) onto R map all group elements to the group identity. Thus f adds the coefficients to get a value in R. This is an RG module homomorphism onto R, hence R is a semisimple RG module. An R submodule W of R is already stable, since G fixes R. Thus it is an RG submodule, and a summand of R. Therefore R is a semisimple ring.
We would also like to show |G| is a unit in R. Let p be a prime dividing |G|. By Macay's theorem, let c be an element of G with order p. Since R is von neumann, write (1-c)*x*(1-c) = 1-c, or ((1-c)*x - 1)*(1-c) = 0. What kind of elements in RG kill 1-c? Any left multiple of 1+c+c2+…+cp-1 will do. Conversely, if y kills 1-c, we have y = y*c. If a group element t in y has nonzero coefficient b, t*c has the same coefficient, as does t*c2, and so on. Thus we have b*t*(1+c+c2+…+cp-1). Do this for each disjoint p cycle, and y is a left multiple of 1+c+c2+…+cp-1. Now (1-c)*x-1 is such an element. Apply f() to both sides. The factor 1-c drops to 0, and the left side is -1. The right side is a left multiple of p. Therefore p is invertible in R. This holds for every p dividing |G|, hence |G| is invertible in R.
If G is infinite, the group ring is never semisimple. Let K be the kernel of f(RG) onto R, a left RG ideal. Assume K is a summand, and let the idempotent e generate the complement. For any c in G, c-1 is in K, hence (c-1)*e = 0, or c*e = e. Shift by any group member, and the coefficients of e are the same. Hence all the coefficients of e are the same (nonzero), and e is not a finite linear combination of elements of G.
When Moshkey's theorem fails, the group ring might not be jacobson semisimple. Here is an example of a local group ring.