We can then specify any language in the class of languages by specifying a particular automaton in the class of automata. We do that by specifying values for the parameters of the class. In this way, we can regard a specification of those parameters as a definition of a language in the class. Given our assumption of finiteness for the parameters, the definition will be finite.
The specification itself will be a mathematical object-a tuple of values, one for each parameter. We can illustrate this process by applying it to the class of Finite Languages. The obvious algorithm for recognizing such a language is to use a lookup table containing all and only the strings in the language. We then simply read the entire input and check to see if it is in the table. A schematic representation of an automaton implementing this algorithm is shown in Figure 1. The input is shown across the top, written on a tape one symbol per cell of the tape. (The structure of the input is irrelevant here, but will matter when we work with automata that scan the input sequentially.) The ∈ element, here, outputs TRUE iff its first input is a member of the set presented to its second input, so it represents some sort of search mechanism.