@@ -1869,40 +1869,40 @@ end
1869
1869
1870
1870
lemma measurable_of_tendsto_metric_ae {μ : measure α} [μ.is_complete] {f : ℕ → α → β} {g : α → β}
1871
1871
(hf : ∀ n, measurable (f n))
1872
- (h_ae_tendsto : ∀ᵐ x ∂μ, filter.at_top. tendsto (λ n, f n x) (𝓝 (g x))) :
1872
+ (h_ae_tendsto : ∀ᵐ x ∂μ, tendsto (λ n, f n x) at_top (𝓝 (g x))) :
1873
1873
measurable g :=
1874
1874
ae_measurable_iff_measurable.mp
1875
1875
(ae_measurable_of_tendsto_metric_ae' (λ i, (hf i).ae_measurable) h_ae_tendsto)
1876
1876
1877
- lemma measurable_limit_of_tendsto_metric_ae {μ : measure α} {f : ℕ → α → β }
1878
- (hf : ∀ n, ae_measurable (f n) μ)
1879
- (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, filter.at_top. tendsto (λ n, f n x) (𝓝 l)) :
1877
+ lemma measurable_limit_of_tendsto_metric_ae {ι} [encodable ι] [nonempty ι] {μ : measure α }
1878
+ {f : ι → α → β} {L : filter ι} [L.is_countably_generated] (hf : ∀ n, ae_measurable (f n) μ)
1879
+ (h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, tendsto (λ n, f n x) L (𝓝 l)) :
1880
1880
∃ (f_lim : α → β) (hf_lim_meas : measurable f_lim),
1881
- ∀ᵐ x ∂μ, filter.at_top. tendsto (λ n, f n x) (𝓝 (f_lim x)) :=
1881
+ ∀ᵐ x ∂μ, tendsto (λ n, f n x) L (𝓝 (f_lim x)) :=
1882
1882
begin
1883
- let p : α → (ℕ → β) → Prop := λ x f', ∃ l : β, filter.at_top.tendsto (λ n, f' n) (𝓝 l),
1884
- have hp_mem : ∀ x, x ∈ ae_seq_set hf p → p x (λ n, f n x),
1883
+ inhabit ι,
1884
+ unfreezingI { rcases eq_or_ne L ⊥ with rfl | hL },
1885
+ { exact ⟨(hf default).mk _, (hf default).measurable_mk,
1886
+ eventually_of_forall $ λ x, tendsto_bot⟩ },
1887
+ haveI : ne_bot L := ⟨hL⟩,
1888
+ let p : α → (ι → β) → Prop := λ x f', ∃ l : β, tendsto (λ n, f' n) L (𝓝 l),
1889
+ have hp_mem : ∀ x ∈ ae_seq_set hf p, p x (λ n, f n x),
1885
1890
from λ x hx, ae_seq.fun_prop_of_mem_ae_seq_set hf hx,
1886
- have hμ_compl : μ (ae_seq_set hf p)ᶜ = 0 ,
1887
- from ae_seq.measure_compl_ae_seq_set_eq_zero hf h_ae_tendsto,
1891
+ have h_ae_eq : ∀ᵐ x ∂μ, ∀ n, ae_seq hf p n x = f n x ,
1892
+ from ae_seq.ae_seq_eq_fun_ae hf h_ae_tendsto,
1888
1893
let f_lim : α → β := λ x, dite (x ∈ ae_seq_set hf p) (λ h, (hp_mem x h).some)
1889
- (λ h, (⟨f 0 x⟩ : nonempty β).some),
1890
- have hf_lim_conv : ∀ x, x ∈ ae_seq_set hf p → filter.at_top.tendsto (λ n, f n x) (𝓝 (f_lim x)),
1891
- { intros x hx_conv,
1892
- simp only [f_lim, hx_conv, dif_pos],
1893
- exact (hp_mem x hx_conv).some_spec, },
1894
- have hf_lim : ∀ x, filter.at_top.tendsto (λ n, ae_seq hf p n x) (𝓝 (f_lim x)),
1894
+ (λ h, (⟨f default x⟩ : nonempty β).some),
1895
+ have hf_lim : ∀ x, tendsto (λ n, ae_seq hf p n x) L (𝓝 (f_lim x)),
1895
1896
{ intros x,
1896
1897
simp only [f_lim, ae_seq],
1897
1898
split_ifs,
1898
- { rw funext (λ n, ae_seq.mk_eq_fun_of_mem_ae_seq_set hf h n ),
1899
- exact (hp_mem x h).some_spec, },
1899
+ { refine (hp_mem x h).some_spec.congr (λ n, _ ),
1900
+ exact (ae_seq.mk_eq_fun_of_mem_ae_seq_set hf h n).symm },
1900
1901
{ exact tendsto_const_nhds, }, },
1901
- have h_ae_tendsto_f_lim : ∀ᵐ x ∂μ, filter.at_top.tendsto (λ n, f n x) (𝓝 (f_lim x)),
1902
- { refine le_antisymm (le_of_eq (measure_mono_null _ hμ_compl)) (zero_le _),
1903
- exact set.compl_subset_compl.mpr (λ x hx, hf_lim_conv x hx), },
1902
+ have h_ae_tendsto_f_lim : ∀ᵐ x ∂μ, tendsto (λ n, f n x) L (𝓝 (f_lim x)),
1903
+ from h_ae_eq.mono (λ x hx, (hf_lim x).congr hx),
1904
1904
have h_f_lim_meas : measurable f_lim,
1905
- from measurable_of_tendsto_metric (ae_seq.measurable hf p)
1905
+ from measurable_of_tendsto_metric' L (ae_seq.measurable hf p)
1906
1906
(tendsto_pi_nhds.mpr (λ x, hf_lim x)),
1907
1907
exact ⟨f_lim, h_f_lim_meas, h_ae_tendsto_f_lim⟩,
1908
1908
end
0 commit comments