Theorem: MeasureTheory.continuous_integral_integral
File: Mathlib/MeasureTheory/Constructions/Prod/Integral.lean

tactic: rw [continuous_iff_continuousAt]
state_before: α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
⊢ Continuous fun f => ∫ (x : α), ∫ (y : β), ↑↑f (x, y) ∂ν ∂μ

tactic: intro g
state_before: α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
⊢ ∀ (x : { x // x ∈ Lp E 1 }), ContinuousAt (fun f => ∫ (x : α), ∫ (y : β), ↑↑f (x, y) ∂ν ∂μ) x

tactic: refine'
  tendsto_integral_of_L1 _ (L1.integrable_coeFn g).integral_prod_left
    (eventually_of_forall fun h => (L1.integrable_coeFn h).integral_prod_left) _
state_before: α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ ContinuousAt (fun f => ∫ (x : α), ∫ (y : β), ↑↑f (x, y) ∂ν ∂μ) g

tactic: simp_rw [←
  lintegral_fn_integral_sub (fun x => (‖x‖₊ : ℝ≥0∞)) (L1.integrable_coeFn _)
    (L1.integrable_coeFn g)]
state_before: α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ Tendsto (fun i => ∫⁻ (x : α), ↑‖(∫ (y : β), ↑↑i (x, y) ∂ν) - ∫ (y : β), ↑↑g (x, y) ∂ν‖₊ ∂μ) (𝓝 g) (𝓝 0)

tactic: refine' tendsto_of_tendsto_of_tendsto_of_le_of_le tendsto_const_nhds _ (fun i => zero_le _) _
state_before: α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ Tendsto (fun i => ∫⁻ (x : α), ↑‖∫ (y : β), ↑↑i (x, y) - ↑↑g (x, y) ∂ν‖₊ ∂μ) (𝓝 g) (𝓝 0)

tactic: swap
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ Tendsto (fun i => ∫⁻ (x : α), ∫⁻ (y : β), ↑‖↑↑i (x, y) - ↑↑g (x, y)‖₊ ∂ν ∂μ) (𝓝 g) (𝓝 0)

case refine'_3
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ (fun i => ∫⁻ (x : α), ↑‖∫ (y : β), ↑↑i (x, y) - ↑↑g (x, y) ∂ν‖₊ ∂μ) ≤ fun i =>
    ∫⁻ (x : α), ∫⁻ (y : β), ↑‖↑↑i (x, y) - ↑↑g (x, y)‖₊ ∂ν ∂μ

tactic: show
  Tendsto (fun i : α × β →₁[μ.prod ν] E => ∫⁻ x, ∫⁻ y : β, ‖i (x, y) - g (x, y)‖₊ ∂ν ∂μ) (𝓝 g)
    (𝓝 0)
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ Tendsto (fun i => ∫⁻ (x : α), ∫⁻ (y : β), ↑‖↑↑i (x, y) - ↑↑g (x, y)‖₊ ∂ν ∂μ) (𝓝 g) (𝓝 0)

tactic: have : ∀ i : α × β →₁[μ.prod ν] E, Measurable fun z => (‖i z - g z‖₊ : ℝ≥0∞) := fun i =>
  ((Lp.stronglyMeasurable i).sub (Lp.stronglyMeasurable g)).ennnorm
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ Tendsto (fun i => ∫⁻ (x : α), ∫⁻ (y : β), ↑‖↑↑i (x, y) - ↑↑g (x, y)‖₊ ∂ν ∂μ) (𝓝 g) (𝓝 0)

tactic: conv =>
  congr
  ext
  rw [← lintegral_prod_of_measurable _ (this _), ← L1.ofReal_norm_sub_eq_lintegral]
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
this : ∀ (i : { x // x ∈ Lp E 1 }), Measurable fun z => ↑‖↑↑i z - ↑↑g z‖₊
⊢ Tendsto (fun i => ∫⁻ (x : α), ∫⁻ (y : β), ↑‖↑↑i (x, y) - ↑↑g (x, y)‖₊ ∂ν ∂μ) (𝓝 g) (𝓝 0)

tactic: rw [← ofReal_zero]
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
this : ∀ (i : { x // x ∈ Lp E 1 }), Measurable fun z => ↑‖↑↑i z - ↑↑g z‖₊
⊢ Tendsto (fun x => ENNReal.ofReal ‖x - g‖) (𝓝 g) (𝓝 0)

tactic: refine' (continuous_ofReal.tendsto 0).comp _
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
this : ∀ (i : { x // x ∈ Lp E 1 }), Measurable fun z => ↑‖↑↑i z - ↑↑g z‖₊
⊢ Tendsto (fun x => ENNReal.ofReal ‖x - g‖) (𝓝 g) (𝓝 (ENNReal.ofReal 0))

tactic: rw [← tendsto_iff_norm_tendsto_zero]
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
this : ∀ (i : { x // x ∈ Lp E 1 }), Measurable fun z => ↑‖↑↑i z - ↑↑g z‖₊
⊢ Tendsto (fun x => ‖x - g‖) (𝓝 g) (𝓝 0)

tactic: exact tendsto_id
state_before: case refine'_2
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
this : ∀ (i : { x // x ∈ Lp E 1 }), Measurable fun z => ↑‖↑↑i z - ↑↑g z‖₊
⊢ Tendsto (fun x => x) (𝓝 g) (𝓝 g)

tactic: exact fun i => ∫⁻ x, ∫⁻ y, ‖i (x, y) - g (x, y)‖₊ ∂ν ∂μ
state_before: case refine'_1
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ { x // x ∈ Lp E 1 } → ℝ≥0∞

tactic: exact fun i => lintegral_mono fun x => ennnorm_integral_le_lintegral_ennnorm _
state_before: case refine'_3
α : Type u_1
α' : Type ?u.2437594
β : Type u_2
β' : Type ?u.2437600
γ : Type ?u.2437603
E : Type u_3
inst✝¹² : MeasurableSpace α
inst✝¹¹ : MeasurableSpace α'
inst✝¹⁰ : MeasurableSpace β
inst✝⁹ : MeasurableSpace β'
inst✝⁸ : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : SigmaFinite ν
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : SigmaFinite μ
E' : Type ?u.2437868
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
g : { x // x ∈ Lp E 1 }
⊢ (fun i => ∫⁻ (x : α), ↑‖∫ (y : β), ↑↑i (x, y) - ↑↑g (x, y) ∂ν‖₊ ∂μ) ≤ fun i =>
    ∫⁻ (x : α), ∫⁻ (y : β), ↑‖↑↑i (x, y) - ↑↑g (x, y)‖₊ ∂ν ∂μ