Аналіз I, Глава 9.1
I have attempted to make the translation as faithful a paraphrasing as possible of the original text. When there is a choice between a more idiomatic Lean solution and a more faithful translation, I have generally chosen the latter. In particular, there will be places where the Lean code could be "golfed" to be more elegant and idiomatic, but I have consciously avoided doing so.
Main constructions and results of this section:
-
Intervals
-
Adherent points, limit points, isolated points
-
Closed sets and closure
-
The Heine-Borel theorem for the real line
/- Definition 9.1.1 (Intervals) -/
#check Set.Icc_def
Set.Icc_def.{u_1} {α : Type u_1} [Preorder α] (a b : α) : {x | a ≤ x ∧ x ≤ b} = Set.Icc a b
#check Set.Ico_def
Set.Ico_def.{u_1} {α : Type u_1} [Preorder α] (a b : α) : {x | a ≤ x ∧ x < b} = Set.Ico a b
#check Set.Ioc_def
Set.Ioc_def.{u_1} {α : Type u_1} [Preorder α] (a b : α) : {x | a < x ∧ x ≤ b} = Set.Ioc a b
#check Set.Ioo_def
Set.Ioo_def.{u_1} {α : Type u_1} [Preorder α] (a b : α) : {x | a < x ∧ x < b} = Set.Ioo a b
#check Set.Ici_def
Set.Ici_def.{u_1} {α : Type u_1} [Preorder α] (a : α) : {x | a ≤ x} = Set.Ici a
#check Set.Ioi_def
Set.Ioi_def.{u_1} {α : Type u_1} [Preorder α] (a : α) : {x | a < x} = Set.Ioi a
#check Set.Iic_def
Set.Iic_def.{u_1} {α : Type u_1} [Preorder α] (b : α) : {x | x ≤ b} = Set.Iic b
#check Set.Iio_def
Set.Iio_def.{u_1} {α : Type u_1} [Preorder α] (a : α) : {x | x < a} = Set.Iio a
#check EReal.image_coe_Icc
EReal.image_coe_Icc (x y : ℝ) : Real.toEReal '' Set.Icc x y = Set.Icc ↑x ↑y
#check EReal.image_coe_Ico
EReal.image_coe_Ico (x y : ℝ) : Real.toEReal '' Set.Ico x y = Set.Ico ↑x ↑y
#check EReal.image_coe_Ioc
EReal.image_coe_Ioc (x y : ℝ) : Real.toEReal '' Set.Ioc x y = Set.Ioc ↑x ↑y
#check EReal.image_coe_Ioo
EReal.image_coe_Ioo (x y : ℝ) : Real.toEReal '' Set.Ioo x y = Set.Ioo ↑x ↑y
#check EReal.image_coe_Ici
EReal.image_coe_Ici (x : ℝ) : Real.toEReal '' Set.Ici x = Set.Ico ↑x ⊤
#check EReal.image_coe_Ioi
EReal.image_coe_Ioi (x : ℝ) : Real.toEReal '' Set.Ioi x = Set.Ioo ↑x ⊤
#check EReal.image_coe_Iic
EReal.image_coe_Iic (x : ℝ) : Real.toEReal '' Set.Iic x = Set.Ioc ⊥ ↑x
#check EReal.image_coe_Iio
EReal.image_coe_Iio (x : ℝ) : Real.toEReal '' Set.Iio x = Set.Ioo ⊥ ↑x
Приклад 9.1.4
example {a b: EReal} (h: a > b) : Set.Icc a b = ∅ := a:ERealb:ERealh:a > b⊢ Set.Icc a b = ∅
All goals completed! 🐙
example {a b: EReal} (h: a ≥ b) : Set.Ico a b = ∅ := a:ERealb:ERealh:a ≥ b⊢ Set.Ico a b = ∅
All goals completed! 🐙
example {a b: EReal} (h: a ≥ b) : Set.Ioc a b = ∅ := a:ERealb:ERealh:a ≥ b⊢ Set.Ioc a b = ∅
All goals completed! 🐙
example {a b: EReal} (h: a ≥ b) : Set.Ioo a b = ∅ := a:ERealb:ERealh:a ≥ b⊢ Set.Ioo a b = ∅
All goals completed! 🐙
example {a b: EReal} (h: a = b) : Set.Icc a a = {a} := a:ERealb:ERealh:a = b⊢ Set.Icc a a = {a}
All goals completed! 🐙
Визначення 9.1.5. Note that a slightly different Real.adherent
was defined in Chapter 6.4
abbrev Real.adherent' (ε:ℝ) (x:ℝ) (X: Set ℝ) := ∃ y ∈ X, |x - y| ≤ ε
Приклад 9.1.7
example : (0.5:ℝ).adherent' 1.1 (Set.Ioo 0 1) := ⊢ Real.adherent' 0.5 1.1 (Set.Ioo 0 1) All goals completed! 🐙
example : ¬ (0.1:ℝ).adherent' 1.1 (Set.Ioo 0 1) := ⊢ ¬Real.adherent' 0.1 1.1 (Set.Ioo 0 1) All goals completed! 🐙
example : (0.5:ℝ).adherent' 1.1 {1,2,3} := ⊢ Real.adherent' 0.5 1.1 {1, 2, 3} All goals completed! 🐙
namespace Chapter9
example : AdherentPt 1 (Set.Ioo 0 1) := ⊢ AdherentPt 1 (Set.Ioo 0 1) All goals completed! 🐙
example : ¬ AdherentPt 2 (Set.Ioo 0 1) := ⊢ ¬AdherentPt 2 (Set.Ioo 0 1) All goals completed! 🐙
Визначення 9.1.10 (Closure). Here we identify this definition with the Mathilb version.
theorem closure_def (X:Set ℝ) : closure X = { x | AdherentPt x X } := X:Set ℝ⊢ closure X = {x | AdherentPt x X}
X:Set ℝx:ℝ⊢ x ∈ closure X ↔ x ∈ {x | AdherentPt x X}
X:Set ℝx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < ε) ↔ ∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ ε
X:Set ℝx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < ε) → ∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ εX:Set ℝx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ ε) → ∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < ε
X:Set ℝx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < ε) → ∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ ε X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < εε:ℝhε:0 < ε⊢ ∃ y ∈ X, |x - y| ≤ ε
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < εε:ℝhε:0 < εy:ℝhy:y ∈ Xhxy:|y - x| < ε⊢ ∃ y ∈ X, |x - y| ≤ ε
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < εε:ℝhε:0 < εy:ℝhy:y ∈ Xhxy:|y - x| < ε⊢ |x - y| ≤ ε
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |y - x| < εε:ℝhε:0 < εy:ℝhy:y ∈ Xhxy:|y - x| < ε⊢ |y - x| ≤ ε; All goals completed! 🐙
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ εε:ℝhε:0 < ε⊢ ∃ y ∈ X, |y - x| < ε
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ εε:ℝhε:0 < εy:ℝhy:y ∈ Xhxy:|x - y| ≤ ε / 2⊢ ∃ y ∈ X, |y - x| < ε
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ εε:ℝhε:0 < εy:ℝhy:y ∈ Xhxy:|x - y| ≤ ε / 2⊢ |y - x| < ε
X:Set ℝx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y ∈ X, |x - y| ≤ εε:ℝhε:0 < εy:ℝhy:y ∈ Xhxy:|x - y| ≤ ε / 2⊢ |x - y| < ε; All goals completed! 🐙
theorem closure_def' (X:Set ℝ) (x :ℝ) : x ∈ closure X ↔ AdherentPt x X := X:Set ℝx:ℝ⊢ x ∈ closure X ↔ AdherentPt x X
All goals completed! 🐙
identification of AdherentPt
with Mathlib's ClusterPt
theorem AdherentPt_def (x:ℝ) (X:Set ℝ) : AdherentPt x X = ClusterPt x (Filter.principal X) := x:ℝX:Set ℝ⊢ AdherentPt x X = ClusterPt x (Filter.principal X)
All goals completed! 🐙
Лема 9.1.11 / Вправа 9.1.2
theorem subset_closure (X:Set ℝ): X ⊆ closure X := X:Set ℝ⊢ X ⊆ closure X All goals completed! 🐙
Лема 9.1.11 / Вправа 9.1.2
theorem closure_union (X Y:Set ℝ): closure (X ∪ Y) = closure X ∪ closure Y := X:Set ℝY:Set ℝ⊢ closure (X ∪ Y) = closure X ∪ closure Y All goals completed! 🐙
Лема 9.1.11 / Вправа 9.1.2
theorem closure_inter (X Y:Set ℝ): closure (X ∩ Y) ⊆ closure X ∩ closure Y := X:Set ℝY:Set ℝ⊢ closure (X ∩ Y) ⊆ closure X ∩ closure Y All goals completed! 🐙
Лема 9.1.11 / Вправа 9.1.2
theorem closure_subset {X Y:Set ℝ} (h: X ⊆ Y): closure X ⊆ closure Y := X:Set ℝY:Set ℝh:X ⊆ Y⊢ closure X ⊆ closure Y All goals completed! 🐙
Вправа 9.1.1
theorem closure_of_subset_closure {X Y:Set ℝ} (h: X ⊆ Y) (h' : Y ⊆ closure X): closure Y = closure X := X:Set ℝY:Set ℝh:X ⊆ Yh':Y ⊆ closure X⊢ closure Y = closure X All goals completed! 🐙
Лема 9.1.12
theorem closure_of_Ioo {a b:ℝ} (h:a < b) : closure (Set.Ioo a b) = Set.Icc a b := a:ℝb:ℝh:a < b⊢ closure (Set.Ioo a b) = Set.Icc a b
-- цей доказ написан так, щоб співпадати із структурою орігінального тексту.
a:ℝb:ℝh:a < bx:ℝ⊢ x ∈ closure (Set.Ioo a b) ↔ x ∈ Set.Icc a b; a:ℝb:ℝh:a < bx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε) ↔ a ≤ x ∧ x ≤ b
a:ℝb:ℝh:a < bx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε) → a ≤ x ∧ x ≤ ba:ℝb:ℝh:a < bx:ℝ⊢ a ≤ x ∧ x ≤ b → ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε
a:ℝb:ℝh:a < bx:ℝ⊢ (∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε) → a ≤ x ∧ x ≤ b a:ℝb:ℝh✝:a < bx:ℝh:∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε⊢ a ≤ x ∧ x ≤ b
a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < x⊢ ∃ ε, 0 < ε ∧ ∀ (y : ℝ), a < y ∧ y < b → ε < |x - y|
a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < xh':a ≤ x⊢ ∃ ε, 0 < ε ∧ ∀ (y : ℝ), a < y ∧ y < b → ε < |x - y|a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < xh':a > x⊢ ∃ ε, 0 < ε ∧ ∀ (y : ℝ), a < y ∧ y < b → ε < |x - y|
a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < xh':a ≤ x⊢ ∃ ε, 0 < ε ∧ ∀ (y : ℝ), a < y ∧ y < b → ε < |x - y| a:ℝb:ℝh✝:a < bx:ℝh':a ≤ xh:b < x⊢ ∃ ε, 0 < ε ∧ ∀ (y : ℝ), a < y ∧ y < b → ε < |x - y|
use x-b, a:ℝb:ℝh✝:a < bx:ℝh':a ≤ xh:b < x⊢ 0 < x - b All goals completed! 🐙
a:ℝb:ℝh✝:a < bx:ℝh':a ≤ xh:b < xy:ℝh1:a < yh2:y < b⊢ x - b < |x - y|
a:ℝb:ℝh✝:a < bx:ℝh':a ≤ xh:b < xy:ℝh1:a < yh2:y < b⊢ x - b < x - y
All goals completed! 🐙
use a-x, a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < xh':a > x⊢ 0 < a - x All goals completed! 🐙
a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < xh':a > xy:ℝh1:a < yh2:y < b⊢ a - x < |x - y|
a:ℝb:ℝh✝:a < bx:ℝh:a ≤ x → b < xh':a > xy:ℝh1:a < yh2:y < b⊢ a - x < -(x - y)
All goals completed! 🐙
a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ b⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε
a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:x = a⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ εa:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = a⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε
a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:x = a⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε All goals completed! 🐙
a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = ahb:x = b⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ εa:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = ahb:¬x = b⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε
a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = ahb:x = b⊢ ∀ (ε : ℝ), 0 < ε → ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε All goals completed! 🐙
a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = ahb:¬x = bε:ℝhε:0 < ε⊢ ∃ y, (a < y ∧ y < b) ∧ |x - y| ≤ ε
use x, ⟨ a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = ahb:¬x = bε:ℝhε:0 < ε⊢ a < x a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bhb:¬x = bε:ℝhε:0 < εha:x ≤ a⊢ x = a; All goals completed! 🐙, a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = ahb:¬x = bε:ℝhε:0 < ε⊢ x < b a:ℝb:ℝh:a < bx:ℝh1:a ≤ xh2:x ≤ bha:¬x = aε:ℝhε:0 < εhb:b ≤ x⊢ x = b; All goals completed! 🐙 ⟩
All goals completed! 🐙
theorem closure_of_Ioc {a b:ℝ} (h:a < b) : closure (Set.Ioc a b) = Set.Icc a b := a:ℝb:ℝh:a < b⊢ closure (Set.Ioc a b) = Set.Icc a b
All goals completed! 🐙
theorem closure_of_Ico {a b:ℝ} (h:a < b) : closure (Set.Ico a b) = Set.Icc a b := a:ℝb:ℝh:a < b⊢ closure (Set.Ico a b) = Set.Icc a b
All goals completed! 🐙
theorem closure_of_Icc {a b:ℝ} (h:a ≤ b) : closure (Set.Icc a b) = Set.Icc a b := a:ℝb:ℝh:a ≤ b⊢ closure (Set.Icc a b) = Set.Icc a b
All goals completed! 🐙
theorem closure_of_Ioi {a:ℝ} : closure (Set.Ioi a) = Set.Ici a := a:ℝ⊢ closure (Set.Ioi a) = Set.Ici a
All goals completed! 🐙
theorem closure_of_Ici {a:ℝ} : closure (Set.Ici a) = Set.Ici a := a:ℝ⊢ closure (Set.Ici a) = Set.Ici a
All goals completed! 🐙
theorem closure_of_Iio {a:ℝ} : closure (Set.Iio a) = Set.Iic a := a:ℝ⊢ closure (Set.Iio a) = Set.Iic a
All goals completed! 🐙
theorem closure_of_Iic {a:ℝ} : closure (Set.Iic a) = Set.Iic a := a:ℝ⊢ closure (Set.Iic a) = Set.Iic a
All goals completed! 🐙
theorem closure_of_R : closure (Set.univ: Set ℝ) = Set.univ := ⊢ closure Set.univ = Set.univ All goals completed! 🐙
Лема 9.1.13 / Вправа 9.1.3
theorem closure_of_N :
closure ((fun n:ℕ ↦ (n:ℝ)) '' Set.univ) = ((fun n:ℕ ↦ (n:ℝ)) '' Set.univ) := ⊢ closure ((fun n => ↑n) '' Set.univ) = (fun n => ↑n) '' Set.univ
All goals completed! 🐙
Лема 9.1.13 / Вправа 9.1.3
theorem closure_of_Z :
closure ((fun n:ℤ ↦ (n:ℝ)) '' Set.univ) = ((fun n:ℤ ↦ (n:ℝ)) '' Set.univ) := ⊢ closure ((fun n => ↑n) '' Set.univ) = (fun n => ↑n) '' Set.univ
All goals completed! 🐙
Лема 9.1.13 / Вправа 9.1.3
theorem closure_of_Q :
closure ((fun n:ℚ ↦ (n:ℝ)) '' Set.univ) = Set.univ := ⊢ closure ((fun n => ↑n) '' Set.univ) = Set.univ
All goals completed! 🐙
Лема 9.1.14 / Вправа 9.1.5
theorem limit_of_AdherentPt (X: Set ℝ) (x:ℝ) :
AdherentPt x X ↔ ∃ a : ℕ → ℝ, (∀ n, a n ∈ X) ∧ Filter.Tendsto a Filter.atTop (nhds x) := X:Set ℝx:ℝ⊢ AdherentPt x X ↔ ∃ a, (∀ (n : ℕ), a n ∈ X) ∧ Filter.Tendsto a Filter.atTop (nhds x)
All goals completed! 🐙
theorem AdherentPt.of_mem {X: Set ℝ} {x: ℝ} (h: x ∈ X) : AdherentPt x X := X:Set ℝx:ℝh:x ∈ X⊢ AdherentPt x X
X:Set ℝx:ℝh:x ∈ X⊢ ∃ a, (∀ (n : ℕ), a n ∈ X) ∧ Filter.Tendsto a Filter.atTop (nhds x)
X:Set ℝx:ℝh:x ∈ X⊢ (∀ (n : ℕ), (fun x_1 => x) n ∈ X) ∧ Filter.Tendsto (fun x_1 => x) Filter.atTop (nhds x)
All goals completed! 🐙
Визначення 9.1.15. Here we use the Mathlib definition.
theorem isClosed_def (X:Set ℝ): IsClosed X ↔ closure X = X :=
closure_eq_iff_isClosed.symm
theorem isClosed_def' (X:Set ℝ): IsClosed X ↔ ∀ x, AdherentPt x X → x ∈ X := X:Set ℝ⊢ IsClosed X ↔ ∀ (x : ℝ), AdherentPt x X → x ∈ X
X:Set ℝ⊢ closure X ⊆ X ↔ ∀ (x : ℝ), AdherentPt x X → x ∈ X
X:Set ℝ⊢ {x | AdherentPt x X} ⊆ X ↔ ∀ (x : ℝ), AdherentPt x X → x ∈ X
All goals completed! 🐙
Приклади 9.1.16
theorem Icc_closed {a b:ℝ} (h: a ≤ b) : IsClosed (Set.Icc a b) := a:ℝb:ℝh:a ≤ b⊢ IsClosed (Set.Icc a b) All goals completed! 🐙
Приклади 9.1.16
theorem Ici_closed (a:ℝ) : IsClosed (Set.Ici a) := a:ℝ⊢ IsClosed (Set.Ici a) All goals completed! 🐙
Приклади 9.1.16
theorem Iic_closed (a:ℝ) : IsClosed (Set.Iic a) := a:ℝ⊢ IsClosed (Set.Iic a) All goals completed! 🐙
Приклади 9.1.16
theorem R_closed : IsClosed (Set.univ : Set ℝ) := ⊢ IsClosed Set.univ All goals completed! 🐙
Приклади 9.1.16
theorem Ico_not_closed {a b:ℝ} (h: a < b) : ¬ IsClosed (Set.Ico a b) := a:ℝb:ℝh:a < b⊢ ¬IsClosed (Set.Ico a b) All goals completed! 🐙
Приклади 9.1.16
theorem Ioc_not_closed {a b:ℝ} (h: a < b) : ¬ IsClosed (Set.Ioc a b) := a:ℝb:ℝh:a < b⊢ ¬IsClosed (Set.Ioc a b) All goals completed! 🐙
Приклади 9.1.16
theorem Ioo_not_closed {a b:ℝ} (h: a < b) : ¬ IsClosed (Set.Ioo a b) := a:ℝb:ℝh:a < b⊢ ¬IsClosed (Set.Ioo a b) All goals completed! 🐙
Приклади 9.1.16
theorem Ioi_not_closed (a:ℝ) : ¬ IsClosed (Set.Ioi a) := a:ℝ⊢ ¬IsClosed (Set.Ioi a) All goals completed! 🐙
Приклади 9.1.16
theorem Iio_not_closed (a:ℝ) : ¬ IsClosed (Set.Iio a) := a:ℝ⊢ ¬IsClosed (Set.Iio a) All goals completed! 🐙
Приклади 9.1.16
theorem N_closed : IsClosed ((fun n:ℕ ↦ (n:ℝ)) '' Set.univ) := ⊢ IsClosed ((fun n => ↑n) '' Set.univ) All goals completed! 🐙
Приклади 9.1.16
theorem Z_closed : IsClosed ((fun n:ℤ ↦ (n:ℝ)) '' Set.univ) := ⊢ IsClosed ((fun n => ↑n) '' Set.univ) All goals completed! 🐙
Приклади 9.1.16
theorem Q_not_closed : ¬ IsClosed ((fun n:ℚ ↦ (n:ℝ)) '' Set.univ) := ⊢ ¬IsClosed ((fun n => ↑n) '' Set.univ) All goals completed! 🐙
Наслідок 9.1.17
theorem isClosed_iff_limits_mem (X: Set ℝ) :
IsClosed X ↔ ∀ (a:ℕ → ℝ) (L:ℝ), (∀ n, a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ X := X:Set ℝ⊢ IsClosed X ↔ ∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ X
X:Set ℝ⊢ (∀ (x : ℝ), AdherentPt x X → x ∈ X) ↔
∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ X
X:Set ℝ⊢ (∀ (x : ℝ), AdherentPt x X → x ∈ X) →
∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ XX:Set ℝ⊢ (∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ X) →
∀ (x : ℝ), AdherentPt x X → x ∈ X
X:Set ℝ⊢ (∀ (x : ℝ), AdherentPt x X → x ∈ X) →
∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ X X:Set ℝh:∀ (x : ℝ), AdherentPt x X → x ∈ Xa:ℕ → ℝL:ℝha:∀ (n : ℕ), a n ∈ XhL:Filter.Tendsto a Filter.atTop (nhds L)⊢ L ∈ X
X:Set ℝh:∀ (x : ℝ), AdherentPt x X → x ∈ Xa:ℕ → ℝL:ℝha:∀ (n : ℕ), a n ∈ XhL:Filter.Tendsto a Filter.atTop (nhds L)⊢ AdherentPt L X
X:Set ℝh:∀ (x : ℝ), AdherentPt x X → x ∈ Xa:ℕ → ℝL:ℝha:∀ (n : ℕ), a n ∈ XhL:Filter.Tendsto a Filter.atTop (nhds L)⊢ ∃ a, (∀ (n : ℕ), a n ∈ X) ∧ Filter.Tendsto a Filter.atTop (nhds L)
All goals completed! 🐙
X:Set ℝh:∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ Xx:ℝhx:AdherentPt x X⊢ x ∈ X
X:Set ℝh:∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ Xx:ℝhx:∃ a, (∀ (n : ℕ), a n ∈ X) ∧ Filter.Tendsto a Filter.atTop (nhds x)⊢ x ∈ X
X:Set ℝh:∀ (a : ℕ → ℝ) (L : ℝ), (∀ (n : ℕ), a n ∈ X) → Filter.Tendsto a Filter.atTop (nhds L) → L ∈ Xx:ℝa:ℕ → ℝha:∀ (n : ℕ), a n ∈ XhL:Filter.Tendsto a Filter.atTop (nhds x)⊢ x ∈ X
All goals completed! 🐙
Identification with Mathlib's AccPt
theorem LimitPt.iff_AccPt (x:ℝ) (X: Set ℝ) : LimitPt x X ↔ AccPt x (Filter.principal X) := x:ℝX:Set ℝ⊢ LimitPt x X ↔ AccPt x (Filter.principal X)
All goals completed! 🐙
Визначення 9.1.18 (Isolated points)
abbrev IsolatedPt (x:ℝ) (X: Set ℝ) := x ∈ X ∧ ∃ ε>0, ∀ y ∈ X \ {x}, |x-y| > ε
Приклад 9.1.19
example : AdherentPt 3 ((Set.Ioo 1 2) ∪ {3}) := ⊢ AdherentPt 3 (Set.Ioo 1 2 ∪ {3}) All goals completed! 🐙
example : ¬ LimitPt 3 ((Set.Ioo 1 2) ∪ {3}) := ⊢ ¬LimitPt 3 (Set.Ioo 1 2 ∪ {3}) All goals completed! 🐙
example : IsolatedPt 3 ((Set.Ioo 1 2) ∪ {3}) := ⊢ IsolatedPt 3 (Set.Ioo 1 2 ∪ {3}) All goals completed! 🐙
Ремарка 9.1.20
theorem LimitPt.iff_limit (x:ℝ) (X: Set ℝ) :
LimitPt x X ↔ ∃ a : ℕ → ℝ, (∀ n, a n ∈ X \ {x}) ∧ Filter.Tendsto a Filter.atTop (nhds x) := x:ℝX:Set ℝ⊢ LimitPt x X ↔ ∃ a, (∀ (n : ℕ), a n ∈ X \ {x}) ∧ Filter.Tendsto a Filter.atTop (nhds x)
All goals completed! 🐙
open Filter in
/-- This lemma is in more recent versions of Mathlib and can be deleted once Mathlib is updated. -/
theorem tendsto_mul_add_inv_atTop_nhds_zero (a c : ℝ) (ha : a ≠ 0) :
Tendsto (fun x => (a * x + c)⁻¹) atTop (nhds 0) := a:ℝc:ℝha:a ≠ 0⊢ Tendsto (fun x => (a * x + c)⁻¹) atTop (nhds 0)
a:ℝc:ℝha:a ≠ 0ha':a < 0⊢ Tendsto (fun x => (a * x + c)⁻¹) atTop (nhds 0)a:ℝc:ℝha:a ≠ 0ha':a > 0⊢ Tendsto (fun x => (a * x + c)⁻¹) atTop (nhds 0)
a:ℝc:ℝha:a ≠ 0ha':a < 0⊢ Tendsto (fun x => (a * x + c)⁻¹) atTop (nhds 0) All goals completed! 🐙
a:ℝc:ℝha:a ≠ 0ha':a > 0⊢ Tendsto (fun x => (a * x + c)⁻¹) atTop (nhds 0) All goals completed! 🐙
Лема 9.1.21
theorem mem_Icc_isLimit {a b x:ℝ} (h: a < b) (hx: x ∈ Set.Icc a b) : LimitPt x (Set.Icc a b) := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b)
-- This proof is written to follow the structure of the original text, with some slight simplifications.
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ b⊢ LimitPt x (Set.Icc a b)
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ b⊢ ∃ a_1, (∀ (n : ℕ), a_1 n ∈ Set.Icc a b \ {x}) ∧ Filter.Tendsto a_1 Filter.atTop (nhds x)
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ ∃ a_1, (∀ (n : ℕ), a_1 n ∈ Set.Icc a b \ {x}) ∧ Filter.Tendsto a_1 Filter.atTop (nhds x)a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x = b⊢ ∃ a_1, (∀ (n : ℕ), a_1 n ∈ Set.Icc a b \ {x}) ∧ Filter.Tendsto a_1 Filter.atTop (nhds x)
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ ∃ a_1, (∀ (n : ℕ), a_1 n ∈ Set.Icc a b \ {x}) ∧ Filter.Tendsto a_1 Filter.atTop (nhds x) a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ (∀ (n : ℕ), (fun n => x + 1 / (↑n + (b - x)⁻¹)) n ∈ Set.Icc a b \ {x}) ∧
Filter.Tendsto (fun n => x + 1 / (↑n + (b - x)⁻¹)) Filter.atTop (nhds x)
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ ∀ (n : ℕ), x + 1 / (↑n + (b - x)⁻¹) ∈ Set.Icc a b \ {x}a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ Filter.Tendsto (fun n => x + 1 / (↑n + (b - x)⁻¹)) Filter.atTop (nhds x)
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ ∀ (n : ℕ), x + 1 / (↑n + (b - x)⁻¹) ∈ Set.Icc a b \ {x} a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕ⊢ x + 1 / (↑n + (b - x)⁻¹) ∈ Set.Icc a b \ {x}
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕ⊢ (a ≤ x + (↑n + (b - x)⁻¹)⁻¹ ∧ x + (↑n + (b - x)⁻¹)⁻¹ ≤ b) ∧ ¬↑n + (b - x)⁻¹ = 0
have : b - x > 0 := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b) All goals completed! 🐙
have : (b - x)⁻¹ > 0 := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b) All goals completed! 🐙
have : n + (b - x)⁻¹ > 0 := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b) All goals completed! 🐙
refine ⟨ ⟨ ?_, ?_⟩, a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕthis✝¹:b - x > 0this✝:(b - x)⁻¹ > 0this:↑n + (b - x)⁻¹ > 0⊢ ¬↑n + (b - x)⁻¹ = 0 All goals completed! 🐙 ⟩
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕthis✝¹:b - x > 0this✝:(b - x)⁻¹ > 0this:↑n + (b - x)⁻¹ > 0⊢ a ≤ x + (↑n + (b - x)⁻¹)⁻¹ have : (n+(b - x)⁻¹)⁻¹ > 0 := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b) All goals completed! 🐙
All goals completed! 🐙
have : (b-x)⁻¹ ≤ n + (b - x)⁻¹ := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b) All goals completed! 🐙
have : (n + (b - x)⁻¹)⁻¹ ≤ b-x := a:ℝb:ℝx:ℝh:a < bhx:x ∈ Set.Icc a b⊢ LimitPt x (Set.Icc a b) rwa [inv_le_comm₀ (a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕthis✝²:b - x > 0this✝¹:(b - x)⁻¹ > 0this✝:↑n + (b - x)⁻¹ > 0this:(b - x)⁻¹ ≤ ↑n + (b - x)⁻¹⊢ 0 < ↑n + (b - x)⁻¹ All goals completed! 🐙) (a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕthis✝²:b - x > 0this✝¹:(b - x)⁻¹ > 0this✝:↑n + (b - x)⁻¹ > 0this:(b - x)⁻¹ ≤ ↑n + (b - x)⁻¹⊢ 0 < b - x All goals completed! 🐙)a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < bn:ℕthis✝²:b - x > 0this✝¹:(b - x)⁻¹ > 0this✝:↑n + (b - x)⁻¹ > 0this:(b - x)⁻¹ ≤ ↑n + (b - x)⁻¹⊢ (b - x)⁻¹ ≤ ↑n + (b - x)⁻¹
All goals completed! 🐙
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ x = x + 0a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ Filter.Tendsto (fun k => 1 / (↑k + (b - x)⁻¹)) Filter.atTop (nhds 0)
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ x = x + 0 All goals completed! 🐙
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ Filter.Tendsto (fun k => 1 / (k + (b - x)⁻¹)) Filter.atTop (nhds 0)a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ Filter.Tendsto (fun k => ↑k) Filter.atTop Filter.atTop
a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ Filter.Tendsto (fun k => 1 / (k + (b - x)⁻¹)) Filter.atTop (nhds 0) convert tendsto_mul_add_inv_atTop_nhds_zero 1 (b - x)⁻¹ (a:ℝb:ℝx:ℝh:a < bhx:a ≤ x ∧ x ≤ bhxb:x < b⊢ 1 ≠ 0 All goals completed! 🐙) using 2 with n
All goals completed! 🐙
All goals completed! 🐙
All goals completed! 🐙
theorem mem_Ico_isLimit {a b x:ℝ} (hx: x ∈ Set.Ico a b) : LimitPt x (Set.Ico a b) := a:ℝb:ℝx:ℝhx:x ∈ Set.Ico a b⊢ LimitPt x (Set.Ico a b)
All goals completed! 🐙
theorem mem_Ioc_isLimit {a b x:ℝ} (hx: x ∈ Set.Ioc a b) : LimitPt x (Set.Ioc a b) := a:ℝb:ℝx:ℝhx:x ∈ Set.Ioc a b⊢ LimitPt x (Set.Ioc a b)
All goals completed! 🐙
theorem mem_Ioo_isLimit {a b x:ℝ} (hx: x ∈ Set.Ioo a b) : LimitPt x (Set.Ioo a b) := a:ℝb:ℝx:ℝhx:x ∈ Set.Ioo a b⊢ LimitPt x (Set.Ioo a b)
All goals completed! 🐙
theorem mem_Ici_isLimit {a x:ℝ} (hx: x ∈ Set.Ici a) : LimitPt x (Set.Ici a) := a:ℝx:ℝhx:x ∈ Set.Ici a⊢ LimitPt x (Set.Ici a)
All goals completed! 🐙
theorem mem_Ioi_isLimit {a x:ℝ} (hx: x ∈ Set.Ioi a) : LimitPt x (Set.Ioi a) := a:ℝx:ℝhx:x ∈ Set.Ioi a⊢ LimitPt x (Set.Ioi a)
All goals completed! 🐙
theorem mem_Iic_isLimit {a x:ℝ} (hx: x ∈ Set.Iic a) : LimitPt x (Set.Iic a) := a:ℝx:ℝhx:x ∈ Set.Iic a⊢ LimitPt x (Set.Iic a)
All goals completed! 🐙
theorem mem_Iio_isLimit {a x:ℝ} (hx: x ∈ Set.Iio a) : LimitPt x (Set.Iio a) := a:ℝx:ℝhx:x ∈ Set.Iio a⊢ LimitPt x (Set.Iio a)
All goals completed! 🐙
theorem mem_R_isLimit {x:ℝ} : LimitPt x (Set.univ) := x:ℝ⊢ LimitPt x Set.univ
All goals completed! 🐙
Визначення 9.1.22. We use here Mathlib's Bornology.IsBounded
theorem isBounded_def (X: Set ℝ) : Bornology.IsBounded X ↔ ∃ M > 0, X ⊆ Set.Icc (-M) M := X:Set ℝ⊢ Bornology.IsBounded X ↔ ∃ M > 0, X ⊆ Set.Icc (-M) M
X:Set ℝ⊢ (∃ C, ∀ x ∈ X, |x| ≤ C) ↔ ∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) M
X:Set ℝ⊢ (∃ C, ∀ x ∈ X, |x| ≤ C) → ∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) MX:Set ℝ⊢ (∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) M) → ∃ C, ∀ x ∈ X, |x| ≤ C
X:Set ℝ⊢ (∃ C, ∀ x ∈ X, |x| ≤ C) → ∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) M X:Set ℝh:∃ C, ∀ x ∈ X, |x| ≤ C⊢ ∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) M
X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ C⊢ ∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) M
X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ C⊢ 0 < max C 1 ∧ X ⊆ Set.Icc (-max C 1) (max C 1)
X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ C⊢ 0 < max C 1X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ C⊢ X ⊆ Set.Icc (-max C 1) (max C 1)
X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ C⊢ 0 < max C 1 X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ C⊢ 0 < 1
All goals completed! 🐙
X:Set ℝC:ℝhC:∀ x ∈ X, |x| ≤ Cx:ℝhx:x ∈ X⊢ x ∈ Set.Icc (-max C 1) (max C 1)
X:Set ℝC:ℝx:ℝhx:x ∈ XhC:|x| ≤ C⊢ x ∈ Set.Icc (-max C 1) (max C 1)
X:Set ℝC:ℝx:ℝhx:x ∈ XhC:x ≤ C ∧ -x ≤ C⊢ x ∈ Set.Icc (-max C 1) (max C 1)
X:Set ℝC:ℝx:ℝhx:x ∈ XhC:x ≤ C ∧ -x ≤ C⊢ -max C 1 ≤ x
X:Set ℝC:ℝx:ℝhx:x ∈ XhC:x ≤ C ∧ -x ≤ Cthis:C ≤ max C 1⊢ -max C 1 ≤ x
All goals completed! 🐙
X:Set ℝh:∃ M, 0 < M ∧ X ⊆ Set.Icc (-M) M⊢ ∃ C, ∀ x ∈ X, |x| ≤ C
X:Set ℝM:ℝhM:0 < MhXM:X ⊆ Set.Icc (-M) M⊢ ∃ C, ∀ x ∈ X, |x| ≤ C
X:Set ℝM:ℝhM:0 < MhXM:X ⊆ Set.Icc (-M) M⊢ ∀ x ∈ X, |x| ≤ M
X:Set ℝM:ℝhM:0 < MhXM:X ⊆ Set.Icc (-M) Mx:ℝhx:x ∈ X⊢ |x| ≤ M
X:Set ℝM:ℝhM:0 < Mx:ℝhx:x ∈ XhXM:x ∈ Set.Icc (-M) M⊢ |x| ≤ M
X:Set ℝM:ℝhM:0 < Mx:ℝhx:x ∈ XhXM:-M ≤ x ∧ x ≤ M⊢ x ≤ M ∧ -x ≤ M
X:Set ℝM:ℝhM:0 < Mx:ℝhx:x ∈ XhXM:-M ≤ x ∧ x ≤ M⊢ -x ≤ M
All goals completed! 🐙
Приклад 9.1.23
theorem Icc_bounded (a b:ℝ) : Bornology.IsBounded (Set.Icc a b) := a:ℝb:ℝ⊢ Bornology.IsBounded (Set.Icc a b) All goals completed! 🐙
Приклад 9.1.23
theorem Ici_unbounded (a: ℝ) : ¬ Bornology.IsBounded (Set.Ici a) := a:ℝ⊢ ¬Bornology.IsBounded (Set.Ici a) All goals completed! 🐙
Приклад 9.1.23
theorem N_unbounded (a: ℝ) : ¬ Bornology.IsBounded ((fun n:ℕ ↦ (n:ℝ)) '' Set.univ) := a:ℝ⊢ ¬Bornology.IsBounded ((fun n => ↑n) '' Set.univ) All goals completed! 🐙
Приклад 9.1.23
theorem Z_unbounded (a: ℝ) : ¬ Bornology.IsBounded ((fun n:ℤ ↦ (n:ℝ)) '' Set.univ) := a:ℝ⊢ ¬Bornology.IsBounded ((fun n => ↑n) '' Set.univ) All goals completed! 🐙
Приклад 9.1.23
theorem Q_unbounded (a: ℝ) : ¬ Bornology.IsBounded ((fun n:ℚ ↦ (n:ℝ)) '' Set.univ) := a:ℝ⊢ ¬Bornology.IsBounded ((fun n => ↑n) '' Set.univ) All goals completed! 🐙
Приклад 9.1.23
theorem R_unbounded (a: ℝ) : ¬ Bornology.IsBounded (Set.univ: Set ℝ) := a:ℝ⊢ ¬Bornology.IsBounded Set.univ All goals completed! 🐙
Теорема 9.1.24 / Вправа 9.1.13 (Heine-Borel theorem for the line)
theorem Heine_Borel (X: Set ℝ) :
IsClosed X ∧ Bornology.IsBounded X ↔ ∀ a : ℕ → ℝ, (∀ n, a n ∈ X) →
(∃ n : ℕ → ℕ, StrictMono n
∧ ∃ L ∈ X, Filter.Tendsto (fun j ↦ a (n j)) Filter.atTop (nhds L)) := X:Set ℝ⊢ IsClosed X ∧ Bornology.IsBounded X ↔
∀ (a : ℕ → ℝ),
(∀ (n : ℕ), a n ∈ X) → ∃ n, StrictMono n ∧ ∃ L ∈ X, Filter.Tendsto (fun j => a (n j)) Filter.atTop (nhds L)
All goals completed! 🐙
Вправа 9.1.4
example : ∃ (X Y:Set ℝ), closure (X ∩ Y) ≠ closure X ∩ closure Y := ⊢ ∃ X Y, closure (X ∩ Y) ≠ closure X ∩ closure Y
All goals completed! 🐙
Вправа 9.1.6
example (X:Set ℝ) : IsClosed (closure X) := X:Set ℝ⊢ IsClosed (closure X)
All goals completed! 🐙
Вправа 9.1.6
example {X Y:Set ℝ} (hY: IsClosed Y) (hXY: X ⊆ Y) : closure X ⊆ Y := X:Set ℝY:Set ℝhY:IsClosed YhXY:X ⊆ Y⊢ closure X ⊆ Y
All goals completed! 🐙
Вправа 9.1.7
example {n:ℕ} (X: Fin n → Set ℝ) (hX: ∀ i, IsClosed (X i)) :
IsClosed (⋃ i, X i) := n:ℕX:Fin n → Set ℝhX:∀ (i : Fin n), IsClosed (X i)⊢ IsClosed (⋃ i, X i)
All goals completed! 🐙
Вправа 9.1.8
example {I:Type} (X: I → Set ℝ) (hX: ∀ i, IsClosed (X i)) :
IsClosed (⋂ i, X i) := I:TypeX:I → Set ℝhX:∀ (i : I), IsClosed (X i)⊢ IsClosed (⋂ i, X i)
All goals completed! 🐙
Вправа 9.1.9
example {X:Set ℝ} {x:ℝ} (hx: AdherentPt x X) : LimitPt x X ∨ IsolatedPt x X := X:Set ℝx:ℝhx:AdherentPt x X⊢ LimitPt x X ∨ IsolatedPt x X
All goals completed! 🐙
Вправа 9.1.9
example {X:Set ℝ} {x:ℝ} : ¬ (LimitPt x X ∧ IsolatedPt x X) := X:Set ℝx:ℝ⊢ ¬(LimitPt x X ∧ IsolatedPt x X)
All goals completed! 🐙
Вправа 9.1.10
example {X:Set ℝ} (hX: X ≠ ∅) : Bornology.IsBounded X ↔
sSup ((fun x:ℝ ↦ (x:EReal)) '' X) < ⊤ ∧
sInf ((fun x:ℝ ↦ (x:EReal)) '' X) > ⊥ := X:Set ℝhX:X ≠ ∅⊢ Bornology.IsBounded X ↔ sSup ((fun x => ↑x) '' X) < ⊤ ∧ sInf ((fun x => ↑x) '' X) > ⊥
All goals completed! 🐙
Вправа 9.1.11
example {X:Set ℝ} (hX: Bornology.IsBounded X) : Bornology.IsBounded (closure X) := X:Set ℝhX:Bornology.IsBounded X⊢ Bornology.IsBounded (closure X)
All goals completed! 🐙
Вправа 9.1.12. As a followup: prove or disprove this exercise with [Fintype I]
removed.
example {I:Type} [Fintype I] (X: I → Set ℝ) (hX: ∀ i, Bornology.IsBounded (X i)) :
Bornology.IsBounded (⋃ i, X i) := I:Typeinst✝:Fintype IX:I → Set ℝhX:∀ (i : I), Bornology.IsBounded (X i)⊢ Bornology.IsBounded (⋃ i, X i)
All goals completed! 🐙
Вправа 9.1.14
example (I: Finset ℝ) : IsClosed (I:Set ℝ) ∧ Bornology.IsBounded (I:Set ℝ) := I:Finset ℝ⊢ IsClosed ↑I ∧ Bornology.IsBounded ↑I
All goals completed! 🐙
Вправа 9.1.15
example {E:Set ℝ} (hE: Bornology.IsBounded E) (hnon: E.Nonempty): AdherentPt (sSup E) E ∧ AdherentPt (sSup E) Eᶜ := E:Set ℝhE:Bornology.IsBounded Ehnon:E.Nonempty⊢ AdherentPt (sSup E) E ∧ AdherentPt (sSup E) Eᶜ
All goals completed! 🐙
end Chapter9