Skip to main content
Engineering LibreTexts

1.1.2: Logical operators

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

    What we do with propositions is combine them with logical operators, also referred to as logical connectives. A logical operator can be applied to one or more propositions to produce a new proposition. The truth value of the new proposition is completely determined by the operator and by the truth values of the propositions to which it is applied. In English, logical operators are represented by words such as ‘and’, ‘or’, and ‘not’. For example, the proposition “I wanted to leave and I left” is formed from two simpler propositions joined by the word ‘and’. Adding the word ‘not’ to the proposition “I left” gives “I did not leave” (after a bit of necessary grammatical adjustment).

    But English is a little too rich for mathematical logic. When you read the sentence “I wanted to leave and I left”, you probably see a connotation of causality: I left because I wanted to leave. This implication does not follow from the logical combination of the truth values of the two propositions “I wanted to leave” and “I left”. Or consider the proposition “I wanted to leave but I did not leave”. Here, the word ‘but’ has the same

    logical meaning as the word ‘and’, but the connotation is very different. So, in mathematical logic, we use symbols to represent logical operators. These symbols do not carry any connotation beyond their defined logical meaning. The logical operators corresponding to the English words ‘and’, ‘or’, and ‘not’ are ∧, ∨, and ¬.

    Definition 2.1.

    Let p and q be propositions. Then p q, p q, and ¬p are propositions, whose truth values are given by the rules:

    pq is true when both p is true and q is true, and in no other case.
    pq is true when either p is true, or q is true, or both p and q are true, and in no other case.
    • ¬p is true when p is false, and in no other case.

    The operators ∧, ∨, and ¬ are referred to as conjunction, disjunction, and negation, respectively. (Note that pq is read as ‘p and q’, pq is read as ‘p or q’, and ¬p is read as ‘not p’.)

    Consider the statement “I am a CSE student or I am not a TPM student.” Taking p to mean “I am a CSE student” and q to mean “I am a TPM student”, you can write this as p ∨ ¬q.

    This page titled 1.1.2: Logical operators is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Stefan Hugtenburg & Neil Yorke-Smith (TU Delft Open) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.