Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Statement of the theorem  





2 Variations and implications  





3 Properties of cofactors  





4 Operations with cofactors  





5 History  





6 Application to switching circuits  





7 References  





8 See also  





9 External links  














Boole's expansion theorem






Deutsch
Français
Italiano
Русский

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from Shannon expansion)

Boole's expansion theorem, often referred to as the Shannon expansionordecomposition, is the identity: , where is any Boolean function, is a variable, is the complement of , and and are with the argument set equal to and to respectively.

The terms and are sometimes called the positive and negative Shannon cofactors, respectively, of with respect to . These are functions, computed by restrict operator, and (see valuation (logic) and partial application).

It has been called the "fundamental theorem of Boolean algebra".[1] Besides its theoretical importance, it paved the way for binary decision diagrams (BDDs), satisfiability solvers, and many other techniques relevant to computer engineering and formal verification of digital circuits. In such engineering contexts (especially in BDDs), the expansion is interpreted as a if-then-else, with the variable being the condition and the cofactors being the branches ( when is true and respectively when is false).[2]

Statement of the theorem[edit]

A more explicit way of stating the theorem is:

Variations and implications[edit]

XOR-Form
The statement also holds when the disjunction "+" is replaced by the XOR operator:
Dual form
There is a dual form of the Shannon expansion (which does not have a related XOR form):

Repeated application for each argument leads to the Sum of Products (SoP) canonical form of the Boolean function . For example for that would be

Likewise, application of the dual form leads to the Product of Sums (PoS) canonical form (using the distributivity lawof over ):

Properties of cofactors[edit]

Linear properties of cofactors:
For a Boolean function F which is made up of two Boolean functions G and H the following are true:
If then
If then
If then
If then
Characteristics of unate functions:
IfF is a unate function and...
IfF is positive unate then
IfF is negative unate then

Operations with cofactors[edit]

Boolean difference:
The Boolean difference or Boolean derivative of the function F with respect to the literal x is defined as:
Universal quantification:
The universal quantification of F is defined as:
Existential quantification:
The existential quantification of F is defined as:

History[edit]

George Boole presented this expansion as his Proposition II, "To expand or develop a function involving any number of logical symbols", in his Laws of Thought (1854),[3] and it was "widely applied by Boole and other nineteenth-century logicians".[4]

Claude Shannon mentioned this expansion, among other Boolean identities, in a 1949 paper,[5] and showed the switching network interpretations of the identity. In the literature of computer design and switching theory, the identity is often incorrectly attributed to Shannon.[6][4]

Application to switching circuits[edit]

  1. Binary decision diagrams follow from systematic use of this theorem
  2. Any Boolean function can be implemented directly in a switching circuit using a hierarchy of basic multiplexer by repeated application of this theorem.

References[edit]

  1. ^ Rosenbloom, Paul Charles (1950). The Elements of Mathematical Logic. p. 5.
  • ^ G. D. Hachtel and F. Somezi (1996), Logic Synthesis and Verification Algorithms, p. 234
  • ^ Boole, George (1854). An Investigation of the Laws of Thought: On which are Founded the Mathematical Theories of Logic and Probabilities. p. 72.
  • ^ a b Brown, Frank Markham (2012) [2003, 1990]. Boolean Reasoning - The Logic of Boolean Equations (reissue of 2nd ed.). Mineola, New York: Dover Publications, Inc. p. 42. ISBN 978-0-486-42785-0. [1]
  • ^ Shannon, Claude (January 1949). "The Synthesis of Two-Terminal Switching Circuits" (PDF). Bell System Technical Journal. 28: 59–98 [62]. doi:10.1002/j.1538-7305.1949.tb03624.x. ISSN 0005-8580.
  • ^ Perkowski, Marek A.; Grygiel, Stanislaw (1995-11-20), "6. Historical Overview of the Research on Decomposition", A Survey of Literature on Function Decomposition, Version IV, Functional Decomposition Group, Department of Electrical Engineering, Portland University, Portland, Oregon, USA, p. 21, CiteSeerX 10.1.1.64.1129 (188 pages)
  • See also[edit]

    External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Boole%27s_expansion_theorem&oldid=1121119300"

    Categories: 
    Boolean algebra
    Theorems in lattice theory
    Hidden category: 
    Use dmy dates from May 2019
     



    This page was last edited on 10 November 2022, at 16:20 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki