In some of these solutions, helps to know that L(G), the language generated by the grammar G, means the set of all strings of terminals that can be derived from the start symbol S using the grammar rules of the grammar G.
Other orders of derivation are possible, e.g. b B → b b could have been used immediately after the first application of C B → B C.
S → a S B C
S → a b C
C B → B C
b B → b b
b C → b c
c C → c c
Only the first two rules affect the length of the string being derived. As with part (c), when the 2nd rule (S → a b C) is applied, string growth stops (and then neither of the first two rules can be used again). The last three rules cannot be used until the single use of S → a b C provides the b. Hence the initial phase of derivation consists of n–1 applications of S → a S B C followed by the single application of S → a b C, possibly interspersed with uses of C B → B C. (The rule C B → B C simply serves to move the Bs left and the Cs right.) At this point, the string contains n as, one b and n–1 Bs, and n Cs. The remaining rules do not change the number of Bs+bs, nor the number of Cs+cs. The rule b B → b b serves to convert Bs to bs left to right through the string. The rules b C → b c and c C → c c cannot be used until b B → b b has been used enough times to get a b adjacent to a C in the derived string. For this to happen, the string must be of the form a^{n} b^{p} b C followed by a string of Bs and Cs (possibly 0 Bs, definitely n Cs). If there are in fact any Bs in the rest of the string, then the derivation will block, since while the rule c C → c c converts C into c, there is not a rule c B → c b to convert B into b. If there were no Bs in the rest of the string, then the string was of the form a^{n} b^{n–1} b C^{n}, and then the only possible rule applications are a single b C → b c followed by n–1 uses of c C → c c, yielding a^{n} b^{n} c^{n}. So all strings derivable are of the form a^{n} b^{n} c^{n}. Conversely, to derive a^{n} b^{n} c^{n}, apply S → a S B C n–1 times followed by S → a b C and then n(n–1)/2 applications of C B → B C to get a^{n} b B^{n–1} C^{n}, then apply b B → b b n–1 times followed by b C → b c followed by n–1 uses of c C → c c to get a^{n} b^{n} c^{n}.
A B → A φ (B → φ in the left context A and right context ε)
A φ → C φ (A → C in the left context ε and right context φ)
C φ → C D (φ → D in the left context C and right context ε)
Remember that ε is the empty string, so that in full, the first rule is A B ε → A φ ε, since A B ε = A B, and A φ ε = A φ.
No solution is provided for the inductive step. You could start by figuring out how to extend the argument above to work for A B → C D E, and for A B C → D E F, and for A B → C_{1} C_{2} ... C_{n}.