2. Give context-free grammars generating the following languages.
a. (EXTRA CREDIT) The set of all strings over \{a,b\} not of the form $ww$
for some string $w \in \{a,b\}$ . To receive extra credit points for this ques-
tion, you must provide a complete and correct solution, including an ex-
plicit CFG generating this language, as well as a clear and complete ar-
gument/proof showing why your CFG generates exactly the language in
question.
b. (10 marks) The complement of the language \{$a^nb^n$ | $n \ge 0$\}