measure_theory.constructions.borel_space.metrizableMathlib.MeasureTheory.Constructions.BorelSpace.Metrizable

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Floris van Doorn
 -/
 import MeasureTheory.Constructions.BorelSpace.Basic
-import Topology.MetricSpace.Metrizable
+import Topology.Metrizable.Basic
 
 #align_import measure_theory.constructions.borel_space.metrizable from "leanprover-community/mathlib"@"38df578a6450a8c5142b3727e3ae894c2300cae0"
 
Diff
@@ -28,47 +28,47 @@ variable [TopologicalSpace β] [PseudoMetrizableSpace β] [MeasurableSpace β] [
 
 open Metric
 
-#print measurable_of_tendsto_ennreal' /-
+#print ENNReal.measurable_of_tendsto' /-
 /-- A limit (over a general filter) of measurable `ℝ≥0∞` valued functions is measurable. -/
-theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g : α → ℝ≥0∞} (u : Filter ι)
+theorem ENNReal.measurable_of_tendsto' {ι} {f : ι → α → ℝ≥0∞} {g : α → ℝ≥0∞} (u : Filter ι)
     [NeBot u] [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
   rcases u.exists_seq_tendsto with ⟨x, hx⟩
-  rw [tendsto_pi_nhds] at lim 
+  rw [tendsto_pi_nhds] at lim
   have : (fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top) = g := by ext1 y;
     exact ((limUnder y).comp hx).liminf_eq
   rw [← this]
   show Measurable fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top
   exact measurable_liminf fun n => hf (x n)
-#align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'
+#align measurable_of_tendsto_ennreal' ENNReal.measurable_of_tendsto'
 -/
 
-#print measurable_of_tendsto_ennreal /-
+#print ENNReal.measurable_of_tendsto /-
 /-- A sequential limit of measurable `ℝ≥0∞` valued functions is measurable. -/
-theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
+theorem ENNReal.measurable_of_tendsto {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
-  measurable_of_tendsto_ennreal' atTop hf limUnder
-#align measurable_of_tendsto_ennreal measurable_of_tendsto_ennreal
+  ENNReal.measurable_of_tendsto' atTop hf limUnder
+#align measurable_of_tendsto_ennreal ENNReal.measurable_of_tendsto
 -/
 
-#print measurable_of_tendsto_nnreal' /-
+#print NNReal.measurable_of_tendsto' /-
 /-- A limit (over a general filter) of measurable `ℝ≥0` valued functions is measurable. -/
-theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
+theorem NNReal.measurable_of_tendsto' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
   simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf ⊢
-  refine' measurable_of_tendsto_ennreal' u hf _
+  refine' ENNReal.measurable_of_tendsto' u hf _
   rw [tendsto_pi_nhds] at lim ⊢
   exact fun x => (ennreal.continuous_coe.tendsto (g x)).comp (limUnder x)
-#align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
+#align measurable_of_tendsto_nnreal' NNReal.measurable_of_tendsto'
 -/
 
-#print measurable_of_tendsto_nnreal /-
+#print NNReal.measurable_of_tendsto /-
 /-- A sequential limit of measurable `ℝ≥0` valued functions is measurable. -/
-theorem measurable_of_tendsto_nnreal {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
+theorem NNReal.measurable_of_tendsto {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
-  measurable_of_tendsto_nnreal' atTop hf limUnder
-#align measurable_of_tendsto_nnreal measurable_of_tendsto_nnreal
+  NNReal.measurable_of_tendsto' atTop hf limUnder
+#align measurable_of_tendsto_nnreal NNReal.measurable_of_tendsto
 -/
 
 #print measurable_of_tendsto_metrizable' /-
@@ -83,7 +83,7 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
   have : Measurable fun x => inf_nndist (g x) s :=
     by
     suffices : tendsto (fun i x => inf_nndist (f i x) s) u (𝓝 fun x => inf_nndist (g x) s)
-    exact measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
+    exact NNReal.measurable_of_tendsto' u (fun i => (hf i).infNndist) this
     rw [tendsto_pi_nhds] at lim ⊢; intro x
     exact ((continuous_inf_nndist_pt s).Tendsto (g x)).comp (limUnder x)
   have h4s : g ⁻¹' s = (fun x => inf_nndist (g x) s) ⁻¹' {0} := by ext x;
Diff
@@ -79,7 +79,7 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
     Measurable g :=
   by
   letI : PseudoMetricSpace β := pseudo_metrizable_space_pseudo_metric β
-  apply measurable_of_is_closed'; intro s h1s h2s h3s
+  apply measurable_of_isClosed'; intro s h1s h2s h3s
   have : Measurable fun x => inf_nndist (g x) s :=
     by
     suffices : tendsto (fun i x => inf_nndist (f i x) s) u (𝓝 fun x => inf_nndist (g x) s)
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Floris van Doorn
 -/
-import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
-import Mathbin.Topology.MetricSpace.Metrizable
+import MeasureTheory.Constructions.BorelSpace.Basic
+import Topology.MetricSpace.Metrizable
 
 #align_import measure_theory.constructions.borel_space.metrizable from "leanprover-community/mathlib"@"38df578a6450a8c5142b3727e3ae894c2300cae0"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Floris van Doorn. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Floris van Doorn
-
-! This file was ported from Lean 3 source module measure_theory.constructions.borel_space.metrizable
-! leanprover-community/mathlib commit 38df578a6450a8c5142b3727e3ae894c2300cae0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
 import Mathbin.Topology.MetricSpace.Metrizable
 
+#align_import measure_theory.constructions.borel_space.metrizable from "leanprover-community/mathlib"@"38df578a6450a8c5142b3727e3ae894c2300cae0"
+
 /-!
 # Measurable functions in (pseudo-)metrizable Borel spaces
 
Diff
@@ -31,6 +31,7 @@ variable [TopologicalSpace β] [PseudoMetrizableSpace β] [MeasurableSpace β] [
 
 open Metric
 
+#print measurable_of_tendsto_ennreal' /-
 /-- A limit (over a general filter) of measurable `ℝ≥0∞` valued functions is measurable. -/
 theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g : α → ℝ≥0∞} (u : Filter ι)
     [NeBot u] [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
@@ -43,13 +44,17 @@ theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g :
   show Measurable fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top
   exact measurable_liminf fun n => hf (x n)
 #align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'
+-/
 
+#print measurable_of_tendsto_ennreal /-
 /-- A sequential limit of measurable `ℝ≥0∞` valued functions is measurable. -/
 theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_ennreal' atTop hf limUnder
 #align measurable_of_tendsto_ennreal measurable_of_tendsto_ennreal
+-/
 
+#print measurable_of_tendsto_nnreal' /-
 /-- A limit (over a general filter) of measurable `ℝ≥0` valued functions is measurable. -/
 theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
@@ -59,13 +64,17 @@ theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α 
   rw [tendsto_pi_nhds] at lim ⊢
   exact fun x => (ennreal.continuous_coe.tendsto (g x)).comp (limUnder x)
 #align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
+-/
 
+#print measurable_of_tendsto_nnreal /-
 /-- A sequential limit of measurable `ℝ≥0` valued functions is measurable. -/
 theorem measurable_of_tendsto_nnreal {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_nnreal' atTop hf limUnder
 #align measurable_of_tendsto_nnreal measurable_of_tendsto_nnreal
+-/
 
+#print measurable_of_tendsto_metrizable' /-
 /-- A limit (over a general filter) of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α → β} (u : Filter ι) [NeBot u]
@@ -84,14 +93,18 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
     simp [h1s, ← h1s.mem_iff_inf_dist_zero h2s, ← NNReal.coe_eq_zero]
   rw [h4s]; exact this (measurable_set_singleton 0)
 #align measurable_of_tendsto_metrizable' measurable_of_tendsto_metrizable'
+-/
 
+#print measurable_of_tendsto_metrizable /-
 /-- A sequential limit of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable {f : ℕ → α → β} {g : α → β} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_metrizable' atTop hf limUnder
 #align measurable_of_tendsto_metrizable measurable_of_tendsto_metrizable
+-/
 
+#print aemeasurable_of_tendsto_metrizable_ae /-
 theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι → α → β} {g : α → β}
     (u : Filter ι) [hu : NeBot u] [IsCountablyGenerated u] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) u (𝓝 (g x))) : AEMeasurable g μ :=
@@ -117,13 +130,17 @@ theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
       (ite_ae_eq_of_measure_compl_zero g (fun x => (⟨f (v 0) x⟩ : Nonempty β).some) (aeSeqSet h'f p)
           (aeSeq.measure_compl_aeSeqSet_eq_zero h'f hp)).symm
 #align ae_measurable_of_tendsto_metrizable_ae aemeasurable_of_tendsto_metrizable_ae
+-/
 
+#print aemeasurable_of_tendsto_metrizable_ae' /-
 theorem aemeasurable_of_tendsto_metrizable_ae' {μ : Measure α} {f : ℕ → α → β} {g : α → β}
     (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))) : AEMeasurable g μ :=
   aemeasurable_of_tendsto_metrizable_ae atTop hf h_ae_tendsto
 #align ae_measurable_of_tendsto_metrizable_ae' aemeasurable_of_tendsto_metrizable_ae'
+-/
 
+#print aemeasurable_of_unif_approx /-
 theorem aemeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace β] [BorelSpace β]
     {μ : Measure α} {g : α → β}
     (hf : ∀ ε > (0 : ℝ), ∃ f : α → β, AEMeasurable f μ ∧ ∀ᵐ x ∂μ, dist (f x) (g x) ≤ ε) :
@@ -142,14 +159,18 @@ theorem aemeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace
     exact squeeze_zero (fun n => dist_nonneg) hx u_lim
   exact aemeasurable_of_tendsto_metrizable_ae' (fun n => (Hf n).1) this
 #align ae_measurable_of_unif_approx aemeasurable_of_unif_approx
+-/
 
+#print measurable_of_tendsto_metrizable_ae /-
 theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f : ℕ → α → β}
     {g : α → β} (hf : ∀ n, Measurable (f n))
     (h_ae_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))) : Measurable g :=
   aemeasurable_iff_measurable.mp
     (aemeasurable_of_tendsto_metrizable_ae' (fun i => (hf i).AEMeasurable) h_ae_tendsto)
 #align measurable_of_tendsto_metrizable_ae measurable_of_tendsto_metrizable_ae
+-/
 
+#print measurable_limit_of_tendsto_metrizable_ae /-
 theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty ι] {μ : Measure α}
     {f : ι → α → β} {L : Filter ι} [L.IsCountablyGenerated] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, Tendsto (fun n => f n x) L (𝓝 l)) :
