Skip to main content
Engineering LibreTexts

3.3: Equivalence and Validity

  • Page ID
    48307
    • Eric Lehman, F. Thomson Leighton, & Alberty R. Meyer
    • Google and Massachusetts Institute of Technology via MIT OpenCourseWare

    \( \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}\)

    Implications and Contrapositives

    Do these two sentences say the same thing?

    If I am hungry, then I am grumpy.

    If I am not grumpy, then I am not hungry.

    We can settle the issue by recasting both sentences in terms of propositional logic. Let \(P\) be the proposition “I am hungry” and \(Q\) be “I am grumpy.” The first sentence says “\(P \text{ IMPLIES } Q\)” and the second says “\(\text{NOT} (Q) \text{ IMPLIES NOT} (P)\).” Once more, we can compare these two statements in a truth table:

    \[\nonumber \begin{array}{c|c|c|ccc}
    P & Q & (P \text{ IMPLIES } Q) & (\text{NOT}(Q) & \text{ IMPLIES } & \text{NOT}(P))\\
    \hline \mathbf{T} & \mathbf{T} & \mathbf{\large T} & \mathbf{F} & \mathbf{\large T} & \mathbf{F} \\
    \mathbf{T} & \mathbf{F} & \mathbf{\large F} & \mathbf{T} & \mathbf{\large F} & \mathbf{F} \\
    \mathbf{F} & \mathbf{T} & \mathbf{\large T} & \mathbf{F} & \mathbf{\large T} & \mathbf{T} \\
    \mathbf{F} & \mathbf{F} & \mathbf{\large T} & \mathbf{T} & \mathbf{\large T} & \mathbf{T}
    \end{array}\]

    Sure enough, the highlighted columns showing the truth values of these two statements are the same. A statement of the form “\(\text{NOT} (Q) \text{ IMPLIES } \text{NOT} (P)\)” is called the contrapositive of the implication “\(P \text{ IMPLIES } Q\).” The truth table shows that an implication and its contrapositive are equivalent—they are just different ways of saying the same thing.

    In contrast, the converse of “\(P \text{ IMPLIES } Q\)” is the statement “\(Q \text{ IMPLIES } P\).” The converse to our example is:

    If I am grumpy, then I am hungry.

    This sounds like a rather different contention, and a truth table confirms this suspicion:

    \[\nonumber \begin{array}{c|c|c|c}
    P & Q & P \text{ IMPLIES } Q & Q \text{ IMPLIES } P \\
    \hline \mathbf{T} & \mathbf{T} & \mathbf{\large T} & \mathbf{\large T} \\
    \mathbf{T} & \mathbf{F} & \mathbf{\large F} & \mathbf{\large T} \\
    \mathbf{F} & \mathbf{T} & \mathbf{\large T} & \mathbf{\large F} \\
    \mathbf{F} & \mathbf{F} & \mathbf{\large T} & \mathbf{\large T} 
    \end{array}\]

    Now the highlighted columns differ in the second and third row, confirming that an implication is generally not equivalent to its converse.

    One final relationship: an implication and its converse together are equivalent to an iff statement, specifically, to these two statements together. For example,

    If I am grumpy then I am hungry, and if I am hungry then I am grumpy.

    are equivalent to the single statement:

    I am grumpy iff I am hungry.

    Once again, we can verify this with a truth table.

    \[\nonumber \begin{array}{c|c|ccc|c}
    P & Q & (P \text{ IMPLIES } Q) & \text{AND} & (Q \text{ IMPLIES } P) & (P \text{ IFF } Q)\\
    \hline \mathbf{T} & \mathbf{T} & \mathbf{T} & \mathbf{\large T} & \mathbf{T} & \mathbf{\large  T} \\
    \mathbf{T} & \mathbf{F} & \mathbf{F} & \mathbf{\large F} & \mathbf{T} & \mathbf{\large F} \\
    \mathbf{F} & \mathbf{T} & \mathbf{T} & \mathbf{\large F} & \mathbf{F} & \mathbf{\large F} \\
    \mathbf{F} & \mathbf{F} & \mathbf{T} & \mathbf{\large T} & \mathbf{T} & \mathbf{\large T}
    \end{array}\]

    The fourth column giving the truth values of

    \[\nonumber (P \text{ IMPLIES } Q) \text{ AND } (Q \text{ IMPLIES } P)\]

    is the same as the sixth column giving the truth values of \(P \text{ IFF } Q\), which confirms that the \(\text{ AND }\) of the implications is equivalent to the \(\text{ IFF }\) statement.

    Validity and Satisfiability

    A valid formula is one which is always true, no matter what truth values its variables may have. The simplest example is

    \[\nonumber P \text{ OR NOT } (P).\]

    You can think about valid formulas as capturing fundamental logical truths. For example, a property of implication that we take for granted is that if one statement implies a second one, and the second one implies a third, then the first implies the third. The following valid formula confirms the truth of this property of implication.

    \[\nonumber [(P \text{ IMPLIES } Q) \text{ AND } (Q \text{ IMPLIES } R)] \text{ IMPLIES } (P \text{ IMPLIES } R).\]

    Equivalence of formulas is really a special case of validity. Namely, statements \(F\) and \(G\) are equivalent precisely when the statement (\(F \text{ IFF } G\)) is valid. For example, the equivalence of the expressions (3.2.1) and (3.2.2) means that

    \[\nonumber (A \text{ OR } B) \text{ IFF } (A \text{ OR} \text{ NOT } (A) \text{ AND } B))\]

    is valid. Of course, validity can also be viewed as an aspect of equivalence. Namely, a formula is valid iff it is equivalent to \(\textbf{T}\).

    A satisfiable formula is one which can sometimes be true—that is, there is some assignment of truth values to its variables that makes it true. One way satisfiability comes up is when there are a collection of system specifications. The job of the system designer is to come up with a system that follows all the specs. This means that the \(\text{AND}\) of all the specs must be satisfiable or the designer’s job will be impossible (see Problem 3.12).

    There is also a close relationship between validity and satisfiability: a statement \(P\) is satisfiable iff its negation \(\text{NOT} (P)\) is not valid.


    This page titled 3.3: Equivalence and Validity is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Eric Lehman, F. Thomson Leighton, & Alberty R. Meyer (MIT OpenCourseWare) .