How to convert a Sum of Products (SOP) expression to Product of Sums (POS) form and vice versa in Boolean Algebra?

e.g.: F = xy' + yz'

  • 9
    \$\begingroup\$ 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. \$\endgroup\$ Commented Feb 7, 2011 at 7:44
  • 1
    \$\begingroup\$ What's SOP and POS? \$\endgroup\$
    – AndrejaKo
    Commented Feb 7, 2011 at 9:25
  • 3
    \$\begingroup\$ SOP = sum of products. POS = product of sums, e.g. (x + y)(~x + ~y). Logical "OR" is a sum, while "AND" is a product. \$\endgroup\$
    – Eryk Sun
    Commented Feb 7, 2011 at 11:03
  • \$\begingroup\$ 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. \$\endgroup\$
    – Eryk Sun
    Commented Feb 7, 2011 at 12:50
  • 2
    \$\begingroup\$ ... 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? \$\endgroup\$
    – vicatcu
    Commented Feb 7, 2011 at 17:17

8 Answers 8


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')

  • \$\begingroup\$ But it should be F = (x + y)(y' + z'). \$\endgroup\$
    – Eryk Sun
    Commented Feb 8, 2011 at 3:20
  • \$\begingroup\$ 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. \$\endgroup\$
    – FryGuy
    Commented Feb 8, 2011 at 22:30

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.

  • 1
    \$\begingroup\$ Huh? Distributive law? This isn't clear at all. Please show some extra steps. \$\endgroup\$
    – nickalh
    Commented Mar 8, 2023 at 19:27

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:


Verify the answer using wolframalpha.com

xy' + yz'


Edit: The answer can be simplified one more step by the boolean algebra law of consensus


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'}


Which is the POS form of the complement.

  • 10
    \$\begingroup\$ This gives a POS.But it's the complete opposite of the given expression. \$\endgroup\$ Commented May 21, 2016 at 15:47
  • 1
    \$\begingroup\$ This is the POS of the complement function. \$\endgroup\$ Commented Dec 17, 2020 at 2:42

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


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\$.


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.


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)

  • \$\begingroup\$ 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. \$\endgroup\$
    – Joe Hass
    Commented Nov 24, 2013 at 15:50
  • \$\begingroup\$ This is correct. \$\endgroup\$ Commented Jun 2, 2016 at 3:18