@@ -181,6 +202,7 @@ theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty
       (tendsto_pi_nhds.mpr fun x => hf_lim x)
   exact ⟨f_lim, h_f_lim_meas, h_ae_tendsto_f_lim⟩
 #align measurable_limit_of_tendsto_metrizable_ae measurable_limit_of_tendsto_metrizable_ae
+-/
 
 end Limits
 
Diff
@@ -100,7 +100,7 @@ theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
   have h'f : ∀ n, AEMeasurable (f (v n)) μ := fun n => hf (v n)
   set p : α → (ℕ → β) → Prop := fun x f' => tendsto (fun n => f' n) at_top (𝓝 (g x))
   have hp : ∀ᵐ x ∂μ, p x fun n => f (v n) x := by
-    filter_upwards [h_tendsto]with x hx using hx.comp hv
+    filter_upwards [h_tendsto] with x hx using hx.comp hv
   set ae_seq_lim := fun x => ite (x ∈ aeSeqSet h'f p) (g x) (⟨f (v 0) x⟩ : Nonempty β).some with hs
   refine'
     ⟨ae_seq_lim,
Diff
@@ -36,7 +36,7 @@ theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g :
     [NeBot u] [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
   rcases u.exists_seq_tendsto with ⟨x, hx⟩
-  rw [tendsto_pi_nhds] at lim
+  rw [tendsto_pi_nhds] at lim 
   have : (fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top) = g := by ext1 y;
     exact ((limUnder y).comp hx).liminf_eq
   rw [← this]
@@ -54,9 +54,9 @@ theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α 
 theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
-  simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf⊢
+  simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf ⊢
   refine' measurable_of_tendsto_ennreal' u hf _
-  rw [tendsto_pi_nhds] at lim⊢
+  rw [tendsto_pi_nhds] at lim ⊢
   exact fun x => (ennreal.continuous_coe.tendsto (g x)).comp (limUnder x)
 #align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
 
@@ -78,7 +78,7 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
     by
     suffices : tendsto (fun i x => inf_nndist (f i x) s) u (𝓝 fun x => inf_nndist (g x) s)
     exact measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
-    rw [tendsto_pi_nhds] at lim⊢; intro x
+    rw [tendsto_pi_nhds] at lim ⊢; intro x
     exact ((continuous_inf_nndist_pt s).Tendsto (g x)).comp (limUnder x)
   have h4s : g ⁻¹' s = (fun x => inf_nndist (g x) s) ⁻¹' {0} := by ext x;
     simp [h1s, ← h1s.mem_iff_inf_dist_zero h2s, ← NNReal.coe_eq_zero]
@@ -153,7 +153,7 @@ theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f
 theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty ι] {μ : Measure α}
     {f : ι → α → β} {L : Filter ι} [L.IsCountablyGenerated] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, Tendsto (fun n => f n x) L (𝓝 l)) :
-    ∃ (f_lim : α → β)(hf_lim_meas : Measurable f_lim),
+    ∃ (f_lim : α → β) (hf_lim_meas : Measurable f_lim),
       ∀ᵐ x ∂μ, Tendsto (fun n => f n x) L (𝓝 (f_lim x)) :=
   by
   inhabit ι
Diff
@@ -21,7 +21,7 @@ import Mathbin.Topology.MetricSpace.Metrizable
 
 open Filter MeasureTheory TopologicalSpace
 
-open Classical Topology NNReal ENNReal MeasureTheory
+open scoped Classical Topology NNReal ENNReal MeasureTheory
 
 variable {α β : Type _} [MeasurableSpace α]
 
