Indexed language

Indexed languages are a class of formal languages discovered by Alfred Aho; they are described by indexed grammars and can be recognized by nested stack automata.

Indexed languages are a proper subset of context-sensitive languages. They qualify as an abstract family of languages (furthermore a full AFL) and hence satisfy many closure properties. However, they are not closed under intersection or complement.

The class of indexed languages has generalization of context-free languages, since indexed grammars can describe many of the nonlocal constraints occurring in natural languages.

Gerald Gazdar (1988) and Vijay-Shanker (1987) introduced a mildly context-sensitive language class now known as linear indexed grammars (LIG). Linear indexed grammars have additional restrictions relative to IG. LIGs are weakly equivalent (generate the same language class) as tree adjoining grammars.

Examples
The following languages are indexed, but are not context-free:
 * $$ \{a^n b^n c^n d^n| n \geq 1 \} $$


 * $$ \{a^n b^m c^n d^m | m,n \geq 0 \}$$

These two languages are also indexed, but are not even mildly context sensitive under Gazdar's characterization:


 * $$ \{a^{2^{n}} | n \geq 0 \}$$


 * $$ \{www | w \in \{a,b\}^+ \}$$

On the other hand, the following language is not indexed:
 * $$\{(a b^n)^n | n \geq 0 \}$$

Properties
Hopcroft and Ullman tend to consider indexed languages as a "natural" class, since they are generated by several formalisms, such as:
 * Aho's indexed grammars
 * Aho's one-way nested stack automata
 * Fischer's macro grammars
 * Greibach's automata with stacks of stacks
 * Maibaum's algebraic characterization

Hayashi generalized the pumping lemma to indexed grammars. Conversely, Gilman gives a "shrinking lemma" for indexed languages.