Theorem: MeasureTheory.exists_ne_forall_mem_nhds_pos_measure_preimage
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: set m : OuterMeasure β := OuterMeasure.map f μ.toOuterMeasure
state_before: α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
h : ∀ (b : β), ∃ᵐ (x : α) ∂μ, f x ≠ b
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: replace h : ∀ b : β, m ({b}ᶜ) ≠ 0 := fun b => not_eventually.mpr (h b)
state_before: α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
h : ∀ (b : β), ∃ᵐ (x : α) ∂μ, f x ≠ b
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: inhabit β
state_before: α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: have : m univ ≠ 0 := ne_bot_of_le_ne_bot (h default) (m.mono' <| subset_univ _)
state_before: α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
inhabited_h : Inhabited β
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: rcases m.exists_mem_forall_mem_nhds_within_pos this with ⟨b, -, hb⟩
state_before: α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
inhabited_h : Inhabited β
this : ↑m univ ≠ 0
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: simp only [nhdsWithin_univ] at hb
state_before: case intro.intro
α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
inhabited_h : Inhabited β
this : ↑m univ ≠ 0
b : β
hb : ∀ (t : Set β), t ∈ 𝓝[univ] b → 0 < ↑m t
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: rcases m.exists_mem_forall_mem_nhds_within_pos (h b) with ⟨a, hab : a ≠ b, ha⟩
state_before: case intro.intro
α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
inhabited_h : Inhabited β
this : ↑m univ ≠ 0
b : β
hb : ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑(↑(OuterMeasure.map f) ↑μ) t
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: simp only [isOpen_compl_singleton.nhdsWithin_eq hab] at ha
state_before: case intro.intro.intro.intro
α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
inhabited_h : Inhabited β
this : ↑m univ ≠ 0
b : β
hb : ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑(↑(OuterMeasure.map f) ↑μ) t
a : β
hab : a ≠ b
ha : ∀ (t : Set β), t ∈ 𝓝[{b}ᶜ] a → 0 < ↑m t
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)

tactic: exact ⟨a, b, hab, ha, hb⟩
state_before: case intro.intro.intro.intro
α : Type u_2
β✝ : Type ?u.839313
γ : Type ?u.839316
δ : Type ?u.839319
ι : Type ?u.839322
R : Type ?u.839325
R' : Type ?u.839328
m0 : MeasurableSpace α
inst✝⁵ : MeasurableSpace β✝
inst✝⁴ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
β : Type u_1
inst✝³ : TopologicalSpace β
inst✝² : T1Space β
inst✝¹ : SecondCountableTopology β
inst✝ : Nonempty β
f : α → β
m : OuterMeasure β := ↑(OuterMeasure.map f) ↑μ
h : ∀ (b : β), ↑m ({b}ᶜ) ≠ 0
inhabited_h : Inhabited β
this : ↑m univ ≠ 0
b : β
hb : ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑(↑(OuterMeasure.map f) ↑μ) t
a : β
hab : a ≠ b
ha : ∀ (t : Set β), t ∈ 𝓝 a → 0 < ↑(↑(OuterMeasure.map f) ↑μ) t
⊢ ∃ a b, a ≠ b ∧ (∀ (s : Set β), s ∈ 𝓝 a → 0 < ↑↑μ (f ⁻¹' s)) ∧ ∀ (t : Set β), t ∈ 𝓝 b → 0 < ↑↑μ (f ⁻¹' t)