Diff
@@ -31,12 +31,6 @@ variable [TopologicalSpace β] [PseudoMetrizableSpace β] [MeasurableSpace β] [
 
 open Metric
 
-/- warning: measurable_of_tendsto_ennreal' -> measurable_of_tendsto_ennreal' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> ENNReal} {g : α -> ENNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> ENNReal) f u (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> ENNReal} {g : α -> ENNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> ENNReal) f u (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.instTopologicalSpaceENNReal)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'ₓ'. -/
 /-- A limit (over a general filter) of measurable `ℝ≥0∞` valued functions is measurable. -/
 theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g : α → ℝ≥0∞} (u : Filter ι)
     [NeBot u] [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
@@ -50,24 +44,12 @@ theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g :
   exact measurable_liminf fun n => hf (x n)
 #align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'
 
-/- warning: measurable_of_tendsto_ennreal -> measurable_of_tendsto_ennreal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> ENNReal} {g : α -> ENNReal}, (forall (i : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> ENNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> ENNReal} {g : α -> ENNReal}, (forall (i : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> ENNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.instTopologicalSpaceENNReal)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_ennreal measurable_of_tendsto_ennrealₓ'. -/
 /-- A sequential limit of measurable `ℝ≥0∞` valued functions is measurable. -/
 theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_ennreal' atTop hf limUnder
 #align measurable_of_tendsto_ennreal measurable_of_tendsto_ennreal
 
-/- warning: measurable_of_tendsto_nnreal' -> measurable_of_tendsto_nnreal' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> NNReal} {g : α -> NNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> NNReal) f u (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> NNReal} {g : α -> NNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> NNReal) f u (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.instTopologicalSpaceNNReal)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'ₓ'. -/
 /-- A limit (over a general filter) of measurable `ℝ≥0` valued functions is measurable. -/
 theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
@@ -78,24 +60,12 @@ theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α 
   exact fun x => (ennreal.continuous_coe.tendsto (g x)).comp (limUnder x)
 #align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
 
-/- warning: measurable_of_tendsto_nnreal -> measurable_of_tendsto_nnreal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> NNReal} {g : α -> NNReal}, (forall (i : Nat), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> NNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> NNReal} {g : α -> NNReal}, (forall (i : Nat), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> NNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.instTopologicalSpaceNNReal)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_nnreal measurable_of_tendsto_nnrealₓ'. -/
 /-- A sequential limit of measurable `ℝ≥0` valued functions is measurable. -/
 theorem measurable_of_tendsto_nnreal {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_nnreal' atTop hf limUnder
 #align measurable_of_tendsto_nnreal measurable_of_tendsto_nnreal
 
-/- warning: measurable_of_tendsto_metrizable' -> measurable_of_tendsto_metrizable' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {ι : Type.{u3}} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [_inst_6 : Filter.NeBot.{u3} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u3} ι u], (forall (i : ι), Measurable.{u1, u2} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{u3, max u1 u2} ι (α -> β) f u (nhds.{max u1 u2} (α -> β) (Pi.topologicalSpace.{u1, u2} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u1, u2} α β _inst_1 _inst_4 g)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {ι : Type.{u3}} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [_inst_6 : Filter.NeBot.{u3} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u3} ι u], (forall (i : ι), Measurable.{u2, u1} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{u3, max u2 u1} ι (α -> β) f u (nhds.{max u2 u1} (α -> β) (Pi.topologicalSpace.{u2, u1} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u2, u1} α β _inst_1 _inst_4 g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_metrizable' measurable_of_tendsto_metrizable'ₓ'. -/
 /-- A limit (over a general filter) of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α → β} (u : Filter ι) [NeBot u]
@@ -115,12 +85,6 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
   rw [h4s]; exact this (measurable_set_singleton 0)
 #align measurable_of_tendsto_metrizable' measurable_of_tendsto_metrizable'
 
-/- warning: measurable_of_tendsto_metrizable -> measurable_of_tendsto_metrizable is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {f : Nat -> α -> β} {g : α -> β}, (forall (i : Nat), Measurable.{u1, u2} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{0, max u1 u2} Nat (α -> β) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{max u1 u2} (α -> β) (Pi.topologicalSpace.{u1, u2} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u1, u2} α β _inst_1 _inst_4 g)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {f : Nat -> α -> β} {g : α -> β}, (forall (i : Nat), Measurable.{u2, u1} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{0, max u2 u1} Nat (α -> β) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{max u2 u1} (α -> β) (Pi.topologicalSpace.{u2, u1} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u2, u1} α β _inst_1 _inst_4 g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_metrizable measurable_of_tendsto_metrizableₓ'. -/
 /-- A sequential limit of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable {f : ℕ → α → β} {g : α → β} (hf : ∀ i, Measurable (f i))
@@ -128,12 +92,6 @@ theorem measurable_of_tendsto_metrizable {f : ℕ → α → β} {g : α → β}
   measurable_of_tendsto_metrizable' atTop hf limUnder
 #align measurable_of_tendsto_metrizable measurable_of_tendsto_metrizable
 
-/- warning: ae_measurable_of_tendsto_metrizable_ae -> aemeasurable_of_tendsto_metrizable_ae is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {ι : Type.{u3}} {μ : MeasureTheory.Measure.{u1} α _inst_1} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [hu : Filter.NeBot.{u3} ι u] [_inst_6 : Filter.IsCountablyGenerated.{u3} ι u], (forall (n : ι), AEMeasurable.{u1, u2} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{u3, u2} ι β (fun (n : ι) => f n x) u (nhds.{u2} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (AEMeasurable.{u1, u2} α β _inst_4 _inst_1 g μ)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {ι : Type.{u3}} {μ : MeasureTheory.Measure.{u2} α _inst_1} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [hu : Filter.NeBot.{u3} ι u] [_inst_6 : Filter.IsCountablyGenerated.{u3} ι u], (forall (n : ι), AEMeasurable.{u2, u1} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{u3, u1} ι β (fun (n : ι) => f n x) u (nhds.{u1} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (AEMeasurable.{u2, u1} α β _inst_4 _inst_1 g μ)
-Case conversion may be inaccurate. Consider using '#align ae_measurable_of_tendsto_metrizable_ae aemeasurable_of_tendsto_metrizable_aeₓ'. -/
 theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι → α → β} {g : α → β}
     (u : Filter ι) [hu : NeBot u] [IsCountablyGenerated u] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) u (𝓝 (g x))) : AEMeasurable g μ :=
@@ -160,24 +118,12 @@ theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
           (aeSeq.measure_compl_aeSeqSet_eq_zero h'f hp)).symm
 #align ae_measurable_of_tendsto_metrizable_ae aemeasurable_of_tendsto_metrizable_ae
 
-/- warning: ae_measurable_of_tendsto_metrizable_ae' -> aemeasurable_of_tendsto_metrizable_ae' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u1} α _inst_1} {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), AEMeasurable.{u1, u2} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{0, u2} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u2} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (AEMeasurable.{u1, u2} α β _inst_4 _inst_1 g μ)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u2} α _inst_1} {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), AEMeasurable.{u2, u1} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{0, u1} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (AEMeasurable.{u2, u1} α β _inst_4 _inst_1 g μ)
-Case conversion may be inaccurate. Consider using '#align ae_measurable_of_tendsto_metrizable_ae' aemeasurable_of_tendsto_metrizable_ae'ₓ'. -/
 theorem aemeasurable_of_tendsto_metrizable_ae' {μ : Measure α} {f : ℕ → α → β} {g : α → β}
     (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))) : AEMeasurable g μ :=
   aemeasurable_of_tendsto_metrizable_ae atTop hf h_ae_tendsto
 #align ae_measurable_of_tendsto_metrizable_ae' aemeasurable_of_tendsto_metrizable_ae'
 
-/- warning: ae_measurable_of_unif_approx -> aemeasurable_of_unif_approx is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {β : Type.{u2}} [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : PseudoMetricSpace.{u2} β] [_inst_8 : BorelSpace.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β _inst_7)) _inst_6] {μ : MeasureTheory.Measure.{u1} α _inst_1} {g : α -> β}, (forall (ε : Real), (GT.gt.{0} Real Real.hasLt ε (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Exists.{max (succ u1) (succ u2)} (α -> β) (fun (f : α -> β) => And (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 f μ) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Dist.dist.{u2} β (PseudoMetricSpace.toHasDist.{u2} β _inst_7) (f x) (g x)) ε) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ))))) -> (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 g μ)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {β : Type.{u2}} [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : PseudoMetricSpace.{u2} β] [_inst_8 : BorelSpace.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β _inst_7)) _inst_6] {μ : MeasureTheory.Measure.{u1} α _inst_1} {g : α -> β}, (forall (ε : Real), (GT.gt.{0} Real Real.instLTReal ε (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (Exists.{max (succ u1) (succ u2)} (α -> β) (fun (f : α -> β) => And (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 f μ) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Dist.dist.{u2} β (PseudoMetricSpace.toDist.{u2} β _inst_7) (f x) (g x)) ε) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ))))) -> (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 g μ)
-Case conversion may be inaccurate. Consider using '#align ae_measurable_of_unif_approx aemeasurable_of_unif_approxₓ'. -/
 theorem aemeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace β] [BorelSpace β]
     {μ : Measure α} {g : α → β}
     (hf : ∀ ε > (0 : ℝ), ∃ f : α → β, AEMeasurable f μ ∧ ∀ᵐ x ∂μ, dist (f x) (g x) ≤ ε) :
@@ -197,12 +143,6 @@ theorem aemeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace
   exact aemeasurable_of_tendsto_metrizable_ae' (fun n => (Hf n).1) this
 #align ae_measurable_of_unif_approx aemeasurable_of_unif_approx
 
-/- warning: measurable_of_tendsto_metrizable_ae -> measurable_of_tendsto_metrizable_ae is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u1} α _inst_1} [_inst_6 : MeasureTheory.Measure.IsComplete.{u1} α _inst_1 μ] {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), Measurable.{u1, u2} α β _inst_1 _inst_4 (f n)) -> (Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{0, u2} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u2} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Measurable.{u1, u2} α β _inst_1 _inst_4 g)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u2} α _inst_1} [_inst_6 : MeasureTheory.Measure.IsComplete.{u2} α _inst_1 μ] {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), Measurable.{u2, u1} α β _inst_1 _inst_4 (f n)) -> (Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{0, u1} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Measurable.{u2, u1} α β _inst_1 _inst_4 g)
-Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_metrizable_ae measurable_of_tendsto_metrizable_aeₓ'. -/
 theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f : ℕ → α → β}
     {g : α → β} (hf : ∀ n, Measurable (f n))
     (h_ae_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))) : Measurable g :=
