In this written homework assignment (the last one in the course!) you will examine one more problem which, alas, cannot be solved by any computer. Then, you will be analyzing the running time of several algorithms. Please note that the notation n^k means "n raised to the power k".
Why is a Regularity Checker a good thing to have? Well, if it turns out that our program P accepts a regular language, then we know that it can be run on a computer with a finite amount of memory (a DFA)!
Unfortunately, a Regularity Checker does not exist. Your job is to prove it. You may use diagrams to help explain your proof, but your proof must be clear and precise.
temp1 = (a+b)(c+d)
temp2 = ac
temp3 = bd
z = temp2 2^{n} + (temp1 - temp2 - temp3) 2^{n/2} + temp3
Nothing for you to do here! This is just the description of the algorithm.