From 9fe4f2ee78315f764c5fc92f4728a2081d84fe30 Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Fri, 18 Aug 2023 11:22:23 -0600 Subject: [PATCH] Enderton (logic). Most of exercises 6.1. --- Bookshelf/Enderton/Logic.tex | 327 ++++++++++++++++-- Bookshelf/Enderton/Logic/Chapter_1.lean | 4 +- Bookshelf/Enderton/Set.tex | 220 +++++++++++- .../Enderton/Set/images/exercise-6.3.png | Bin 0 -> 49336 bytes preamble.tex | 2 +- 5 files changed, 511 insertions(+), 42 deletions(-) create mode 100644 Bookshelf/Enderton/Set/images/exercise-6.3.png diff --git a/Bookshelf/Enderton/Logic.tex b/Bookshelf/Enderton/Logic.tex index 8f1862c..af50981 100644 --- a/Bookshelf/Enderton/Logic.tex +++ b/Bookshelf/Enderton/Logic.tex @@ -8,6 +8,7 @@ % Truth table start and final color \definecolor{TTStart}{gray}{0.95} \definecolor{TTEnd}{rgb}{1,1,0} +\colorlet{TTInvalid}{Salmon} \newcolumntype{s}{>{\columncolor{TTStart}}c} \newcolumntype{e}{>{\columncolor{TTEnd}}c} @@ -711,7 +712,7 @@ Suppose that $\alpha$ is a wff not containing the negation symbol $\neg$. \subsubsection{\verified{Exercise 1.1.5a}}% -\hyperlabel{ssub:exercise-1.1.5.a} +\hyperlabel{ssub:exercise-1.1.5a} Show that the length of $\alpha$ (i.e., the number of symbols in the string) is odd. @@ -719,14 +720,14 @@ $4k + 1$. \code*{Enderton.Logic.Chapter\_1} - {Enderton.Logic.Chapter\_1.exercise\_1\_1\_5\_a} + {Enderton.Logic.Chapter\_1.exercise\_1\_1\_5a} \begin{proof} Define $L$ to be the length function mapping arbitrary \nameref{ref:well-formed-formula} to its length and let \begin{equation} - \hyperlabel{ssub:exercise-1.1.5.a-eq1} + \hyperlabel{ssub:exercise-1.1.5a-eq1} S = \{\phi \mid \phi \text{ is a wff containing } \neg \text{ or } \exists k \in \mathbb{N}, L(\phi) = 4k + 1\}. @@ -736,14 +737,14 @@ We then conclude with (iii) the proof of the theorem statement. \paragraph{(i)}% - \hyperlabel{par:exercise-1.1.5.a-i} + \hyperlabel{par:exercise-1.1.5a-i} Every sentence symbol has length 1 by definition. That is, every sentence symbol has length $(4)(0) + 1$. Hence $S$ contains every sentence symbol. \paragraph{(ii)}% - \hyperlabel{par:exercise-1.1.5.a-ii} + \hyperlabel{par:exercise-1.1.5a-ii} Let $\alpha, \beta \in S$. Then there exists some $k_\alpha$ and $k_\beta$ such that @@ -769,7 +770,7 @@ \paragraph{(iii)}% - By \nameref{par:exercise-1.1.5.a-i} and \nameref{par:exercise-1.1.5.a-ii}, + By \nameref{par:exercise-1.1.5a-i} and \nameref{par:exercise-1.1.5a-ii}, the \nameref{sub:induction-principle-1} indicates $S$ is the set of all wffs. Thus all well-formed formulas not containing symbol $\neg$ has length @@ -779,14 +780,14 @@ \end{proof} \subsubsection{\verified{Exercise 1.1.5b}}% -\hyperlabel{ssub:exercise-1.1.5-b} +\hyperlabel{ssub:exercise-1.1.5b} Show that more than a quarter of the symbols are sentence symbols. \textit{Suggestion}: Apply induction to show that the number of sentence symbols is of the form $k + 1$. \code*{Enderton.Logic.Chapter\_1} - {Enderton.Logic.Chapter\_1.exercise\_1\_1\_5\_b} + {Enderton.Logic.Chapter\_1.exercise\_1\_1\_5b} \begin{proof} @@ -847,16 +848,14 @@ \begin{proof} Yes. To prove, consider the following truth table: - $$ - \begin{array}{s|c|s|c|s|e|s} + $$\begin{array}{s|c|s|c|s|e|s} (((P & \Rightarrow & Q) & \Rightarrow & P) & \Rightarrow & P) \\ \hline T & T & T & T & T & T & T \\ T & F & F & T & T & T & T \\ F & T & T & F & F & T & F \\ F & T & F & F & F & T & F - \end{array} - $$ + \end{array}$$ \end{proof} \subsection{\pending{Exercise 1.2.2b}}% @@ -894,16 +893,14 @@ By definition, $$\sigma_{k + 2} = ((\sigma_{k} \Rightarrow P) \Rightarrow P).$$ Consider the truth table of the above: - $$ - \begin{array}{c|c|s|e|s} + $$\begin{array}{c|c|s|e|s} ((\sigma_k & \Rightarrow & P) & \Rightarrow & P) \\ \hline T & T & T & T & T \\ T & T & T & T & T \\ T & F & F & T & F \\ T & F & F & T & F - \end{array} - $$ + \end{array}$$ This shows $\sigma_{k+2}$ is a tautology. Hence $P(k + 2)$ is true. @@ -927,16 +924,14 @@ Suppose $k = 1$. Then $\sigma_k = \sigma_1 = ((P \Rightarrow Q) \Rightarrow P)$. The following truth table shows $\sigma_1$ is not a tautology: - $$ - \begin{array}{s|c|s|e|s} + $$\begin{array}{s|c|s|e|s} (((P & \Rightarrow & Q) & \Rightarrow & P) \\ \hline T & T & T & T & T \\ T & F & F & T & T \\ F & T & T & F & F \\ F & T & F & F & F - \end{array} - $$ + \end{array}$$ \subparagraph{Case 2}% @@ -945,40 +940,65 @@ By definition, $$\sigma_k = (\sigma_{k-1} \Rightarrow P).$$ By \eqref{par:exercise-1.2.2b-i}, $\sigma_{k-1}$ is a tautology. The following truth table shows $\sigma_k$ is not: - $$ - \begin{array}{c|e|s} + $$\begin{array}{c|e|s} (\sigma_{k-1} & \Rightarrow & P) \\ \hline T & T & T \\ T & T & T \\ T & F & F \\ T & F & F - \end{array} - $$ + \end{array}$$ \end{proof} -\subsection{\sorry{Exercise 1.2.3a}}% +\subsection{\pending{Exercise 1.2.3a}}% \hyperlabel{sub:exercise-1.2.3a} Determine whether or not $((P \Rightarrow Q) \lor (Q \Rightarrow P))$ is a tautology. \begin{proof} - TODO + Consider the following truth table: + $$\begin{array}{s|c|s|e|s|c|s} + ((P & \Rightarrow & Q) & \lor & (Q & \Rightarrow & P)) \\ + \hline + T & T & T & T & T & T & T \\ + T & F & F & T & F & T & T \\ + F & T & T & T & T & F & F \\ + F & T & F & T & F & T & F + \end{array}$$ + The above makes it immediately evident that + $((P \Rightarrow Q) \lor (Q \Rightarrow P))$ is a tautology. \end{proof} -\subsection{\sorry{Exercise 1.2.3b}}% +\subsection{\pending{Exercise 1.2.3b}}% \hyperlabel{sub:exercise-1.2.3b} Determine whether or not $((P \land Q) \Rightarrow R)$ tautologically implies $((P \Rightarrow R) \lor (Q \Rightarrow R))$. \begin{proof} - TODO + Consider the following truth table: + $$\begin{array}{s|s|s|e|e} + P & Q & R & + ((P \land Q) \Rightarrow R) & + ((P \Rightarrow R) \lor (Q \Rightarrow R)) \\ + \hline + T & T & T & T & T \\ + T & T & F & F & F \\ + T & F & T & T & T \\ + T & F & F & T & T \\ + F & T & T & T & T \\ + F & T & F & T & T \\ + F & F & T & T & T \\ + F & F & F & T & T + \end{array}$$ + The above makes it immediately evident that + $((P \land Q) \Rightarrow R)$ tautologically implies + $((P \Rightarrow R) \lor (Q \Rightarrow R))$. \end{proof} -\subsection{\sorry{Exercise 1.2.4}}% +\subsection{\pending{Exercise 1.2.4}}% \hyperlabel{sub:exercise-1.2.4} Show that the following hold: @@ -992,10 +1012,98 @@ together with the one possibly new member $\alpha$.) \begin{proof} - TODO + + \paragraph{(a)}% + + We prove each direction of the biconditional. + + \subparagraph{($\Rightarrow$)}% + + Assume $\Sigma; \alpha \vDash \beta$. + Let $v$ be a truth assignment for the sentence symbols in + $\Sigma; \alpha$ and $\beta$. + Then if $v$ satisfies every member of $\Sigma$ and $\alpha$, it must + also satisfy $\beta$. + Denote $\bar{v}(\Sigma)$ as the proposition that $v$ satisfies every + member of $\Sigma$ and consider the following truth table: + $$\begin{array}{s|s|s|e} + \bar{v}(\Sigma) & \bar{v}(\alpha) & \bar{v}(\beta) & + \bar{v}((\alpha \Rightarrow \beta)) \\ + \hline + T & T & T & T \\ + \rowcolor{TTInvalid} + T & T & F & F \\ + T & F & T & T \\ + T & F & F & T \\ + F & T & T & T \\ + F & T & F & F \\ + F & F & T & T \\ + F & F & F & T + \end{array}$$ + The red row denotes a contradiction: it is not possible for + $\bar{v}(\Sigma)$ and $\bar{v}(\alpha)$ to be true but + $\bar{v}(\beta)$ to be false. + All remaining rows show that when $\bar{v}(\Sigma)$ is true, so is + $\bar{v}((\alpha \Rightarrow \beta))$. + Thus $\Sigma \vDash (\alpha \Rightarrow \beta)$. + + \subparagraph{($\Leftarrow$)}% + + Assume $\Sigma \vDash (\alpha \Rightarrow \beta)$. + Let $v$ be a \nameref{ref:truth-assignment} for the sentence symbols in + $\Sigma$, $\alpha$, and $\beta$. + Then if $v$ satisfies every member of $\Sigma$, it must also satisfy + $(\alpha \Rightarrow \beta)$. + Denote $\bar{v}(\Sigma)$ as the proposition that $v$ satisfies every + member of $\Sigma$. + By definition, $\bar{v}((\alpha \Rightarrow \beta)) = T$ if and only if + $\bar{v}(\alpha) = F$ or $\bar{v}(\alpha)$ and $\bar{v}(\beta)$ are + both true. + Thus the only situation in which both $\bar{v}(\Sigma) = T$ and + $\bar{v}(\alpha) = T$ corresponds to when $\bar{v}(\beta) = T$. + Hence $\Sigma; \alpha \vDash \beta$. + + \paragraph{(b)}% + + We prove each direction of the biconditional. + + \subparagraph{($\Rightarrow$)}% + + Suppose $\alpha \vDash \Dashv \beta$. + Let $v$ be a \nameref{ref:truth-assignment} for the sentence symbols in + $\alpha$ and $\beta$. + Consider the following truth table: + $$\begin{array}{s|e|s} + (\alpha & \Leftrightarrow & \beta) \\ + \hline + T & T & T \\ + \rowcolor{TTInvalid} + T & F & F \\ + \rowcolor{TTInvalid} + F & F & T \\ + F & T & F + \end{array}$$ + The red rows indicate possibilites that cannot occur, for + $\alpha \vDash \beta$ and $\beta \vDash \alpha$ by hypothesis. + Of the remaining rows, $(\alpha \Leftrightarrow \beta)$ is true. + Hence $\vDash (\alpha \Leftrightarrow \beta)$. + + \subparagraph{($\Leftarrow$)}% + + Assume $\vDash (\alpha \Rightarrow \beta)$. + Let $v$ be a \nameref{ref:truth-assignment} for the sentence symbols in + $\alpha$ and $\beta$. + By definition, $\bar{v}((\alpha \Leftrightarrow \beta)) = T$ if and only + if $\bar{v}(\alpha) = \bar{v}(\beta)$. + Thus if $\bar{v}(\alpha)$ is true, so must $\bar{v}(\beta)$. + That is, $\alpha \vDash \beta$. + Likewise, if $\bar{v}(\beta)$ is true, so must $\bar{v}(\alpha)$. + Therefore $\beta \vDash \alpha$. + Hence $\alpha \vDash \Dashv \beta$. + \end{proof} -\subsection{\sorry{Exercise 1.2.5}}% +\subsection{\pending{Exercise 1.2.5}}% \hyperlabel{sub:exercise-1.2.5} Prove or refute each of the following assertions: @@ -1007,10 +1115,62 @@ \end{enumerate} \begin{proof} - TODO + + \paragraph{(a)}% + + WLOG, suppose $\Sigma \vDash \alpha$. + That is, every truth assignment for sentence symbols found in $\Sigma$ and + $\alpha$ that satisfies every member of $\Sigma$ also satisfies + $\alpha$. + Let $v$ be one of these truth assignments. + Denote $\bar{v}(\Sigma)$ as the proposition that $v$ satisfies every + member of $\Sigma$ and consider the following truth table: + $$\begin{array}{s|s|s|e} + \bar{v}(\Sigma) & \bar{v}(\alpha) & \bar{v}(\beta) & + \bar{v}((\alpha \lor \beta)) \\ + \hline + T & T & T & T \\ + T & T & F & T \\ + \rowcolor{TTInvalid} + T & F & T & T \\ + \rowcolor{TTInvalid} + T & F & F & T \\ + F & T & T & T \\ + F & T & F & T \\ + F & F & T & T \\ + F & F & F & F + \end{array}$$ + The red rows indicate possiblities that cannot occur since + $\Sigma \vDash \alpha$ by hypothesis. + All remaining rows show that when $\bar{v}(\Sigma)$ is true, so is + $\bar{v}((\alpha \lor \beta))$. + Hence $\Sigma \vDash (\alpha \lor \beta)$. + + \paragraph{(b)}% + + We proceed by counterexample. + Suppose $\Sigma = \emptyset$. + That is, assume $(\alpha \lor \beta)$ is a tautology, i.e. + $\vDash (\alpha \lor \beta)$. + Consider the following truth table: + $$\begin{array}{s|e|s} + (\alpha & \lor & \beta) \\ + \hline + T & T & T \\ + T & T & F \\ + F & T & T \\ + \rowcolor{TTInvalid} + F & F & F + \end{array}$$ + The red row indicates an impossibility, since $(\alpha \lor \beta)$ should + always be true by hypothesis. + But this table also clearly demonstrates that $\not\vDash \alpha$ and + $\not\vDash \beta$. + Thus the conditional statement proposed must not be generally true. + \end{proof} -\subsection{\sorry{Exercise 1.2.6a}}% +\subsection{\pending{Exercise 1.2.6a}}% \hyperlabel{sub:exercise-1.2.6a} Show that if $v_1$ and $v_2$ are \nameref{ref:truth-assignment}s which agree @@ -1019,7 +1179,104 @@ Use the \nameref{sub:induction-principle-1}. \begin{proof} - TODO + + Let $\sigma$ map a \nameref{ref:well-formed-formula} $\phi$ to the set of + sentence symbols found in $\phi$. + Define + \begin{equation} + \hyperlabel{sub:exercise-1.2.6a-eq1} + S = \{\phi \mid ((\sigma(\phi) = \sigma(\alpha)) \Rightarrow + (\bar{v}_1(\phi) = \bar{v}_2(\phi)))\}. + \end{equation} + We prove that (i) the set of sentence symbols is found in $\phi$ and (ii) + $S$ is closed under the five \nameref{ref:formula-building-operations}. + Afterward we show that (iii) our theorem statement holds. + + \paragraph{(i)}% + \hyperlabel{par:exercise-1.2.6a-i} + + Let $A_n$ denote an arbitrary sentence symbol. + Suppose $\sigma(A_n) = \{A_n\} = \sigma(\alpha)$. + But then $\bar{v}_1(A_n) = \bar{v}_2(A_n)$ since, by hypothesis, $v_1$ + and $v_2$ agree on all the sentence symbols found in $\alpha$. + Hence $S$ contains all the sentence symbols. + + \paragraph{(ii)}% + \hyperlabel{par:exercise-1.2.6a-ii} + + Let $\beta, \gamma \in S$. + There are three cases to consider: + + \subparagraph{Case 1}% + \hyperlabel{spar:exercise-1.2.6a-ii-1} + + Suppose $\sigma(\beta) \neq \sigma(\alpha)$. + By definition, $\mathcal{E}_{\neg}(\beta) = (\neg\beta)$. + Then clearly $\sigma(\mathcal{E}_{\neg}(\beta)) \neq \sigma(\alpha)$. + Therefore $\mathcal{E}_{\neg}(\beta) \in S$. + Likewise, + $\mathcal{E}_{\square}(\beta, \gamma) = + (\beta \mathop{\square} \gamma)$ + where $\square$ is one of the binary connectives $\land$, $\lor$, + $\Rightarrow$, $\Leftrightarrow$. + Again, it clearly follows that + $\mathcal{E}_{\square}(\beta, \gamma) \neq \sigma(\alpha)$. + Thus $\mathcal{E}_{\square}(\beta, \gamma) \in S$. + + \subparagraph{Case 2}% + + Suppose $\sigma(\gamma) \neq \sigma(\alpha)$. + This case mirrors \nameref{spar:exercise-1.2.6a-ii-1}. + + \subparagraph{Case 3}% + + Suppose $\sigma(\beta) = \sigma(\alpha) = \sigma(\alpha)$. + By definition, $\mathcal{E}_{\neg}(\beta) = (\neg\beta)$. + Then clearly $\sigma(\mathcal{E}_{\neg}(\beta)) = \sigma(\alpha)$. + Since + \begin{align*} + \bar{v}_1((\neg\beta)) + & = (\neg\bar{v}_1(\beta)) \\ + & = (\neg\bar{v}_2(\beta)) & \eqref{sub:exercise-1.2.6a-eq1} \\ + & = \bar{v}_2((\neg\beta)), + \end{align*} + it follows that $\mathcal{E}_{\neg}(\beta) \in S$. + + Likewise, + $\mathcal{E}_{\square}(\beta, \gamma) = + (\beta \mathop{\square} \gamma)$ + where $\square$ is one of the binary connectives $\land$, $\lor$, + $\Rightarrow$, $\Leftrightarrow$. + Again, it clearly follows that + $\mathcal{E}_{\square}(\beta, \gamma) \neq \sigma(\alpha)$. + Since + \begin{align*} + \bar{v}_1((\alpha \mathop{\square} \beta)) + & = (\bar{v}_1(\alpha) \mathop{\square} \bar{v}_1(\beta)) \\ + & = (\bar{v}_2(\alpha) \mathop{\square} \bar{v}_2(\beta) + & \eqref{sub:exercise-1.2.6a-eq1} \\ + & = \bar{v}_2((\alpha \mathop{\square} \beta)), + \end{align*} + it follows that $\mathcal{E}_{\square}(\beta, \gamma) \in S$. + + \subparagraph{Subconclusion}% + + The above three cases are exhaustive. + Thus it follows $S$ is closed under the five formula-buildiong + operations. + + \paragraph{(iii)}% + + By \nameref{par:exercise-1.2.6a-i} and \nameref{par:exercise-1.2.6a-ii}, + the \nameref{sub:induction-principle-1} indicates $S$ is the set of all + wffs. + Since $\alpha$ is a well-formed formula, it follows $\alpha \in S$. + Therefore + $$((\sigma(\alpha) = \sigma(\alpha)) \Rightarrow + \bar{v}_1(\alpha) = \bar{v}_2(\alpha)).$$ + The antecedent clearly holds true. + Hence $\bar{v}_1(\alpha) = \bar{v}_2(\alpha)$ as expected. + \end{proof} \subsection{\sorry{Exercise 1.2.6b}}% @@ -1030,7 +1287,7 @@ Show that $\Sigma \vDash \tau$ iff every truth assignment for $\mathcal{S}$ which satisfies every member of $\Sigma$ also satisfies $\tau$. (This is an easy consequence of part (a). The point of part (b) is that we do - not need to worry aboutgetting the domain of a truth assignment + not need to worry about getting the domain of a truth assignment \textit{exactly} perfect, as long as it is big enough. For example, one option would be always to use truth assignments on the set of \textit{all} sentence symbols. The drawback is that these are infinite objects, and there diff --git a/Bookshelf/Enderton/Logic/Chapter_1.lean b/Bookshelf/Enderton/Logic/Chapter_1.lean index 92e87ed..1fe0010 100644 --- a/Bookshelf/Enderton/Logic/Chapter_1.lean +++ b/Bookshelf/Enderton/Logic/Chapter_1.lean @@ -327,7 +327,7 @@ length of `α` (i.e., the number of symbols in the string) is odd. *Suggestion*: Apply induction to show that the length is of the form `4k + 1`. -/ -theorem exercise_1_1_5_a (α : Wff) (hα : ¬α.hasNotSymbol) +theorem exercise_1_1_5a (α : Wff) (hα : ¬α.hasNotSymbol) : Odd α.length := by suffices ∃ k : ℕ, α.length = 4 * k + 1 by have ⟨k, hk⟩ := this @@ -363,7 +363,7 @@ than a quarter of the symbols are sentence symbols. *Suggestion*: Apply induction to show that the number of sentence symbols is `k + 1`. -/ -theorem exercise_1_1_5_b (α : Wff) (hα : ¬α.hasNotSymbol) +theorem exercise_1_1_5b (α : Wff) (hα : ¬α.hasNotSymbol) : α.sentenceSymbolCount > (Nat.cast α.length : ℝ) / 4 := by rw [ α.length_eq_sum_symbol_count, diff --git a/Bookshelf/Enderton/Set.tex b/Bookshelf/Enderton/Set.tex index c279881..f327f97 100644 --- a/Bookshelf/Enderton/Set.tex +++ b/Bookshelf/Enderton/Set.tex @@ -8603,14 +8603,83 @@ \section{Exercises 6}% \hyperlabel{sec:exercises-6} -\subsection{\sorry{Exercise 6.1}}% +\subsection{\unverified{Exercise 6.1}}% \hyperlabel{sub:exercise-6-1} Show that the equation $$f(m, n) = 2^m(2n + 1) - 1$$ defines a one-one-one correspondence between $\omega \times \omega$ and $\omega$. \begin{proof} - TODO + + We prove that (i) $f$ is one-to-one and (ii) $f$ is onto $\omega$. + + \paragraph{(i)}% + + Let $y \in \ran{f}$. + Then there exists $(m_1, n_1) \in \omega \times \omega$ such that + $f(m_1, n_1) = y$. + Suppose there exists $(m_2, n_2) \in \omega \times \omega$ such that + $f(m_2, n_2) = y$. + We show that $m_1 = m_2$ and $n_1 = n_2$. + + By \nameref{sub:trichotomy-law-natural-numbers}, we know either + $m_1 \leq m_2$ or $m_2 \leq m_1$ and either $n_1 \leq n_2$ or + $n_2 \leq n_1$. + WLOG, assume $m_1 \leq m_2$ and $n_1 \leq n_2$. + Then by \nameref{sub:exercise-4.23}, there exists some $p \in \omega$ such + that $m_1 + p = m_2$. + Likewise, there exists some $q \in \omega$ such that $n_1 + q = n_2$. + Therefore + \begin{align*} + & f(m_1, n_1) = f(m_2, n_2) \\ + & \iff 2^{m_1}(2n_1 + 1) - 1 = 2^{m_2}(2n_2 + 1) - 1 \\ + & \iff 2^{m_1}(2n_1 + 1) = 2^{m_2}(2n_2 + 1) \\ + & \iff 2^{m_1}(2n_1 + 1) = 2^{m_1+p}(2(n_1 + q) + 1) \\ + & \iff 2^{m_1}(2n_1 + 1) = 2^{m_1}2^p(2n_1 + 2q + 1) \\ + & \iff 2n_1 + 1 = 2^p(2n_1 + 2q + 1) \\ + & \iff 2n_1 + 1 = 2^{p+1}n_1 + 2^{p+1}q + 2^p. + \end{align*} + Notice though that the right-hand side of the above equality is smallest + when $p = 0$ and $q = 0$. + Since when evaluated at $p = 0$ and $q = 0$, the equality holds, it + follows this value of $p$ and $q$ are the only possible values that + $p$ and $q$ can take on. + Thus $m_1 + p = m_1 = m_2$ and $n_1 + q = n_1 = n_2$. + + \paragraph{(ii)}% + + We show $\ran{f} = \omega$ by the + \nameref{sub:strong-induction-principle-natural-numbers}. + It is clear that $\ran{f}$ is a subset of $\omega$. + Let $x \in \omega$ and suppose every number less than $x$ is in $\ran{f}$. + All that remains to be shown is that $x \in \ran{f}$. + By \nameref{sub:exercise-4.14}, there are two cases to consider: + + \subparagraph{Case 1}% + + Suppose $x$ is an even number. + Then $x = 2 \cdot y$ for some $y \in \omega$. + Then $f(0, y) = 2^0(2y + 1) - 1 = 2y = x$. + Hence $x \in \ran{f}$. + + \subparagraph{Case 2}% + + Suppose $x$ is an odd number. + Then $x = (2 \cdot y) + 1$ for some $y$. + It immediately follows $x - 1$ is an even number, meaning there exists + some $z$ such that $x - 1 = 2z$. + Since $z \in x$, the induction hypothesis states that there exists + some $m, n \in \omega$ such that $$f(m, n) = z = 2^m(2n + 1) - 1.$$ + Therefore + \begin{align*} + f(m + 1, n) + & = 2^{m+1}(2n + 1) - 1 \\ + & = (2)(2^m)(2n + 1) - 1 \\ + & = 2z + 1 \\ + & = x. + \end{align*} + Hence $x \in \ran{f}$. + \end{proof} \subsection{\unverified{Exercise 6.2}}% @@ -8652,7 +8721,7 @@ Hence $J$ is correctly defined. \end{proof} -\subsection{\sorry{Exercise 6.3}}% +\subsection{\unverified{Exercise 6.3}}% \hyperlabel{sub:exercise-6-3} Find a one-to-one correspondence between the open unit interval $\ioo{0}{1}$ @@ -8660,7 +8729,150 @@ irrationals. \begin{proof} - TODO + + \begin{figure}[ht] + \label{sub:exercise-6-3-fig1} + \includegraphics[width=0.6\textwidth]{exercise-6.3.png} + \centering + \end{figure} + + Consider function $f \colon (0, 1) \rightarrow \mathbb{R}$ given by + $$f(x) = \begin{cases} + \frac{1}{2x} - 1 & \text{if } x \leq \frac{1}{2} \\ + \frac{1}{2(x - 1)} + 1 & \text{otherwise}. + \end{cases}$$ + We prove that (i) $f$ is a one-to-one into $\mathbb{R}$, (ii) $f$ is onto + $\mathbb{R}$, and (iii) $f$ takes rationals to rationals and irrationals + to irrationals. + + \paragraph{(i)}% + + Before proceeding, consider the solutions to the following identity: + \begin{align*} + \frac{1}{2x} - 1 = \frac{1}{2(x - 1)} + 1 + & \iff -8x^2 + 8x - 2 = 0 \\ + & \iff 4x^2 - 4x + 1 = 0. + \end{align*} + Applying the quadratic equation shows $x = 1 / 2$ is the only solution. + Thus for any $x_1, x_2 \in \ioo{0}{1}$ such that $f(x_1) = f(x_2)$, it + must be that $x_1, x_2 \leq 1 / 2$ or $x_1, x_2 > 1 / 2$. + + We now prove $f$ is one-to-one. + Let $y \in \ran{f}$. + Then there exists some $x_1 \in \ioo{0}{1}$ such that $f(x_1) = y$. + Suppose there exists some $x_2 \in \ioo{0}{1}$ such that $f(x_1) = f(x_2)$. + We prove that $x_1 = x_2$ by case analysis: + + \subparagraph{Case 1}% + + Suppose $x_1, x_2 \leq 1 / 2$. + Then $$\frac{1}{2x_1} - 1 = \frac{1}{2x_2} - 1$$ which straightforwardly + simplifies to $x_1 = x_2$. + + \subparagraph{Case 2}% + + Suppose $x_1, x_2 > 1 / 2$. + Then $$\frac{1}{2(x_1 - 1)} + 1 = \frac{1}{2(x_2 - 1)} + 1$$ also + straightfowardly simplies to $x_1 = x_2$. + + \subparagraph{Subconclusion}% + + The above cases are exhaustive. + Therefore $f(x_1) = f(x_2)$ implies $x_1 = x_2$. + Hence $f$ is one-to-one. + + \paragraph{(ii)}% + + Let $y \in \mathbb{R}$. + We prove that there exists an $x \in (0, 1)$ such that $f(x) = y$. + There are three cases we consider: + + \subparagraph{Case 1}% + + Suppose $y = 0$. + Then $f(1 / 2) = 0 = y$ is a readily identifiable solution. + + \subparagraph{Case 2}% + + Suppose $y > 0$. + Consider $x = \frac{1}{2(y + 1)}$. + We note that $x < 1 / 2$ meaning + \begin{align*} + f(x) + & = f\left(\frac{1}{2(y + 1)}\right) \\ + & = \frac{1}{2(\frac{1}{2(y + 1)})} - 1 \\ + & = (y + 1) - 1 \\ + & = y. + \end{align*} + + \subparagraph{Case 3}% + + Suppose $y < 0$. + Consider $x = \frac{1}{2(y - 1)} + 1$. + We note that $x > 1 / 2$ meaning + \begin{align*} + f(x) + & = f\left(\frac{1}{2(y - 1)} + 1\right) \\ + & = \frac{1}{2((\frac{1}{2(y - 1)} + 1) - 1)} + 1 \\ + & = (y - 1) + 1 \\ + & = y. + \end{align*} + + \subparagraph{Subconclusion}% + + The above three cases are exhaustive. + Thus $\ran{f} = \mathbb{R}$, i.e. $f$ is onto $\mathbb{R}$. + + \paragraph{(iii)}% + + Let $x \in (0, 1)$. + There are two cases to consider: + + \subparagraph{Case 1}% + + Suppose $x$ is a rational number. + Then there exist integers $m$ and $n$ such that $x = m / n$. + If $x \leq 1 / 2$, then + \begin{align*} + f(x) + & = f(m / n) \\ + & = \frac{1}{2\left(\frac{m}{n}\right)} - 1 \\ + & = \frac{n}{2m} - 1 \\ + & = \frac{n - 2m}{2m}. + \end{align*} + Since $n - 2m$ and $2m$ are integers, $f(x)$ is a rational number. + If instead $x > 1 / 2$, then + \begin{align*} + f(x) + & = f(m / n) \\ + & = \frac{1}{2\left(\frac{m}{n} - 1\right)} + 1 \\ + & = \frac{n}{2(m - n)} + 1 \\ + & = \frac{n + 2(m - n)}{2(m - n)}. + \end{align*} + Since $n + 2(m - n)$ and $2(m - n)$ are integers, $f(x)$ is again a + rational number. + Thus $f$ maps every rational number to a rational number. + + \subparagraph{Case 2}% + + Suppose $x$ is an irrational number. + First, consider the case where $x \leq 1 / 2$ and, for the sake of + contradiction, suppose $f(x)$ was a rational number. + Then there exist integers $m$ and $n$ such that + $$f(x) = \frac{1}{2x} - 1 = \frac{m}{n}.$$ + But this would imply $$x = \frac{n}{2(m + n)},$$ a contradiction. + Thus $f(x)$ must be irrational. + + Likewise, consider the case where $x > 1 / 2$. + Again, for the sake of contradiction, suppose $f(x)$ was a rational + number. + Then there exist integers $m$ and $n$ such that + $$f(x) = \frac{1}{2(x - 1)} + 1 = \frac{m}{n}.$$ + But this would imply $$x = \frac{n}{2(m - n)} + 1,$$ a contradiction. + Thus $f(x)$ must be irrational. + + Hence $f$ maps every irrational number to an irrational number. + \end{proof} \subsection{\sorry{Exercise 6.4}}% diff --git a/Bookshelf/Enderton/Set/images/exercise-6.3.png b/Bookshelf/Enderton/Set/images/exercise-6.3.png new file mode 100644 index 0000000000000000000000000000000000000000..32a780b4f8874e8d5ec9daf0706c22fe4e4f81a9 GIT binary patch literal 49336 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 literal 0 HcmV?d00001 diff --git a/preamble.tex b/preamble.tex index 18c67ac..f56500e 100644 --- a/preamble.tex +++ b/preamble.tex @@ -36,7 +36,7 @@ \newcommand\suitdivider{$$\spadesuit\;\spadesuit\;\spadesuit$$} % ======================================== -% Linking +% Links % ======================================== \hypersetup{colorlinks=true, linkcolor=blue, urlcolor=blue}