In the string-net model, the plaquette operator is defined as $B_P = \sum_{s}a_s B_{P}^{s}$, where $s$ runs over the string types $\{0,1,2,\dots,n\}$. It is claimed on page 19 of http://arxiv.org/abs/cond-mat/0404617 that for the parameter choice $a_s = \frac{d_s}{\sum_k d_k^2}$, one can use the relation $B_P^{s_1}B_{P}^{s_2}= \sum_{k}\delta_{k^{*}s_1s_2}B_P^k$ to show that $B_P$ is a projection operator. where $\delta_{k^{*}s_1s_2}$ equals $1$ if the string type $\{k^*,s_1,s_2\}$ is allowed, and equals $0$ otherwise. I'm having trouble proving this statement.
To show $B_P$ is a projection operator, one needs to show that $B_P^2 = B_P$. \begin{align} B_P^2 &= \sum_{s_1,s_2}a_{s_1}a_{s_2}B_P^{s_1}B_P^{s_2} \\ &= \sum_{s_1,s_2,k}\delta_{k^{*}s_1s_2} a_{s_1}a_{s_2}B_P^k \\ &= \sum_{s_1,s_2,k}\delta_{k^{*}s_1s_2} \frac{d_{s_1}d_{s_2}}{(\sum_l d_l^2)^2}B_P^k\\ ?&= \sum_{s}\frac{d_s}{\sum_l d_l^2}B_P^s \\ &= \sum_s a_s B_P^s = B_P \end{align} The crucial step is the one with the question mark in the front, which I don't know how to proceed.