(1) Write \graf code for a DFA M_1 that recognizes the @lang of strings over \S={a,b} such that the length of each string is congruent to 1 modulo 3. // (2) Use the @deftn of \d* to prove whether the string *{aba} is accepted by M_1. Show all of the steps of \d*. // (3) Write \graf code for a DFA M_2 that recognizes the @lang of strings over \S={a,b} that do not have 2 consecutive *{a}s. // (4) Modify the !{process from class} for taking the union of two DFAs to write \graf code for a DFA M_3 such that L(M_3)=L(M_1)\nL(M_2). What did you change about the process? Why does that work in general? // (5) Use words to describe L(M_3). // (6) Use words to describe ~{L(M_3)}. // (7) Write \graf code for a DFA M_4 that recognizes ~{L(M_3)}. How would you recognize the complement of the @lang recognized by a DFA in a generalized process? What makes your process work? // (8) Use the !{mathematical induction} and the definition (from \graf) of the *{reverse of a string} to prove the following: >< If v and w are strings over \S, then (v\.w)^{R}=w^{R}\.v^{R}.
(1) Write \graf code for a DFA M_1 that recognizes the @lang of strings over \S={a,b} such that the length of each string is congruent to 1 modulo 3. //
(2) Use the @deftn of \d* to prove whether the string *{aba} is accepted by M_1. Show all of the steps of \d*. //
(3) Write \graf code for a DFA M_2 that recognizes the @lang of strings over \S={a,b} that do not have 2 consecutive *{a}s. //
(4) Modify the !{process from class} for taking the union of two DFAs to write \graf code for a DFA M_3 such that L(M_3)=L(M_1)\nL(M_2). What did you change about the process? Why does that work in general? //
(5) Use words to describe L(M_3). //
(6) Use words to describe ~{L(M_3)}. //
(7) Write \graf code for a DFA M_4 that recognizes ~{L(M_3)}. How would you recognize the complement of the @lang recognized by a DFA in a generalized process? What makes your process work? //
(8) Use the !{mathematical induction} and the definition (from \graf) of the *{reverse of a string} to prove the following:
>< If v and w are strings over \S, then (v\.w)^{R}=w^{R}\.v^{R}.
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)