2.6. Languages

In everyday speech, we talk about languages such as English and French, where words, phrases and sentences have particular meanings. But for our purposes here, we will discard meaning, and only think about the allowed sentences or the allowed words.

In fact, let's simplify things even beyond that. If A is an alphabet, then, for the purposes of this course,

a language over alphabet A is a subset of A*.
(Recall that A* is the set of all strings over alphabet A.)

For example, let's choose alphabet {a, b}. Then {a, aa, aaa, aaab} is a language over that alphabet.

A language can be infinitely large. For example, the set {a, aa, aaa, aaaa, aaaaa, …} = {an | n > 0} consisting of all strings of 1 or more as is a language over alphabet {a, b}.

A language is allowed to be an empty set. We will encounter some nice uses for the empty language later.