Theorem: MeasureTheory.StronglyMeasurable.tendsto_approxBounded_of_norm_le
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

Proof steps:
state_before: α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
⊢ Tendsto (fun n => ↑(hf.approxBounded c n) x) atTop (𝓝 (f x))
state_after: α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
⊢ Tendsto (fun n => ↑(hf.approxBounded c n) x) atTop (𝓝 (f x))
tactic: have h_tendsto := hf.tendsto_approx x
state_before: α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
⊢ Tendsto (fun n => ↑(hf.approxBounded c n) x) atTop (𝓝 (f x))
state_after: α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (f x))
tactic: simp only [StronglyMeasurable.approxBounded, SimpleFunc.coe_map, Function.comp_apply]
state_before: α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (f x))
state_after: case pos
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (f x))

case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (f x))
tactic: by_cases hfx0 : ‖f x‖ = 0
state_before: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (f x))
state_after: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (1 • f x))
tactic: rw [← one_smul ℝ (f x)]
state_before: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖) • ↑(hf.approx n) x) atTop (𝓝 (1 • f x))
state_after: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖)) atTop (𝓝 1)
tactic: refine Tendsto.smul ?_ h_tendsto
state_before: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖)) atTop (𝓝 1)
state_after: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
this : min 1 (c / ‖f x‖) = 1
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖)) atTop (𝓝 1)
tactic: have : min 1 (c / ‖f x‖) = 1 := by
    rw [min_eq_left_iff, one_le_div (lt_of_le_of_ne (norm_nonneg _) (Ne.symm hfx0))]
    exact hfx
state_before: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
this : min 1 (c / ‖f x‖) = 1
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖)) atTop (𝓝 1)
state_after: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
this : min 1 (c / ‖f x‖) = 1
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖)) atTop (𝓝 (min 1 (c / ‖f x‖)))
tactic: nth_rw 2 [this.symm]
state_before: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
this : min 1 (c / ‖f x‖) = 1
⊢ Tendsto (fun n => min 1 (c / ‖↑(hf.approx n) x‖)) atTop (𝓝 (min 1 (c / ‖f x‖)))
state_after: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
this : min 1 (c / ‖f x‖) = 1
⊢ Tendsto (fun n => c / ‖↑(hf.approx n) x‖) atTop (𝓝 (c / ‖f x‖))
tactic: refine Tendsto.min tendsto_const_nhds ?_
state_before: case neg
α : Type u_1
β✝ : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β✝
inst✝² : TopologicalSpace β✝
β : Type u_5
f : α → β
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedSpace ℝ β
m : MeasurableSpace α
hf : StronglyMeasurable f
c : ℝ
x : α
hfx : ‖f x‖ ≤ c
h_tendsto : Tendsto (fun n => ↑(hf.approx n) x) atTop (𝓝 (f x))
hfx0 : ¬‖f x‖ = 0
this : min 1 (c / ‖f x‖) = 1
⊢ Tendsto (fun n => c / ‖↑(hf.approx n) x‖) atTop (𝓝 (c / ‖f x‖))
state_after: no goals
tactic: exact Tendsto.div tendsto_const_nhds h_tendsto.norm hfx0