@@ -210,12 +150,6 @@ theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f
     (aemeasurable_of_tendsto_metrizable_ae' (fun i => (hf i).AEMeasurable) h_ae_tendsto)
 #align measurable_of_tendsto_metrizable_ae measurable_of_tendsto_metrizable_ae
 
-/- warning: measurable_limit_of_tendsto_metrizable_ae -> measurable_limit_of_tendsto_metrizable_ae is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {ι : Type.{u3}} [_inst_6 : Countable.{succ u3} ι] [_inst_7 : Nonempty.{succ u3} ι] {μ : MeasureTheory.Measure.{u1} α _inst_1} {f : ι -> α -> β} {L : Filter.{u3} ι} [_inst_8 : Filter.IsCountablyGenerated.{u3} ι L], (forall (n : ι), AEMeasurable.{u1, u2} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u1} α (fun (x : α) => Exists.{succ u2} β (fun (l : β) => Filter.Tendsto.{u3, u2} ι β (fun (n : ι) => f n x) L (nhds.{u2} β _inst_2 l))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Exists.{max (succ u1) (succ u2)} (α -> β) (fun (f_lim : α -> β) => Exists.{0} (Measurable.{u1, u2} α β _inst_1 _inst_4 f_lim) (fun (hf_lim_meas : Measurable.{u1, u2} α β _inst_1 _inst_4 f_lim) => Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{u3, u2} ι β (fun (n : ι) => f n x) L (nhds.{u2} β _inst_2 (f_lim x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {ι : Type.{u3}} [_inst_6 : Countable.{succ u3} ι] [_inst_7 : Nonempty.{succ u3} ι] {μ : MeasureTheory.Measure.{u2} α _inst_1} {f : ι -> α -> β} {L : Filter.{u3} ι} [_inst_8 : Filter.IsCountablyGenerated.{u3} ι L], (forall (n : ι), AEMeasurable.{u2, u1} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u2} α (fun (x : α) => Exists.{succ u1} β (fun (l : β) => Filter.Tendsto.{u3, u1} ι β (fun (n : ι) => f n x) L (nhds.{u1} β _inst_2 l))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Exists.{max (succ u2) (succ u1)} (α -> β) (fun (f_lim : α -> β) => Exists.{0} (Measurable.{u2, u1} α β _inst_1 _inst_4 f_lim) (fun (hf_lim_meas : Measurable.{u2, u1} α β _inst_1 _inst_4 f_lim) => Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{u3, u1} ι β (fun (n : ι) => f n x) L (nhds.{u1} β _inst_2 (f_lim x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))))
-Case conversion may be inaccurate. Consider using '#align measurable_limit_of_tendsto_metrizable_ae measurable_limit_of_tendsto_metrizable_aeₓ'. -/
 theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty ι] {μ : Measure α}
     {f : ι → α → β} {L : Filter ι} [L.IsCountablyGenerated] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, Tendsto (fun n => f n x) L (𝓝 l)) :
Diff
@@ -43,9 +43,7 @@ theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g :
     Measurable g := by
   rcases u.exists_seq_tendsto with ⟨x, hx⟩
   rw [tendsto_pi_nhds] at lim
-  have : (fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top) = g :=
-    by
-    ext1 y
+  have : (fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top) = g := by ext1 y;
     exact ((limUnder y).comp hx).liminf_eq
   rw [← this]
   show Measurable fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) at_top
@@ -105,21 +103,16 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
     Measurable g :=
   by
   letI : PseudoMetricSpace β := pseudo_metrizable_space_pseudo_metric β
-  apply measurable_of_is_closed'
-  intro s h1s h2s h3s
+  apply measurable_of_is_closed'; intro s h1s h2s h3s
   have : Measurable fun x => inf_nndist (g x) s :=
     by
     suffices : tendsto (fun i x => inf_nndist (f i x) s) u (𝓝 fun x => inf_nndist (g x) s)
     exact measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
-    rw [tendsto_pi_nhds] at lim⊢
-    intro x
+    rw [tendsto_pi_nhds] at lim⊢; intro x
     exact ((continuous_inf_nndist_pt s).Tendsto (g x)).comp (limUnder x)
-  have h4s : g ⁻¹' s = (fun x => inf_nndist (g x) s) ⁻¹' {0} :=
-    by
-    ext x
+  have h4s : g ⁻¹' s = (fun x => inf_nndist (g x) s) ⁻¹' {0} := by ext x;
     simp [h1s, ← h1s.mem_iff_inf_dist_zero h2s, ← NNReal.coe_eq_zero]
-  rw [h4s]
-  exact this (measurable_set_singleton 0)
+  rw [h4s]; exact this (measurable_set_singleton 0)
 #align measurable_of_tendsto_metrizable' measurable_of_tendsto_metrizable'
 
 /- warning: measurable_of_tendsto_metrizable -> measurable_of_tendsto_metrizable is a dubious translation:
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Floris van Doorn
 
 ! This file was ported from Lean 3 source module measure_theory.constructions.borel_space.metrizable
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
+! leanprover-community/mathlib commit 38df578a6450a8c5142b3727e3ae894c2300cae0
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Topology.MetricSpace.Metrizable
 
 /-!
 # Measurable functions in (pseudo-)metrizable Borel spaces
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -28,6 +28,12 @@ variable [TopologicalSpace β] [PseudoMetrizableSpace β] [MeasurableSpace β] [
 
 open Metric
 
+/- warning: measurable_of_tendsto_ennreal' -> measurable_of_tendsto_ennreal' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> ENNReal} {g : α -> ENNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> ENNReal) f u (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> ENNReal} {g : α -> ENNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> ENNReal) f u (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.instTopologicalSpaceENNReal)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'ₓ'. -/
 /-- A limit (over a general filter) of measurable `ℝ≥0∞` valued functions is measurable. -/
 theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g : α → ℝ≥0∞} (u : Filter ι)
     [NeBot u] [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
@@ -43,12 +49,24 @@ theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g :
   exact measurable_liminf fun n => hf (x n)
 #align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'
 
+/- warning: measurable_of_tendsto_ennreal -> measurable_of_tendsto_ennreal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> ENNReal} {g : α -> ENNReal}, (forall (i : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> ENNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> ENNReal} {g : α -> ENNReal}, (forall (i : Nat), Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> ENNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} (α -> ENNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => ENNReal) (fun (a : α) => ENNReal.instTopologicalSpaceENNReal)) g)) -> (Measurable.{u1, 0} α ENNReal _inst_1 ENNReal.measurableSpace g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_ennreal measurable_of_tendsto_ennrealₓ'. -/
 /-- A sequential limit of measurable `ℝ≥0∞` valued functions is measurable. -/
-theorem measurable_of_tendsto_eNNReal {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
+theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_ennreal' atTop hf limUnder
-#align measurable_of_tendsto_ennreal measurable_of_tendsto_eNNReal
+#align measurable_of_tendsto_ennreal measurable_of_tendsto_ennreal
 
+/- warning: measurable_of_tendsto_nnreal' -> measurable_of_tendsto_nnreal' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> NNReal} {g : α -> NNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> NNReal) f u (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {ι : Type.{u2}} {f : ι -> α -> NNReal} {g : α -> NNReal} (u : Filter.{u2} ι) [_inst_6 : Filter.NeBot.{u2} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u2} ι u], (forall (i : ι), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{u2, u1} ι (α -> NNReal) f u (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.instTopologicalSpaceNNReal)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'ₓ'. -/
 /-- A limit (over a general filter) of measurable `ℝ≥0` valued functions is measurable. -/
 theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
@@ -59,12 +77,24 @@ theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α 
   exact fun x => (ennreal.continuous_coe.tendsto (g x)).comp (limUnder x)
 #align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
 
+/- warning: measurable_of_tendsto_nnreal -> measurable_of_tendsto_nnreal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> NNReal} {g : α -> NNReal}, (forall (i : Nat), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> NNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.topologicalSpace)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {f : Nat -> α -> NNReal} {g : α -> NNReal}, (forall (i : Nat), Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace (f i)) -> (Filter.Tendsto.{0, u1} Nat (α -> NNReal) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} (α -> NNReal) (Pi.topologicalSpace.{u1, 0} α (fun (ᾰ : α) => NNReal) (fun (a : α) => NNReal.instTopologicalSpaceNNReal)) g)) -> (Measurable.{u1, 0} α NNReal _inst_1 NNReal.measurableSpace g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_nnreal measurable_of_tendsto_nnrealₓ'. -/
 /-- A sequential limit of measurable `ℝ≥0` valued functions is measurable. -/
-theorem measurable_of_tendsto_nNReal {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
+theorem measurable_of_tendsto_nnreal {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
     (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
   measurable_of_tendsto_nnreal' atTop hf limUnder
-#align measurable_of_tendsto_nnreal measurable_of_tendsto_nNReal
+#align measurable_of_tendsto_nnreal measurable_of_tendsto_nnreal
 
+/- warning: measurable_of_tendsto_metrizable' -> measurable_of_tendsto_metrizable' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {ι : Type.{u3}} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [_inst_6 : Filter.NeBot.{u3} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u3} ι u], (forall (i : ι), Measurable.{u1, u2} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{u3, max u1 u2} ι (α -> β) f u (nhds.{max u1 u2} (α -> β) (Pi.topologicalSpace.{u1, u2} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u1, u2} α β _inst_1 _inst_4 g)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {ι : Type.{u3}} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [_inst_6 : Filter.NeBot.{u3} ι u] [_inst_7 : Filter.IsCountablyGenerated.{u3} ι u], (forall (i : ι), Measurable.{u2, u1} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{u3, max u2 u1} ι (α -> β) f u (nhds.{max u2 u1} (α -> β) (Pi.topologicalSpace.{u2, u1} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u2, u1} α β _inst_1 _inst_4 g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_metrizable' measurable_of_tendsto_metrizable'ₓ'. -/
 /-- A limit (over a general filter) of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α → β} (u : Filter ι) [NeBot u]
@@ -89,6 +119,12 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
   exact this (measurable_set_singleton 0)
 #align measurable_of_tendsto_metrizable' measurable_of_tendsto_metrizable'
 
+/- warning: measurable_of_tendsto_metrizable -> measurable_of_tendsto_metrizable is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {f : Nat -> α -> β} {g : α -> β}, (forall (i : Nat), Measurable.{u1, u2} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{0, max u1 u2} Nat (α -> β) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{max u1 u2} (α -> β) (Pi.topologicalSpace.{u1, u2} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u1, u2} α β _inst_1 _inst_4 g)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {f : Nat -> α -> β} {g : α -> β}, (forall (i : Nat), Measurable.{u2, u1} α β _inst_1 _inst_4 (f i)) -> (Filter.Tendsto.{0, max u2 u1} Nat (α -> β) f (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{max u2 u1} (α -> β) (Pi.topologicalSpace.{u2, u1} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) g)) -> (Measurable.{u2, u1} α β _inst_1 _inst_4 g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_metrizable measurable_of_tendsto_metrizableₓ'. -/
 /-- A sequential limit of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable {f : ℕ → α → β} {g : α → β} (hf : ∀ i, Measurable (f i))
@@ -96,7 +132,13 @@ theorem measurable_of_tendsto_metrizable {f : ℕ → α → β} {g : α → β}
   measurable_of_tendsto_metrizable' atTop hf limUnder
 #align measurable_of_tendsto_metrizable measurable_of_tendsto_metrizable
 
-theorem aEMeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι → α → β} {g : α → β}
+/- warning: ae_measurable_of_tendsto_metrizable_ae -> aemeasurable_of_tendsto_metrizable_ae is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {ι : Type.{u3}} {μ : MeasureTheory.Measure.{u1} α _inst_1} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [hu : Filter.NeBot.{u3} ι u] [_inst_6 : Filter.IsCountablyGenerated.{u3} ι u], (forall (n : ι), AEMeasurable.{u1, u2} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{u3, u2} ι β (fun (n : ι) => f n x) u (nhds.{u2} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (AEMeasurable.{u1, u2} α β _inst_4 _inst_1 g μ)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {ι : Type.{u3}} {μ : MeasureTheory.Measure.{u2} α _inst_1} {f : ι -> α -> β} {g : α -> β} (u : Filter.{u3} ι) [hu : Filter.NeBot.{u3} ι u] [_inst_6 : Filter.IsCountablyGenerated.{u3} ι u], (forall (n : ι), AEMeasurable.{u2, u1} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{u3, u1} ι β (fun (n : ι) => f n x) u (nhds.{u1} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (AEMeasurable.{u2, u1} α β _inst_4 _inst_1 g μ)
+Case conversion may be inaccurate. Consider using '#align ae_measurable_of_tendsto_metrizable_ae aemeasurable_of_tendsto_metrizable_aeₓ'. -/
+theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι → α → β} {g : α → β}
     (u : Filter ι) [hu : NeBot u] [IsCountablyGenerated u] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) u (𝓝 (g x))) : AEMeasurable g μ :=
   by
@@ -120,15 +162,27 @@ theorem aEMeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
     exact
       (ite_ae_eq_of_measure_compl_zero g (fun x => (⟨f (v 0) x⟩ : Nonempty β).some) (aeSeqSet h'f p)
           (aeSeq.measure_compl_aeSeqSet_eq_zero h'f hp)).symm
-#align ae_measurable_of_tendsto_metrizable_ae aEMeasurable_of_tendsto_metrizable_ae
+#align ae_measurable_of_tendsto_metrizable_ae aemeasurable_of_tendsto_metrizable_ae
 
-theorem aEMeasurable_of_tendsto_metrizable_ae' {μ : Measure α} {f : ℕ → α → β} {g : α → β}
+/- warning: ae_measurable_of_tendsto_metrizable_ae' -> aemeasurable_of_tendsto_metrizable_ae' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u1} α _inst_1} {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), AEMeasurable.{u1, u2} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{0, u2} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u2} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (AEMeasurable.{u1, u2} α β _inst_4 _inst_1 g μ)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u2} α _inst_1} {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), AEMeasurable.{u2, u1} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{0, u1} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (AEMeasurable.{u2, u1} α β _inst_4 _inst_1 g μ)
+Case conversion may be inaccurate. Consider using '#align ae_measurable_of_tendsto_metrizable_ae' aemeasurable_of_tendsto_metrizable_ae'ₓ'. -/
+theorem aemeasurable_of_tendsto_metrizable_ae' {μ : Measure α} {f : ℕ → α → β} {g : α → β}
     (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))) : AEMeasurable g μ :=
-  aEMeasurable_of_tendsto_metrizable_ae atTop hf h_ae_tendsto
-#align ae_measurable_of_tendsto_metrizable_ae' aEMeasurable_of_tendsto_metrizable_ae'
+  aemeasurable_of_tendsto_metrizable_ae atTop hf h_ae_tendsto
+#align ae_measurable_of_tendsto_metrizable_ae' aemeasurable_of_tendsto_metrizable_ae'
 
-theorem aEMeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace β] [BorelSpace β]
+/- warning: ae_measurable_of_unif_approx -> aemeasurable_of_unif_approx is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {β : Type.{u2}} [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : PseudoMetricSpace.{u2} β] [_inst_8 : BorelSpace.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β _inst_7)) _inst_6] {μ : MeasureTheory.Measure.{u1} α _inst_1} {g : α -> β}, (forall (ε : Real), (GT.gt.{0} Real Real.hasLt ε (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Exists.{max (succ u1) (succ u2)} (α -> β) (fun (f : α -> β) => And (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 f μ) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.hasLe (Dist.dist.{u2} β (PseudoMetricSpace.toHasDist.{u2} β _inst_7) (f x) (g x)) ε) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ))))) -> (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 g μ)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : MeasurableSpace.{u1} α] {β : Type.{u2}} [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : PseudoMetricSpace.{u2} β] [_inst_8 : BorelSpace.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β _inst_7)) _inst_6] {μ : MeasureTheory.Measure.{u1} α _inst_1} {g : α -> β}, (forall (ε : Real), (GT.gt.{0} Real Real.instLTReal ε (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (Exists.{max (succ u1) (succ u2)} (α -> β) (fun (f : α -> β) => And (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 f μ) (Filter.Eventually.{u1} α (fun (x : α) => LE.le.{0} Real Real.instLEReal (Dist.dist.{u2} β (PseudoMetricSpace.toDist.{u2} β _inst_7) (f x) (g x)) ε) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ))))) -> (AEMeasurable.{u1, u2} α β _inst_6 _inst_1 g μ)
+Case conversion may be inaccurate. Consider using '#align ae_measurable_of_unif_approx aemeasurable_of_unif_approxₓ'. -/
+theorem aemeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace β] [BorelSpace β]
     {μ : Measure α} {g : α → β}
     (hf : ∀ ε > (0 : ℝ), ∃ f : α → β, AEMeasurable f μ ∧ ∀ᵐ x ∂μ, dist (f x) (g x) ≤ ε) :
     AEMeasurable g μ :=
