3.1: Boolean Polynomials
- Page ID
- 83409
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)We can proceed more algebraically by assigning value \(0\) to represent false and value \(1\) to represent true.
Comparing the two tables below, we see that Boolean multiplication is equivalent to logical conjunction.
\(x\) | \(y\) | \(x y\) |
\(1\) | \(1\) | \(1\) |
\(1\) | \(0\) | \(0\) |
\(0\) | \(1\) | \(0\) |
\(0\) | \(0\) | \(0\) |
\(p\) | \(q\) | \(p \land q\) |
\(T\) | \(T\) | \(T\) |
\(T\) | \(F\) | \(F\) |
\(F\) | \(T\) | \(F\) |
\(F\) | \(F\) | \(F\) |
Comparing the following two tables, we see that Boolean addition is equivalent to exclusive or.
- Boolean Arithmetic
-
Notice that in the first row for Boolean addition, we use mod \(2\) arithmetic to define \(1+1 = 0\text{.}\)
\(x\) | \(y\) | \(x + y\) |
\(1\) | \(1\) | \(0\) |
\(1\) | \(0\) | \(1\) |
\(0\) | \(1\) | \(1\) |
\(0\) | \(0\) | \(0\) |
\(p\) | \(q\) | \(\neg (p \leftrightarrow q)\) |
\(T\) | \(T\) | \(F\) |
\(T\) | \(F\) | \(T\) |
\(F\) | \(T\) | \(T\) |
\(F\) | \(F\) | \(F\) |
In Boolean arithmetic we may realize disjunction by combining both addition and multiplication.
\(x\) | \(y\) | \(x + y + x y\) |
\(1\) | \(1\) | \(1\) |
\(1\) | \(0\) | \(1\) |
\(0\) | \(1\) | \(1\) |
\(0\) | \(0\) | \(0\) |
\(p\) | \(q\) | \(p \lor q\) |
\(T\) | \(T\) | \(T\) |
\(T\) | \(F\) | \(T\) |
\(F\) | \(T\) | \(T\) |
\(F\) | \(F\) | \(F\) |
In Boolean algebra, negation is just a matter of shifting one value to the next.
\(x\) | \(x + 1\) |
\(1\) | \(0\) |
\(0\) | \(1\) |
\(p\) | \(\neg p\) |
\(T\) | \(F\) |
\(F\) | \(T\) |
For notation, we borrow symbols \(\land \) and \(\lor\) from logic, but add new negation notation.
\(x'\) Boolean negation
With this notation setup, we have
an expression involving variables \(x_1, x_2, \ldots, x_m\) representing Boolean values, and operations \(\land , \lor, '\text{,}\) often written in function notation
Every Boolean polynomial can be interpreted as a logical statement.
There are two special constant Boolean polynomials, the zero polynomial and the unit polynomial:
The Boolean polynomials \(p(x,y) = x' \lor y\) and \(q(x,y) = (x \land y')'\) have the same truth table.
\(x\) | \(y\) | \(x'\) | \(p(x,y)\) | \(y'\) | \(x \land y'\) | \(q(x,y)\) |
\(1\) | \(1\) | \(0\) | \(1\) | \(0\) | \(0\) | \(1\) |
\(1\) | \(0\) | \(0\) | \(0\) | \(1\) | \(1\) | \(0\) |
\(0\) | \(1\) | \(1\) | \(1\) | \(0\) | \(0\) | \(1\) |
\(0\) | \(0\) | \(1\) | \(1\) | \(1\) | \(0\) | \(1\) |
Using our knowledge of logical equivalence, we see that the truth tables are the same because as logical statements, \(p\) and \(q\) are equivalent by DeMorgan.
Boolean polynomials which represent equivalent logical statements
Polynomials \(p,q\) are equivalent if and only if they have the same truth table.