# Final Exam Fall 2018

### Directions:

• Answer the problems on the exam pages.
• There are four problems, each with multiple parts, for 120 total points. Actual scale was A = 100, C = 60.
• Some useful definitions precede the questions below.
• No books, notes, calculators, or collaboration.
• In case of a numerical answer, an arithmetic expression like "217 - 4" need not be reduced to a single integer.

Q1: 30 points
Q2: 30 points
Q3: 30+10 points
Q4: 30 points
Total: 120+10 points

Here are definitions of some terms, sets, predicates, and statements used on this exam.

Question 1 deals with the following scenario:

During one cold week in December, each dog in the set S = {c, d, n, p} = {Cardie, Duncan, Nina, Pushkin} went for a walk on each day in the set Y = {Mon, Tue, Wed, Thu, Fri}. On each day, each dog chose whether to wear a coat, based on the temperature that morning.

Let Z be the set of integers {..., -3, -2, -1, 0, 1, 2, 3,...}. Let f be the function from S to Z defined so that f(x) is the "critical temperature" (in Celsius) for dog x: the meaning of this will come from Statement I below. Let t be the function from Y to Z defined so that t(y) is the outdoor temperature, in Celsius, on the morning of day y. Let W be the predicate defined so that W(x, y) means "dog x wore a coat on day y".

Question 1 also refers to the following four statements, where the variables are of type "dog", type "day", or type "integer":

The statements are:

• Statement I: ∀x:∀y: W(x, y) ↔ (t(y) ≤ f(x))

• Statement II: Duncan was the one and only dog to wear a coat on Tuesday, and Nina was the one and only dog to not wear a coat on Wednesday.

• Statement III: ¬((W(p, Mon) ∧ (t(Tue) = -16)) → ((t(Thu) = -16) ∧ W(c, Mon)))

• Statement IV: On Friday, the temperature was -17 and exactly two of the dogs wore coats (on Friday).

N is the set of naturals (non-negative integers, {0, 1, 2, 3,...}.

The Koch snowflake is obtained by recursively defining the polygons Sn in the following way:

• S0 is an equilateral triangle.

• Sn+1 is obtained from Sn by dividing each side of the polygon into three equal parts and replacing the middle one with the other two sides of an equilateral triangle, drawn outwards.

• Question 1 (30): This question deals with the scenario described above, and with the four statements about a set of dogs S, consisting of exactly the four dogs Cardie (c), Duncan (d), Nina (n), and Pushkin (p), and a set Y of five days {Mon, Tue, Wed, Thu, Fri}. The functions f and t, and the predicate W, are defined above.

• (a, 10) Translate each of these four statements as indicated.

• Statement I: (to English) ∀x:∀y: W(x, y) ↔ (t(y) ≤ f(x))

• Statement II: (to symbols) Duncan was the one and only dog to wear a coat on Tuesday, and Nina was the one and only dog to not wear a coat on Wednesday.

• Statement III: (to English) ¬((W(p, Mon) ∧ (t(Tue) = -16)) → ((t(Thu) = -16) ∧ W(c, Mon)))

• Statement IV: (to symbols) On Friday, the temperature was -17 and exactly two of the dogs wore coats (on Friday).

• (b, 5) Prove that Statement III is equivalent to the statement

W(p, Mon) ∧ (t(Thu) = -16) ∧ ¬W(c, Mon).

• (c, 15) Using Statements I, II, III, and IV, determine whether Cardie wore a coat on Thursday, and prove your answer. (You many use the alternate form of Statement III give in part (b) of this problem.) You may use English, symbols, or a combination, but make your use of quantifier proof rules clear. (Hint: There are nine total temperatures given by values of f(x) for dogs x and t(y) for days y. Use the statements to derive inequality relations among these.)

• Question 2 (30): Identify each of the following fifteen statements as true or false. There are two points for each correct answer, with no explanation needed or wanted. Note that there is no penalty for guessing. Some of these statements refer to terms defined at the beginning of the exam. sheet.

• (a) Let Σ be a nonempty alphabet, L be the set of all languages over Σ, and R be the set of all regular expressions over Σ. Then the function L from R to L that gives the language L(R) of a regular expression R is neither one-to-one nor onto.

• (b) The following is not an equivalence relation on strings: R(u, v) means there exists a string w such that uw and vw either both have an even number of a's or both have an even number of b's.

• (c) The number of solutions of the congruence system x ≡ a (mod m) and x ≡ b (mod n) satisfying 0 ≤ x < mn is equal to gcd(m, n).

• (d) Let P be a predicate on strings over {a, b}. Then we can derive ∀w:P(w) if we know P(λ) and ∀w:(P(w) → P(wab)) ∧ (P(w) → P(wbb)) ∧ P(wb) → P(w)).

