Array Grammar Normal Forms

The language of an array grammar has been defined as the set of finite, connected terminal arrays, surrounded by #'s, that can be derived from an initial S surrounded by #'s. In the first section of this paper, it is shown that any array language has an array grammar in which all terminal arrays are in fact connected; and that the set of terminal, finite connected components of non #'s that occur in the sentential forms of any array grammar is an array language. Thus several possible ways of defining an array language are in fact all equivalent. In the second section of the paper, it is shown that array grammars need not use #'s as context. It is also shown that array grammars which start with arbitrary initial arrays of S's, and neither create nor destroy #'s, have exactly the same power as monotonic array grammars. In the third section, parallel array grammars are defined, and it is shown that any (monotonic) sequential array language is a (monotonic) parallel array language and vice versa.