@@ -144,16 +198,28 @@ theorem aEMeasurable_of_unif_approx {β} [MeasurableSpace β] [PseudoMetricSpace
     intro x hx
     rw [tendsto_iff_dist_tendsto_zero]
     exact squeeze_zero (fun n => dist_nonneg) hx u_lim
-  exact aEMeasurable_of_tendsto_metrizable_ae' (fun n => (Hf n).1) this
-#align ae_measurable_of_unif_approx aEMeasurable_of_unif_approx
+  exact aemeasurable_of_tendsto_metrizable_ae' (fun n => (Hf n).1) this
+#align ae_measurable_of_unif_approx aemeasurable_of_unif_approx
 
+/- warning: measurable_of_tendsto_metrizable_ae -> measurable_of_tendsto_metrizable_ae is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u1} α _inst_1} [_inst_6 : MeasureTheory.Measure.IsComplete.{u1} α _inst_1 μ] {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), Measurable.{u1, u2} α β _inst_1 _inst_4 (f n)) -> (Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{0, u2} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (nhds.{u2} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Measurable.{u1, u2} α β _inst_1 _inst_4 g)
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {μ : MeasureTheory.Measure.{u2} α _inst_1} [_inst_6 : MeasureTheory.Measure.IsComplete.{u2} α _inst_1 μ] {f : Nat -> α -> β} {g : α -> β}, (forall (n : Nat), Measurable.{u2, u1} α β _inst_1 _inst_4 (f n)) -> (Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{0, u1} Nat β (fun (n : Nat) => f n x) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (nhds.{u1} β _inst_2 (g x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Measurable.{u2, u1} α β _inst_1 _inst_4 g)
+Case conversion may be inaccurate. Consider using '#align measurable_of_tendsto_metrizable_ae measurable_of_tendsto_metrizable_aeₓ'. -/
 theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f : ℕ → α → β}
     {g : α → β} (hf : ∀ n, Measurable (f n))
     (h_ae_tendsto : ∀ᵐ x ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))) : Measurable g :=
   aemeasurable_iff_measurable.mp
