Show that $L:=\{(a^{k}b)^{i}|i,k \epsilon \mathbb{N}_{+} \}$ is context-sensitve. (With context-sensitive/noncontracting grammar)
Sems to be a decent approach.

The trick you need is to leave the last B  marked, say you generate bbX rather than bbb. Now the final X can absorb the C's using the production CX -&gt; aX.

In the end you are left with the final X which can change into b again.

Of course the final production X -&gt; b might be applied too soon, when there are still C's around. This is harmless. Now the C's cannot disappear and the derivation will not succesfully end.

In ordinary context-sensitive grammars one is usually not very interested in unsuccesful derivations, but it might be hard to consider all cases when writing formal proofs. It is some times possible to write more deterministic grammars by simulating linear bounded automata. In state p read a then write b move left to state q one would have the rewrite rule xpa -&gt; qxb (for every letter x). Then the only problem is to make the final state disappear.