Skip to main content
\(\newcommand{\identity}{\mathrm{id}} \newcommand{\notdivide}{\nmid} \newcommand{\notsubset}{\not\subset} \newcommand{\lcm}{\operatorname{lcm}} \newcommand{\gf}{\operatorname{GF}} \newcommand{\inn}{\operatorname{Inn}} \newcommand{\aut}{\operatorname{Aut}} \newcommand{\Hom}{\operatorname{Hom}} \newcommand{\cis}{\operatorname{cis}} \newcommand{\chr}{\operatorname{char}} \newcommand{\Null}{\operatorname{Null}} \newcommand{\transpose}{\text{t}} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \)

Section 19.5 Programming Exercises

1

A Boolean or switching function on \(n\) variables is a map \(f : \{O, I\}^n \rightarrow \{ 0, I\}\text{.}\) A Boolean polynomial is a special type of Boolean function: it is any type of Boolean expression formed from a finite combination of variables \(x_1, \ldots, x_n\) together with \(O\) and \(I\text{,}\) using the operations \(\vee\text{,}\) \(\wedge\text{,}\) and \('\text{.}\) The values of the functions are defined in Table 19.33. Write a program to evaluate Boolean polynomials.

\(x\) \(y\) \(x'\) \(x \vee y\) \(x \wedge y\)
\(0\) \(0\) \(1\) \(0\) \(0\)
\(0\) \(1\) \(1\) \(1\) \(0\)
\(1\) \(0\) \(0\) \(1\) \(0\)
\(1\) \(1\) \(0\) \(1\) \(1\)
Table 19.33 Boolean polynomials