• (e) The depth of a DFS tree for an undirected graph with cycles is always one less than the length of the longest cycle.

• (f) Let p and q be two states in a DFA such that δ(p, x) ≠ δ(q, x) for any letter x in Σ. Then p and q may be equivalent states for the purpose of minimizing the DFA.

• (g) The language {an: n is not prime} is regular.

• (h) There is some regular expression R so that the regular expressions ((b + R)*a)* and (b*a)* are not equivalent. (Here the alphabet is assumed to be {a, b}.)

• (i) Let L be the language of strings from Σ = {a, b} with no three consecutive equal letters. Then the strings λ, a, aa, ab, and bb are all pairwise distinguishable.

• (j) Let L be the language of strings of a's and b;s where the number of a's is congruent modulo n to the number of b's. Then the L-equivalence relation has n2 classes.

• (k) Let w be a binary string (of 0's and 1's). There is an NFA with |w| + 1 states that accepts exactly the binary strings ending in w, but any DFA with the same language has at least 2|w| states.

• (l) If a 2WDFA can move left only from a single state, which is not the initial state, then it cannot hang.

• (m) If language X is Turing decidable, and the complement of Y is Turing recognizable, than X \ Y must be Turing recognizable.

• (n) The set of pairs consisting of (i) a description of a DFA, and (ii) a string accepted by that DFA, is Turing recognizable but not Turing decidable.

• (o) The set of Turing machines that use only a bounded amount of the infinite tape is Turing recognizable.

• Question 3 (30+10): This question refers to the Koch snowflake defined above.

• (a, 10) Let En be the number of sides of the polygon Sn. Derive a recurrence (recursive definition) for En and then find a formula for En in terms of n, and prove it correct by induction.

• (b, 10) Let Qn be the number of acute angles (π/3, or 60°) of the polygon Sn, and let Rn be the number of other angles (4π/3, or 240°). Prove by induction that Qn = 4n + 2 and Rn = 2(4n) - 2. (Hint: The total number of angles in any polygon is equal to the number of sides. Another hint: Use the result of part (a).)

• (c, 10XC) Let An be the area of Sn. Prove by induction that An = A0(1 + (3/5)(1 - (4/9)n)).

• (d, 10) Let Pn be the path length (or perimeter) of the figure Sn. Prove the following statement: ∀m:∃n:Pn > m, where the variables n and m range over the natural numbers. (Note that the only thing you know about P0 is that it is a positive real number.)

• Question 4 (30): This question is the usual one about Kleene's Theorem constructions, using the regular language L = ((a + bb)*b)*.

• (a, 5) Use the construction from lecture and the text to find a λ-NFA whose language is denoted by the regular expression language L = ((a + bb)*b)*. For full credit, use the construction exactly, without any simplifications (except that, if you like, you may use the alternate form of the Kleene star construction proved to be correct on Homework #6).

• (b, 10) Using the construction from the text on your λ-NFA N from part (a), build an ordinary NFA N' such that L(N') = L(N). You may make simplifications of N before doing this, as long as they do not change the language of the machine and you make clear what you are doing.

• (c, 5) Using the Subset Construction on N', find a DFA D such that L(D) = L(N').

• (d, 5) Find a minimal DFA D' with L(D') = L(D). You may use the minimization construction, or prove directly that your D is already minimal.

• (e, 5) By using the State Elimination construction on either D or D', find a regular expression for L(N). (In fact, L(N) = L, so you have a correct regular expression already, but the construction may produce a more complicated one.)