{"id":31653,"date":"2025-06-22T05:41:01","date_gmt":"2025-06-22T05:41:01","guid":{"rendered":"https:\/\/gaviki.com\/blog\/?p=31653"},"modified":"2025-06-22T05:41:03","modified_gmt":"2025-06-22T05:41:03","slug":"shannon-expansion-theorem-states-that-any-boolean-logic-function-f-of-n-variables-obeys-the-following","status":"publish","type":"post","link":"https:\/\/gaviki.com\/blog\/shannon-expansion-theorem-states-that-any-boolean-logic-function-f-of-n-variables-obeys-the-following\/","title":{"rendered":"Shannon expansion theorem states that any Boolean logic function F of n variables obeys the following"},"content":{"rendered":"\n<p>Shannon expansion theorem states that any Boolean logic function F of n variables obeys the following: F(x0, x1, \u2026, xn-1) = F(x0 = x1&#8242; 0, \u2026, xn-1) + x1 F(x0 = x1&#8242; 1, \u2026, xn-1) So for variables, we have F(A, B, C) = A * F(0, B, C) + A&#8217; * F(1, B, C). Notice that this is a nice method to expand a logic function with n variables to the sum of two logic functions with n &#8211; 1 variables. Provide proof of Shannon&#8217;s theorem<\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">The Correct Answer and Explanation is:<\/mark><\/strong><\/p>\n\n\n\n<p><strong>Shannon Expansion Theorem (also called Shannon Decomposition)<\/strong> states:<\/p>\n\n\n\n<p>For any Boolean function <strong>F(x\u2081, x\u2082, &#8230;, x\u2099)<\/strong> and for any chosen variable <strong>x\u1d62<\/strong>, the function can be expanded as:<\/p>\n\n\n\n<p><strong>F = x\u1d62 \u00b7 F(x\u1d62 = 1) + x\u1d62&#8217; \u00b7 F(x\u1d62 = 0)<\/strong><\/p>\n\n\n\n<p>This means the original function can be rewritten as the sum (OR) of two simpler functions: one where <strong>x\u1d62<\/strong> is true and one where it is false, each weighted by the value of <strong>x\u1d62<\/strong> or its complement.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Proof of Shannon&#8217;s Expansion Theorem<\/strong><\/h3>\n\n\n\n<p>Let us consider a Boolean function <strong>F(x\u2081, x\u2082, &#8230;, x\u2099)<\/strong>. For any variable <strong>x\u1d62<\/strong>, the function <strong>F<\/strong> can be split based on the two possible values of <strong>x\u1d62<\/strong>.<\/p>\n\n\n\n<p>We define:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>F\u2081 = F(x\u1d62 = 1)<\/strong> \u2192 Function with <strong>x\u1d62<\/strong> replaced by 1<\/li>\n\n\n\n<li><strong>F\u2080 = F(x\u1d62 = 0)<\/strong> \u2192 Function with <strong>x\u1d62<\/strong> replaced by 0<\/li>\n<\/ul>\n\n\n\n<p>Now construct the expression:<br><strong>x\u1d62 \u00b7 F\u2081 + x\u1d62&#8217; \u00b7 F\u2080<\/strong><\/p>\n\n\n\n<p>This expression covers both cases:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When <strong>x\u1d62 = 1<\/strong>, the expression becomes:<br><strong>1 \u00b7 F\u2081 + 0 \u00b7 F\u2080 = F\u2081<\/strong> \u2192 matches the function when <strong>x\u1d62 = 1<\/strong><\/li>\n\n\n\n<li>When <strong>x\u1d62 = 0<\/strong>, the expression becomes:<br><strong>0 \u00b7 F\u2081 + 1 \u00b7 F\u2080 = F\u2080<\/strong> \u2192 matches the function when <strong>x\u1d62 = 0<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Thus, the expression <strong>x\u1d62 \u00b7 F(x\u1d62 = 1) + x\u1d62&#8217; \u00b7 F(x\u1d62 = 0)<\/strong> matches the original function for all possible values of <strong>x\u1d62<\/strong>.<\/p>\n\n\n\n<p>Therefore, <strong>F = x\u1d62 \u00b7 F(x\u1d62 = 1) + x\u1d62&#8217; \u00b7 F(x\u1d62 = 0)<\/strong> is always valid.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Explanation<\/strong><\/h3>\n\n\n\n<p>The Shannon Expansion Theorem is an essential principle in Boolean algebra and digital logic design. It provides a method to simplify or analyze complex Boolean functions by breaking them down based on one variable. According to the theorem, any Boolean function <strong>F<\/strong> involving variables such as <strong>A, B, C, &#8230;<\/strong> can be rewritten as a sum of two terms. Each term considers one value (0 or 1) of a selected variable while the rest of the function is recalculated based on that assignment.<\/p>\n\n\n\n<p>Take an example with three variables:<br><strong>F(A, B, C) = A \u00b7 F(1, B, C) + A&#8217; \u00b7 F(0, B, C)<\/strong><\/p>\n\n\n\n<p>This representation gives a structured way to reduce the number of variables, making complex logic functions easier to understand, design, and implement in digital circuits. It shows that every logic function can be reduced to combinations of simpler parts. This decomposition is also recursive, meaning we can apply it repeatedly to reduce an <strong>n-variable<\/strong> function into a combination of constant terms.<\/p>\n\n\n\n<p>This is especially useful when designing multiplexer-based circuits, minimizing logic expressions, or writing Boolean functions as decision trees. In circuit design, it helps to implement the logic function using fewer gates or to design circuits that are more efficient.<\/p>\n\n\n\n<p>Overall, the theorem provides a mathematical foundation for systematically analyzing and constructing digital logic functions, proving invaluable in computer engineering, VLSI design, and logic synthesis.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/gaviki.com\/blog\/wp-content\/uploads\/2025\/06\/learnexams-banner5-192.jpeg\" alt=\"\" class=\"wp-image-31654\" srcset=\"https:\/\/gaviki.com\/blog\/wp-content\/uploads\/2025\/06\/learnexams-banner5-192.jpeg 1024w, https:\/\/gaviki.com\/blog\/wp-content\/uploads\/2025\/06\/learnexams-banner5-192-300x300.jpeg 300w, https:\/\/gaviki.com\/blog\/wp-content\/uploads\/2025\/06\/learnexams-banner5-192-150x150.jpeg 150w, https:\/\/gaviki.com\/blog\/wp-content\/uploads\/2025\/06\/learnexams-banner5-192-768x768.jpeg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Shannon expansion theorem states that any Boolean logic function F of n variables obeys the following: F(x0, x1, \u2026, xn-1) = F(x0 = x1&#8242; 0, \u2026, xn-1) + x1 F(x0 = x1&#8242; 1, \u2026, xn-1) So for variables, we have F(A, B, C) = A * F(0, B, C) + A&#8217; * F(1, B, C). [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-31653","post","type-post","status-publish","format-standard","hentry","category-quiz-questions"],"_links":{"self":[{"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/posts\/31653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/comments?post=31653"}],"version-history":[{"count":1,"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/posts\/31653\/revisions"}],"predecessor-version":[{"id":31655,"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/posts\/31653\/revisions\/31655"}],"wp:attachment":[{"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/media?parent=31653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/categories?post=31653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gaviki.com\/blog\/wp-json\/wp\/v2\/tags?post=31653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}