Here we show how to achieve closure under union for regular languages, with the so-called "product construction". The idea is to "simulate" two given DFAs at the same time, because the input can only be read once. The resulting DFA has pairs of states for each of the original states in both DFAs, and transitions between them based on how the original DFAs had transitions.<br /><br />Contribute:<br />Patreon: <a href="https://www.patreon.com/easytheory" target="_blank" rel="nofollow">https://www.patreon.com/easytheory</a><br />Discord: <a href="https://discord.gg/SD4U3hs" target="_blank" rel="nofollow">https://discord.gg/SD4U3hs</a><br /><br />Live Streaming (Sundays 2PM GMT):<br />Twitch: <a href="https://www.twitch.tv/easytheory" target="_blank" rel="nofollow">https://www.twitch.tv/easytheory</a><br />(Youtube also)<br />Mixer: <a href="https://mixer.com/easytheory" target="_blank" rel="nofollow">https://mixer.com/easytheory</a><br /><br />Social Media:<br />Facebook Page: <a href="https://www.facebook.com/easytheory/" target="_blank" rel="nofollow">https://www.facebook.com/easytheory/</a><br />Facebook group: <a href="https://www.facebook.com/groups/easytheory/" target="_blank" rel="nofollow">https://www.facebook.com/groups/easytheory/</a><br />Twitter: <a href="https://twitter.com/EasyTheory" target="_blank" rel="nofollow">https://twitter.com/EasyTheory</a><br /><br />Merch:<br />Language Hierarchy Apparel: <a href="https://teespring.com/language-hierarchy?pid=2&cid=2122" target="_blank" rel="nofollow">https://teespring.com/language-hierarchy?pid=2&cid=2122</a><br />Pumping Lemma Apparel: <a href="https://teespring.com/pumping-lemma-for-regular-lang" target="_blank" rel="nofollow">https://teespring.com/pumping-lemma-for-regular-lang</a><br /><br />If you like this content, please consider subscribing to my channel: <a href="https://www.youtube.com/channel/UC3VY6RTXegnoSD_q446oBdg?sub_confirmation=1" target="_blank" rel="nofollow">https://www.youtube.com/channel/UC3VY6RTXegnoSD_q446oBdg?sub_confirmation=1</a><br /><br />▶ADDITIONAL QUESTIONS◀<br />1. How can you show regular languages are closed under intersection?<br />2. Find two DFAs whose "product construction" DFA has the smallest number of states possible for that language, and another two where the resulting DFA does not.<br />3. How many final states are in the union-ed DFA?<br /><br />▶SEND ME THEORY QUESTIONS◀<br />
[email protected]<br /><br />▶ABOUT ME◀<br />I am a professor of Computer Science, and am passionate about CS theory. I have taught over 12 courses at Arizona State University, as well as Colgate University, including several sections of undergraduate theory.<br /><br />▶ABOUT THIS CHANNEL◀<br />The theory of computation is perhaps the fundamental theory of computer science. It sets out to define, mathematically, what exactly computation is, what is feasible to solve using a computer, and also what is not possible to solve using a computer. The main objective is to define a computer mathematically, without the reliance on real-world computers, hardware or software, or the plethora of programming languages we have in use today. The notion of a Turing machine serves this purpose and defines what we believe is the crux of all computable functions.<br /><br />This channel is also about weaker forms of computation, concentrating on two classes: regular languages and context-free languages. These two models help understand what we can do with restricted means of computation, and offer a rich theory using which you can hone your mathematical skills in reasoning with simple machines and the languages they define. <br /><br />However, they are not simply there as a weak form of computation--the most attractive aspect of them is that problems formulated on them are tractable, i.e. we can build efficien<br />...<br /><a href="https://www.youtube.com/watch?v=EMLuNJw3yuY" target="_blank" rel="nofollow">https://www.youtube.com/watch?v=EMLuNJw3yuY</a>