-    (aEMeasurable_of_tendsto_metrizable_ae' (fun i => (hf i).AEMeasurable) h_ae_tendsto)
+    (aemeasurable_of_tendsto_metrizable_ae' (fun i => (hf i).AEMeasurable) h_ae_tendsto)
 #align measurable_of_tendsto_metrizable_ae measurable_of_tendsto_metrizable_ae
 
+/- warning: measurable_limit_of_tendsto_metrizable_ae -> measurable_limit_of_tendsto_metrizable_ae is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u2} β _inst_2] [_inst_4 : MeasurableSpace.{u2} β] [_inst_5 : BorelSpace.{u2} β _inst_2 _inst_4] {ι : Type.{u3}} [_inst_6 : Countable.{succ u3} ι] [_inst_7 : Nonempty.{succ u3} ι] {μ : MeasureTheory.Measure.{u1} α _inst_1} {f : ι -> α -> β} {L : Filter.{u3} ι} [_inst_8 : Filter.IsCountablyGenerated.{u3} ι L], (forall (n : ι), AEMeasurable.{u1, u2} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u1} α (fun (x : α) => Exists.{succ u2} β (fun (l : β) => Filter.Tendsto.{u3, u2} ι β (fun (n : ι) => f n x) L (nhds.{u2} β _inst_2 l))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Exists.{max (succ u1) (succ u2)} (α -> β) (fun (f_lim : α -> β) => Exists.{0} (Measurable.{u1, u2} α β _inst_1 _inst_4 f_lim) (fun (hf_lim_meas : Measurable.{u1, u2} α β _inst_1 _inst_4 f_lim) => Filter.Eventually.{u1} α (fun (x : α) => Filter.Tendsto.{u3, u2} ι β (fun (n : ι) => f n x) L (nhds.{u2} β _inst_2 (f_lim x))) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_3 : TopologicalSpace.PseudoMetrizableSpace.{u1} β _inst_2] [_inst_4 : MeasurableSpace.{u1} β] [_inst_5 : BorelSpace.{u1} β _inst_2 _inst_4] {ι : Type.{u3}} [_inst_6 : Countable.{succ u3} ι] [_inst_7 : Nonempty.{succ u3} ι] {μ : MeasureTheory.Measure.{u2} α _inst_1} {f : ι -> α -> β} {L : Filter.{u3} ι} [_inst_8 : Filter.IsCountablyGenerated.{u3} ι L], (forall (n : ι), AEMeasurable.{u2, u1} α β _inst_4 _inst_1 (f n) μ) -> (Filter.Eventually.{u2} α (fun (x : α) => Exists.{succ u1} β (fun (l : β) => Filter.Tendsto.{u3, u1} ι β (fun (n : ι) => f n x) L (nhds.{u1} β _inst_2 l))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Exists.{max (succ u2) (succ u1)} (α -> β) (fun (f_lim : α -> β) => Exists.{0} (Measurable.{u2, u1} α β _inst_1 _inst_4 f_lim) (fun (hf_lim_meas : Measurable.{u2, u1} α β _inst_1 _inst_4 f_lim) => Filter.Eventually.{u2} α (fun (x : α) => Filter.Tendsto.{u3, u1} ι β (fun (n : ι) => f n x) L (nhds.{u1} β _inst_2 (f_lim x))) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))))
+Case conversion may be inaccurate. Consider using '#align measurable_limit_of_tendsto_metrizable_ae measurable_limit_of_tendsto_metrizable_aeₓ'. -/
 theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty ι] {μ : Measure α}
     {f : ι → α → β} {L : Filter ι} [L.IsCountablyGenerated] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, Tendsto (fun n => f n x) L (𝓝 l)) :
