# How do you find the minterm list of a boolean expression containing XOR?

Let's say I have a boolean expression, such as F1 = x'y' ⊕ z .

How do I go about finding the minterm list for that expression?

The method I've tried is to take each term, such as x'y' and z, then fill in the missing values with all possibilities. So for x'y' there exists two options of 00- where z is 000 and 001. Then for Z it's --1, where the values can be 001, 011, 101, 111. So the minterms would come out to be 0, 1, 1, 3, 5, and 7.

My method of finding them, however, is wrong, because the minterms are actually 0,3,5, and 7.

What's the appropriate method to obtain the minterm list in this situation?

• You can use the identity $a\oplus b=ab+\bar a\bar b$. – Yves Daoust Jun 21 '15 at 8:35

For an expression with just three variables, the usual way is to write a truth table, depict it as Karnaugh map and find a minimal set of terms which cover all 1entries in the map.

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


The simplified expression:

$$xz \lor yz \lor x'y'z'$$

This assumes that the $\oplus$ exclusive or operator has lower precedence than the $\land$ logical and operator.

From the Karnaugh map, you can see that the expression has four minterms.
Assuming $z = false$, $x'y'$ must be $true$ for $F_1$ to be $true$. This implies $x = false$ and $y = false$.
Assumption $z = true$ implies $x'y' = false$. There are three possible combinations for this as shown in the lower row of the Karnaugh map.

• Thanks so much for the response, this worked perfectly. – Fields Jul 17 '15 at 13:30
• @AlexKemper how does it have four? I see only three $xz$, $yz$ and $x'y'z'$. – 1.. Oct 13 '17 at 17:15
• @Robut by definition (cs.ucr.edu/~ehwang/courses/cs120a/minterms.pdf), a minterm is a term with all variables. In this example, there are four 1-cells in the Karnaugh map which correspond to four minterms. These four minterms can be covered by three terms, one minterm with three variables and two terms with two variables each. – Axel Kemper Oct 13 '17 at 18:07

Steps to find minterm:

1. Write the expression as sum of products form, i.e., containing AND, OR, NOT operators only. If there are other operators like XOR, XNOR, NAND, NOR, you have to replace them with AND, OR, NOT.

$(a'b')'z + (a'b')z'$

$= (a + b)z + a'b'z'$

$= az + bz + a'b'z'$

2. Modify each product term to contain every variable.

$= a(b+b')z + (a+a')bz + a'b'z'$

$= abz + ab'z + abz + a'bz + a'b'z'$

3. Remove the duplicate terms to get the required sum of minterms.

$= abz + ab'z + a'bz + a'b'z'$

$= m(7, 5, 3, 0)$