On the complex vector space of class functions, define the linear operator
This is a complex-linear map and satisfies . It is well-defined on class functions, because inversion of conjugacy classes takes an entire conjugacy class to another conjugacy class .
Use first the basis consisting of the indicator functions of the conjugacy classes. The linear operator permutes this basis by . A permutation matrix has trace equal to the number of fixed basis vectors, so
The right-hand side counts the real conjugacy classes.
By character orthogonality and completeness, the irreducible characters are another basis of . Part (a) gives . The pointwise complex conjugate of an irreducible character is again an irreducible character: conjugate the representing matrices, and conjugate any hypothetical proper invariant subspace back to contradict irreducibility. Thus also permutes this basis, and
Here means exactly that is a real-valued character. Equality of the trace in these two bases proves
This is the real character and real conjugacy class counting theorem. The linear operator used in the proof is ; on the irreducible character basis it agrees with pointwise complex conjugation, although pointwise complex conjugation itself is not a complex-linear map on all class functions.
For a finite group, the number of irreducible characters which are real-valued characters equals the number of real conjugacy classes. On the complex vector space of class functions, the linear operator permutes the basis of class indicators by inversion and the basis of irreducible characters by pointwise complex conjugation, using the character inversion identity. The trace of a basis permutation is its number of fixed members. Equality of the trace in the two bases proves the theorem. The linear operator is complex-linear; pointwise complex conjugation on arbitrary class functions is not.