TAOCP 7.1.2 Exercise 7
Let the original chain be x_5 = x_1 \,\overline{\vee}\, x_4,\quad x_6 = \bar{x}_2 \vee x_5,\quad x_7 = \bar{x}_1 \wedge \bar{x}_3,\quad x_8 = x_6 \oplus x_7.
Section 7.1.2: Boolean Evaluation
Exercise 7. [20] Convert the Boolean chain ' $x_5 = x_1 ,\overline{\vee}, x_4$, $x_6 = \bar{x}_2 \vee x_5$, $x_7 = \bar{x}_1 \wedge \bar{x}_3$, $x_8 = x_6 \oplus x_7$' to an equivalent chain $(\bar{x}_5, \bar{x}_6, \bar{x}_7, \bar{x}_8)$ in which every step is normal.
Verified: yes
Solve time: 2m31s
Solution
Let the original chain be
$$ x_5 = x_1 ,\overline{\vee}, x_4,\quad x_6 = \bar{x}_2 \vee x_5,\quad x_7 = \bar{x}_1 \wedge \bar{x}_3,\quad x_8 = x_6 \oplus x_7. $$
The operator $\overline{\vee}$ is NOR, hence
$$ x_5 = \overline{x_1 \vee x_4} = \bar{x_1 \vee x_4}. $$
We compute the values at the zero input $(0,0,0,0)$:
$$ x_5 = \overline{0 \vee 0} = 1,\quad x_6 = \bar{0} \vee 1 = 1,\quad x_7 = \bar{0} \wedge \bar{0} = 1,\quad x_8 = 1 \oplus 1 = 0. $$
A normalization of a function $f$ is $f \oplus f(0,0,0,0)$. Hence the normalized variables are
$$ \bar{x}_5 = x_5 \oplus 1,\quad \bar{x}_6 = x_6 \oplus 1,\quad \bar{x}_7 = x_7 \oplus 1,\quad \bar{x}_8 = x_8 \oplus 0 = x_8. $$
Each expression is rewritten in terms of the original inputs.
For $\bar{x}_5$,
$$ \bar{x}_5 = x_5 \oplus 1 = \overline{x_5} = \overline{\overline{x_1 \vee x_4}} = x_1 \vee x_4. $$
For $\bar{x}_6$,
$$ \bar{x}_6 = x_6 \oplus 1 = \overline{x_6} = \overline{\bar{x}_2 \vee x_5} = x_2 \wedge \overline{x_5}. $$
Substituting $\overline{x_5} = x_1 \vee x_4$ gives
$$ \bar{x}_6 = x_2 \wedge (x_1 \vee x_4). $$
For $\bar{x}_7$,
$$ \bar{x}_7 = x_7 \oplus 1 = \overline{x_7} = \overline{\bar{x}_1 \wedge \bar{x}_3} = x_1 \vee x_3. $$
For $\bar{x}_8$,
$$ \bar{x}_8 = x_8 = x_6 \oplus x_7. $$
Since $\bar{a} \oplus \bar{b} = a \oplus b$, substituting $x_6 = \bar{\bar{x}_6}$ and $x_7 = \bar{\bar{x}_7}$ yields
$$ \bar{x}_8 = \bar{x}_6 \oplus \bar{x}_7. $$
We now express each step as a Boolean chain in which every operator is normal.
$$ \bar{x}_5 = x_1 \vee x_4, $$
$$ \bar{x}_6 = x_2 \wedge \bar{x}_5, $$
$$ \bar{x}_7 = x_1 \vee x_3, $$
$$ \bar{x}_8 = \bar{x}_6 \oplus \bar{x}_7. $$
Each step uses one of the normal operators $\wedge$, $\vee$, or $\oplus$, and each intermediate result satisfies normalization since every constructed function has value $0$ at $(0,0,0,0)$.
This completes the proof. ∎