Theorem: MeasureTheory.Memℒp.of_comp_antilipschitzWith
File: Mathlib/MeasureTheory/Function/LpSpace.lean

Proof steps:
state_before: α✝ : Type u_1
E✝ : Type u_2
F✝ : Type u_3
G : Type u_4
m m0 : MeasurableSpace α✝
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α✝
inst✝⁵ : NormedAddCommGroup E✝
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedAddCommGroup G
g✝ : E✝ → F✝
c : ℝ≥0
α : Type u_5
E : Type u_6
F : Type u_7
K' : ℝ≥0
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedAddCommGroup F
f : α → E
g : E → F
hL : Memℒp (g ∘ f) p μ
hg : UniformContinuous g
hg' : AntilipschitzWith K' g
g0 : g 0 = 0
⊢ Memℒp f p μ
state_after: α✝ : Type u_1
E✝ : Type u_2
F✝ : Type u_3
G : Type u_4
m m0 : MeasurableSpace α✝
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α✝
inst✝⁵ : NormedAddCommGroup E✝
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedAddCommGroup G
g✝ : E✝ → F✝
c : ℝ≥0
α : Type u_5
E : Type u_6
F : Type u_7
K' : ℝ≥0
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedAddCommGroup F
f : α → E
g : E → F
hL : Memℒp (g ∘ f) p μ
hg : UniformContinuous g
hg' : AntilipschitzWith K' g
g0 : g 0 = 0
A : ∀ (x : α), ‖f x‖ ≤ ↑K' * ‖g (f x)‖
⊢ Memℒp f p μ
tactic: have A : ∀ x, ‖f x‖ ≤ K' * ‖g (f x)‖ := by
    intro x
    -- TODO: add `AntilipschitzWith.le_mul_nnnorm_sub` and `AntilipschitzWith.le_mul_norm`
    rw [← dist_zero_right, ← dist_zero_right, ← g0]
    apply hg'.le_mul_dist
state_before: α✝ : Type u_1
E✝ : Type u_2
F✝ : Type u_3
G : Type u_4
m m0 : MeasurableSpace α✝
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α✝
inst✝⁵ : NormedAddCommGroup E✝
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedAddCommGroup G
g✝ : E✝ → F✝
c : ℝ≥0
α : Type u_5
E : Type u_6
F : Type u_7
K' : ℝ≥0
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedAddCommGroup F
f : α → E
g : E → F
hL : Memℒp (g ∘ f) p μ
hg : UniformContinuous g
hg' : AntilipschitzWith K' g
g0 : g 0 = 0
A : ∀ (x : α), ‖f x‖ ≤ ↑K' * ‖g (f x)‖
⊢ Memℒp f p μ
state_after: α✝ : Type u_1
E✝ : Type u_2
F✝ : Type u_3
G : Type u_4
m m0 : MeasurableSpace α✝
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α✝
inst✝⁵ : NormedAddCommGroup E✝
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedAddCommGroup G
g✝ : E✝ → F✝
c : ℝ≥0
α : Type u_5
E : Type u_6
F : Type u_7
K' : ℝ≥0
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedAddCommGroup F
f : α → E
g : E → F
hL : Memℒp (g ∘ f) p μ
hg : UniformContinuous g
hg' : AntilipschitzWith K' g
g0 : g 0 = 0
A : ∀ (x : α), ‖f x‖ ≤ ↑K' * ‖g (f x)‖
B : AEStronglyMeasurable f μ
⊢ Memℒp f p μ
tactic: have B : AEStronglyMeasurable f μ :=
    (hg'.uniformEmbedding hg).embedding.aestronglyMeasurable_comp_iff.1 hL.1
state_before: α✝ : Type u_1
E✝ : Type u_2
F✝ : Type u_3
G : Type u_4
m m0 : MeasurableSpace α✝
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α✝
inst✝⁵ : NormedAddCommGroup E✝
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedAddCommGroup G
g✝ : E✝ → F✝
c : ℝ≥0
α : Type u_5
E : Type u_6
F : Type u_7
K' : ℝ≥0
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedAddCommGroup F
f : α → E
g : E → F
hL : Memℒp (g ∘ f) p μ
hg : UniformContinuous g
hg' : AntilipschitzWith K' g
g0 : g 0 = 0
A : ∀ (x : α), ‖f x‖ ≤ ↑K' * ‖g (f x)‖
B : AEStronglyMeasurable f μ
⊢ Memℒp f p μ
state_after: no goals
tactic: exact hL.of_le_mul B (Filter.eventually_of_forall A)