Theorem: Cardinal.mk_Ioi_real
File: Mathlib/Data/Real/Cardinality.lean

tactic: refine' le_antisymm (mk_real ▸ mk_set_le _) _
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
⊢ (#↑(Ioi a)) = 𝔠

tactic: rw [← not_lt]
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
⊢ 𝔠 ≤ (#↑(Ioi a))

tactic: intro h
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
⊢ ¬(#↑(Ioi a)) < 𝔠

tactic: refine' _root_.ne_of_lt _ mk_univ_real
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
⊢ False

tactic: have hu : Iio a ∪ {a} ∪ Ioi a = Set.univ := by
  convert @Iic_union_Ioi ℝ _ _
  exact Iio_union_right
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
⊢ (#↑Set.univ) < 𝔠

tactic: rw [← hu]
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
⊢ (#↑Set.univ) < 𝔠

tactic: refine' lt_of_le_of_lt (mk_union_le _ _) _
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
⊢ (#↑(Iio a ∪ {a} ∪ Ioi a)) < 𝔠

tactic: refine' lt_of_le_of_lt (add_le_add_right (mk_union_le _ _) _) _
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
⊢ (#↑(Iio a ∪ {a})) + (#↑(Ioi a)) < 𝔠

tactic: have h2 : (fun x => a + a - x) '' Ioi a = Iio a := by
  convert @image_const_sub_Ioi ℝ _ _ _
  simp
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
⊢ (#↑(Iio a)) + (#↑{a}) + (#↑(Ioi a)) < 𝔠

tactic: rw [← h2]
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
h2 : (fun x => a + a - x) '' Ioi a = Iio a
⊢ (#↑(Iio a)) + (#↑{a}) + (#↑(Ioi a)) < 𝔠

tactic: refine' add_lt_of_lt (cantor _).le _ h
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
h2 : (fun x => a + a - x) '' Ioi a = Iio a
⊢ (#↑((fun x => a + a - x) '' Ioi a)) + (#↑{a}) + (#↑(Ioi a)) < 𝔠

tactic: refine' add_lt_of_lt (cantor _).le (mk_image_le.trans_lt h) _
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
h2 : (fun x => a + a - x) '' Ioi a = Iio a
⊢ (#↑((fun x => a + a - x) '' Ioi a)) + (#↑{a}) < 𝔠

tactic: rw [mk_singleton]
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
h2 : (fun x => a + a - x) '' Ioi a = Iio a
⊢ (#↑{a}) < 𝔠

tactic: exact one_lt_aleph0.trans (cantor _)
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
h2 : (fun x => a + a - x) '' Ioi a = Iio a
⊢ 1 < 𝔠

tactic: convert @Iic_union_Ioi ℝ _ _
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
⊢ Iio a ∪ {a} ∪ Ioi a = Set.univ

tactic: exact Iio_union_right
state_before: case h.e'_2.h.e'_3
c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
⊢ Iio a ∪ {a} = Iic a

tactic: convert @image_const_sub_Ioi ℝ _ _ _
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
⊢ (fun x => a + a - x) '' Ioi a = Iio a

tactic: simp
state_before: case h.e'_3.h.e'_3
c : ℝ
f g : ℕ → Bool
n : ℕ
a : ℝ
h : (#↑(Ioi a)) < 𝔠
hu : Iio a ∪ {a} ∪ Ioi a = Set.univ
⊢ a = a + a - a