Enderton. Continue through theorem 3 set.
parent
d215265a91
commit
a6e6251627
|
@ -3037,14 +3037,14 @@ Show that an ordered $4$-tuple is also an ordered $m$-tuple for every positive
|
||||||
|
|
||||||
\statementpadding
|
\statementpadding
|
||||||
|
|
||||||
\lean*{Bookshelf/Enderton/Set/Chapter\_3}
|
\lean*{Common/Set/Relation}
|
||||||
{Enderton.Set.Chapter\_3.theorem\_3e\_i}
|
{Set.Relation.dom\_inv\_eq\_ran\_self}
|
||||||
|
|
||||||
\lean*{Bookshelf/Enderton/Set/Chapter\_3}
|
\lean*{Common/Set/Relation}
|
||||||
{Enderton.Set.Chapter\_3.theorem\_3e\_ii}
|
{Set.Relation.ran\_inv\_eq\_dom\_self}
|
||||||
|
|
||||||
\lean{Bookshelf/Enderton/Set/Chapter\_3}
|
\lean{Common/Set/Relation}
|
||||||
{Enderton.Set.Chapter\_3.theorem\_3e\_iii}
|
{Set.Relation.inv\_inv\_eq\_self}
|
||||||
|
|
||||||
We prove that (i) $\dom{(F^{-1})} = \ran{F}$, (ii) $\ran{(F^{-1})} = \dom{F}$,
|
We prove that (i) $\dom{(F^{-1})} = \ran{F}$, (ii) $\ran{(F^{-1})} = \dom{F}$,
|
||||||
and (iii) $(F^{-1})^{-1} = F$.
|
and (iii) $(F^{-1})^{-1} = F$.
|
||||||
|
@ -3081,7 +3081,7 @@ Show that an ordered $4$-tuple is also an ordered $m$-tuple for every positive
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsection{\partial{Theorem 3F}}%
|
\subsection{\verified{Theorem 3F}}%
|
||||||
\label{sub:theorem-3f}
|
\label{sub:theorem-3f}
|
||||||
|
|
||||||
\begin{theorem}[3F]
|
\begin{theorem}[3F]
|
||||||
|
@ -3095,11 +3095,11 @@ Show that an ordered $4$-tuple is also an ordered $m$-tuple for every positive
|
||||||
|
|
||||||
\statementpadding
|
\statementpadding
|
||||||
|
|
||||||
\lean*{Bookshelf/Enderton/Set/Chapter\_3}
|
\lean*{Common/Set/Relation}
|
||||||
{Enderton.Set.Chapter\_3.theorem\_3f\_i}
|
{Set.Relation.single\_valued\_inv\_iff\_single\_rooted\_self}
|
||||||
|
|
||||||
\lean{Bookshelf/Enderton/Set/Chapter\_3}
|
\lean{Common/Set/Relation}
|
||||||
{Enderton.Set.Chapter\_3.theorem\_3f\_ii}
|
{Set.Relation.single\_valued\_self\_iff\_single\_rooted\_inv}
|
||||||
|
|
||||||
We prove that (i) any set $F$, $F^{-1}$ is a function iff $F$ is
|
We prove that (i) any set $F$, $F^{-1}$ is a function iff $F$ is
|
||||||
single-rooted and (ii) any relation $F$ is a function iff $F^{-1}$ is
|
single-rooted and (ii) any relation $F$ is a function iff $F^{-1}$ is
|
||||||
|
@ -3151,14 +3151,16 @@ Show that an ordered $4$-tuple is also an ordered $m$-tuple for every positive
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
\subsection{\partial{Lemma 1}}%
|
\subsection{\verified{Lemma 1}}%
|
||||||
\label{sub:lemma-1}
|
\label{sub:lemma-1}
|
||||||
|
|
||||||
Assume that $F$ is a one-to-one function.
|
For any one-to-one function $F$, $F^{-1}$ is also one-to-one.
|
||||||
Then $F^{-1}$ is a one-to-one function.
|
|
||||||
|
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
|
|
||||||
|
\lean{Common/Set/Relation}
|
||||||
|
{Set.Relation.one\_to\_one\_self\_iff\_one\_to\_one\_inv}
|
||||||
|
|
||||||
We prove that (i) $F^{-1}$ is a function and (ii) $F^{-1}$ is single-rooted.
|
We prove that (i) $F^{-1}$ is a function and (ii) $F^{-1}$ is single-rooted.
|
||||||
|
|
||||||
\paragraph{(i)}%
|
\paragraph{(i)}%
|
||||||
|
@ -3211,11 +3213,11 @@ Then $F^{-1}$ is a one-to-one function.
|
||||||
|
|
||||||
For all $x \in \dom{F}$, $\left< x, F(x) \right> \in F$.
|
For all $x \in \dom{F}$, $\left< x, F(x) \right> \in F$.
|
||||||
Then $\left< F(x), x \right> \in F^{-1}$.
|
Then $\left< F(x), x \right> \in F^{-1}$.
|
||||||
Since $F^{-1}$ is single-valued, $F^{-1}(F(x)) = x$ is well-defined.
|
Since $F^{-1}$ is single-valued, $F^{-1}(F(x)) = x$.
|
||||||
|
|
||||||
For all $y \in \ran{F}$, $\left< y, F^{-1}(y) \right> \in F^{-1}$.
|
For all $y \in \ran{F}$, $\left< y, F^{-1}(y) \right> \in F^{-1}$.
|
||||||
Then $\left< F^{-1}(y), y \right> \in F$.
|
Then $\left< F^{-1}(y), y \right> \in F$.
|
||||||
Since $F$ is single-valued, $F(F^{-1}(y)) = y$ is also well-defined.
|
Since $F$ is single-valued, $F(F^{-1}(y)) = y$.
|
||||||
|
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
|
|
|
@ -432,86 +432,22 @@ theorem exercise_6_9_ii {A : Set (Set.Relation α)}
|
||||||
intro _ y hy R hR
|
intro _ y hy R hR
|
||||||
exact ⟨y, hy R hR⟩
|
exact ⟨y, hy R hR⟩
|
||||||
|
|
||||||
/-- ### Theorem 3E (i)
|
/-- ### Theorem 3G (i)
|
||||||
|
|
||||||
For a set `F`, `dom F⁻¹ = ran F`.
|
Assume that `F` is a one-to-one function. If `x ∈ dom F`, then `F⁻¹(F(x)) = x`.
|
||||||
-/
|
-/
|
||||||
theorem theorem_3e_i {F : Set.Relation α}
|
theorem theorem_3g_i {F : Set.Relation α}
|
||||||
: Set.Relation.dom (F.inv) = Set.Relation.ran F := by
|
(hF : Set.Relation.isOneToOne F) (hx : x ∈ F.dom)
|
||||||
ext x
|
: ∃! y, (x, y) ∈ F ∧ (y, x) ∈ F.inv := by
|
||||||
unfold Set.Relation.dom Set.Relation.ran Set.Relation.inv
|
|
||||||
simp only [
|
|
||||||
Prod.exists,
|
|
||||||
Set.mem_image,
|
|
||||||
Set.mem_setOf_eq,
|
|
||||||
Prod.mk.injEq,
|
|
||||||
exists_and_right,
|
|
||||||
exists_eq_right
|
|
||||||
]
|
|
||||||
apply Iff.intro
|
|
||||||
· intro ⟨y, a, _, h⟩
|
|
||||||
rw [← h.right.left]
|
|
||||||
exact ⟨a, h.left⟩
|
|
||||||
· intro ⟨y, hy⟩
|
|
||||||
exact ⟨y, y, x, hy, rfl, rfl⟩
|
|
||||||
|
|
||||||
/-- ### Theorem 3E (ii)
|
|
||||||
|
|
||||||
For a set `F`, `ran F⁻¹ = dom F`.
|
|
||||||
-/
|
|
||||||
theorem theorem_3e_ii {F : Set.Relation α}
|
|
||||||
: Set.Relation.ran (F.inv) = Set.Relation.dom F := by
|
|
||||||
ext x
|
|
||||||
unfold Set.Relation.dom Set.Relation.ran Set.Relation.inv
|
|
||||||
simp only [
|
|
||||||
Prod.exists,
|
|
||||||
Set.mem_image,
|
|
||||||
Set.mem_setOf_eq,
|
|
||||||
Prod.mk.injEq,
|
|
||||||
exists_eq_right,
|
|
||||||
exists_and_right
|
|
||||||
]
|
|
||||||
apply Iff.intro
|
|
||||||
· intro ⟨a, y, b, h⟩
|
|
||||||
rw [← h.right.right]
|
|
||||||
exact ⟨b, h.left⟩
|
|
||||||
· intro ⟨y, hy⟩
|
|
||||||
exact ⟨y, x, y, hy, rfl, rfl⟩
|
|
||||||
|
|
||||||
/-- ### Theorem 3E (iii)
|
|
||||||
|
|
||||||
For a set `F`, `(F⁻¹)⁻¹ = F`.
|
|
||||||
-/
|
|
||||||
theorem theorem_3e_iii {F : Set.Relation α}
|
|
||||||
: F.inv.inv = F := by
|
|
||||||
unfold Set.Relation.inv
|
|
||||||
simp only [Prod.exists, Set.mem_setOf_eq, Prod.mk.injEq]
|
|
||||||
ext x
|
|
||||||
apply Iff.intro
|
|
||||||
· intro hx
|
|
||||||
have ⟨a₁, b₁, ⟨⟨a₂, b₂, h₁⟩, h₂⟩⟩ := hx
|
|
||||||
rw [← h₂, ← h₁.right.right, ← h₁.right.left]
|
|
||||||
exact h₁.left
|
|
||||||
· intro hx
|
|
||||||
have (p, q) := x
|
|
||||||
refine ⟨q, p, ⟨?_, ?_⟩⟩
|
|
||||||
· exact ⟨p, q, hx, rfl, rfl⟩
|
|
||||||
· rfl
|
|
||||||
|
|
||||||
/-- ### Theorem 3F (i)
|
|
||||||
|
|
||||||
For a set `F`, `F⁻¹` is a function **iff** `F` is single-rooted.
|
|
||||||
-/
|
|
||||||
theorem theorem_3f_i {F : Set.Relation α}
|
|
||||||
: Set.Relation.isSingleValued F.inv ↔ Set.Relation.isSingleRooted F := by
|
|
||||||
sorry
|
sorry
|
||||||
|
|
||||||
/-- ### Theorem 3F (ii)
|
/-- ### Theorem 3G (ii)
|
||||||
|
|
||||||
For a relation `F`, `F` is a function **iff** `F⁻¹` is single-rooted.
|
Assume that `F` is a one-to-one function. If `y ∈ ran F`, then `F(F⁻¹(y)) = y`.
|
||||||
-/
|
-/
|
||||||
theorem theorem_3f_ii {F : Set.Relation α}
|
theorem theorem_3g_ii {F : Set.Relation α}
|
||||||
: Set.Relation.isSingleValued F ↔ Set.Relation.isSingleRooted F.inv := by
|
(hF : Set.Relation.isOneToOne F) (hy : x ∈ F.ran)
|
||||||
|
: ∃! x, (x, y) ∈ F ∧ (y, x) ∈ F.inv := by
|
||||||
sorry
|
sorry
|
||||||
|
|
||||||
end Enderton.Set.Chapter_3
|
end Enderton.Set.Chapter_3
|
|
@ -22,16 +22,52 @@ abbrev Relation (α : Type _) := Set (α × α)
|
||||||
|
|
||||||
namespace Relation
|
namespace Relation
|
||||||
|
|
||||||
|
/-! ## Domain and Range -/
|
||||||
|
|
||||||
/--
|
/--
|
||||||
The domain of a `Relation`.
|
The domain of a `Relation`.
|
||||||
-/
|
-/
|
||||||
def dom (R : Relation α) : Set α := Prod.fst '' R
|
def dom (R : Relation α) : Set α := Prod.fst '' R
|
||||||
|
|
||||||
|
/--
|
||||||
|
The first component of any pair in a `Relation` must be a member of the
|
||||||
|
`Relation`'s domain.
|
||||||
|
-/
|
||||||
|
theorem mem_pair_imp_fst_mem_dom {R : Relation α} (h : (x, y) ∈ R)
|
||||||
|
: x ∈ dom R := by
|
||||||
|
unfold dom Prod.fst
|
||||||
|
simp only [mem_image, Prod.exists, exists_and_right, exists_eq_right]
|
||||||
|
exact ⟨y, h⟩
|
||||||
|
|
||||||
|
/--
|
||||||
|
If `x ∈ dom R`, there exists some `y` such that `⟨x, y⟩ ∈ R`.
|
||||||
|
-/
|
||||||
|
theorem dom_exists {R : Relation α} (hx : x ∈ R.dom)
|
||||||
|
: ∃ y, (x, y) ∈ R := by
|
||||||
|
unfold dom at hx
|
||||||
|
simp only [mem_image, Prod.exists, exists_and_right, exists_eq_right] at hx
|
||||||
|
exact hx
|
||||||
|
|
||||||
/--
|
/--
|
||||||
The range of a `Relation`.
|
The range of a `Relation`.
|
||||||
-/
|
-/
|
||||||
def ran (R : Relation α) : Set α := Prod.snd '' R
|
def ran (R : Relation α) : Set α := Prod.snd '' R
|
||||||
|
|
||||||
|
theorem mem_pair_imp_snd_mem_ran {R : Relation α} (h : (x, y) ∈ R)
|
||||||
|
: y ∈ ran R := by
|
||||||
|
unfold ran Prod.snd
|
||||||
|
simp only [mem_image, Prod.exists, exists_eq_right]
|
||||||
|
exact ⟨x, h⟩
|
||||||
|
|
||||||
|
/--
|
||||||
|
If `x ∈ ran R`, there exists some `t` such that `⟨t, x⟩ ∈ R`.
|
||||||
|
-/
|
||||||
|
theorem ran_exists {R : Relation α} (hx : x ∈ R.ran)
|
||||||
|
: ∃ t, (t, x) ∈ R := by
|
||||||
|
unfold ran at hx
|
||||||
|
simp only [mem_image, Prod.exists, exists_eq_right] at hx
|
||||||
|
exact hx
|
||||||
|
|
||||||
/--
|
/--
|
||||||
The field of a `Relation`.
|
The field of a `Relation`.
|
||||||
-/
|
-/
|
||||||
|
@ -42,24 +78,113 @@ The inverse of a `Relation`.
|
||||||
-/
|
-/
|
||||||
def inv (R : Relation α) : Relation α := { (p.2, p.1) | p ∈ R }
|
def inv (R : Relation α) : Relation α := { (p.2, p.1) | p ∈ R }
|
||||||
|
|
||||||
|
/--
|
||||||
|
`(x, y)` is a member of relation `R` **iff** `(y, x)` is a member of `R⁻¹`.
|
||||||
|
-/
|
||||||
|
@[simp]
|
||||||
|
theorem mem_self_comm_mem_inv {R : Relation α}
|
||||||
|
: (y, x) ∈ R.inv ↔ (x, y) ∈ R := by
|
||||||
|
unfold inv
|
||||||
|
simp only [Prod.exists, mem_setOf_eq, Prod.mk.injEq]
|
||||||
|
apply Iff.intro
|
||||||
|
· intro ⟨x', y', hxy⟩
|
||||||
|
rw [← hxy.right.left, ← hxy.right.right]
|
||||||
|
exact hxy.left
|
||||||
|
· intro hxy
|
||||||
|
exact ⟨x, y, hxy, rfl, rfl⟩
|
||||||
|
|
||||||
|
/--
|
||||||
|
The inverse of the inverse of a `Relation` is the `Relation`.
|
||||||
|
-/
|
||||||
|
@[simp]
|
||||||
|
theorem inv_inv_eq_self (R : Relation α)
|
||||||
|
: R.inv.inv = R := by
|
||||||
|
unfold Set.Relation.inv
|
||||||
|
simp only [Prod.exists, Set.mem_setOf_eq, Prod.mk.injEq]
|
||||||
|
ext x
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hx
|
||||||
|
have ⟨a₁, b₁, ⟨⟨a₂, b₂, h₁⟩, h₂⟩⟩ := hx
|
||||||
|
rw [← h₂, ← h₁.right.right, ← h₁.right.left]
|
||||||
|
exact h₁.left
|
||||||
|
· intro hx
|
||||||
|
have (p, q) := x
|
||||||
|
refine ⟨q, p, ⟨?_, ?_⟩⟩
|
||||||
|
· exact ⟨p, q, hx, rfl, rfl⟩
|
||||||
|
· rfl
|
||||||
|
|
||||||
|
/--
|
||||||
|
For a set `F`, `dom F⁻¹ = ran F`.
|
||||||
|
-/
|
||||||
|
@[simp]
|
||||||
|
theorem dom_inv_eq_ran_self {F : Set.Relation α}
|
||||||
|
: Set.Relation.dom (F.inv) = Set.Relation.ran F := by
|
||||||
|
ext x
|
||||||
|
unfold Set.Relation.dom Set.Relation.ran Set.Relation.inv
|
||||||
|
simp only [
|
||||||
|
Prod.exists,
|
||||||
|
Set.mem_image,
|
||||||
|
Set.mem_setOf_eq,
|
||||||
|
Prod.mk.injEq,
|
||||||
|
exists_and_right,
|
||||||
|
exists_eq_right
|
||||||
|
]
|
||||||
|
apply Iff.intro
|
||||||
|
· intro ⟨y, a, _, h⟩
|
||||||
|
rw [← h.right.left]
|
||||||
|
exact ⟨a, h.left⟩
|
||||||
|
· intro ⟨y, hy⟩
|
||||||
|
exact ⟨y, y, x, hy, rfl, rfl⟩
|
||||||
|
|
||||||
|
/--
|
||||||
|
For a set `F`, `ran F⁻¹ = dom F`.
|
||||||
|
-/
|
||||||
|
@[simp]
|
||||||
|
theorem ran_inv_eq_dom_self {F : Set.Relation α}
|
||||||
|
: Set.Relation.ran (F.inv) = Set.Relation.dom F := by
|
||||||
|
ext x
|
||||||
|
unfold Set.Relation.dom Set.Relation.ran Set.Relation.inv
|
||||||
|
simp only [
|
||||||
|
Prod.exists,
|
||||||
|
Set.mem_image,
|
||||||
|
Set.mem_setOf_eq,
|
||||||
|
Prod.mk.injEq,
|
||||||
|
exists_eq_right,
|
||||||
|
exists_and_right
|
||||||
|
]
|
||||||
|
apply Iff.intro
|
||||||
|
· intro ⟨a, y, b, h⟩
|
||||||
|
rw [← h.right.right]
|
||||||
|
exact ⟨b, h.left⟩
|
||||||
|
· intro ⟨y, hy⟩
|
||||||
|
exact ⟨y, x, y, hy, rfl, rfl⟩
|
||||||
|
|
||||||
|
/-! ## Composition -/
|
||||||
|
|
||||||
/--
|
/--
|
||||||
The composition of two `Relation`s.
|
The composition of two `Relation`s.
|
||||||
-/
|
-/
|
||||||
def comp (F G : Relation α) : Relation α :=
|
def comp (F G : Relation α) : Relation α :=
|
||||||
{ p | ∃ t, (p.1, t) ∈ G ∧ (t, p.2) ∈ F}
|
{ p | ∃ t, (p.1, t) ∈ G ∧ (t, p.2) ∈ F}
|
||||||
|
|
||||||
|
/-! ## Restriction -/
|
||||||
|
|
||||||
/--
|
/--
|
||||||
The restriction of a `Relation` to a `Set`.
|
The restriction of a `Relation` to a `Set`.
|
||||||
-/
|
-/
|
||||||
def restriction (R : Relation α) (A : Set α) : Relation α :=
|
def restriction (R : Relation α) (A : Set α) : Relation α :=
|
||||||
{ p ∈ R | p.1 ∈ A }
|
{ p ∈ R | p.1 ∈ A }
|
||||||
|
|
||||||
|
/-! ## Image -/
|
||||||
|
|
||||||
/--
|
/--
|
||||||
The image of a `Relation` under a `Set`.
|
The image of a `Relation` under a `Set`.
|
||||||
-/
|
-/
|
||||||
def image (R : Relation α) (A : Set α) : Set α :=
|
def image (R : Relation α) (A : Set α) : Set α :=
|
||||||
{ y | ∃ u ∈ A, (u, y) ∈ R }
|
{ y | ∃ u ∈ A, (u, y) ∈ R }
|
||||||
|
|
||||||
|
/-! ## Single-Rooted and Single-Valued -/
|
||||||
|
|
||||||
/--
|
/--
|
||||||
A `Relation` `R` is said to be single-rooted **iff** for all `y ∈ ran R`, there
|
A `Relation` `R` is said to be single-rooted **iff** for all `y ∈ ran R`, there
|
||||||
exists exactly one `x` such that `⟨x, y⟩ ∈ R`.
|
exists exactly one `x` such that `⟨x, y⟩ ∈ R`.
|
||||||
|
@ -76,6 +201,72 @@ Notice, a `Relation` that is single-valued is a function.
|
||||||
def isSingleValued (R : Relation α) : Prop :=
|
def isSingleValued (R : Relation α) : Prop :=
|
||||||
∀ x ∈ R.dom, ∃! y, y ∈ R.ran ∧ (x, y) ∈ R
|
∀ x ∈ R.dom, ∃! y, y ∈ R.ran ∧ (x, y) ∈ R
|
||||||
|
|
||||||
|
/--
|
||||||
|
For a set `F`, `F⁻¹` is a function **iff** `F` is single-rooted.
|
||||||
|
-/
|
||||||
|
theorem single_valued_inv_iff_single_rooted_self {F : Set.Relation α}
|
||||||
|
: isSingleValued F.inv ↔ isSingleRooted F := by
|
||||||
|
apply Iff.intro
|
||||||
|
· intro hF
|
||||||
|
unfold isSingleValued at hF
|
||||||
|
simp only [
|
||||||
|
dom_inv_eq_ran_self,
|
||||||
|
ran_inv_eq_dom_self,
|
||||||
|
mem_self_comm_mem_inv
|
||||||
|
] at hF
|
||||||
|
suffices ∀ x ∈ F.ran, ∃! y, (y, x) ∈ F from hF
|
||||||
|
intro x hx
|
||||||
|
have ⟨y, hy⟩ := hF x hx
|
||||||
|
simp only [
|
||||||
|
ran_inv_eq_dom_self,
|
||||||
|
mem_self_comm_mem_inv,
|
||||||
|
and_imp
|
||||||
|
] at hy
|
||||||
|
refine ⟨y, hy.left.right, ?_⟩
|
||||||
|
intro y₁ hy₁
|
||||||
|
exact hy.right y₁ (mem_pair_imp_fst_mem_dom hy₁) hy₁
|
||||||
|
· intro hF
|
||||||
|
unfold isSingleRooted at hF
|
||||||
|
unfold isSingleValued
|
||||||
|
simp only [
|
||||||
|
dom_inv_eq_ran_self,
|
||||||
|
ran_inv_eq_dom_self,
|
||||||
|
mem_self_comm_mem_inv
|
||||||
|
]
|
||||||
|
exact hF
|
||||||
|
|
||||||
|
/--
|
||||||
|
For a relation `F`, `F` is a function **iff** `F⁻¹` is single-rooted.
|
||||||
|
-/
|
||||||
|
theorem single_valued_self_iff_single_rooted_inv {F : Set.Relation α}
|
||||||
|
: Set.Relation.isSingleValued F ↔ Set.Relation.isSingleRooted F.inv := by
|
||||||
|
conv => lhs; rw [← inv_inv_eq_self F]
|
||||||
|
rw [single_valued_inv_iff_single_rooted_self]
|
||||||
|
|
||||||
|
/--
|
||||||
|
A `Relation` `R` is one-to-one if it is a single-rooted function.
|
||||||
|
-/
|
||||||
|
def isOneToOne (R : Relation α) : Prop :=
|
||||||
|
isSingleValued R ∧ isSingleRooted R
|
||||||
|
|
||||||
|
/--
|
||||||
|
A `Relation` is one-to-one **iff** it's inverse is.
|
||||||
|
-/
|
||||||
|
theorem one_to_one_self_iff_one_to_one_inv {R : Relation α}
|
||||||
|
: isOneToOne R ↔ isOneToOne R.inv := by
|
||||||
|
unfold isOneToOne isSingleValued isSingleRooted
|
||||||
|
conv => rhs; simp only [
|
||||||
|
dom_inv_eq_ran_self,
|
||||||
|
ran_inv_eq_dom_self,
|
||||||
|
mem_self_comm_mem_inv,
|
||||||
|
eq_iff_iff
|
||||||
|
]
|
||||||
|
apply Iff.intro <;>
|
||||||
|
· intro ⟨hx, hy⟩
|
||||||
|
exact ⟨hy, hx⟩
|
||||||
|
|
||||||
|
/-! ## Ordered Pairs -/
|
||||||
|
|
||||||
/--
|
/--
|
||||||
Convert a `Relation` into an equivalent representation using `OrderedPair`s.
|
Convert a `Relation` into an equivalent representation using `OrderedPair`s.
|
||||||
-/
|
-/
|
||||||
|
|
Loading…
Reference in New Issue