Finite-support witnesses for indexed languages #
Every indexed language has an indexed-grammar witness whose nonterminal and flag types are finite. This packages the grammar-level finite-support restriction for class-level use.
Every indexed language has a grammar witness with finite nonterminal and flag types.
Indexed languages are unchanged if their witnesses are required to use finite nonterminal and flag types.
ε-free indexed languages have finite-support normal-form grammar witnesses.
Every ε-free indexed language is the image of a finite-alphabet, finite-support, normal-form indexed grammar.
This packages all reductions needed before the final indexed-to-CS simulation: the terminal alphabet, nonterminal type, and flag type are finite, the terminal alphabet is inhabited, and the grammar is in indexed normal form.
Every indexed language has a finite-alphabet, finite-support, normal-form indexed grammar for its nonempty part. This is the class-level arbitrary-ε normal-form theorem: normal-form grammars are ε-free, so the empty word is handled separately by downstream context-sensitive closure lemmas.