Character Convolution Confusion 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.
 A: 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$
