In formal language theory, a grammar is in Kuroda normal form iff all production rules are of the form:
where A, B, C and D are nonterminal symbols and α is a terminal symbol. A formal language is a set of words, ie finite strings of letters, or symbols. In Formal semantics, Computer science and Linguistics, a formal grammar (also called formation rules) is a precise description of a Formal ↔ In Computer science, terminal and nonterminal symbols are those symbols that are used to construct production rules in a Formal grammar. In Computer science, terminal and nonterminal symbols are those symbols that are used to construct production rules in a Formal grammar.
Every grammar in Kuroda normal form is monotonic, and therefore, generates a context-sensitive language. In Theoretical computer science, a context-sensitive language is a Formal language that can be defined by a Context-sensitive grammar. Conversely, every context-sensitive language which does not generate the empty string can be generated by a grammar in Kuroda normal form. In Computer science and Formal language theory, the empty string is the unique string of length Zero.