|
|
Tuesday, September 7The Language of Mathematics
We continued our review by focusing on characterizations of regular languages that can be used to help determine whether a language is regular or not. We first looked at regular expressions and discussed what steps must be taken to show that a language is regular if and only if it is denoted by some regular expression. We then reviewed the pumping lemma for regular languages. NotationIt is important to get used to notation that is used in a textbook and in mathematics in general. Notation saves us from writing too much, and it provides a clear and concise way of making statements. In our class discussions, we will often use the following notation when talking about grammars. A, B, C, ... (capital letters from the beginning of the alphabet) to stand for single nonterminals a, b, c, ... (small letters from the beginning of the alphabet) to stand for single terminals ..., X, Y, Z (capital letters from the end of the alphabet) to stand for a single nonterminal or a single terminal. ..., x, y, z (small letters from the end of the alphabet) to stand for strings of terminals a, b, g (letters from the of the Greek alphabet) to stand for strings of nonterminals and/or terminals We also write A --> a when writing a rule in a grammar, a ===> b when meaning that we can get from one string to another by applying one rule
to a nonterminal in the first string, and
* a ===> b as the reflexive, transitive closure of ===>. Compare with page 94 in Sipser. DefinitionsDefinitions are the beginning points in most theoretical presentations. We cannot create theorems and proofs about an object of study unless we have a precise definition of that object. An example definition would be the following.
A --> aB, A --> a, or A --> l (the empty string) This definition is based on the assumption that grammars have already been defined, and that we are further defining what constitutes a regular grammar among all possible grammars. TheoremsA theorem is a statement that we prove based on definitions and earlier proved theorems. An example is
ProofsThere are many different kinds of proof. One is proof by construction. For example, we can prove the above theorem by giving an algorithm that takes any finite state automaton M and constructs an equivalent regular grammar from M in the sense that L(G) = L(M). The construction algorithms is only part of the proof. It must be further proved that the construction works (that is, that L(G) does indeed equal L(M) after the construction is done. This part can be done best by construction. |