Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

How to convert an SOP expression to POS form and vice versa in Boolean Algebra?

Eg: F = xy' + yz'

share|improve this question
7  
Actually this is very much on topic to digital logic. It's equivalent to saying how do I change a circuit that consists of a bunch of and gates feeding an or gate to one consisting of a bunch of or gates feeding an and gate. –  Chris Stratton Feb 7 '11 at 7:44
1  
What's SOP and POS? –  AndrejaKo Feb 7 '11 at 9:25
3  
SOP = sum of products. POS = product of sums, e.g. (x + y)(~x + ~y). Logical "OR" is a sum, while "AND" is a product. –  eryksun Feb 7 '11 at 11:03
    
This is certainly taught in undergrad digital logic courses, but tyblu is right that this belongs in math SE. @TheLameProgrammer, Look up Karnaugh maps (K maps) and DeMorgan's theorem. –  eryksun Feb 7 '11 at 12:50
2  
... use DeMorgan's Laws? also, the example provided in the question is not a canonical SOP because all variables should be present in all terms right? –  vicatcu Feb 7 '11 at 17:17
show 2 more comments

8 Answers

I think the easiest way is to convert to a k-map, and then get the POS. In your example, you've got:

  \ xy
 z \  00    01    11    10
    +-----+-----+-----+-----+
 0  |     |  x  |  x  |  x  |
    +-----+-----+-----+-----+
 1  |     |     |     |  x  |
    +-----+-----+-----+-----+

In this case, excluding the left column gives (x+y), and excluding the two bottom middle boxes gives (z' + y'), giving an answer of (x + y)(z' + y')

share|improve this answer
2  
+1 for typing up a K-map. –  eryksun Feb 8 '11 at 2:55
    
But it should be F = (x + y)(y' + z'). –  eryksun Feb 8 '11 at 3:20
    
Whoops you're right. It's been a while since I've done k-maps so I read it wrong. I've fixed the answer. –  FryGuy Feb 8 '11 at 22:30
add comment

F= xy' + yz' it is in SOP form

This can also be soved using Simple Boolean Algebra techniques as:

Applying Distributive Law :- F=( xy') + y . z'

F= (xy' + y).( xy' + z') which is now converted to POS form.

share|improve this answer
add comment

Another method is just take the compliment of the given expression:

As: xy' + yz'

Taking its compliment:
(xy' + yz')'

=(xy')'.(yz')' {Using De Morgans Law's (a+b)'=a'.b'}

=(x'+y)(y'+z)

Which is also POS form...!

share|improve this answer
add comment

If you want to check your work after doing it by hand you could use a program like Logic Friday.

share|improve this answer
add comment

It is in a minimum/Sum of Products [SOP] and maximum/Product of Sums [POS] terms, so we can use a Karnaugh map (K map) for it.

For SOP, we pair 1 and write the equation of pairing in SOP while that can be converted into POS by pairing 0 in it and writing the equation in POS form.

For example, for SOP if we write \$x \cdot y \cdot z\$ then for pos we write \$x+y+z\$.

share|improve this answer
add comment

See the procedure at Conjunctive Normal Form: Converting from first-order logic.

This procedure covers the more general case of first order logic, but propositional logic is a subset of first order logic.

Simplifying by ignoring first order logic, it's:

  • Eliminate implications
  • Move negations inwards by applying DeMorgan's law
  • Distribute disjunctions over conjunctions

Obviously if your input is already in DNF (aka SOP), then obviously the first and second steps don't apply.

share|improve this answer
add comment

Use DeMorgan's law twice.

Apply the law once:

F' = (xy' + yz')'
   = (xy')'(yz')'
   = (x'+y)(y'+z)
   = x'y' + x'z + yy' + yz
   = x'y' + x'z + yz

Apply again:

F=F''
 =(x'y'+x'z+yz)'
 =(x'y')'(x'z)'(yz)'
 =(x+y)(x+z')(y'+z')

Verify the answer using wolframalpha.com

xy' + yz'

(x+y)(x+z')(y'+z')

share|improve this answer
add comment

Let x = ab'c + bc'

x' = (ab'c + bc')'

By DeMorgan's theorem, x' = (a' + b + c')(b' + c)

x' = a'b' + a'c + bb' + bc + c'b' + c'c

x' = a'b' + a'c + bc + c'b'

Employing DeMorgan's theorem again, x = (a'b' + a'c + bc + c'b')'

x = (a + b)(a + c')(b' + c')(c + b)

share|improve this answer
    
Welcome to Electrical Engineering StackExchange. If you provide a new answer to an old question you should make it clear what you have added to the previous answers, or what was incorrect in previous answers. By the way, isn't your second line in POS form? The OP did not ask about reducing the equation so the rest of your answer could be confusing. –  Joe Hass Nov 24 '13 at 15:50
add comment

protected by Kortuk Nov 24 '13 at 18:36

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?