Solution (source code)

= Solution

The original grammar generates
$$
\mathcal L(G)=\{a^n b c^n:n\geq0\},
$$
because each use of $S\to ASc$ adds one $a$ on the left and one $c$ on the right, and $S\to B\to b$ terminates the derivation.

Introduce nonterminals $S_0,X,C$ and use
$$
\begin{aligned}
S_0&\to AX\mid b,\\
S&\to AX\mid b,\\
X&\to SC,\\
A&\to a,\\
C&\to c.
\end{aligned}
$$
Every production is in <Chomsky normal form>. The production $X\to SC$ completes one matched $a,c$ pair, while either start-like symbol terminates with $b$, so the grammar generates exactly the same language. \b[These productions are a valid $G_{\rm Chom}$.]