In a course on the character theory of finite groups, the professor defined the convolution and scalar product of complex functions $\alpha, \beta$ on a group $G$ by
$$(\alpha * \beta)(g) := \sum_{h \in G} \alpha(gh^{-1}) \beta(h); \qquad [\alpha, \beta] := \frac{1}{|G|} \sum_{h \in G} \bar{\alpha}(h) \beta(h).$$
I vaguely understand that these are useful definitions because the irreducible characters of $G$ form an orthonormal basis for the space of class functions on $G$, so that we can decompose class functions in "character space," where it's presumably easier to deal with them, and where convolution corresponds roughly to multiplication.
I am to prove that $\alpha * \beta = \beta * \alpha$ for all $\beta$ iff $\alpha$ is a class function, and further that the space of class functions has dimension equal to the number of conjugacy classes, by considering the class functions $\phi_A$ (one for each conjugacy class $A$), defined to be 1 for $g \in A$ and 0 otherwise. This is supposedly an easy exercise, but I don't really understand what it's saying, why it should be true, or how it connects to my shaky understanding of what "character space" really is.
After some laborious effort, this was the rather contrived proof I came up with. If anyone has a better way to do this, insight would be appreciated.
Proposition: $\alpha * \beta = \beta * \alpha$ if and only if $\alpha$ is a class function.
Proof. First of all, consider the class functions $\phi_A$, one for each class $A$, defined by \begin{equation} \phi_A(g) = \begin{cases} 1, &\text{if}\; g \in A; \\ 0, &\text{otherwise}. \end{cases} \end{equation}
Observe that the $\phi_A$ form a basis for $\breve{G}$, the space of class functions of $G$. Indeed, the span $\{\sum_{A \in \breve{G}} \lambda_A \phi_A\}$ covers all possible class functions, and the $\phi_A$ are independent as $\phi_A \neq \lambda \phi_{A'}$ for $A \neq A'$, since $\phi_A = 0$ on $A'$. That is, any class function $\gamma$ can be uniquely decomposed as $\gamma = \sum_{A \in \breve{G}} \lambda_A \phi_A$, as each $\gamma$ must be $\lambda_A = \lambda_A \cdot 1$ on each class.
We first assume that $\alpha$ is a class function and prove commutativity; then, we assume commutativity and show that $\alpha$ is a class function.
($\implies$) Assume that $\alpha$ is a class function: then by the above decomposition, it suffices to prove that $(\beta * \phi_A)(g) = (\phi_A * \beta)(g)$ for an arbitrary class $A$, since then $\alpha$ can be pieced together from its components. Let's compute: letting $f = gh^{-1} \iff h = f^{-1} g$, we have \begin{align} (\beta * \phi_A)(g) = \sum_{k \in G} \beta(gk^{-1}) \phi_A(k) = \lambda_A \sum_{k \in A} \beta(gk^{-1}); \notag \\ (\phi_A * \beta)(g) = \sum_{h \in G} \phi_A(gh^{-1}) \beta(h) = \sum_{f \in G} \phi_A(f) \beta(f^{-1}g) = \lambda_A \sum_{f \in A} \beta(f^{-1}g). \end{align}
So it remains to show that every $f^{-1} g$ can be written uniquely as $gk^{-1}$ for some $k \in A$; indeed, define such a $k$ by $f = gkg^{-1}$, so that $f^{-1}g = gk^{-1}$.
($\impliedby$) Suppose first that $\alpha$ is not a class function; that is, assume that on some conjugacy class $A$, $\alpha$ is not constant. In other words, $\exists a,b \in A \mid \alpha(a) \neq \alpha(b)$ and $a \sim b \iff a = gbg^{-1}$ for some $g \in G$. Now, assume that $(\alpha * \beta)(g) = (\beta * \alpha)(g)$. By definition, we have
\begin{align} (\alpha * \beta)(g) = \sum_{f \in G} \alpha(gf^{-1}) \beta(f); \qquad (\beta * \alpha)(g) = \sum_{h \in G} \beta(gh^{-1}) \alpha(h). \end{align}
Next, we set $fh = g$ to re-index the first sum: then $gf^{-1} = ghg^{-1}$, and consequently $(\alpha * \beta)(g) = \sum_{h \in G} \alpha(ghg^{-1}) \beta(gh^{-1})$. Requiring $[(\beta * \alpha) - (\alpha * \beta)](g) = 0$, we have
\begin{equation} \sum_{h \in G} [\alpha(ghg^{-1}) - \alpha(h)] \beta(gh^{-1}) = 0. \end{equation}
We can break up the sum as follows:
\begin{equation} \label{big hoss} [\alpha(gbg^{-1}) - \alpha(b)] \beta(gb^{-1}) + \sum_{\substack{h \in G \\ h \neq b}} [\alpha(ghg^{-1}) - \alpha(h)] \beta(gh^{-1}) = 0. \end{equation}
Now consider any complex function $\beta_0 \colon G \to \mathbb{C}$, and define $\beta_1 \colon G \to \mathbb{C}$ by
\begin{equation} \beta_1(k) := \begin{cases} \beta_0(k), &\text{if}\; k \neq gb^{-1}; \\ X \neq \beta_0(k), &\text{otherwise}. \end{cases} \end{equation}
Okay: time for some voodoo. We plug in $\beta_0$ for $\beta$ in the above, then plug in $\beta_1$ for $\beta$ in the same, and finally subtract the results. The $h \neq b$ terms cancel, and we are left with \begin{equation} (\alpha(gbg^{-1}) - \alpha(b)) (\beta_0(gb^{-1}) - \beta_1(gb^{-1})) \end{equation}
The second term is clearly nonzero by construction, but the first term gives a contradiction: it must be zero, yet $a = gbg^{-1} \neq b$, so that $(\alpha(a) - \alpha(b) \neq 0$. Hence the assumption that $\alpha$ is not a class function must be false, so indeed we are done. $\boxtimes$