Demonstrating that for every monotonic grammar there is an equivalent context-sensitive grammar
First replace ever terminal $a$ with a non-terminal $X_a$ and add a production $X_a \to a$, because context sensitive grammars only work on non-terminals. Then, for every production $A_1\dots A_n \to B_1\dots B_n$ create new non-terminal $D$ and replace the production with a sequence of productions $$\begin{align} A_1A_2\dots A_n &amp;\to DA_2\dots A_n \\ DA_2A_3\dots A_n &amp;\to DB_2 A_3 \dots A_n \\DB_2A_3A_4\dots A_n &amp;\to DB_2 B_3A_4 \dots A_n \\ &amp;\vdots \\ DB_2\dots B_{n-1}A_n &amp;\to DB_2\dots B_{n-1}B_n \\ DB_2 \dots B_n &amp;\to B_1B_2 \dots B_n \end{align}$$which are all context sensitive. Also, replace every production $A_1 \dots A_n \to B_1 \dots B_m$ where $n &lt; m$ with $$\begin{align} A_1\dots A_n &amp;\to B_1\dots B_{n-1}C \\ C &amp;\to B_nB_{n+1} \dots B_m\end{align}$$where the first production can be made context sensitive as previously shown and the second one is context free. Of course, this construction may introduce problems (if $B_1A_2 \to \dots$ is already in the grammar, for instance). This is easily solved by adding new non-terminals.