Enderton. Continue proofs/exercises of "Axioms and Operations."
parent
fd816a97bc
commit
4624d58924
|
@ -112,6 +112,18 @@ For each formula $\phi$ not containing $B$, the following is an axiom:
|
||||||
|
|
||||||
\end{axiom}
|
\end{axiom}
|
||||||
|
|
||||||
|
\section{\defined{Symmetric Difference}}%
|
||||||
|
\label{ref:symmetric-difference}
|
||||||
|
|
||||||
|
The \textbf{symmetric difference} $A + B$ of sets $A$ and $B$ is the set
|
||||||
|
$(A - B) \cup (B - A)$.
|
||||||
|
|
||||||
|
\begin{definition}
|
||||||
|
|
||||||
|
\lean*{Mathlib/Data/Set/Basic}{symmDiff\_def}
|
||||||
|
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
\section{\defined{Union Axiom}}%
|
\section{\defined{Union Axiom}}%
|
||||||
\label{ref:union-axiom}
|
\label{ref:union-axiom}
|
||||||
|
|
||||||
|
@ -1404,10 +1416,64 @@ For any set $C$ and $\mathscr{A} \neq \emptyset$,
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
|
\subsection{\verified{%
|
||||||
|
\texorpdfstring{$\cap$/$-$}{Intersection/Difference} Associativity}}%
|
||||||
|
\label{sub:intersection-difference-associativity}
|
||||||
|
|
||||||
|
Let $A$, $B$, and $C$ be sets.
|
||||||
|
Then $A \cap (B - C) = (A \cap B) - C$.
|
||||||
|
|
||||||
|
\begin{proof}
|
||||||
|
|
||||||
|
\lean{Mathlib/Data/Set/Basic}{Set.inter\_diff\_assoc}
|
||||||
|
|
||||||
|
Let $A$, $B$, and $C$ be sets.
|
||||||
|
By definition of the intersection and relative complement of sets,
|
||||||
|
\begin{align*}
|
||||||
|
A \cap (B - C)
|
||||||
|
& = \{ x \mid x \in A \land x \in B - C \} \\
|
||||||
|
& = \{ x \mid x \in A \land (x \in B \land x \not\in C) \} \\
|
||||||
|
& = \{ x \mid (x \in A \land x \in B) \land x \not\in C \} \\
|
||||||
|
& = \{ x \mid x \in A \cap B \land x \not \in C \} \\
|
||||||
|
& = (A \cap B) - C.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
|
\end{proof}
|
||||||
|
|
||||||
|
\subsection{\verified{Nonmembership of Symmetric Difference}}
|
||||||
|
\label{sub:nonmembership-symmetric-difference}
|
||||||
|
|
||||||
|
Let $A$ and $B$ be sets. $x \not\in A + B$ if and only if either
|
||||||
|
$x \in A \cap B$ or $x \not\in A \cup B$.
|
||||||
|
|
||||||
|
\begin{proof}
|
||||||
|
|
||||||
|
\lean{Common/Set/Basic}{Set.not\_mem\_symm\_diff\_inter\_or\_not\_union}
|
||||||
|
|
||||||
|
By definition of the \nameref{ref:symmetric-difference},
|
||||||
|
\begin{align*}
|
||||||
|
x \not\in A + B
|
||||||
|
& = \neg(x \in A + B) \\
|
||||||
|
& = \neg[x \in (A - B) \cup (B - A)] \\
|
||||||
|
& = \neg[x \in (A - B) \lor x \in (B - A)] \\
|
||||||
|
& = \neg[(x \in A \land x \not\in B) \lor
|
||||||
|
(x \in B \land x \not\in A)] \\
|
||||||
|
& = \neg(x \in A \land x \not\in B) \land
|
||||||
|
\neg(x \in B \land x \not\in A) \\
|
||||||
|
& = (x \not\in A \lor x \in B) \land (x \not\in B \lor x \in A) \\
|
||||||
|
& = ((x \not\in A \lor x \in B) \land x \not\in B) \lor
|
||||||
|
((x \not\in A \lor x \in B) \land x \in A) \\
|
||||||
|
& = (x \not\in A \land x \not\in B) \lor (x \in B \land x \in A) \\
|
||||||
|
& = \neg(x \in A \lor x \in B) \lor (x \in B \land x \in A) \\
|
||||||
|
& = x \not\in A \cup B \text{ or } x \in A \cap B.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
|
\end{proof}
|
||||||
|
|
||||||
\section{Exercises 4}%
|
\section{Exercises 4}%
|
||||||
\label{sec:exercises-4}
|
\label{sec:exercises-4}
|
||||||
|
|
||||||
\subsection{\unverified{Exercise 4.11}}%
|
\subsection{\verified{Exercise 4.11}}%
|
||||||
\label{sub:exercise-4.11}
|
\label{sub:exercise-4.11}
|
||||||
|
|
||||||
Show that for any sets $A$ and $B$,
|
Show that for any sets $A$ and $B$,
|
||||||
|
@ -1416,11 +1482,60 @@ Show that for any sets $A$ and $B$,
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
TODO
|
\statementpadding
|
||||||
|
|
||||||
|
\lean*{Bookshelf/Enderton/Set/Chapter\_2}
|
||||||
|
{Enderton.Set.Chapter\_2.exercise\_4\_11\_i}
|
||||||
|
|
||||||
|
\lean{Bookshelf/Enderton/Set/Chapter\_2}
|
||||||
|
{Enderton.Set.Chapter\_2.exercise\_4\_11\_ii}
|
||||||
|
|
||||||
|
\noindent Let $A$ and $B$ be sets.
|
||||||
|
We prove that
|
||||||
|
\begin{enumerate}[(i)]
|
||||||
|
\item $A = (A \cap B) \cup (A - B)$
|
||||||
|
\item $A \cup (B - A) = A \cup B$
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\paragraph{(i)}%
|
||||||
|
|
||||||
|
By definition of the intersection, union, and relative complements of sets,
|
||||||
|
\begin{align*}
|
||||||
|
(A \cap B) \cup (A - B)
|
||||||
|
& = \{ x \mid x \in A \cap B \lor x \in A - B \} \\
|
||||||
|
& = \{ x \mid x \in \{ y \mid y \in A \land y \in B \} \lor
|
||||||
|
x \in A - B \} \\
|
||||||
|
& = \{ x \mid (x \in A \land x \in B) \lor x \in A - B \} \\
|
||||||
|
& = \{ x \mid (x \in A \land x \in B) \lor
|
||||||
|
x \in \{ y \mid y \in A \land y \not\in B \} \} \\
|
||||||
|
& = \{ x \mid (x \in A \land x \in B) \lor
|
||||||
|
(x \in A \land x \not\in B) \} \\
|
||||||
|
& = \{ x \mid x \in A \lor (x \in B \land x \not\in B) \} \\
|
||||||
|
& = \{ x \mid x \in A \lor F \} \\
|
||||||
|
& = \{ x \mid x \in A \} \\
|
||||||
|
& = A.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
|
\paragraph{(ii)}%
|
||||||
|
|
||||||
|
By definition of the union and relative complements of sets,
|
||||||
|
\begin{align*}
|
||||||
|
A \cup (B - A)
|
||||||
|
& = \{ x \mid x \in A \lor x \in B - A \} \\
|
||||||
|
& = \{ x \mid x \in A \lor
|
||||||
|
x \in \{ y \mid y \in B \land y \not\in A \} \} \\
|
||||||
|
& = \{ x \mid x \in A \lor (x \in B \land x \not\in A) \} \\
|
||||||
|
& = \{ x \mid (x \in A \lor x \in B) \land
|
||||||
|
(x \in A \lor x \not\in A) \} \\
|
||||||
|
& = \{ x \mid (x \in A \lor x \in B) \land T \} \\
|
||||||
|
& = \{ x \mid x \in A \lor x \in B \} \\
|
||||||
|
& = \{ x \mid x \in A \cup B \} \\
|
||||||
|
& = A \cup B.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsection{\unverified{Exercise 4.12}}%
|
\subsection{\verified{Exercise 4.12}}%
|
||||||
\label{sub:exercise-4.12}
|
\label{sub:exercise-4.12}
|
||||||
|
|
||||||
Verify the following identity (one of De Morgan's laws):
|
Verify the following identity (one of De Morgan's laws):
|
||||||
|
@ -1428,22 +1543,22 @@ Verify the following identity (one of De Morgan's laws):
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
TODO
|
Refer to \nameref{sub:de-morgans-laws}.
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsection{\unverified{Exercise 4.13}}%
|
\subsection{\verified{Exercise 4.13}}%
|
||||||
\label{sub:exercise-4.13}
|
\label{sub:exercise-4.13}
|
||||||
|
|
||||||
Show that if $A \subseteq B$, then $C - B \subseteq C - A$.
|
Show that if $A \subseteq B$, then $C - B \subseteq C - A$.
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
TODO
|
Refer to \nameref{sub:anti-monotonicity}.
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsection{\unverified{Exercise 4.14}}%
|
\subsection{\verified{Exercise 4.14}}%
|
||||||
\label{sub:exercise-4.14}
|
\label{sub:exercise-4.14}
|
||||||
|
|
||||||
Show by example that for some sets $A$, $B$, and $C$, the set $A - (B - C)$ is
|
Show by example that for some sets $A$, $B$, and $C$, the set $A - (B - C)$ is
|
||||||
|
@ -1451,35 +1566,157 @@ Show by example that for some sets $A$, $B$, and $C$, the set $A - (B - C)$ is
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
TODO
|
\lean{Bookshelf/Enderton/Set/Chapter\_2}
|
||||||
|
{Enderton.Set.Chapter\_2.exercise\_4\_14}
|
||||||
|
|
||||||
|
Let $A = \{1, 2, 3\}$, $B = \{2, 3, 4\}$, and $C = \{3, 4, 5\}$.
|
||||||
|
Then
|
||||||
|
\begin{align*}
|
||||||
|
A - (B - C)
|
||||||
|
& = \{1, 2, 3\} - (\{2, 3, 4\} - \{3, 4, 5\}) \\
|
||||||
|
& = \{1, 2, 3\} - \{2\} \\
|
||||||
|
& = \{1, 3\}
|
||||||
|
\end{align*}
|
||||||
|
but
|
||||||
|
\begin{align*}
|
||||||
|
(A - B) - C
|
||||||
|
& = (\{1, 2, 3\} - \{2, 3, 4\}) - \{3, 4, 5\} \\
|
||||||
|
& = \{1\} - \{3, 4, 5\} \\
|
||||||
|
& = \{1\}.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsection{\unverified{Exercise 4.15}}%
|
\subsection{\verified{Exercise 4.15a}}%
|
||||||
\label{sub:exercise-4.15}
|
\label{sub:exercise-4.15a}
|
||||||
|
|
||||||
Define the symmetric difference $A + B$ of sets $A$ and $B$ to be the set
|
|
||||||
$(A - B) \cup (B - A)$.
|
|
||||||
|
|
||||||
\subsubsection{\unverified{Exercise 4.15a}}%
|
|
||||||
\label{ssub:exercise-4.15a}
|
|
||||||
|
|
||||||
Show that $A \cap (B + C) = (A \cap B) + (A \cap C)$.
|
Show that $A \cap (B + C) = (A \cap B) + (A \cap C)$.
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
TODO
|
\lean{Mathlib/Data/Set/Basic}{Set.inter\_symmDiff\_distrib\_left}
|
||||||
|
|
||||||
|
By definition of the intersection, \nameref{ref:symmetric-difference}, and
|
||||||
|
relative complement of sets,
|
||||||
|
\begin{align*}
|
||||||
|
(A & \cap B) + (A \cap C) \\
|
||||||
|
& = [(A \cap B) - (A \cap C)] \cup [(A \cap C) - (A \cap B)] \\
|
||||||
|
& = [(A \cap B) - A] \\
|
||||||
|
& \qquad \cup [(A \cap B) - C] \\
|
||||||
|
& \qquad \cup [(A \cap C) - A] \\
|
||||||
|
& \qquad \cup [(A \cap C) - B]
|
||||||
|
& \textref{sub:de-morgans-laws} \\
|
||||||
|
& = [A \cap (B - A)] \\
|
||||||
|
& \qquad \cup [A \cap (B - C)] \\
|
||||||
|
& \qquad \cup [A \cap (C - A)] \\
|
||||||
|
& \qquad \cup [A \cap (C - B)]
|
||||||
|
& \textref{sub:intersection-difference-associativity} \\
|
||||||
|
& = \emptyset \\
|
||||||
|
& \qquad \cup [A \cap (B - C)] \\
|
||||||
|
& \qquad \cup \emptyset \\
|
||||||
|
& \qquad \cup [A \cap (C - B)]
|
||||||
|
& \textref{sub:identitives-involving-empty-set} \\
|
||||||
|
& = [A \cap (B - C)] \cup [A \cap (C - B)] \\
|
||||||
|
& = A \cap [(B - C) \cup (C - B)]
|
||||||
|
& \textref{sub:distributive-laws} \\
|
||||||
|
& = A \cap (B + C).
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsubsection{\unverified{Exercise 4.15b}}%
|
\subsection{\verified{Exercise 4.15b}}%
|
||||||
\label{ssub:exercise-4.15b}
|
\label{sub:exercise-4.15b}
|
||||||
|
|
||||||
Show that $A + (B + C) = (A + B) + C$.
|
Show that $A + (B + C) = (A + B) + C$.
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
TODO
|
\lean{Mathlib/Data/Set/Basic}{Set.symmDiff\_assoc}
|
||||||
|
|
||||||
|
\noindent Let $A$, $B$, and $C$ be sets.
|
||||||
|
We prove that
|
||||||
|
\begin{enumerate}[(i)]
|
||||||
|
\item $A + (B + C) \subseteq (A + B) + C$
|
||||||
|
\item $(A + B) + C \subseteq A + (B + C)$
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\paragraph{(i)}%
|
||||||
|
\label{par:exercise-4.15b-i}
|
||||||
|
|
||||||
|
Let $x \in A + (B + C)$.
|
||||||
|
Then $x$ is in $A$ or in $B + C$, but not both.
|
||||||
|
There are two cases to consider:
|
||||||
|
|
||||||
|
\subparagraph{Case 1}%
|
||||||
|
|
||||||
|
Suppose $x \in A$ and $x \not\in B + C$.
|
||||||
|
Then, by \nameref{sub:nonmembership-symmetric-difference},
|
||||||
|
(a) $x \in B \cap C$ or (b) $x \not\in B \cup C$.
|
||||||
|
Suppose (a) was true.
|
||||||
|
That is, $x \in B$ and $x \in C$.
|
||||||
|
Since $x$ is a member of $A$ and $B$, $x \not\in (A + B)$.
|
||||||
|
Since $x$ is not a member of $A + B$ but is a member of $C$,
|
||||||
|
$x \in (A + B) + C$.
|
||||||
|
Now suppose (b) was true.
|
||||||
|
That is, $x \not\in B$ and $x \not\in C$.
|
||||||
|
Since $x$ is a member of $A$ but not $B$, $x \in (A + B)$.
|
||||||
|
Since $x$ is a member of $A + B$ but not $C$, $x \in (A + B) + C$.
|
||||||
|
|
||||||
|
\subparagraph{Case 2}%
|
||||||
|
|
||||||
|
Suppose $x \in B + C$ and $x \not\in A$.
|
||||||
|
Then (a) $x \in B$ or (b) $x \in C$ but not both.
|
||||||
|
Suppose (a) was true.
|
||||||
|
That is, $x \in B$ and $x \not\in C$.
|
||||||
|
Since $x$ is not a member of $A$ and is a member of $B$, $x \in A + B$.
|
||||||
|
Since $x$ is a member of $A + B$ but not $C$, $x \in (A + B) + C$.
|
||||||
|
Now suppose (b) was true.
|
||||||
|
That is, $x \not\in B$ and $x \in C$.
|
||||||
|
Since $x$ is not a member of $A$ nor a member of $B$, $x \not\in A + B$.
|
||||||
|
Since $x$ is not a member of $A + B$ but is a member of $C$,
|
||||||
|
$x \in (A + B) + C$.
|
||||||
|
|
||||||
|
\paragraph{(ii)}%
|
||||||
|
\label{par:exercise-4.15b-ii}
|
||||||
|
|
||||||
|
Let $x \in (A + B) + C$.
|
||||||
|
Then $x$ is in $A + B$ or in $C$, but not both.
|
||||||
|
There are two cases to consider:
|
||||||
|
|
||||||
|
\subparagraph{Case 1}%
|
||||||
|
|
||||||
|
Suppose $x \in A + B$ and $x \not\in C$.
|
||||||
|
Then (a) $x \in A$ or (b) $x \in B$ but not both.
|
||||||
|
Suppose (a) was true.
|
||||||
|
That is, $x \in A$ and $x \not\in B$.
|
||||||
|
Since $x$ is not a member of $B$ nor $C$, $x \not\in B + C$.
|
||||||
|
Since $x$ is not a member of $B + C$ but is a member of $A$,
|
||||||
|
$x \in A + (B + C)$.
|
||||||
|
Now Suppose (b) was true.
|
||||||
|
That is, $x \not\in A$ and $x \in B$.
|
||||||
|
Since $x$ is a member of $B$ and not of $C$, then $x \in B + C$.
|
||||||
|
Since $x$ is a member of $B + C$ and not of $A$, $x \in A + (B + C)$.
|
||||||
|
|
||||||
|
\subparagraph{Case 2}%
|
||||||
|
|
||||||
|
Suppose $x \not\in A + B$ and $x \in C$.
|
||||||
|
Then, by \nameref{sub:nonmembership-symmetric-difference},
|
||||||
|
(a) $x \in A \cap B$ or (b) $x \not\in A \cup B$.
|
||||||
|
Suppose (a) was true.
|
||||||
|
That is, $x \in A \land x \in B$.
|
||||||
|
Since $x$ is a member of $B$ and $C$, $x \not\in B + C$.
|
||||||
|
Since $x$ is not a member of $B + C$ but is a member of $A$,
|
||||||
|
$x \in A + (B + C)$.
|
||||||
|
Now suppose (b) was true.
|
||||||
|
That is, $x \not\in A$ and $x \not\in B$.
|
||||||
|
Since $x$ is not a member of $B$ but is a member of $C$, $x \in B + C$.
|
||||||
|
Since $x$ is a member of $B + C$ but not of $A$, $x \in A + (B + C)$.
|
||||||
|
|
||||||
|
\paragraph{Conclusion}%
|
||||||
|
|
||||||
|
In both \nameref{par:exercise-4.15b-i} and \nameref{par:exercise-4.15b-ii},
|
||||||
|
the subcases are exhaustive and prove the desired subset relation.
|
||||||
|
Therefore $A + (B + C) = (A + B) + C$.
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
import Mathlib.Data.Set.Basic
|
import Mathlib.Data.Set.Basic
|
||||||
import Mathlib.Data.Set.Lattice
|
import Mathlib.Data.Set.Lattice
|
||||||
|
import Mathlib.Tactic.LibrarySearch
|
||||||
|
|
||||||
import Bookshelf.Enderton.Set.Chapter_1
|
import Bookshelf.Enderton.Set.Chapter_1
|
||||||
|
import Common.Logic.Basic
|
||||||
import Common.Set.Basic
|
import Common.Set.Basic
|
||||||
|
|
||||||
/-! # Enderton.Chapter_2
|
/-! # Enderton.Chapter_2
|
||||||
|
@ -198,7 +200,7 @@ theorem exercise_3_7b_ii
|
||||||
apply Iff.intro
|
apply Iff.intro
|
||||||
· intro h
|
· intro h
|
||||||
by_contra nh
|
by_contra nh
|
||||||
rw [not_or] at nh
|
rw [not_or_de_morgan] at nh
|
||||||
have ⟨a, hA⟩ := Set.not_subset.mp nh.left
|
have ⟨a, hA⟩ := Set.not_subset.mp nh.left
|
||||||
have ⟨b, hB⟩ := Set.not_subset.mp nh.right
|
have ⟨b, hB⟩ := Set.not_subset.mp nh.right
|
||||||
rw [Set.ext_iff] at h
|
rw [Set.ext_iff] at h
|
||||||
|
@ -281,4 +283,139 @@ theorem exercise_3_10 (ha : a ∈ B)
|
||||||
rw [← hb, Set.mem_setOf_eq]
|
rw [← hb, Set.mem_setOf_eq]
|
||||||
exact h₂
|
exact h₂
|
||||||
|
|
||||||
|
/-- ### Exercise 4.11 (i)
|
||||||
|
|
||||||
|
Show that for any sets `A` and `B`, `A = (A ∩ B) ∪ (A - B)`.
|
||||||
|
-/
|
||||||
|
theorem exercise_4_11_i {A B : Set α}
|
||||||
|
: A = (A ∩ B) ∪ (A \ B) := by
|
||||||
|
unfold Union.union Set.instUnionSet Set.union
|
||||||
|
unfold SDiff.sdiff Set.instSDiffSet Set.diff
|
||||||
|
unfold Inter.inter Set.instInterSet Set.inter
|
||||||
|
unfold Membership.mem Set.instMembershipSet Set.Mem setOf
|
||||||
|
simp only
|
||||||
|
suffices ∀ x, (A x ∧ (B x ∨ ¬B x)) = A x by
|
||||||
|
conv => rhs; ext x; rw [← and_or_left, this]
|
||||||
|
intro x
|
||||||
|
refine propext ?_
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
exact hx.left
|
||||||
|
· intro hx
|
||||||
|
exact ⟨hx, em (B x)⟩
|
||||||
|
|
||||||
|
/-- ### Exercise 4.11 (ii)
|
||||||
|
|
||||||
|
Show that for any sets `A` and `B`, `A ∪ (B - A) = A ∪ B`.
|
||||||
|
-/
|
||||||
|
theorem exercise_4_11_ii {A B : Set α}
|
||||||
|
: A ∪ (B \ A) = A ∪ B := by
|
||||||
|
unfold Union.union Set.instUnionSet Set.union
|
||||||
|
unfold SDiff.sdiff Set.instSDiffSet Set.diff
|
||||||
|
unfold Membership.mem Set.instMembershipSet Set.Mem setOf
|
||||||
|
simp only
|
||||||
|
suffices ∀ x, ((A x ∨ B x) ∧ (A x ∨ ¬A x)) = (A x ∨ B x) by
|
||||||
|
conv => lhs; ext x; rw [or_and_left, this x]
|
||||||
|
intro x
|
||||||
|
refine propext ?_
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
exact hx.left
|
||||||
|
· intro hx
|
||||||
|
exact ⟨hx, em (A x)⟩
|
||||||
|
|
||||||
|
section
|
||||||
|
|
||||||
|
variable {A B C : Set ℕ}
|
||||||
|
|
||||||
|
variable {hA : A = {1, 2, 3}}
|
||||||
|
variable {hB : B = {2, 3, 4}}
|
||||||
|
variable {hC : C = {3, 4, 5}}
|
||||||
|
|
||||||
|
lemma right_diff_eq_insert_one_three : A \ (B \ C) = {1, 3} := by
|
||||||
|
rw [hA, hB, hC]
|
||||||
|
ext x
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
unfold SDiff.sdiff Set.instSDiffSet Set.diff at hx
|
||||||
|
unfold Membership.mem Set.instMembershipSet Set.Mem setOf at hx
|
||||||
|
unfold insert Set.instInsertSet Set.insert setOf at hx
|
||||||
|
have ⟨ha, hb⟩ := hx
|
||||||
|
rw [not_and_de_morgan, not_or_de_morgan] at hb
|
||||||
|
simp only [Set.mem_singleton_iff, not_not] at hb
|
||||||
|
refine Or.elim ha Or.inl ?_
|
||||||
|
intro hy
|
||||||
|
apply Or.elim hb
|
||||||
|
· intro hz
|
||||||
|
exact Or.elim hy (absurd · hz.left) Or.inr
|
||||||
|
· intro hz
|
||||||
|
refine Or.elim hz Or.inr ?_
|
||||||
|
intro hz₁
|
||||||
|
apply Or.elim hy <;> apply Or.elim hz₁ <;>
|
||||||
|
· intro hz₂ hz₃
|
||||||
|
rw [hz₂] at hz₃
|
||||||
|
simp at hz₃
|
||||||
|
· intro hx
|
||||||
|
unfold SDiff.sdiff Set.instSDiffSet Set.diff
|
||||||
|
unfold Membership.mem Set.instMembershipSet Set.Mem setOf
|
||||||
|
unfold insert Set.instInsertSet Set.insert setOf
|
||||||
|
apply Or.elim hx
|
||||||
|
· intro hy
|
||||||
|
refine ⟨Or.inl hy, ?_⟩
|
||||||
|
intro hz
|
||||||
|
rw [hy] at hz
|
||||||
|
unfold Membership.mem Set.instMembershipSet Set.Mem at hz
|
||||||
|
unfold singleton Set.instSingletonSet Set.singleton setOf at hz
|
||||||
|
simp only at hz
|
||||||
|
· intro hy
|
||||||
|
refine ⟨Or.inr (Or.inr hy), ?_⟩
|
||||||
|
intro hz
|
||||||
|
have hzr := hz.right
|
||||||
|
rw [not_or_de_morgan] at hzr
|
||||||
|
exact absurd hy hzr.left
|
||||||
|
|
||||||
|
lemma left_diff_eq_singleton_one : (A \ B) \ C = {1} := by
|
||||||
|
rw [hA, hB, hC]
|
||||||
|
ext x
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
unfold SDiff.sdiff Set.instSDiffSet Set.diff at hx
|
||||||
|
unfold Membership.mem Set.instMembershipSet Set.Mem setOf at hx
|
||||||
|
unfold insert Set.instInsertSet Set.insert setOf at hx
|
||||||
|
have ⟨⟨ha, hb⟩, hc⟩ := hx
|
||||||
|
rw [not_or_de_morgan] at hb hc
|
||||||
|
apply Or.elim ha
|
||||||
|
· simp
|
||||||
|
· intro hy
|
||||||
|
apply Or.elim hy
|
||||||
|
· intro hz
|
||||||
|
exact absurd hz hb.left
|
||||||
|
· intro hz
|
||||||
|
exact absurd hz hc.left
|
||||||
|
· intro hx
|
||||||
|
refine ⟨⟨Or.inl hx, ?_⟩, ?_⟩ <;>
|
||||||
|
· intro hy
|
||||||
|
cases hy with
|
||||||
|
| inl y => rw [hx] at y; simp at y
|
||||||
|
| inr hz => cases hz with
|
||||||
|
| inl y => rw [hx] at y; simp at y
|
||||||
|
| inr y => rw [hx] at y; simp at y
|
||||||
|
|
||||||
|
/-- ### Exercise 4.14
|
||||||
|
|
||||||
|
Show by example that for some sets `A`, `B`, and `C`, the set `A - (B - C)` is
|
||||||
|
different from `(A - B) - C`.
|
||||||
|
-/
|
||||||
|
theorem exercise_4_14 : A \ (B \ C) ≠ (A \ B) \ C := by
|
||||||
|
rw [
|
||||||
|
@right_diff_eq_insert_one_three A B C hA hB hC,
|
||||||
|
@left_diff_eq_singleton_one A B C hA hB hC
|
||||||
|
]
|
||||||
|
intro h
|
||||||
|
rw [Set.ext_iff] at h
|
||||||
|
have := h 3
|
||||||
|
simp at this
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end Enderton.Set.Chapter_2
|
end Enderton.Set.Chapter_2
|
|
@ -1,5 +1,6 @@
|
||||||
import Common.Combinator
|
import Common.Combinator
|
||||||
import Common.Finset
|
import Common.Finset
|
||||||
import Common.List
|
import Common.List
|
||||||
|
import Common.Logic
|
||||||
import Common.Real
|
import Common.Real
|
||||||
import Common.Set
|
import Common.Set
|
|
@ -0,0 +1 @@
|
||||||
|
import Common.Logic.Basic
|
|
@ -0,0 +1,18 @@
|
||||||
|
import Mathlib.Logic.Basic
|
||||||
|
import Mathlib.Tactic.Tauto
|
||||||
|
|
||||||
|
/-! # Common.Logic.Basic
|
||||||
|
|
||||||
|
Additional theorems and definitions related to basic logic.
|
||||||
|
-/
|
||||||
|
|
||||||
|
/--
|
||||||
|
The de Morgan law that distributes negation across a conjunction.
|
||||||
|
-/
|
||||||
|
theorem not_and_de_morgan {a b : Prop} : (¬(a ∧ b)) ↔ (¬ a ∨ ¬ b) := by
|
||||||
|
tauto
|
||||||
|
|
||||||
|
/--
|
||||||
|
Renaming of `not_or` to indicate its relationship to de Morgan's laws.
|
||||||
|
-/
|
||||||
|
theorem not_or_de_morgan : ¬(p ∨ q) ↔ ¬p ∧ ¬q := not_or
|
|
@ -1,5 +1,7 @@
|
||||||
import Mathlib.Data.Set.Basic
|
import Mathlib.Data.Set.Basic
|
||||||
|
|
||||||
|
import Common.Logic.Basic
|
||||||
|
|
||||||
/-! # Common.Set.Basic
|
/-! # Common.Set.Basic
|
||||||
|
|
||||||
Additional theorems and definitions useful in the context of `Set`s.
|
Additional theorems and definitions useful in the context of `Set`s.
|
||||||
|
@ -87,4 +89,57 @@ theorem mem_mem_imp_pair_subset {x y : α}
|
||||||
· intro hy'
|
· intro hy'
|
||||||
rwa [hy']
|
rwa [hy']
|
||||||
|
|
||||||
|
/-! ## Symmetric Difference -/
|
||||||
|
|
||||||
|
/--
|
||||||
|
`x` is a member of the `symmDiff` of `A` and `B` **iff** `x ∈ A ∧ x ∉ B` or
|
||||||
|
`x ∉ A ∧ x ∈ B`.
|
||||||
|
-/
|
||||||
|
theorem mem_symm_diff_iff_exclusive_mem {A B : Set α}
|
||||||
|
: x ∈ (A ∆ B) ↔ (x ∈ A ∧ x ∉ B) ∨ (x ∉ A ∧ x ∈ B) := by
|
||||||
|
unfold symmDiff
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
simp at hx
|
||||||
|
conv => arg 2; rw [and_comm]
|
||||||
|
exact hx
|
||||||
|
· intro hx
|
||||||
|
simp
|
||||||
|
conv => arg 2; rw [and_comm]
|
||||||
|
exact hx
|
||||||
|
|
||||||
|
/--
|
||||||
|
`x` is not a member of the `symmDiff` of `A` and `B` **iff** `x ∈ A ∩ B` or
|
||||||
|
`x ∉ A ∪ B`.
|
||||||
|
|
||||||
|
This is the contraposition of `mem_symm_diff_iff_exclusive_mem`.
|
||||||
|
-/
|
||||||
|
theorem not_mem_symm_diff_inter_or_not_union {A B : Set α}
|
||||||
|
: x ∉ (A ∆ B) ↔ (x ∈ A ∩ B) ∨ (x ∉ A ∪ B) := by
|
||||||
|
unfold symmDiff
|
||||||
|
simp
|
||||||
|
rw [
|
||||||
|
not_or_de_morgan,
|
||||||
|
not_and_de_morgan, not_and_de_morgan,
|
||||||
|
not_not, not_not,
|
||||||
|
not_or_de_morgan
|
||||||
|
]
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
apply Or.elim hx.left
|
||||||
|
· intro nA
|
||||||
|
exact Or.elim hx.right
|
||||||
|
(fun nB => Or.inr ⟨nA, nB⟩)
|
||||||
|
(fun hA => absurd hA nA)
|
||||||
|
· intro hB
|
||||||
|
apply Or.elim hx.right
|
||||||
|
(fun nB => absurd hB nB)
|
||||||
|
(fun hA => Or.inl ⟨hA, hB⟩)
|
||||||
|
· intro hx
|
||||||
|
apply Or.elim hx
|
||||||
|
· intro hy
|
||||||
|
exact ⟨Or.inr hy.right, Or.inr hy.left⟩
|
||||||
|
· intro hy
|
||||||
|
exact ⟨Or.inl hy.left, Or.inl hy.right⟩
|
||||||
|
|
||||||
end Set
|
end Set
|
Loading…
Reference in New Issue