I am wondering if there is a described normal form for Context-sensitive grammar, which is something similar to Kuroda normal form and Greibach normal form. That is to say, each rule in such form might be one of the following:
$A\beta\rightarrow a_1\dots a_k B_1 B_2\dots B_n a_{k+1}\dots a_m$
or
$A\rightarrow a_1\dots a_k B_1 B_2\dots B_n a_{k+1}\dots a_m$
where $A,B_i\in N$, $\beta\in(N\cup T)$, $a_i\in T$, $m\geq 0$, $n\geq 0$, $k\geq 0$, $(m+n)>0$.
The idea is that three conditions are satisfied:
- In the left-hand side parts of rules, non-terminals always come first.
- In the right-hand side parts of rules all non-terminals are grouped together.
- Context-sensitive rules contain no more than two symbols in the left-hand side of the rule.
As an answer I would expect either a counter-example, which proves that it is not always possible to transform any context-sensitive grammar into this form, either a link to the existent paper where such normal form is described, either a proof that such normal form exists :-)