Skip to main content
Humanities LibreTexts

Section 1: Semantics for SL

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

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

    This section provides a rigorous, formal characterization of truth in \(SL\) which builds on what we already know from doing truth tables. We were able to use truth tables to reliably test whether a sentence was a tautology in \(SL\), whether two sentences were equivalent, whether an argument was valid, and so on. For instance: \(\mathcal{A}\) is a tautology in \(SL\) if it is \(T\) on every line of a complete truth table.

    This worked because each line of a truth table corresponds to a way the world might be. We considered all the possible combinations of 1 and 0 for the sentence letters that made a difference to the sentences we cared about. The truth table allowed us to determine what would happen given these different combinations.

    Once we construct a truth table, the symbols ‘1’ and ‘0’ are divorced from their metalinguistic meaning of ‘true’ and ‘false’. We interpret ‘1’ as meaning ‘true’, but the formal properties of 1 are defined by the characteristic truth tables for the various connectives. The symbols in a truth table have a formal meaning that we can specific entirely in terms of how the connectives operate. For example, if \(A\) is value 1, then \(\neg A\) is value 0.

    In short: Truth in \(SL\) just is the assignment of a 1 or a 0.

    To formally define truth in \(SL\), then, we want a function that assigns a 1 or 0 to each of the \sentences of \(SL\). We can interpret this function as a definition of truth for \(SL\) if it assigns 1 to all of the true sentences of \(SL\) and 0 to all of the false sentences of \(SL\). Call this function ‘\(v\)’ (for ‘valuation’). We want \(v\) to be a function such that for any sentence \(\mathcal{A}\), \(v(\mathcal{A}) = 1\) if \(\mathcal{A}\) is true and \(v(\mathcal{A}) = 0\) if \(\mathcal{A}\) is false.

    Recall that the recursive definition of a wff for \(SL\) had two stages: The first step said that atomic sentences (solitary sentence letters) are wffs. The second stage allowed for wffs to be constructed out of more basic wffs. There were clauses of the definition for all of the sentential connectives. For example, if \(\mathcal{A}\) is a wff, then \(\neg \mathcal{A}\) is a wff.

    Our strategy for defining the truth function, \(v\), will also be in two steps. The first step will handle truth for atomic sentences; the second step will handle truth for compound sentences.

    Truth in \(SL\)

    How can we define truth for an atomic sentence of \(SL\)? Consider, for example, the sentence \(M\). Without an interpretation, we cannot say whether \(M\) is true or false. It might mean anything. If we use \(M\) to symbolize ‘The moon orbits the Earth’, then \(M\) is true. If we use \(M\) to symbolize ‘The moon is a giant turnip’, then \(M\) is false.

    Moreover, the way you would discover whether or not \(M\) is true depends on what \(M\) means. If \(M\) means ‘It is Monday,’ then you would need to check a calendar. If \(M\) means ‘Jupiter’s moon Io has significant volcanic activity,’ then you would need to check an astronomy text— and astronomers know because they sent satellites to observe Io.

    When we give a symbolization key for \(SL\), we provide an interpretation of the sentence letters that we use. The key gives an English language sentence for each sentence letter that we use. In this way, the interpretation specifies what each of the sentence letters means. However, this is not enough to determine whether or not that sentence is true. The sentences about the moon, for instance, require that you know some rudimentary astronomy. Imagine a small child who became convinced that the moon is a giant turnip. She could understand what the sentence ‘The moon is a giant turnip’ means, but mistakenly think that it was true.

    Consider another example: If \(M\) means ‘It is morning now’, then whether it is true or not depends on when you are reading this. I know what the sentence means, but— since I do not know when you will be reading this— I do not know whether it is true or false.

    So an interpretation alone does not determine whether a sentence is true or false. Truth or falsity depends also on what the world is like. If \(M\) meant ‘The moon is a giant turnip’ and the real moon were a giant turnip, then \(M\) would be true. To put the point in a general way, truth or falsity is determined by an interpretation plus a way that the world is.


    In providing a logical definition of truth, we will not be able to give an account of how an atomic sentence is made true or false by the world. Instead, we will introduce a truth value assignment. Formally, this will be a function that tells us the truth value of all the atomic sentences. Call this function ‘\(a\)’ (for ‘assignment’). We define a for all sentence letters \(\mathcal{P}\), such that

    \( a ( \mathcal { P } ) = \left\{ \begin{array} { l l } { 1 } & { \text { if } \mathcal { P } \text { is true } } \\ { 0 } & { \text { otherwise } } \end{array} \right. \)

    This means that a takes any sentence of \(SL\) and assigns it either a one or a zero; one if the sentence is true, zero if the sentence is false. The details of the function \(a\) are determined by the meaning of the sentence letters together with the state of the world. If \(D\) means ‘It is dark outside’, then \(a\)(\(D\)) = 1 at night or during a heavy storm, while \(a\)(\(D\)) = 0 on a clear day.

    You can think of \(a\) as being like a row of a truth table. Whereas a truth table row assigns a truth value to a few atomic sentences, the truth value assignment assigns a value to every atomic sentence of \(SL\). There are infinitely many sentence letters, and the truth value assignment gives a value to each of them. When constructing a truth table, we only care about sentence letters that affect the truth value of sentences that interest us. As such, we ignore the rest. Strictly speaking, every row of a truth table gives a partial truth value assignment.

    It is important to note that the truth value assignment, \(a\), is not part of the language \(SL\). Rather, it is part of the mathematical machinery that we are using to describe \(SL\). It encodes which atomic sentences are true and which are false. We now define the truth function, v, using the same recursive structure that we used to define a wff of \(SL\).

    1. If \(\mathcal{A}\) is a sentence letter, then \(v\)(\(\mathcal{A}\)) = \(a\)(\(\mathcal{A}\)).

    2. If \(\mathcal{A}\) is ¬\(\mathcal{B}\) for some sentence \(\mathcal{A}\), then
    \( v ( \mathcal { A } ) = \left\{ \begin{array} { l l } { 1 } & { \text { if } v ( \mathcal { B } ) = 0 } \\ { 0 } & { \text { otherwise } } \end{array} \right .\)

    3. If \(\mathcal{A}\) is (\(\mathcal{B}\) & \(\mathcal{C}\) ) for some sentences \(\mathcal{B}\), \(\mathcal{C}\), then
    \( v ( \mathcal { A } ) = \left\{ \begin{array} { l l } { 1 } & { \text { if } v ( \mathcal { B } ) = 1 \text { and } v ( C ) = 1 } \\ { 0 } & { \text { otherwise } } \end{array} \right .\)

    It might seem as if this definition is circular, because it uses the word ‘and’ in trying to define ‘and.’ Notice, however, that this is not a definition of the English word ‘and’; it is a definition of truth for sentences of \(SL\) containing the logical symbol ‘&.’ We define truth for object language sentences containing the symbol ‘&’ using the metalanguage word ‘and.’ There is nothing circular about that.

    4. If \(\mathcal{A}\) is (\(\mathcal{B}\)∨\(\mathcal{C}\)) for some sentences \(\mathcal{B}\),\(\mathcal{C}\), then
    \( v ( \mathcal { A } ) = \left\{ \begin{array} { l l } { 0 } & { \text { if } v ( \mathcal { B } ) = 0 \text { and } v ( \mathcal { C } ) = 0 } \\ { 1 } & { \text { otherwise } } \end{array} \right .\)

    5. If \(\mathcal{A}\) is (\(\mathcal{B}\) →\(\mathcal{C}\)) for some sentences \(\mathcal{B}\),\(\mathcal{C}\), then
    \( v ( \mathcal { A } ) = \left\{ \begin{array} { l l } { 0 } & { \text { if } v ( \mathcal { B } ) = 1 \text { and } v ( C ) = 0 } \\ { 1 } & { \text { otherwise } } \end{array} \right .\)

    6. If \(\mathcal{A}\) is (\(\mathcal{B}\)↔\(\mathcal{C}\)) for some sentences \(\mathcal{B}\),\(\mathcal{C}\), then
    \( v ( \mathcal { A } ) = \left\{ \begin{array} { l l } { 1 } & { \text { if } v ( \mathcal { B } ) = v ( C ) } \\ { 0 } & { \text { otherwise } } \end{array} \right .\)

    Since the definition of \(v\) has the same structure as the definition of a wff, we know that \(v\) assigns a value to every wff of \(SL\). Since the sentences of \(SL\) and the wffs of \(SL\) are the same, this means that \(v\) returns the truth value of every sentence of \(SL\).

    Truth in \(SL\) is always truth relative to some truth value assignment, because the definition of truth for \(SL\) does not say whether a given sentence is true or false. Rather, it says how the truth of that sentence relates to a truth value assignment.

    Other concepts in \(SL\)

    Working with \(SL\) so far, we have done without a precise definition of ‘tautology’, ‘contradiction’, and so on. Truth tables provided a way to check if a sentence was a tautology in \(SL\), but they did not define what it means to be a tautology in \(SL\). We will give definitions of these concepts for \(SL\) in terms of entailment.

    The relation of semantic entailment, ‘\(\mathcal{A}\) entails \(\mathcal{B}\)’, means that there is no truth value assignment for which \(\mathcal{A}\) is true and \(\mathcal{B}\) is false. Put differently, it means that \(\mathcal{B}\) is true for any and all truth value assignments for which \(\mathcal{A}\) is true.

    We abbreviate this with a symbol called the double turnstile: \(\mathcal{A}\) |= \(\mathcal{B}\) means ‘\(\mathcal{A}\) semantically entails \(\mathcal{B}\).’

    We can talk about entailment between more than two sentences:

    {\(\mathcal{A}\)1,\(\mathcal{A}\)2,\(\mathcal{A}\)3,···}|= \(\mathcal{B}\)

    means that there is no truth value assignment for which all of the sentences in the set {\(\mathcal{A}\)1,\(\mathcal{A}\)2,\(\mathcal{A}\)3,···} are true and \(\mathcal{B}\) is false.

    We can also use the symbol with just one sentence: |= \(\mathcal{C}\) means that \(\mathcal{C}\) is true for all truth value assignments. This is equivalent to saying that the sentence is entailed by anything.

    The double turnstile symbol allows us to give concise definitions for various concepts of \(SL\):

    A tautology in \(SL\) is a sentence \(\mathcal{A}\) such that |= \(\mathcal{A}\).
    A contradiction in \(SL\) is a sentence \(\mathcal{A}\) such that |= ¬\(\mathcal{A}\).
    A sentence is contingent in \(SL\) if and only if it is neither a tautology nor a contradiction.

    An argument “ \(\mathcal{P}\)1,\(\mathcal{P}\)2,···, .˙. \(\mathcal{C}\) ” is valid in \(SL\) if and only if {\(\mathcal{P}\)1,\(\mathcal{P}\)2,···}|= \(\mathcal{C}\). Two sentences \(\mathcal{A}\) and \(\mathcal{B}\) are logically equivalent in \(SL\) if and only if both \(\mathcal{A}\) |= \(\mathcal{B}\) and \(\mathcal{B}\) |= \(\mathcal{A}\).

    Logical consistency is somewhat harder to define in terms of semantic entailment. Instead, we will define it in this way:

    The set {\(\mathcal{A}\)1,\(\mathcal{A}\)2,\(\mathcal{A}\)3,···} is consistent in \(SL\) if and only if there is at least one truth value assignment for which all of the sentences are true. The set is inconsistent in \(SL\) if and if only there is no such assignment.

    This page titled Section 1: Semantics for SL is shared under a CC BY-SA license and was authored, remixed, and/or curated by P.D. Magnus (Fecundity) .

    • Was this article helpful?