Theorem: MeasureTheory.TendstoInMeasure.congr'
File: Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean

tactic: intro ε hε
state_before: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
⊢ TendstoInMeasure μ f' l g'
state_after: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
⊢ Tendsto (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) l (𝓝 0)

tactic: suffices
  (fun i => μ { x | ε ≤ dist (f' i x) (g' x) }) =ᶠ[l] fun i => μ { x | ε ≤ dist (f i x) (g x) } by
  rw [tendsto_congr' this]
  exact h_tendsto ε hε
state_before: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
⊢ Tendsto (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) l (𝓝 0)
state_after: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
⊢ (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) =ᶠ[l] fun i => μ {x | ε ≤ dist (f i x) (g x)}

tactic: filter_upwards [h_left] with i h_ae_eq
state_before: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
⊢ (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) =ᶠ[l] fun i => μ {x | ε ≤ dist (f i x) (g x)}
state_after: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
⊢ μ {x | ε ≤ dist (f' i x) (g' x)} = μ {x | ε ≤ dist (f i x) (g x)}

tactic: refine measure_congr ?_
state_before: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
⊢ μ {x | ε ≤ dist (f' i x) (g' x)} = μ {x | ε ≤ dist (f i x) (g x)}
state_after: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
⊢ {x | ε ≤ dist (f' i x) (g' x)} =ᶠ[ae μ] {x | ε ≤ dist (f i x) (g x)}

tactic: filter_upwards [h_ae_eq, h_right] with x hxf hxg
state_before: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
⊢ {x | ε ≤ dist (f' i x) (g' x)} =ᶠ[ae μ] {x | ε ≤ dist (f i x) (g x)}
state_after: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
x : α
hxf : f i x = f' i x
hxg : g x = g' x
⊢ {x | ε ≤ dist (f' i x) (g' x)} x = {x | ε ≤ dist (f i x) (g x)} x

tactic: rw [eq_iff_iff]
state_before: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
x : α
hxf : f i x = f' i x
hxg : g x = g' x
⊢ {x | ε ≤ dist (f' i x) (g' x)} x = {x | ε ≤ dist (f i x) (g x)} x
state_after: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
x : α
hxf : f i x = f' i x
hxg : g x = g' x
⊢ {x | ε ≤ dist (f' i x) (g' x)} x ↔ {x | ε ≤ dist (f i x) (g x)} x

tactic: change ε ≤ dist (f' i x) (g' x) ↔ ε ≤ dist (f i x) (g x)
state_before: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
x : α
hxf : f i x = f' i x
hxg : g x = g' x
⊢ {x | ε ≤ dist (f' i x) (g' x)} x ↔ {x | ε ≤ dist (f i x) (g x)} x
state_after: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
x : α
hxf : f i x = f' i x
hxg : g x = g' x
⊢ ε ≤ dist (f' i x) (g' x) ↔ ε ≤ dist (f i x) (g x)

tactic: rw [hxg, hxf]
state_before: case h
α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
i : ι
h_ae_eq : f i =ᶠ[ae μ] f' i
x : α
hxf : f i x = f' i x
hxg : g x = g' x
⊢ ε ≤ dist (f' i x) (g' x) ↔ ε ≤ dist (f i x) (g x)
state_after: no goals

tactic: rw [tendsto_congr' this]
state_before: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
this : (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) =ᶠ[l] fun i => μ {x | ε ≤ dist (f i x) (g x)}
⊢ Tendsto (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) l (𝓝 0)
state_after: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
this : (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) =ᶠ[l] fun i => μ {x | ε ≤ dist (f i x) (g x)}
⊢ Tendsto (fun i => μ {x | ε ≤ dist (f i x) (g x)}) l (𝓝 0)

tactic: exact h_tendsto ε hε
state_before: α : Type u_1
ι : Type u_2
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : Dist E
l : Filter ι
f f' : ι → α → E
g g' : α → E
h_left : ∀ᶠ (i : ι) in l, f i =ᶠ[ae μ] f' i
h_right : g =ᶠ[ae μ] g'
h_tendsto : TendstoInMeasure μ f l g
ε : ℝ
hε : 0 < ε
this : (fun i => μ {x | ε ≤ dist (f' i x) (g' x)}) =ᶠ[l] fun i => μ {x | ε ≤ dist (f i x) (g x)}
⊢ Tendsto (fun i => μ {x | ε ≤ dist (f i x) (g x)}) l (𝓝 0)
state_after: no goals