

To prove Kleene’s Theorem, we briefly discuss “non-deterministic finite state automata”, which generalize the automata described before. 1 Automat Automat is a online tool that allows you to edit and manipulate formal languages in a variety of forms, beginning with the form we have introduced in this module, finite automata. We can think of this program as a machine which only emits two possible responses to its input. The definition is that the automaton accepts if its run ends. 'Final state' is a poor choice of name, and most authors seem to prefer 'accepting state'. The source of your confusion is that this isn't the definition.

It is a famous result known as “Kleene’s Theorem” that a language is regular, that is, defined by a regular expression, if and only if it is so determined by a finite state automaton, so Kleene’s Theorem unites all the previous material. a final state by definition is one that terminates transitions, i.e., that once you reach it, there's nothing else left to do. Thus, a finite state automaton determines a language, namely, the collection of sequences of letters for which it answers “Yes”. Next, we turn to a study of “finite state automata”, which in a precise sense are “machines” which return the answer “Yes” when given a sequence of letters in the alphabet if and only if the sequence is actually a word in the language. We define various operations on the set of all languages over a given alphabet, discuss the basic properties, and then use these operations to define a special class of languages called “regular languages” using certain formal “regular expressions”. Actually, as a model of English, Swedish, Chinese, Swahili, or any other such “natural language”, our precise definitions are necessarily simplistic, but the languages we study here are actually excellent paradigms for compilers and interpretors. This chapter begins with the definitions of “alphabet” and “language” in the precise sense of computer science, and roughly an alphabet is a finite collection of letters such as, and a language is some collection of words in these letters.
