measure_theory.function.ae_measurable_order
⟷
Mathlib.MeasureTheory.Function.AEMeasurableOrder
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -61,7 +61,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
· refine'
⟨univ, univ, MeasurableSet.univ, MeasurableSet.univ, subset_univ _, subset_univ _,
fun ps qs pq => _⟩
- simp only [not_and] at H
+ simp only [not_and] at H
exact (H ps qs pq).elim
choose! u v huv using h'
let u' : β → Set α := fun p => ⋂ q ∈ s ∩ Ioi p, u p q
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Sébastien Gouëzel
-/
-import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
+import MeasureTheory.Constructions.BorelSpace.Basic
#align_import measure_theory.function.ae_measurable_order from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2021 Sébastien Gouëzel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Sébastien Gouëzel
-
-! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_order
-! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
+#align_import measure_theory.function.ae_measurable_order from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
+
/-!
# Measurability criterion for ennreal-valued functions
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -33,6 +33,7 @@ open MeasureTheory Set TopologicalSpace
open scoped Classical ENNReal NNReal
+#print MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets /-
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
measurable. It is even enough to have this for `p` and `q` in a countable dense set. -/
@@ -120,7 +121,9 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
simp only [A, rq, piecewise_eq_of_mem, Subtype.coe_mk]
exact ⟨f', f'_meas, ff'⟩
#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets
+-/
+#print ENNReal.aemeasurable_of_exist_almost_disjoint_supersets /-
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. -/
@@ -144,4 +147,5 @@ theorem ENNReal.aemeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m
lift q to ℝ≥0 using I q hq
exact h p q (ENNReal.coe_lt_coe.1 hpq)
#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aemeasurable_of_exist_almost_disjoint_supersets
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -91,7 +91,6 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
_ = ∑' (p : s) (q : s ∩ Ioi p), (0 : ℝ≥0∞) := by congr; ext1 p; congr; ext1 q;
exact (huv p q).2.2.2.2 p.2 q.2.1 q.2.2
_ = 0 := by simp only [tsum_zero]
-
have ff' : ∀ᵐ x ∂μ, f x = f' x :=
by
have : ∀ᵐ x ∂μ, x ∉ t := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -46,7 +46,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
p < q →
∃ u v,
MeasurableSet u ∧
- MeasurableSet v ∧ { x | f x < p } ⊆ u ∧ { x | q < f x } ⊆ v ∧ μ (u ∩ v) = 0) :
+ MeasurableSet v ∧ {x | f x < p} ⊆ u ∧ {x | q < f x} ⊆ v ∧ μ (u ∩ v) = 0) :
AEMeasurable f μ := by
haveI : Encodable s := s_count.to_encodable
have h' :
@@ -54,7 +54,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
∃ u v,
MeasurableSet u ∧
MeasurableSet v ∧
- { x | f x < p } ⊆ u ∧ { x | q < f x } ⊆ v ∧ (p ∈ s → q ∈ s → p < q → μ (u ∩ v) = 0) :=
+ {x | f x < p} ⊆ u ∧ {x | q < f x} ⊆ v ∧ (p ∈ s → q ∈ s → p < q → μ (u ∩ v) = 0) :=
by
intro p q
by_cases H : p ∈ s ∧ q ∈ s ∧ p < q
@@ -100,7 +100,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
convert this
ext y
simp only [not_exists, exists_prop, mem_set_of_eq, mem_compl_iff, not_not_mem]
- filter_upwards [this]with x hx
+ filter_upwards [this] with x hx
apply (iInf_eq_of_forall_ge_of_forall_gt_exists_lt _ _).symm
· intro i
by_cases H : x ∈ u' i
@@ -132,8 +132,7 @@ theorem ENNReal.aemeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m
p < q →
∃ u v,
MeasurableSet u ∧
- MeasurableSet v ∧
- { x | f x < p } ⊆ u ∧ { x | (q : ℝ≥0∞) < f x } ⊆ v ∧ μ (u ∩ v) = 0) :
+ MeasurableSet v ∧ {x | f x < p} ⊆ u ∧ {x | (q : ℝ≥0∞) < f x} ⊆ v ∧ μ (u ∩ v) = 0) :
AEMeasurable f μ :=
by
obtain ⟨s, s_count, s_dense, s_zero, s_top⟩ :
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -63,7 +63,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
· refine'
⟨univ, univ, MeasurableSet.univ, MeasurableSet.univ, subset_univ _, subset_univ _,
fun ps qs pq => _⟩
- simp only [not_and] at H
+ simp only [not_and] at H
exact (H ps qs pq).elim
choose! u v huv using h'
let u' : β → Set α := fun p => ⋂ q ∈ s ∩ Ioi p, u p q
@@ -88,7 +88,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
apply ENNReal.tsum_le_tsum fun p => _
refine' ENNReal.tsum_le_tsum fun q => measure_mono _
exact inter_subset_inter_left _ (bInter_subset_of_mem q.2)
- _ = ∑' (p : s) (q : s ∩ Ioi p), (0 : ℝ≥0∞) := by congr ; ext1 p; congr ; ext1 q;
+ _ = ∑' (p : s) (q : s ∩ Ioi p), (0 : ℝ≥0∞) := by congr; ext1 p; congr; ext1 q;
exact (huv p q).2.2.2.2 p.2 q.2.1 q.2.2
_ = 0 := by simp only [tsum_zero]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -31,7 +31,7 @@ as possible.
open MeasureTheory Set TopologicalSpace
-open Classical ENNReal NNReal
+open scoped Classical ENNReal NNReal
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -33,9 +33,6 @@ open MeasureTheory Set TopologicalSpace
open Classical ENNReal NNReal
-/- warning: measure_theory.ae_measurable_of_exist_almost_disjoint_supersets -> MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersetsₓ'. -/
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
measurable. It is even enough to have this for `p` and `q` in a countable dense set. -/
@@ -125,9 +122,6 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
exact ⟨f', f'_meas, ff'⟩
#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets
-/- warning: ennreal.ae_measurable_of_exist_almost_disjoint_supersets -> ENNReal.aemeasurable_of_exist_almost_disjoint_supersets is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aemeasurable_of_exist_almost_disjoint_supersetsₓ'. -/
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -91,12 +91,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
apply ENNReal.tsum_le_tsum fun p => _
refine' ENNReal.tsum_le_tsum fun q => measure_mono _
exact inter_subset_inter_left _ (bInter_subset_of_mem q.2)
- _ = ∑' (p : s) (q : s ∩ Ioi p), (0 : ℝ≥0∞) :=
- by
- congr
- ext1 p
- congr
- ext1 q
+ _ = ∑' (p : s) (q : s ∩ Ioi p), (0 : ℝ≥0∞) := by congr ; ext1 p; congr ; ext1 q;
exact (huv p q).2.2.2.2 p.2 q.2.1 q.2.2
_ = 0 := by simp only [tsum_zero]
@@ -112,8 +107,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
apply (iInf_eq_of_forall_ge_of_forall_gt_exists_lt _ _).symm
· intro i
by_cases H : x ∈ u' i
- swap
- · simp only [H, le_top, not_false_iff, piecewise_eq_of_not_mem]
+ swap; · simp only [H, le_top, not_false_iff, piecewise_eq_of_not_mem]
simp only [H, piecewise_eq_of_mem]
contrapose! hx
obtain ⟨r, ⟨xr, rq⟩, rs⟩ : ∃ r, r ∈ Ioo (i : β) (f x) ∩ s :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -34,10 +34,7 @@ open MeasureTheory Set TopologicalSpace
open Classical ENNReal NNReal
/- warning: measure_theory.ae_measurable_of_exist_almost_disjoint_supersets -> MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (μ : MeasureTheory.Measure.{u1} α m) {β : Type.{u2}} [_inst_1 : CompleteLinearOrder.{u2} β] [_inst_2 : DenselyOrdered.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1)))))] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : OrderTopology.{u2} β _inst_3 (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))] [_inst_5 : TopologicalSpace.SecondCountableTopology.{u2} β _inst_3] [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : BorelSpace.{u2} β _inst_3 _inst_6] (s : Set.{u2} β), (Set.Countable.{u2} β s) -> (Dense.{u2} β _inst_3 s) -> (forall (f : α -> β), (forall (p : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) p s) -> (forall (q : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) q s) -> (LT.lt.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))) p q) -> (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{succ u1} (Set.{u1} α) (fun (v : Set.{u1} α) => And (MeasurableSet.{u1} α m u) (And (MeasurableSet.{u1} α m v) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))) (f x) p)) u) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))) q (f x))) v) (Eq.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))))))))))) -> (AEMeasurable.{u1, u2} α β _inst_6 m f μ))
-but is expected to have type
- forall {α : Type.{u2}} {m : MeasurableSpace.{u2} α} (μ : MeasureTheory.Measure.{u2} α m) {β : Type.{u1}} [_inst_1 : CompleteLinearOrder.{u1} β] [_inst_2 : DenselyOrdered.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1)))))] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : OrderTopology.{u1} β _inst_3 (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))] [_inst_5 : TopologicalSpace.SecondCountableTopology.{u1} β _inst_3] [_inst_6 : MeasurableSpace.{u1} β] [_inst_7 : BorelSpace.{u1} β _inst_3 _inst_6] (s : Set.{u1} β), (Set.Countable.{u1} β s) -> (Dense.{u1} β _inst_3 s) -> (forall (f : α -> β), (forall (p : β), (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) p s) -> (forall (q : β), (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) q s) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))) p q) -> (Exists.{succ u2} (Set.{u2} α) (fun (u : Set.{u2} α) => Exists.{succ u2} (Set.{u2} α) (fun (v : Set.{u2} α) => And (MeasurableSet.{u2} α m u) (And (MeasurableSet.{u2} α m v) (And (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (setOf.{u2} α (fun (x : α) => LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))) (f x) p)) u) (And (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (setOf.{u2} α (fun (x : α) => LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))) q (f x))) v) (Eq.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))))))))))) -> (AEMeasurable.{u2, u1} α β _inst_6 m f μ))
+<too large>
Case conversion may be inaccurate. Consider using '#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersetsₓ'. -/
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
@@ -135,10 +132,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets
/- warning: ennreal.ae_measurable_of_exist_almost_disjoint_supersets -> ENNReal.aemeasurable_of_exist_almost_disjoint_supersets is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (μ : MeasureTheory.Measure.{u1} α m) (f : α -> ENNReal), (forall (p : NNReal) (q : NNReal), (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) p q) -> (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{succ u1} (Set.{u1} α) (fun (v : Set.{u1} α) => And (MeasurableSet.{u1} α m u) (And (MeasurableSet.{u1} α m v) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (f x) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) p))) u) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) q) (f x))) v) (Eq.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))))))))))) -> (AEMeasurable.{u1, 0} α ENNReal ENNReal.measurableSpace m f μ)
-but is expected to have type
- forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (μ : MeasureTheory.Measure.{u1} α m) (f : α -> ENNReal), (forall (p : NNReal) (q : NNReal), (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) p q) -> (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{succ u1} (Set.{u1} α) (fun (v : Set.{u1} α) => And (MeasurableSet.{u1} α m u) (And (MeasurableSet.{u1} α m v) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (f x) (ENNReal.some p))) u) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (ENNReal.some q) (f x))) v) (Eq.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)))))))))) -> (AEMeasurable.{u1, 0} α ENNReal ENNReal.measurableSpace m f μ)
+<too large>
Case conversion may be inaccurate. Consider using '#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aemeasurable_of_exist_almost_disjoint_supersetsₓ'. -/
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Sébastien Gouëzel
! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_order
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
+! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
/-!
# Measurability criterion for ennreal-valued functions
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
Consider a function `f : α → ℝ≥0∞`. If the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. This is proved in
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -30,10 +30,16 @@ open MeasureTheory Set TopologicalSpace
open Classical ENNReal NNReal
+/- warning: measure_theory.ae_measurable_of_exist_almost_disjoint_supersets -> MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (μ : MeasureTheory.Measure.{u1} α m) {β : Type.{u2}} [_inst_1 : CompleteLinearOrder.{u2} β] [_inst_2 : DenselyOrdered.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1)))))] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : OrderTopology.{u2} β _inst_3 (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))] [_inst_5 : TopologicalSpace.SecondCountableTopology.{u2} β _inst_3] [_inst_6 : MeasurableSpace.{u2} β] [_inst_7 : BorelSpace.{u2} β _inst_3 _inst_6] (s : Set.{u2} β), (Set.Countable.{u2} β s) -> (Dense.{u2} β _inst_3 s) -> (forall (f : α -> β), (forall (p : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) p s) -> (forall (q : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) q s) -> (LT.lt.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))) p q) -> (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{succ u1} (Set.{u1} α) (fun (v : Set.{u1} α) => And (MeasurableSet.{u1} α m u) (And (MeasurableSet.{u1} α m v) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))) (f x) p)) u) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{u2} β (Preorder.toHasLt.{u2} β (PartialOrder.toPreorder.{u2} β (CompleteSemilatticeInf.toPartialOrder.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β (CompleteLinearOrder.toCompleteLattice.{u2} β _inst_1))))) q (f x))) v) (Eq.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))))))))))) -> (AEMeasurable.{u1, u2} α β _inst_6 m f μ))
+but is expected to have type
+ forall {α : Type.{u2}} {m : MeasurableSpace.{u2} α} (μ : MeasureTheory.Measure.{u2} α m) {β : Type.{u1}} [_inst_1 : CompleteLinearOrder.{u1} β] [_inst_2 : DenselyOrdered.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1)))))] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : OrderTopology.{u1} β _inst_3 (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))] [_inst_5 : TopologicalSpace.SecondCountableTopology.{u1} β _inst_3] [_inst_6 : MeasurableSpace.{u1} β] [_inst_7 : BorelSpace.{u1} β _inst_3 _inst_6] (s : Set.{u1} β), (Set.Countable.{u1} β s) -> (Dense.{u1} β _inst_3 s) -> (forall (f : α -> β), (forall (p : β), (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) p s) -> (forall (q : β), (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) q s) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))) p q) -> (Exists.{succ u2} (Set.{u2} α) (fun (u : Set.{u2} α) => Exists.{succ u2} (Set.{u2} α) (fun (v : Set.{u2} α) => And (MeasurableSet.{u2} α m u) (And (MeasurableSet.{u2} α m v) (And (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (setOf.{u2} α (fun (x : α) => LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))) (f x) p)) u) (And (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (setOf.{u2} α (fun (x : α) => LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OmegaCompletePartialOrder.toPartialOrder.{u1} β (CompleteLattice.instOmegaCompletePartialOrder.{u1} β (CompleteLinearOrder.toCompleteLattice.{u1} β _inst_1))))) q (f x))) v) (Eq.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α m μ) (Inter.inter.{u2} (Set.{u2} α) (Set.instInterSet.{u2} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))))))))))) -> (AEMeasurable.{u2, u1} α β _inst_6 m f μ))
+Case conversion may be inaccurate. Consider using '#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersetsₓ'. -/
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
measurable. It is even enough to have this for `p` and `q` in a countable dense set. -/
-theorem MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type _}
+theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type _}
{m : MeasurableSpace α} (μ : Measure α) {β : Type _} [CompleteLinearOrder β] [DenselyOrdered β]
[TopologicalSpace β] [OrderTopology β] [SecondCountableTopology β] [MeasurableSpace β]
[BorelSpace β] (s : Set β) (s_count : s.Countable) (s_dense : Dense s) (f : α → β)
@@ -123,12 +129,18 @@ theorem MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type
have A : x ∈ u' r := mem_bInter fun i hi => (huv r i).2.2.1 xr
simp only [A, rq, piecewise_eq_of_mem, Subtype.coe_mk]
exact ⟨f', f'_meas, ff'⟩
-#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets
+#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets
+/- warning: ennreal.ae_measurable_of_exist_almost_disjoint_supersets -> ENNReal.aemeasurable_of_exist_almost_disjoint_supersets is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (μ : MeasureTheory.Measure.{u1} α m) (f : α -> ENNReal), (forall (p : NNReal) (q : NNReal), (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) p q) -> (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{succ u1} (Set.{u1} α) (fun (v : Set.{u1} α) => And (MeasurableSet.{u1} α m u) (And (MeasurableSet.{u1} α m v) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (f x) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) p))) u) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) q) (f x))) v) (Eq.{1} ENNReal (coeFn.{succ u1, succ u1} (MeasureTheory.Measure.{u1} α m) (fun (_x : MeasureTheory.Measure.{u1} α m) => (Set.{u1} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u1} α m) μ (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))))))))))) -> (AEMeasurable.{u1, 0} α ENNReal ENNReal.measurableSpace m f μ)
+but is expected to have type
+ forall {α : Type.{u1}} {m : MeasurableSpace.{u1} α} (μ : MeasureTheory.Measure.{u1} α m) (f : α -> ENNReal), (forall (p : NNReal) (q : NNReal), (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) p q) -> (Exists.{succ u1} (Set.{u1} α) (fun (u : Set.{u1} α) => Exists.{succ u1} (Set.{u1} α) (fun (v : Set.{u1} α) => And (MeasurableSet.{u1} α m u) (And (MeasurableSet.{u1} α m v) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (f x) (ENNReal.some p))) u) (And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (setOf.{u1} α (fun (x : α) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (ENNReal.some q) (f x))) v) (Eq.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u1} α (MeasureTheory.Measure.toOuterMeasure.{u1} α m μ) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) u v)) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)))))))))) -> (AEMeasurable.{u1, 0} α ENNReal ENNReal.measurableSpace m f μ)
+Case conversion may be inaccurate. Consider using '#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aemeasurable_of_exist_almost_disjoint_supersetsₓ'. -/
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. -/
-theorem ENNReal.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m : MeasurableSpace α}
+theorem ENNReal.aemeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m : MeasurableSpace α}
(μ : Measure α) (f : α → ℝ≥0∞)
(h :
∀ (p : ℝ≥0) (q : ℝ≥0),
@@ -143,10 +155,10 @@ theorem ENNReal.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m
∃ s : Set ℝ≥0∞, s.Countable ∧ Dense s ∧ 0 ∉ s ∧ ∞ ∉ s :=
ENNReal.exists_countable_dense_no_zero_top
have I : ∀ x ∈ s, x ≠ ∞ := fun x xs hx => s_top (hx ▸ xs)
- apply MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets μ s s_count s_dense _
+ apply MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets μ s s_count s_dense _
rintro p hp q hq hpq
lift p to ℝ≥0 using I p hp
lift q to ℝ≥0 using I q hq
exact h p q (ENNReal.coe_lt_coe.1 hpq)
-#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aEMeasurable_of_exist_almost_disjoint_supersets
+#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aemeasurable_of_exist_almost_disjoint_supersets
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -4,11 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Sébastien Gouëzel
! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_order
-! leanprover-community/mathlib commit 951bf1d9e98a2042979ced62c0620bcfb3587cf8
+! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
-import Mathbin.MeasureTheory.Constructions.BorelSpace
+import Mathbin.MeasureTheory.Constructions.BorelSpace.Basic
/-!
# Measurability criterion for ennreal-valued functions
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -66,10 +66,10 @@ theorem MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type
let u' : β → Set α := fun p => ⋂ q ∈ s ∩ Ioi p, u p q
have u'_meas : ∀ i, MeasurableSet (u' i) := by
intro i
- exact MeasurableSet.binterᵢ (s_count.mono (inter_subset_left _ _)) fun b hb => (huv i b).1
+ exact MeasurableSet.biInter (s_count.mono (inter_subset_left _ _)) fun b hb => (huv i b).1
let f' : α → β := fun x => ⨅ i : s, piecewise (u' i) (fun x => (i : β)) (fun x => (⊤ : β)) x
have f'_meas : Measurable f' := by
- apply measurable_infᵢ
+ apply measurable_iInf
exact fun i => Measurable.piecewise (u'_meas i) measurable_const measurable_const
let t := ⋃ (p : s) (q : s ∩ Ioi p), u' p ∩ v p q
have μt : μ t ≤ 0 :=
@@ -103,7 +103,7 @@ theorem MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type
ext y
simp only [not_exists, exists_prop, mem_set_of_eq, mem_compl_iff, not_not_mem]
filter_upwards [this]with x hx
- apply (infᵢ_eq_of_forall_ge_of_forall_gt_exists_lt _ _).symm
+ apply (iInf_eq_of_forall_ge_of_forall_gt_exists_lt _ _).symm
· intro i
by_cases H : x ∈ u' i
swap
mathlib commit https://github.com/leanprover-community/mathlib/commit/92c69b77c5a7dc0f7eeddb552508633305157caa
@@ -33,7 +33,7 @@ open Classical ENNReal NNReal
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
measurable. It is even enough to have this for `p` and `q` in a countable dense set. -/
-theorem MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _}
+theorem MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type _}
{m : MeasurableSpace α} (μ : Measure α) {β : Type _} [CompleteLinearOrder β] [DenselyOrdered β]
[TopologicalSpace β] [OrderTopology β] [SecondCountableTopology β] [MeasurableSpace β]
[BorelSpace β] (s : Set β) (s_count : s.Countable) (s_dense : Dense s) (f : α → β)
@@ -44,7 +44,7 @@ theorem MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _}
∃ u v,
MeasurableSet u ∧
MeasurableSet v ∧ { x | f x < p } ⊆ u ∧ { x | q < f x } ⊆ v ∧ μ (u ∩ v) = 0) :
- AeMeasurable f μ := by
+ AEMeasurable f μ := by
haveI : Encodable s := s_count.to_encodable
have h' :
∀ p q,
@@ -123,12 +123,12 @@ theorem MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _}
have A : x ∈ u' r := mem_bInter fun i hi => (huv r i).2.2.1 xr
simp only [A, rq, piecewise_eq_of_mem, Subtype.coe_mk]
exact ⟨f', f'_meas, ff'⟩
-#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets
+#align measure_theory.ae_measurable_of_exist_almost_disjoint_supersets MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. -/
-theorem ENNReal.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _} {m : MeasurableSpace α}
+theorem ENNReal.aEMeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m : MeasurableSpace α}
(μ : Measure α) (f : α → ℝ≥0∞)
(h :
∀ (p : ℝ≥0) (q : ℝ≥0),
@@ -137,16 +137,16 @@ theorem ENNReal.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _} {m : Me
MeasurableSet u ∧
MeasurableSet v ∧
{ x | f x < p } ⊆ u ∧ { x | (q : ℝ≥0∞) < f x } ⊆ v ∧ μ (u ∩ v) = 0) :
- AeMeasurable f μ :=
+ AEMeasurable f μ :=
by
obtain ⟨s, s_count, s_dense, s_zero, s_top⟩ :
∃ s : Set ℝ≥0∞, s.Countable ∧ Dense s ∧ 0 ∉ s ∧ ∞ ∉ s :=
ENNReal.exists_countable_dense_no_zero_top
have I : ∀ x ∈ s, x ≠ ∞ := fun x xs hx => s_top (hx ▸ xs)
- apply MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets μ s s_count s_dense _
+ apply MeasureTheory.aEMeasurable_of_exist_almost_disjoint_supersets μ s s_count s_dense _
rintro p hp q hq hpq
lift p to ℝ≥0 using I p hp
lift q to ℝ≥0 using I q hq
exact h p q (ENNReal.coe_lt_coe.1 hpq)
-#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aeMeasurableOfExistAlmostDisjointSupersets
+#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aEMeasurable_of_exist_almost_disjoint_supersets
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -28,7 +28,7 @@ as possible.
open MeasureTheory Set TopologicalSpace
-open Classical Ennreal NNReal
+open Classical ENNReal NNReal
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
@@ -77,13 +77,13 @@ theorem MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _}
μ t ≤ ∑' (p : s) (q : s ∩ Ioi p), μ (u' p ∩ v p q) :=
by
refine' (measure_Union_le _).trans _
- apply Ennreal.tsum_le_tsum fun p => _
+ apply ENNReal.tsum_le_tsum fun p => _
apply measure_Union_le _
exact (s_count.mono (inter_subset_left _ _)).to_subtype
_ ≤ ∑' (p : s) (q : s ∩ Ioi p), μ (u p q ∩ v p q) :=
by
- apply Ennreal.tsum_le_tsum fun p => _
- refine' Ennreal.tsum_le_tsum fun q => measure_mono _
+ apply ENNReal.tsum_le_tsum fun p => _
+ refine' ENNReal.tsum_le_tsum fun q => measure_mono _
exact inter_subset_inter_left _ (bInter_subset_of_mem q.2)
_ = ∑' (p : s) (q : s ∩ Ioi p), (0 : ℝ≥0∞) :=
by
@@ -128,7 +128,7 @@ theorem MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _}
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. -/
-theorem Ennreal.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _} {m : MeasurableSpace α}
+theorem ENNReal.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _} {m : MeasurableSpace α}
(μ : Measure α) (f : α → ℝ≥0∞)
(h :
∀ (p : ℝ≥0) (q : ℝ≥0),
@@ -141,12 +141,12 @@ theorem Ennreal.aeMeasurableOfExistAlmostDisjointSupersets {α : Type _} {m : Me
by
obtain ⟨s, s_count, s_dense, s_zero, s_top⟩ :
∃ s : Set ℝ≥0∞, s.Countable ∧ Dense s ∧ 0 ∉ s ∧ ∞ ∉ s :=
- Ennreal.exists_countable_dense_no_zero_top
+ ENNReal.exists_countable_dense_no_zero_top
have I : ∀ x ∈ s, x ≠ ∞ := fun x xs hx => s_top (hx ▸ xs)
apply MeasureTheory.aeMeasurableOfExistAlmostDisjointSupersets μ s s_count s_dense _
rintro p hp q hq hpq
lift p to ℝ≥0 using I p hp
lift q to ℝ≥0 using I q hq
- exact h p q (Ennreal.coe_lt_coe.1 hpq)
-#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets Ennreal.aeMeasurableOfExistAlmostDisjointSupersets
+ exact h p q (ENNReal.coe_lt_coe.1 hpq)
+#align ennreal.ae_measurable_of_exist_almost_disjoint_supersets ENNReal.aeMeasurableOfExistAlmostDisjointSupersets
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
open Classical
(#11199)
We remove all but one open Classical
s, 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.
@@ -25,7 +25,8 @@ as possible.
open MeasureTheory Set TopologicalSpace
-open Classical ENNReal NNReal
+open scoped Classical
+open ENNReal NNReal
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
filter_upwards
(#7719)
mathport was forgetting a space in filter_upwards [...]with
instead of filter_upwards [...] with
.
@@ -84,7 +84,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
convert this
ext y
simp only [not_exists, exists_prop, mem_setOf_eq, mem_compl_iff, not_not_mem]
- filter_upwards [this]with x hx
+ filter_upwards [this] with x hx
apply (iInf_eq_of_forall_ge_of_forall_gt_exists_lt _ _).symm
· intro i
by_cases H : x ∈ u' i
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -30,8 +30,8 @@ open Classical ENNReal NNReal
/-- If a function `f : α → β` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p < q`, then `f` is almost-everywhere
measurable. It is even enough to have this for `p` and `q` in a countable dense set. -/
-theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type _}
- {m : MeasurableSpace α} (μ : Measure α) {β : Type _} [CompleteLinearOrder β] [DenselyOrdered β]
+theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type*}
+ {m : MeasurableSpace α} (μ : Measure α) {β : Type*} [CompleteLinearOrder β] [DenselyOrdered β]
[TopologicalSpace β] [OrderTopology β] [SecondCountableTopology β] [MeasurableSpace β]
[BorelSpace β] (s : Set β) (s_count : s.Countable) (s_dense : Dense s) (f : α → β)
(h : ∀ p ∈ s, ∀ q ∈ s, p < q → ∃ u v, MeasurableSet u ∧ MeasurableSet v ∧
@@ -110,7 +110,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
/-- If a function `f : α → ℝ≥0∞` is such that the level sets `{f < p}` and `{q < f}` have measurable
supersets which are disjoint up to measure zero when `p` and `q` are finite numbers satisfying
`p < q`, then `f` is almost-everywhere measurable. -/
-theorem ENNReal.aemeasurable_of_exist_almost_disjoint_supersets {α : Type _} {m : MeasurableSpace α}
+theorem ENNReal.aemeasurable_of_exist_almost_disjoint_supersets {α : Type*} {m : MeasurableSpace α}
(μ : Measure α) (f : α → ℝ≥0∞)
(h : ∀ (p : ℝ≥0) (q : ℝ≥0), p < q →
∃ u v, MeasurableSet u ∧ MeasurableSet v ∧
@@ -2,14 +2,11 @@
Copyright (c) 2021 Sébastien Gouëzel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Sébastien Gouëzel
-
-! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_order
-! 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
+#align_import measure_theory.function.ae_measurable_order from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
+
/-!
# Measurability criterion for ennreal-valued functions
@@ -73,7 +73,7 @@ theorem MeasureTheory.aemeasurable_of_exist_almost_disjoint_supersets {α : Type
refine ENNReal.tsum_le_tsum fun p => ?_
refine ENNReal.tsum_le_tsum fun q => measure_mono ?_
exact inter_subset_inter_left _ (biInter_subset_of_mem q.2)
- _ = ∑' (p : s) (_q : ↥(s ∩ Ioi p)), (0 : ℝ≥0∞) := by
+ _ = ∑' (p : s) (_ : ↥(s ∩ Ioi p)), (0 : ℝ≥0∞) := by
congr
ext1 p
congr
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
init.data.list.default
algebra.order.monoid.cancel.basic
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file