|
Closures. The closure of a set S under operation O is the minimal set that contains S and all the elements that result from applying O until you don't get any new elements. In the homework the question was the set of negative integers under the operation of division. You start constructing the closure by taking the original set, negative integers. Then you add the resulting elements after applying division by negative integers. So you add the positive rationals. Now you apply division by negative integers to the new elements in the set i.e. the positive rationals, you have to add negative rationals to your set. Now you apply division by negative integers to the new elements in your set, i.e. the negative rationals. You get back the positive rationals. Your set already had that, so you have a closure. Applying division by negative integers will not add any more elements to the set. The closure is thus negative integers, positive rationals and negative rationals, which is just the set of all rational numbers.
|
|
Don't use truth tables. Give formal proofs with the rules for each step.
|
|
Symmetric does not necessarily mean not anti-symmetric. Example: {(a, a), (b,b)} is both symmetric and anti-symmetric.
|
|
The set of rational numbers is countably infinite, not uncountable. Here's a proof.
|
|
While constructing a non-deterministic FSM make sure that it does not accept any string not in the language: note that for acceptance by a NDFSM existence of one path is sufficient while for strings not in the language there should not be ANY accepting path.
|
|
For questions like 3, you have to prove your claim for any regular language, that is, if you are constructing a FSM for the new language, build it by modifying the FSM for the original language. Note however that you cannot assume anything about the structure of the FSM for the original language (See the next three points).
|
|
In 3(a) making all states as a final state won't work: every state does not necessarily have a path to a final state.
|
|
In 3(b) adding epsilon transition from the start state to all states would not work as every state need not be reachable from the start state.
|
|
In 3(c) just making the final states which do not have a transition going out of it as a final state of the new FSM may not work because a final state may have all it's transitions going to dead states.
|
|
When using the pumping lemma to prove that a language is not
regular, your proof should work for any y, such that 0 < |y| <= N. Do not
do a proof for a y with a particular known length such as 1.
|
|
In the pumping lemma, the string that you pick from L is called w.
w = xyz. After pumping, the string you get is no longer w, because it is
xy^qz, where q != 1. If you're pumping down, q=0. If you're puming up,
pick a q such that it is greater than or equal to 2. Pick a particular q.
|
|
Remember the difference between a string and a language. A
language can be regular or not. A string is just a string. Suppose L = { r
: r is an element of {0,1}* and the number of 0's in r = the number of 1's
in r}. You're trying to prove it is not regular using the pumping lemma.
Pick w = 0^N 1^N. Now do NOT say that since we've proven in class that 0^N
1^N is not regular, then this string is not regular! and so L is not
regular.
|