Exercise 3: The Discount Requirements Table — Possible Solution ==================================================================== GIVEN ------------------------------ discount = 1 when is_member=1, is_holiday=0 OR is_member=0, is_holiday=1. Never applies otherwise. STEP 1: IDENTIFY THE 1-ROWS AND THEIR MINTERMS ------------------------------ Row is_member=1, is_holiday=0: minterm is m.h' (m=is_member, h=is_holiday) Row is_member=0, is_holiday=1: minterm is m'.h STEP 2: OR THE MINTERMS TOGETHER (SOP PROCEDURE) ------------------------------ discount = mh' + m'h STEP 3: CHECK THE FULL TRUTH TABLE ------------------------------ m=0, h=0: mh'=0, m'h=0. discount = 0. m=0, h=1: mh'=0, m'h=1. discount = 1. m=1, h=0: mh'=1, m'h=0. discount = 1. m=1, h=1: mh'=0, m'h=0. discount = 0. RESULT ------------------------------ Boolean expression: discount = mh' + m'h This exact pattern - output is 1 when the two inputs DIFFER, and 0 when they're the same - is precisely the definition of XOR. The discount rule described by this requirements table is exactly is_member XOR is_holiday. WHY THIS WORKS AS AN ANSWER ------------------------------ The SOP expression is built directly from the requirements table using this chapter's own minterm-per-1-row procedure (not recognized as XOR first and worked backward), and the identification as XOR is justified by checking that the full resulting truth table (1 exactly when the two inputs disagree) matches XOR's own definition, rather than just asserting the name.