Diff
@@ -53,7 +53,7 @@ theorem measurable_of_tendsto_eNNReal {f : ℕ → α → ℝ≥0∞} {g : α 
 theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
-  simp_rw [← measurable_coe_nNReal_eNNReal_iff] at hf⊢
+  simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf⊢
   refine' measurable_of_tendsto_ennreal' u hf _
   rw [tendsto_pi_nhds] at lim⊢
   exact fun x => (ennreal.continuous_coe.tendsto (g x)).comp (limUnder x)

Changes in mathlib4

mathlib3
mathlib4
feat: tendsto_of_integral_tendsto_of_monotone (#11167)

Add tendsto_of_integral_tendsto_of_monotone, as well as ...of_antitone and the corresponding results for lintegral.

Also:

  • move some results about measurability of limits of (E)NNReal valued functions from BorelSpace.Metrizable to BorelSpace.Basic to make them available in Integral.Lebesgue.
  • add lintegral_iInf', a version of lintegral_iInf for a.e.-measurable functions. We already have the corresponding lintegral_iSup'.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>

Diff
@@ -26,42 +26,6 @@ variable [TopologicalSpace β] [PseudoMetrizableSpace β] [MeasurableSpace β] [
 
 open Metric
 
-/-- A limit (over a general filter) of measurable `ℝ≥0∞` valued functions is measurable. -/
-theorem measurable_of_tendsto_ennreal' {ι} {f : ι → α → ℝ≥0∞} {g : α → ℝ≥0∞} (u : Filter ι)
-    [NeBot u] [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
-    Measurable g := by
-  rcases u.exists_seq_tendsto with ⟨x, hx⟩
-  rw [tendsto_pi_nhds] at lim
-  have : (fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) atTop) = g := by
-    ext1 y
-    exact ((lim y).comp hx).liminf_eq
-  rw [← this]
-  show Measurable fun y => liminf (fun n => (f (x n) y : ℝ≥0∞)) atTop
-  exact measurable_liminf fun n => hf (x n)
-#align measurable_of_tendsto_ennreal' measurable_of_tendsto_ennreal'
-
-/-- A sequential limit of measurable `ℝ≥0∞` valued functions is measurable. -/
-theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α → ℝ≥0∞} (hf : ∀ i, Measurable (f i))
-    (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
-  measurable_of_tendsto_ennreal' atTop hf lim
-#align measurable_of_tendsto_ennreal measurable_of_tendsto_ennreal
-
-/-- A limit (over a general filter) of measurable `ℝ≥0` valued functions is measurable. -/
-theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
-    [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
-    Measurable g := by
-  simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf ⊢
-  refine' measurable_of_tendsto_ennreal' u hf _
-  rw [tendsto_pi_nhds] at lim ⊢
-  exact fun x => (ENNReal.continuous_coe.tendsto (g x)).comp (lim x)
-#align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
-
-/-- A sequential limit of measurable `ℝ≥0` valued functions is measurable. -/
-theorem measurable_of_tendsto_nnreal {f : ℕ → α → ℝ≥0} {g : α → ℝ≥0} (hf : ∀ i, Measurable (f i))
-    (lim : Tendsto f atTop (𝓝 g)) : Measurable g :=
-  measurable_of_tendsto_nnreal' atTop hf lim
-#align measurable_of_tendsto_nnreal measurable_of_tendsto_nnreal
-
 /-- A limit (over a general filter) of measurable functions valued in a (pseudo) metrizable space is
 measurable. -/
 theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α → β} (u : Filter ι) [NeBot u]
@@ -72,7 +36,7 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
   intro s h1s h2s h3s
   have : Measurable fun x => infNndist (g x) s := by
     suffices Tendsto (fun i x => infNndist (f i x) s) u (𝓝 fun x => infNndist (g x) s) from
-      measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
+      NNReal.measurable_of_tendsto' u (fun i => (hf i).infNndist) this
     rw [tendsto_pi_nhds] at lim ⊢
     intro x
     exact ((continuous_infNndist_pt s).tendsto (g x)).comp (lim x)
@@ -185,7 +149,7 @@ lemma measurableSet_of_tendsto_indicator [NeBot L] (As_mble : ∀ i, MeasurableS
     (h_lim : ∀ x, ∀ᶠ i in L, x ∈ As i ↔ x ∈ A) :
     MeasurableSet A := by
   simp_rw [← measurable_indicator_const_iff (1 : ℝ≥0∞)] at As_mble ⊢
-  exact measurable_of_tendsto_ennreal' L As_mble
+  exact ENNReal.measurable_of_tendsto' L As_mble
     ((tendsto_indicator_const_iff_forall_eventually L (1 : ℝ≥0∞)).mpr h_lim)
 
 /-- If the indicator functions of a.e.-measurable sets `Aᵢ` converge a.e. to the indicator function
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -15,7 +15,8 @@ import Mathlib.Topology.IndicatorConstPointwise
 
 open Filter MeasureTheory TopologicalSpace
 
-open Classical Topology NNReal ENNReal MeasureTheory
+open scoped Classical
+open Topology NNReal ENNReal MeasureTheory
 
 variable {α β : Type*} [MeasurableSpace α]
 
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -103,7 +103,7 @@ theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
       measurable_of_tendsto_metrizable' atTop (aeSeq.measurable h'f p)
         (tendsto_pi_nhds.mpr fun x => _),
       _⟩
-  · simp_rw [aeSeq]
+  · simp_rw [aeSeqLim, aeSeq]
     split_ifs with hx
     · simp_rw [aeSeq.mk_eq_fun_of_mem_aeSeqSet h'f hx]
       exact @aeSeq.fun_prop_of_mem_aeSeqSet _ α β _ _ _ _ _ h'f x hx
@@ -158,7 +158,7 @@ theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty
     fun _ => (⟨f default x⟩ : Nonempty β).some
   have hf_lim : ∀ x, Tendsto (fun n => aeSeq hf p n x) L (𝓝 (f_lim x)) := by
     intro x
-    simp only [aeSeq]
+    simp only [aeSeq, f_lim]
     split_ifs with h
     · refine' (hp_mem x h).choose_spec.congr fun n => _
       exact (aeSeq.mk_eq_fun_of_mem_aeSeqSet hf h n).symm
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -70,8 +70,8 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
   apply measurable_of_isClosed'
   intro s h1s h2s h3s
   have : Measurable fun x => infNndist (g x) s := by
-    suffices : Tendsto (fun i x => infNndist (f i x) s) u (𝓝 fun x => infNndist (g x) s)
-    exact measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
+    suffices Tendsto (fun i x => infNndist (f i x) s) u (𝓝 fun x => infNndist (g x) s) from
+      measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
     rw [tendsto_pi_nhds] at lim ⊢
     intro x
     exact ((continuous_infNndist_pt s).tendsto (g x)).comp (lim x)
chore(*): use ∃ x ∈ s, _ instead of ∃ (x) (_ : x ∈ s), _ (#9184)

Search for [∀∃].*(_ and manually replace some occurrences with more readable versions. In case of , the new expressions are defeq to the old ones. In case of , they differ by exists_prop.

In some rare cases, golf proofs that needed fixing.

Diff
@@ -146,8 +146,7 @@ theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f
 theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty ι] {μ : Measure α}
     {f : ι → α → β} {L : Filter ι} [L.IsCountablyGenerated] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, Tendsto (fun n => f n x) L (𝓝 l)) :
-    ∃ (f_lim : α → β) (hf_lim_meas : Measurable f_lim),
-      ∀ᵐ x ∂μ, Tendsto (fun n => f n x) L (𝓝 (f_lim x)) := by
+    ∃ f_lim : α → β, Measurable f_lim ∧ ∀ᵐ x ∂μ, Tendsto (fun n => f n x) L (𝓝 (f_lim x)) := by
   inhabit ι
   rcases eq_or_neBot L with (rfl | hL)
   · exact ⟨(hf default).mk _, (hf default).measurable_mk, eventually_of_forall fun x => tendsto_bot⟩
chore: better phrasing of pointwise convergence of indicators (#8331)

In some recently added results, pointwise convergence of constant indicators of sets was phrased in terms of Tendsto in the product topology. The relevant notion is more elementary, however: it is (usually) equivalent to eventually constantness of the set membership of any point; in particular the topology of the underlying set plays almost no role (apart from mild separation axioms). This PR adds equivalences between the conditions and refactors some results.

Co-authored-by: Floris van Doorn <@fpvandoorn>.

Diff
@@ -5,6 +5,7 @@ Authors: Floris van Doorn
 -/
 import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
 import Mathlib.Topology.Metrizable.Basic
+import Mathlib.Topology.IndicatorConstPointwise
 
 #align_import measure_theory.constructions.borel_space.metrizable from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
 
@@ -12,7 +13,6 @@ import Mathlib.Topology.Metrizable.Basic
 # Measurable functions in (pseudo-)metrizable Borel spaces
 -/
 
-
 open Filter MeasureTheory TopologicalSpace
 
 open Classical Topology NNReal ENNReal MeasureTheory
@@ -182,19 +182,20 @@ variable {ι : Type*} (L : Filter ι) [IsCountablyGenerated L] {As : ι → Set
 /-- If the indicator functions of measurable sets `Aᵢ` converge to the indicator function of
 a set `A` along a nontrivial countably generated filter, then `A` is also measurable. -/
 lemma measurableSet_of_tendsto_indicator [NeBot L] (As_mble : ∀ i, MeasurableSet (As i))
-    (h_lim : Tendsto (fun i ↦ (As i).indicator (1 : α → ℝ≥0∞)) L (𝓝 (A.indicator 1))) :
+    (h_lim : ∀ x, ∀ᶠ i in L, x ∈ As i ↔ x ∈ A) :
     MeasurableSet A := by
   simp_rw [← measurable_indicator_const_iff (1 : ℝ≥0∞)] at As_mble ⊢
-  exact measurable_of_tendsto_ennreal' L As_mble h_lim
+  exact measurable_of_tendsto_ennreal' L As_mble
+    ((tendsto_indicator_const_iff_forall_eventually L (1 : ℝ≥0∞)).mpr h_lim)
 
 /-- If the indicator functions of a.e.-measurable sets `Aᵢ` converge a.e. to the indicator function
 of a set `A` along a nontrivial countably generated filter, then `A` is also a.e.-measurable. -/
 lemma nullMeasurableSet_of_tendsto_indicator [NeBot L] {μ : Measure α}
     (As_mble : ∀ i, NullMeasurableSet (As i) μ)
-    (h_lim : ∀ᵐ x ∂μ, Tendsto (fun i ↦ (As i).indicator (1 : α → ℝ≥0∞) x)
-      L (𝓝 (A.indicator 1 x))) :
+    (h_lim : ∀ᵐ x ∂μ, ∀ᶠ i in L, x ∈ As i ↔ x ∈ A) :
     NullMeasurableSet A μ := by
   simp_rw [← aemeasurable_indicator_const_iff (1 : ℝ≥0∞)] at As_mble ⊢
-  exact aemeasurable_of_tendsto_metrizable_ae L As_mble h_lim
+  apply aemeasurable_of_tendsto_metrizable_ae L As_mble
+  simpa [tendsto_indicator_const_apply_iff_eventually] using h_lim
 
 end TendstoIndicator
chore: tidy various files (#8175)
Diff
@@ -67,7 +67,7 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
   letI : PseudoMetricSpace β := pseudoMetrizableSpacePseudoMetric β
-  apply measurable_of_is_closed'
+  apply measurable_of_isClosed'
   intro s h1s h2s h3s
   have : Measurable fun x => infNndist (g x) s := by
     suffices : Tendsto (fun i x => infNndist (f i x) s) u (𝓝 fun x => infNndist (g x) s)
chore: split Topology.MetricSpace.Metrizable* (#7912)

Move

  • basic definitions to Topology.Metrizable.Basic,
  • Urysohn's metrization theorem to `Topology.Metrizable.Urysohns', and
  • metrizability of a uniform space with countably generated uniformity to Topology.Metrizable.Uniform.

The next step is to redefine Metrizable as "uniformizable with countably generated uniformity" and make this definition available much earlier.

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Floris van Doorn
 -/
 import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
-import Mathlib.Topology.MetricSpace.Metrizable
+import Mathlib.Topology.Metrizable.Basic
 
 #align_import measure_theory.constructions.borel_space.metrizable from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
 
chore: cleanup typo in filter_upwards (#7719)

mathport was forgetting a space in filter_upwards [...]with instead of filter_upwards [...] with.

Diff
@@ -96,7 +96,7 @@ theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
   have h'f : ∀ n, AEMeasurable (f (v n)) μ := fun n => hf (v n)
   set p : α → (ℕ → β) → Prop := fun x f' => Tendsto (fun n => f' n) atTop (𝓝 (g x))
   have hp : ∀ᵐ x ∂μ, p x fun n => f (v n) x := by
-    filter_upwards [h_tendsto]with x hx using hx.comp hv
+    filter_upwards [h_tendsto] with x hx using hx.comp hv
   set aeSeqLim := fun x => ite (x ∈ aeSeqSet h'f p) (g x) (⟨f (v 0) x⟩ : Nonempty β).some
   refine'
     ⟨aeSeqLim,
chore: remove many Type _ before the colon (#7718)

We have turned to Type* instead of Type _, but many of them remained in mathlib because the straight replacement did not work. In general, having Type _ before the colon is a code smell, though, as it hides which types should be in the same universe and which shouldn't, and is not very robust.

This PR replaces most of the remaining Type _ before the colon (except those in category theory) by Type* or Type u. This has uncovered a few bugs (where declarations were not as polymorphic as they should be).

I had to increase heartbeats at two places when replacing Type _ by Type*, but I think it's worth it as it's really more robust.

Diff
@@ -176,8 +176,8 @@ end Limits
 
 section TendstoIndicator
 
-variable {α : Type _} [MeasurableSpace α] {A : Set α}
-variable {ι : Type _} (L : Filter ι) [IsCountablyGenerated L] {As : ι → Set α}
+variable {α : Type*} [MeasurableSpace α] {A : Set α}
+variable {ι : Type*} (L : Filter ι) [IsCountablyGenerated L] {As : ι → Set α}
 
 /-- If the indicator functions of measurable sets `Aᵢ` converge to the indicator function of
 a set `A` along a nontrivial countably generated filter, then `A` is also measurable. -/
feat: Results about convergence of measures of sets assuming convergence of indicator functions. (#6225)

Adding results about convergence of measures of sets assuming convergence of indicator functions.

Co-authored-by: kkytola <“kalle.kytola@aalto.fi”> Co-authored-by: kkytola <39528102+kkytola@users.noreply.github.com>

Diff
@@ -173,3 +173,28 @@ theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty
 #align measurable_limit_of_tendsto_metrizable_ae measurable_limit_of_tendsto_metrizable_ae
 
 end Limits
+
+section TendstoIndicator
+
+variable {α : Type _} [MeasurableSpace α] {A : Set α}
+variable {ι : Type _} (L : Filter ι) [IsCountablyGenerated L] {As : ι → Set α}
+
+/-- If the indicator functions of measurable sets `Aᵢ` converge to the indicator function of
+a set `A` along a nontrivial countably generated filter, then `A` is also measurable. -/
+lemma measurableSet_of_tendsto_indicator [NeBot L] (As_mble : ∀ i, MeasurableSet (As i))
+    (h_lim : Tendsto (fun i ↦ (As i).indicator (1 : α → ℝ≥0∞)) L (𝓝 (A.indicator 1))) :
+    MeasurableSet A := by
+  simp_rw [← measurable_indicator_const_iff (1 : ℝ≥0∞)] at As_mble ⊢
+  exact measurable_of_tendsto_ennreal' L As_mble h_lim
+
+/-- If the indicator functions of a.e.-measurable sets `Aᵢ` converge a.e. to the indicator function
+of a set `A` along a nontrivial countably generated filter, then `A` is also a.e.-measurable. -/
+lemma nullMeasurableSet_of_tendsto_indicator [NeBot L] {μ : Measure α}
+    (As_mble : ∀ i, NullMeasurableSet (As i) μ)
+    (h_lim : ∀ᵐ x ∂μ, Tendsto (fun i ↦ (As i).indicator (1 : α → ℝ≥0∞) x)
+      L (𝓝 (A.indicator 1 x))) :
+    NullMeasurableSet A μ := by
+  simp_rw [← aemeasurable_indicator_const_iff (1 : ℝ≥0∞)] at As_mble ⊢
+  exact aemeasurable_of_tendsto_metrizable_ae L As_mble h_lim
+
+end TendstoIndicator
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -17,7 +17,7 @@ open Filter MeasureTheory TopologicalSpace
 
 open Classical Topology NNReal ENNReal MeasureTheory
 
-variable {α β : Type _} [MeasurableSpace α]
+variable {α β : Type*} [MeasurableSpace α]
 
 section Limits
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Floris van Doorn. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Floris van Doorn
-
-! This file was ported from Lean 3 source module measure_theory.constructions.borel_space.metrizable
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
 import Mathlib.Topology.MetricSpace.Metrizable
 
+#align_import measure_theory.constructions.borel_space.metrizable from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
+
 /-!
 # Measurable functions in (pseudo-)metrizable Borel spaces
 -/
chore: fix focusing dots (#5708)

This PR is the result of running

find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;

which firstly replaces . focusing dots with · and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.

Diff
@@ -111,8 +111,7 @@ theorem aemeasurable_of_tendsto_metrizable_ae {ι} {μ : Measure α} {f : ι →
     · simp_rw [aeSeq.mk_eq_fun_of_mem_aeSeqSet h'f hx]
       exact @aeSeq.fun_prop_of_mem_aeSeqSet _ α β _ _ _ _ _ h'f x hx
     · exact tendsto_const_nhds
-  ·
-    exact
+  · exact
       (ite_ae_eq_of_measure_compl_zero g (fun x => (⟨f (v 0) x⟩ : Nonempty β).some) (aeSeqSet h'f p)
           (aeSeq.measure_compl_aeSeqSet_eq_zero h'f hp)).symm
 #align ae_measurable_of_tendsto_metrizable_ae aemeasurable_of_tendsto_metrizable_ae
feat: add Filter.eq_or_neBot (#5230)

Also add Filter.limsup_bot, Filter.liminf_bot, and golf some proofs using new lemmas.

Diff
@@ -153,9 +153,8 @@ theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty
     ∃ (f_lim : α → β) (hf_lim_meas : Measurable f_lim),
       ∀ᵐ x ∂μ, Tendsto (fun n => f n x) L (𝓝 (f_lim x)) := by
   inhabit ι
-  rcases eq_or_ne L ⊥ with (rfl | hL)
+  rcases eq_or_neBot L with (rfl | hL)
   · exact ⟨(hf default).mk _, (hf default).measurable_mk, eventually_of_forall fun x => tendsto_bot⟩
-  haveI : NeBot L := ⟨hL⟩
   let p : α → (ι → β) → Prop := fun x f' => ∃ l : β, Tendsto (fun n => f' n) L (𝓝 l)
   have hp_mem : ∀ x ∈ aeSeqSet hf p, p x fun n => f n x := fun x hx =>
     aeSeq.fun_prop_of_mem_aeSeqSet hf hx
feat: don't re-elaborate terms in set (#5386)

Fix the set tactic to not time out when dealing with slow to elaborate terms and many local hypotheses.

The root cause of this is that the rewrite [blah] at * tactic causes blah to be elaborated again and again for each local hypothesis, this is possibly a core issue that should be fixed separately, but in set we have the elaborated term already so we can just use it.

We also add some functionality to simply test / demonstrate failures when elaboration takes too long, namely sleepAtLeastHeartbeats and a sleep_heartbeats tactic.

@urkud was facing some slow running set's in https://github.com/leanprover-community/mathlib4/pull/4912, see https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Timeout.20in.20.60set.20.2E.2E.20with.60/near/367958828 that this issue was minimized from and should fix.

Some other linter failures show up due to changes to the set internals so fix these too.

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -161,7 +161,7 @@ theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty
     aeSeq.fun_prop_of_mem_aeSeqSet hf hx
   have h_ae_eq : ∀ᵐ x ∂μ, ∀ n, aeSeq hf p n x = f n x := aeSeq.aeSeq_eq_fun_ae hf h_ae_tendsto
   set f_lim : α → β := fun x => dite (x ∈ aeSeqSet hf p) (fun h => (hp_mem x h).choose)
-    fun h => (⟨f default x⟩ : Nonempty β).some
+    fun _ => (⟨f default x⟩ : Nonempty β).some
   have hf_lim : ∀ x, Tendsto (fun n => aeSeq hf p n x) L (𝓝 (f_lim x)) := by
     intro x
     simp only [aeSeq]
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -52,9 +52,9 @@ theorem measurable_of_tendsto_ennreal {f : ℕ → α → ℝ≥0∞} {g : α 
 theorem measurable_of_tendsto_nnreal' {ι} {f : ι → α → ℝ≥0} {g : α → ℝ≥0} (u : Filter ι) [NeBot u]
     [IsCountablyGenerated u] (hf : ∀ i, Measurable (f i)) (lim : Tendsto f u (𝓝 g)) :
     Measurable g := by
-  simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf⊢
+  simp_rw [← measurable_coe_nnreal_ennreal_iff] at hf ⊢
   refine' measurable_of_tendsto_ennreal' u hf _
-  rw [tendsto_pi_nhds] at lim⊢
+  rw [tendsto_pi_nhds] at lim ⊢
   exact fun x => (ENNReal.continuous_coe.tendsto (g x)).comp (lim x)
 #align measurable_of_tendsto_nnreal' measurable_of_tendsto_nnreal'
 
@@ -75,7 +75,7 @@ theorem measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α 
   have : Measurable fun x => infNndist (g x) s := by
     suffices : Tendsto (fun i x => infNndist (f i x) s) u (𝓝 fun x => infNndist (g x) s)
     exact measurable_of_tendsto_nnreal' u (fun i => (hf i).infNndist) this
-    rw [tendsto_pi_nhds] at lim⊢
+    rw [tendsto_pi_nhds] at lim ⊢
     intro x
     exact ((continuous_infNndist_pt s).tendsto (g x)).comp (lim x)
   have h4s : g ⁻¹' s = (fun x => infNndist (g x) s) ⁻¹' {0} := by
chore: formatting issues (#4947)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -150,7 +150,7 @@ theorem measurable_of_tendsto_metrizable_ae {μ : Measure α} [μ.IsComplete] {f
 theorem measurable_limit_of_tendsto_metrizable_ae {ι} [Countable ι] [Nonempty ι] {μ : Measure α}
     {f : ι → α → β} {L : Filter ι} [L.IsCountablyGenerated] (hf : ∀ n, AEMeasurable (f n) μ)
     (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, Tendsto (fun n => f n x) L (𝓝 l)) :
-    ∃ (f_lim : α → β)(hf_lim_meas : Measurable f_lim),
+    ∃ (f_lim : α → β) (hf_lim_meas : Measurable f_lim),
       ∀ᵐ x ∂μ, Tendsto (fun n => f n x) L (𝓝 (f_lim x)) := by
   inhabit ι
   rcases eq_or_ne L ⊥ with (rfl | hL)
feat: port MeasureTheory.Constructions.BorelSpace.Metrizable (#4222)

easy port, only needed to change some names and small proof fixes

Dependencies 10 + 714

715 files ported (98.6%)
319739 lines ported (98.4%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file