measure_theory.function.ae_measurable_sequence
⟷
Mathlib.MeasureTheory.Function.AEMeasurableSequence
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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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
@@ -3,7 +3,7 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-/
-import MeasureTheory.MeasurableSpace
+import MeasureTheory.MeasurableSpace.Basic
#align_import measure_theory.function.ae_measurable_sequence from "leanprover-community/mathlib"@"b5ad141426bb005414324f89719c77c0aa3ec612"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -127,7 +127,7 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable
by
rw [aeSeqSet, compl_compl, measure_to_measurable]
have hf_eq := fun i => (hf i).ae_eq_mk
- simp_rw [Filter.EventuallyEq, ← ae_all_iff] at hf_eq
+ simp_rw [Filter.EventuallyEq, ← ae_all_iff] at hf_eq
exact Filter.Eventually.and hf_eq hp
#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zero
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-/
-import Mathbin.MeasureTheory.MeasurableSpace
+import MeasureTheory.MeasurableSpace
#align_import measure_theory.function.ae_measurable_sequence from "leanprover-community/mathlib"@"b5ad141426bb005414324f89719c77c0aa3ec612"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-
-! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_sequence
-! leanprover-community/mathlib commit b5ad141426bb005414324f89719c77c0aa3ec612
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.MeasureTheory.MeasurableSpace
+#align_import measure_theory.function.ae_measurable_sequence from "leanprover-community/mathlib"@"b5ad141426bb005414324f89719c77c0aa3ec612"
+
/-!
# Sequence of measurable functions associated to a sequence of a.e.-measurable functions
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -56,6 +56,7 @@ namespace aeSeq
section MemAeSeqSet
+#print aeSeq.mk_eq_fun_of_mem_aeSeqSet /-
theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p)
(i : ι) : (hf i).mk (f i) x = f i x :=
haveI h_ss : aeSeqSet hf p ⊆ {x | ∀ i, f i x = (hf i).mk (f i) x} :=
@@ -65,17 +66,23 @@ theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (
exact h.1
(h_ss hx i).symm
#align ae_seq.mk_eq_fun_of_mem_ae_seq_set aeSeq.mk_eq_fun_of_mem_aeSeqSet
+-/
+#print aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet /-
theorem aeSeq_eq_mk_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = (hf i).mk (f i) x := by
simp only [aeSeq, hx, if_true]
#align ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet
+-/
+#print aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet /-
theorem aeSeq_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = f i x := by
simp only [ae_seq_eq_mk_of_mem_ae_seq_set hf hx i, mk_eq_fun_of_mem_ae_seq_set hf hx i]
#align ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet
+-/
+#print aeSeq.prop_of_mem_aeSeqSet /-
theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => aeSeq hf p n x :=
by
@@ -89,7 +96,9 @@ theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx :
have hx' := Set.mem_of_subset_of_mem h_ss hx
exact hx'
#align ae_seq.prop_of_mem_ae_seq_set aeSeq.prop_of_mem_aeSeqSet
+-/
+#print aeSeq.fun_prop_of_mem_aeSeqSet /-
theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => f n x :=
by
@@ -98,18 +107,24 @@ theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (h
rw [h_eq]
exact prop_of_mem_ae_seq_set hf hx
#align ae_seq.fun_prop_of_mem_ae_seq_set aeSeq.fun_prop_of_mem_aeSeqSet
+-/
end MemAeSeqSet
+#print aeSeq.aeSeqSet_measurableSet /-
theorem aeSeqSet_measurableSet {hf : ∀ i, AEMeasurable (f i) μ} : MeasurableSet (aeSeqSet hf p) :=
(measurableSet_toMeasurable _ _).compl
#align ae_seq.ae_seq_set_measurable_set aeSeq.aeSeqSet_measurableSet
+-/
+#print aeSeq.measurable /-
theorem measurable (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) (i : ι) :
Measurable (aeSeq hf p i) :=
Measurable.ite aeSeqSet_measurableSet (hf i).measurable_mk <| measurable_const' fun x y => rfl
#align ae_seq.measurable aeSeq.measurable
+-/
+#print aeSeq.measure_compl_aeSeqSet_eq_zero /-
theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : μ (aeSeqSet hf pᶜ) = 0 :=
by
@@ -118,7 +133,9 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable
simp_rw [Filter.EventuallyEq, ← ae_all_iff] at hf_eq
exact Filter.Eventually.and hf_eq hp
#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zero
+-/
+#print aeSeq.aeSeq_eq_mk_ae /-
theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = (hf i).mk (f i) a :=
haveI h_ss : aeSeqSet hf p ⊆ {a : α | ∀ i, aeSeq hf p i a = (hf i).mk (f i) a} := fun x hx i => by
@@ -128,19 +145,25 @@ theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(le_of_eq (measure_compl_ae_seq_set_eq_zero hf hp)))
(zero_le _)
#align ae_seq.ae_seq_eq_mk_ae aeSeq.aeSeq_eq_mk_ae
+-/
+#print aeSeq.aeSeq_eq_fun_ae /-
theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = f i a :=
haveI h_ss : {a : α | ¬∀ i : ι, aeSeq hf p i a = f i a} ⊆ aeSeqSet hf pᶜ := fun x =>
mt fun hx i => ae_seq_eq_fun_of_mem_ae_seq_set hf hx i
measure_mono_null h_ss (measure_compl_ae_seq_set_eq_zero hf hp)
#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_ae
+-/
+#print aeSeq.aeSeq_n_eq_fun_n_ae /-
theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) (n : ι) : aeSeq hf p n =ᵐ[μ] f n :=
ae_all_iff.mp (aeSeq_eq_fun_ae hf hp) n
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
+-/
+#print aeSeq.iSup /-
theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n :=
by
@@ -152,6 +175,7 @@ theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i)
exact funext fun i => ae_seq_eq_fun_of_mem_ae_seq_set hf hx i
exact measure_mono_null (set.compl_subset_compl.mpr h_ss) (measure_compl_ae_seq_set_eq_zero hf hp)
#align ae_seq.supr aeSeq.iSup
+-/
end aeSeq
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -40,7 +40,7 @@ variable {ι : Sort _} {α β γ : Type _} [MeasurableSpace α] [MeasurableSpace
whose complement has measure 0 such that for all `x ∈ ae_seq_set`, `f i x` is equal to
`(hf i).mk (f i) x` for all `i` and we have the pointwise property `p x (λ n, f n x)`. -/
def aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) : Set α :=
- toMeasurable μ ({ x | (∀ i, f i x = (hf i).mk (f i) x) ∧ p x fun n => f n x }ᶜ)ᶜ
+ toMeasurable μ ({x | (∀ i, f i x = (hf i).mk (f i) x) ∧ p x fun n => f n x}ᶜ)ᶜ
#align ae_seq_set aeSeqSet
-/
@@ -58,9 +58,9 @@ section MemAeSeqSet
theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p)
(i : ι) : (hf i).mk (f i) x = f i x :=
- haveI h_ss : aeSeqSet hf p ⊆ { x | ∀ i, f i x = (hf i).mk (f i) x } :=
+ haveI h_ss : aeSeqSet hf p ⊆ {x | ∀ i, f i x = (hf i).mk (f i) x} :=
by
- rw [aeSeqSet, ← compl_compl { x | ∀ i, f i x = (hf i).mk (f i) x }, Set.compl_subset_compl]
+ rw [aeSeqSet, ← compl_compl {x | ∀ i, f i x = (hf i).mk (f i) x}, Set.compl_subset_compl]
refine' Set.Subset.trans (set.compl_subset_compl.mpr fun x h => _) (subset_to_measurable _ _)
exact h.1
(h_ss hx i).symm
@@ -81,9 +81,9 @@ theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx :
by
simp only [aeSeq, hx, if_true]
rw [funext fun n => mk_eq_fun_of_mem_ae_seq_set hf hx n]
- have h_ss : aeSeqSet hf p ⊆ { x | p x fun n => f n x } :=
+ have h_ss : aeSeqSet hf p ⊆ {x | p x fun n => f n x} :=
by
- rw [← compl_compl { x | p x fun n => f n x }, aeSeqSet, Set.compl_subset_compl]
+ rw [← compl_compl {x | p x fun n => f n x}, aeSeqSet, Set.compl_subset_compl]
refine' Set.Subset.trans (set.compl_subset_compl.mpr _) (subset_to_measurable _ _)
exact fun x hx => hx.2
have hx' := Set.mem_of_subset_of_mem h_ss hx
@@ -121,8 +121,8 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable
theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = (hf i).mk (f i) a :=
- haveI h_ss : aeSeqSet hf p ⊆ { a : α | ∀ i, aeSeq hf p i a = (hf i).mk (f i) a } := fun x hx i =>
- by simp only [aeSeq, hx, if_true]
+ haveI h_ss : aeSeqSet hf p ⊆ {a : α | ∀ i, aeSeq hf p i a = (hf i).mk (f i) a} := fun x hx i => by
+ simp only [aeSeq, hx, if_true]
le_antisymm
(le_trans (measure_mono (set.compl_subset_compl.mpr h_ss))
(le_of_eq (measure_compl_ae_seq_set_eq_zero hf hp)))
@@ -131,7 +131,7 @@ theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = f i a :=
- haveI h_ss : { a : α | ¬∀ i : ι, aeSeq hf p i a = f i a } ⊆ aeSeqSet hf pᶜ := fun x =>
+ haveI h_ss : {a : α | ¬∀ i : ι, aeSeq hf p i a = f i a} ⊆ aeSeqSet hf pᶜ := fun x =>
mt fun hx i => ae_seq_eq_fun_of_mem_ae_seq_set hf hx i
measure_mono_null h_ss (measure_compl_ae_seq_set_eq_zero hf hp)
#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_ae
@@ -145,7 +145,7 @@ theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n :=
by
simp_rw [Filter.EventuallyEq, ae_iff, iSup_apply]
- have h_ss : aeSeqSet hf p ⊆ { a : α | (⨆ i : ι, aeSeq hf p i a) = ⨆ i : ι, f i a } :=
+ have h_ss : aeSeqSet hf p ⊆ {a : α | (⨆ i : ι, aeSeq hf p i a) = ⨆ i : ι, f i a} :=
by
intro x hx
congr
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -115,7 +115,7 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable
by
rw [aeSeqSet, compl_compl, measure_to_measurable]
have hf_eq := fun i => (hf i).ae_eq_mk
- simp_rw [Filter.EventuallyEq, ← ae_all_iff] at hf_eq
+ simp_rw [Filter.EventuallyEq, ← ae_all_iff] at hf_eq
exact Filter.Eventually.and hf_eq hp
#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zero
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -30,7 +30,7 @@ and a measurable set `ae_seq_set hf p`, such that
open MeasureTheory
-open Classical
+open scoped Classical
variable {ι : Sort _} {α β γ : Type _} [MeasurableSpace α] [MeasurableSpace β] {f : ι → α → β}
{μ : Measure α} {p : α → (ι → β) → Prop}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -56,12 +56,6 @@ namespace aeSeq
section MemAeSeqSet
-/- warning: ae_seq.mk_eq_fun_of_mem_ae_seq_set -> aeSeq.mk_eq_fun_of_mem_aeSeqSet is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u3} β (AEMeasurable.mk.{u2, u3} α β _inst_1 _inst_2 μ (f i) (hf i) x) (f i x))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u2} β (AEMeasurable.mk.{u3, u2} α β _inst_1 _inst_2 μ (f i) (hf i) x) (f i x))
-Case conversion may be inaccurate. Consider using '#align ae_seq.mk_eq_fun_of_mem_ae_seq_set aeSeq.mk_eq_fun_of_mem_aeSeqSetₓ'. -/
theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p)
(i : ι) : (hf i).mk (f i) x = f i x :=
haveI h_ss : aeSeqSet hf p ⊆ { x | ∀ i, f i x = (hf i).mk (f i) x } :=
@@ -72,34 +66,16 @@ theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (
(h_ss hx i).symm
#align ae_seq.mk_eq_fun_of_mem_ae_seq_set aeSeq.mk_eq_fun_of_mem_aeSeqSet
-/- warning: ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set -> aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (AEMeasurable.mk.{u2, u3} α β _inst_1 _inst_2 μ (f i) (hf i) x))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u2} β (aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (AEMeasurable.mk.{u3, u2} α β _inst_1 _inst_2 μ (f i) (hf i) x))
-Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set aeSeq.aeSeq_eq_mk_of_mem_aeSeqSetₓ'. -/
theorem aeSeq_eq_mk_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = (hf i).mk (f i) x := by
simp only [aeSeq, hx, if_true]
#align ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet
-/- warning: ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set -> aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (f i x))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u2} β (aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (f i x))
-Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set aeSeq.aeSeq_eq_fun_of_mem_aeSeqSetₓ'. -/
theorem aeSeq_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = f i x := by
simp only [ae_seq_eq_mk_of_mem_ae_seq_set hf hx i, mk_eq_fun_of_mem_ae_seq_set hf hx i]
#align ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet
-/- warning: ae_seq.prop_of_mem_ae_seq_set -> aeSeq.prop_of_mem_aeSeqSet is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n x))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n x))
-Case conversion may be inaccurate. Consider using '#align ae_seq.prop_of_mem_ae_seq_set aeSeq.prop_of_mem_aeSeqSetₓ'. -/
theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => aeSeq hf p n x :=
by
@@ -114,12 +90,6 @@ theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx :
exact hx'
#align ae_seq.prop_of_mem_ae_seq_set aeSeq.prop_of_mem_aeSeqSet
-/- warning: ae_seq.fun_prop_of_mem_ae_seq_set -> aeSeq.fun_prop_of_mem_aeSeqSet is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => f n x))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => f n x))
-Case conversion may be inaccurate. Consider using '#align ae_seq.fun_prop_of_mem_ae_seq_set aeSeq.fun_prop_of_mem_aeSeqSetₓ'. -/
theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => f n x :=
by
@@ -131,33 +101,15 @@ theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (h
end MemAeSeqSet
-/- warning: ae_seq.ae_seq_set_measurable_set -> aeSeq.aeSeqSet_measurableSet is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} {hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ}, MeasurableSet.{u2} α _inst_1 (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} {hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ}, MeasurableSet.{u3} α _inst_1 (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)
-Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_set_measurable_set aeSeq.aeSeqSet_measurableSetₓ'. -/
theorem aeSeqSet_measurableSet {hf : ∀ i, AEMeasurable (f i) μ} : MeasurableSet (aeSeqSet hf p) :=
(measurableSet_toMeasurable _ _).compl
#align ae_seq.ae_seq_set_measurable_set aeSeq.aeSeqSet_measurableSet
-/- warning: ae_seq.measurable -> aeSeq.measurable is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) (p : α -> (ι -> β) -> Prop) (i : ι), Measurable.{u2, u3} α β _inst_1 _inst_2 (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i)
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) (p : α -> (ι -> β) -> Prop) (i : ι), Measurable.{u3, u2} α β _inst_1 _inst_2 (aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i)
-Case conversion may be inaccurate. Consider using '#align ae_seq.measurable aeSeq.measurableₓ'. -/
theorem measurable (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) (i : ι) :
Measurable (aeSeq hf p i) :=
Measurable.ite aeSeqSet_measurableSet (hf i).measurable_mk <| measurable_const' fun x y => rfl
#align ae_seq.measurable aeSeq.measurable
-/- warning: ae_seq.measure_compl_ae_seq_set_eq_zero -> aeSeq.measure_compl_aeSeqSet_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Eq.{1} ENNReal (coeFn.{succ u2, succ u2} (MeasureTheory.Measure.{u2} α _inst_1) (fun (_x : MeasureTheory.Measure.{u2} α _inst_1) => (Set.{u2} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u2} α _inst_1) μ (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.booleanAlgebra.{u2} α)) (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))))
-but is expected to have type
- forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Eq.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.instBooleanAlgebraSet.{u2} α)) (aeSeqSet.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)))
-Case conversion may be inaccurate. Consider using '#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zeroₓ'. -/
theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : μ (aeSeqSet hf pᶜ) = 0 :=
by
@@ -167,12 +119,6 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable
exact Filter.Eventually.and hf_eq hp
#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zero
-/- warning: ae_seq.ae_seq_eq_mk_ae -> aeSeq.aeSeq_eq_mk_ae is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (AEMeasurable.mk.{u2, u3} α β _inst_1 _inst_2 μ (f i) (hf i) a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
-but is expected to have type
- forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u1} β (aeSeq.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (AEMeasurable.mk.{u2, u1} α β _inst_1 _inst_2 μ (f i) (hf i) a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
-Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_mk_ae aeSeq.aeSeq_eq_mk_aeₓ'. -/
theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = (hf i).mk (f i) a :=
haveI h_ss : aeSeqSet hf p ⊆ { a : α | ∀ i, aeSeq hf p i a = (hf i).mk (f i) a } := fun x hx i =>
@@ -183,12 +129,6 @@ theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(zero_le _)
#align ae_seq.ae_seq_eq_mk_ae aeSeq.aeSeq_eq_mk_ae
-/- warning: ae_seq.ae_seq_eq_fun_ae -> aeSeq.aeSeq_eq_fun_ae is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (f i a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
-but is expected to have type
- forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u1} β (aeSeq.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (f i a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
-Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_aeₓ'. -/
theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = f i a :=
haveI h_ss : { a : α | ¬∀ i : ι, aeSeq hf p i a = f i a } ⊆ aeSeqSet hf pᶜ := fun x =>
@@ -196,23 +136,11 @@ theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
measure_mono_null h_ss (measure_compl_ae_seq_set_eq_zero hf hp)
#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_ae
-/- warning: ae_seq.ae_seq_n_eq_fun_n_ae -> aeSeq.aeSeq_n_eq_fun_n_ae is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (forall (n : ι), Filter.EventuallyEq.{u2, u3} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n) (f n))
-but is expected to have type
- forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (forall (n : ι), Filter.EventuallyEq.{u2, u1} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (aeSeq.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n) (f n))
-Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_aeₓ'. -/
theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) (n : ι) : aeSeq hf p n =ᵐ[μ] f n :=
ae_all_iff.mp (aeSeq_eq_fun_ae hf hp) n
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
-/- warning: ae_seq.supr -> aeSeq.iSup is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.EventuallyEq.{u2, u3} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (iSup.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (iSup.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
-but is expected to have type
- forall {ι : Sort.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u1} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u2} ι] (hf : forall (i : ι), AEMeasurable.{u1, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u1} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Filter.EventuallyEq.{u1, u3} α β (MeasureTheory.Measure.ae.{u1} α _inst_1 μ) (iSup.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u2, u1, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (iSup.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
-Case conversion may be inaccurate. Consider using '#align ae_seq.supr aeSeq.iSupₓ'. -/
theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -207,23 +207,23 @@ theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
ae_all_iff.mp (aeSeq_eq_fun_ae hf hp) n
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
-/- warning: ae_seq.supr -> aeSeq.supᵢ is a dubious translation:
+/- warning: ae_seq.supr -> aeSeq.iSup is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.EventuallyEq.{u2, u3} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (supᵢ.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (supᵢ.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.EventuallyEq.{u2, u3} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (iSup.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (iSup.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
but is expected to have type
- forall {ι : Sort.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u1} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u2} ι] (hf : forall (i : ι), AEMeasurable.{u1, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u1} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Filter.EventuallyEq.{u1, u3} α β (MeasureTheory.Measure.ae.{u1} α _inst_1 μ) (supᵢ.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u2, u1, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (supᵢ.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
-Case conversion may be inaccurate. Consider using '#align ae_seq.supr aeSeq.supᵢₓ'. -/
-theorem supᵢ [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
+ forall {ι : Sort.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u1} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u2} ι] (hf : forall (i : ι), AEMeasurable.{u1, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u1} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Filter.EventuallyEq.{u1, u3} α β (MeasureTheory.Measure.ae.{u1} α _inst_1 μ) (iSup.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u2, u1, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (iSup.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
+Case conversion may be inaccurate. Consider using '#align ae_seq.supr aeSeq.iSupₓ'. -/
+theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n :=
by
- simp_rw [Filter.EventuallyEq, ae_iff, supᵢ_apply]
+ simp_rw [Filter.EventuallyEq, ae_iff, iSup_apply]
have h_ss : aeSeqSet hf p ⊆ { a : α | (⨆ i : ι, aeSeq hf p i a) = ⨆ i : ι, f i a } :=
by
intro x hx
congr
exact funext fun i => ae_seq_eq_fun_of_mem_ae_seq_set hf hx i
exact measure_mono_null (set.compl_subset_compl.mpr h_ss) (measure_compl_ae_seq_set_eq_zero hf hp)
-#align ae_seq.supr aeSeq.supᵢ
+#align ae_seq.supr aeSeq.iSup
end aeSeq
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_sequence
-! leanprover-community/mathlib commit d003c55042c3cd08aefd1ae9a42ef89441cdaaf3
+! leanprover-community/mathlib commit b5ad141426bb005414324f89719c77c0aa3ec612
! 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.MeasurableSpace
/-!
# Sequence of measurable functions associated to a sequence of a.e.-measurable functions
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
We define here tools to prove statements about limits (infi, supr...) of sequences of
`ae_measurable` functions.
Given a sequence of a.e.-measurable functions `f : ι → α → β` with hypothesis
mathlib commit https://github.com/leanprover-community/mathlib/commit/738054fa93d43512da144ec45ce799d18fd44248
@@ -32,23 +32,33 @@ open Classical
variable {ι : Sort _} {α β γ : Type _} [MeasurableSpace α] [MeasurableSpace β] {f : ι → α → β}
{μ : Measure α} {p : α → (ι → β) → Prop}
+#print aeSeqSet /-
/-- If we have the additional hypothesis `∀ᵐ x ∂μ, p x (λ n, f n x)`, this is a measurable set
whose complement has measure 0 such that for all `x ∈ ae_seq_set`, `f i x` is equal to
`(hf i).mk (f i) x` for all `i` and we have the pointwise property `p x (λ n, f n x)`. -/
def aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) : Set α :=
toMeasurable μ ({ x | (∀ i, f i x = (hf i).mk (f i) x) ∧ p x fun n => f n x }ᶜ)ᶜ
#align ae_seq_set aeSeqSet
+-/
+#print aeSeq /-
/-- A sequence of measurable functions that are equal to `f` and verify property `p` on the
measurable set `ae_seq_set hf p`. -/
noncomputable def aeSeq (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) : ι → α → β :=
fun i x => ite (x ∈ aeSeqSet hf p) ((hf i).mk (f i) x) (⟨f i x⟩ : Nonempty β).some
#align ae_seq aeSeq
+-/
namespace aeSeq
section MemAeSeqSet
+/- warning: ae_seq.mk_eq_fun_of_mem_ae_seq_set -> aeSeq.mk_eq_fun_of_mem_aeSeqSet is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u3} β (AEMeasurable.mk.{u2, u3} α β _inst_1 _inst_2 μ (f i) (hf i) x) (f i x))
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u2} β (AEMeasurable.mk.{u3, u2} α β _inst_1 _inst_2 μ (f i) (hf i) x) (f i x))
+Case conversion may be inaccurate. Consider using '#align ae_seq.mk_eq_fun_of_mem_ae_seq_set aeSeq.mk_eq_fun_of_mem_aeSeqSetₓ'. -/
theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p)
(i : ι) : (hf i).mk (f i) x = f i x :=
haveI h_ss : aeSeqSet hf p ⊆ { x | ∀ i, f i x = (hf i).mk (f i) x } :=
@@ -59,16 +69,34 @@ theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (
(h_ss hx i).symm
#align ae_seq.mk_eq_fun_of_mem_ae_seq_set aeSeq.mk_eq_fun_of_mem_aeSeqSet
+/- warning: ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set -> aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (AEMeasurable.mk.{u2, u3} α β _inst_1 _inst_2 μ (f i) (hf i) x))
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u2} β (aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (AEMeasurable.mk.{u3, u2} α β _inst_1 _inst_2 μ (f i) (hf i) x))
+Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set aeSeq.aeSeq_eq_mk_of_mem_aeSeqSetₓ'. -/
theorem aeSeq_eq_mk_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = (hf i).mk (f i) x := by
simp only [aeSeq, hx, if_true]
#align ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet
+/- warning: ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set -> aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (f i x))
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (forall (i : ι), Eq.{succ u2} β (aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i x) (f i x))
+Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set aeSeq.aeSeq_eq_fun_of_mem_aeSeqSetₓ'. -/
theorem aeSeq_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = f i x := by
simp only [ae_seq_eq_mk_of_mem_ae_seq_set hf hx i, mk_eq_fun_of_mem_ae_seq_set hf hx i]
#align ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet
+/- warning: ae_seq.prop_of_mem_ae_seq_set -> aeSeq.prop_of_mem_aeSeqSet is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n x))
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n x))
+Case conversion may be inaccurate. Consider using '#align ae_seq.prop_of_mem_ae_seq_set aeSeq.prop_of_mem_aeSeqSetₓ'. -/
theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => aeSeq hf p n x :=
by
@@ -83,6 +111,12 @@ theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx :
exact hx'
#align ae_seq.prop_of_mem_ae_seq_set aeSeq.prop_of_mem_aeSeqSet
+/- warning: ae_seq.fun_prop_of_mem_ae_seq_set -> aeSeq.fun_prop_of_mem_aeSeqSet is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) x (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => f n x))
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) {x : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)) -> (p x (fun (n : ι) => f n x))
+Case conversion may be inaccurate. Consider using '#align ae_seq.fun_prop_of_mem_ae_seq_set aeSeq.fun_prop_of_mem_aeSeqSetₓ'. -/
theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => f n x :=
by
@@ -94,15 +128,33 @@ theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (h
end MemAeSeqSet
+/- warning: ae_seq.ae_seq_set_measurable_set -> aeSeq.aeSeqSet_measurableSet is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} {hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ}, MeasurableSet.{u2} α _inst_1 (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} {p : α -> (ι -> β) -> Prop} {hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ}, MeasurableSet.{u3} α _inst_1 (aeSeqSet.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p)
+Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_set_measurable_set aeSeq.aeSeqSet_measurableSetₓ'. -/
theorem aeSeqSet_measurableSet {hf : ∀ i, AEMeasurable (f i) μ} : MeasurableSet (aeSeqSet hf p) :=
(measurableSet_toMeasurable _ _).compl
#align ae_seq.ae_seq_set_measurable_set aeSeq.aeSeqSet_measurableSet
+/- warning: ae_seq.measurable -> aeSeq.measurable is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ) (p : α -> (ι -> β) -> Prop) (i : ι), Measurable.{u2, u3} α β _inst_1 _inst_2 (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i)
+but is expected to have type
+ forall {ι : Sort.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : MeasurableSpace.{u3} α] [_inst_2 : MeasurableSpace.{u2} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u3} α _inst_1} (hf : forall (i : ι), AEMeasurable.{u3, u2} α β _inst_2 _inst_1 (f i) μ) (p : α -> (ι -> β) -> Prop) (i : ι), Measurable.{u3, u2} α β _inst_1 _inst_2 (aeSeq.{u1, u3, u2} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i)
+Case conversion may be inaccurate. Consider using '#align ae_seq.measurable aeSeq.measurableₓ'. -/
theorem measurable (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) (i : ι) :
Measurable (aeSeq hf p i) :=
Measurable.ite aeSeqSet_measurableSet (hf i).measurable_mk <| measurable_const' fun x y => rfl
#align ae_seq.measurable aeSeq.measurable
+/- warning: ae_seq.measure_compl_ae_seq_set_eq_zero -> aeSeq.measure_compl_aeSeqSet_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Eq.{1} ENNReal (coeFn.{succ u2, succ u2} (MeasureTheory.Measure.{u2} α _inst_1) (fun (_x : MeasureTheory.Measure.{u2} α _inst_1) => (Set.{u2} α) -> ENNReal) (MeasureTheory.Measure.instCoeFun.{u2} α _inst_1) μ (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.booleanAlgebra.{u2} α)) (aeSeqSet.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))))
+but is expected to have type
+ forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Eq.{1} ENNReal (MeasureTheory.OuterMeasure.measureOf.{u2} α (MeasureTheory.Measure.toOuterMeasure.{u2} α _inst_1 μ) (HasCompl.compl.{u2} (Set.{u2} α) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} α) (Set.instBooleanAlgebraSet.{u2} α)) (aeSeqSet.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)))
+Case conversion may be inaccurate. Consider using '#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zeroₓ'. -/
theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : μ (aeSeqSet hf pᶜ) = 0 :=
by
@@ -112,6 +164,12 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable
exact Filter.Eventually.and hf_eq hp
#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zero
+/- warning: ae_seq.ae_seq_eq_mk_ae -> aeSeq.aeSeq_eq_mk_ae is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (AEMeasurable.mk.{u2, u3} α β _inst_1 _inst_2 μ (f i) (hf i) a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
+but is expected to have type
+ forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u1} β (aeSeq.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (AEMeasurable.mk.{u2, u1} α β _inst_1 _inst_2 μ (f i) (hf i) a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
+Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_mk_ae aeSeq.aeSeq_eq_mk_aeₓ'. -/
theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = (hf i).mk (f i) a :=
haveI h_ss : aeSeqSet hf p ⊆ { a : α | ∀ i, aeSeq hf p i a = (hf i).mk (f i) a } := fun x hx i =>
@@ -122,6 +180,12 @@ theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(zero_le _)
#align ae_seq.ae_seq_eq_mk_ae aeSeq.aeSeq_eq_mk_ae
+/- warning: ae_seq.ae_seq_eq_fun_ae -> aeSeq.aeSeq_eq_fun_ae is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u3} β (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (f i a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
+but is expected to have type
+ forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.Eventually.{u2} α (fun (a : α) => forall (i : ι), Eq.{succ u1} β (aeSeq.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p i a) (f i a)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ))
+Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_aeₓ'. -/
theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = f i a :=
haveI h_ss : { a : α | ¬∀ i : ι, aeSeq hf p i a = f i a } ⊆ aeSeqSet hf pᶜ := fun x =>
@@ -129,11 +193,23 @@ theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
measure_mono_null h_ss (measure_compl_ae_seq_set_eq_zero hf hp)
#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_ae
+/- warning: ae_seq.ae_seq_n_eq_fun_n_ae -> aeSeq.aeSeq_n_eq_fun_n_ae is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (forall (n : ι), Filter.EventuallyEq.{u2, u3} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n) (f n))
+but is expected to have type
+ forall {ι : Sort.{u3}} {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u1} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : Countable.{u3} ι] (hf : forall (i : ι), AEMeasurable.{u2, u1} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (forall (n : ι), Filter.EventuallyEq.{u2, u1} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (aeSeq.{u3, u2, u1} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n) (f n))
+Case conversion may be inaccurate. Consider using '#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_aeₓ'. -/
theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) (n : ι) : aeSeq hf p n =ᵐ[μ] f n :=
ae_all_iff.mp (aeSeq_eq_fun_ae hf hp) n
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
+/- warning: ae_seq.supr -> aeSeq.supᵢ is a dubious translation:
+lean 3 declaration is
+ forall {ι : Sort.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u2} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u2} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u1} ι] (hf : forall (i : ι), AEMeasurable.{u2, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u2} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u2} α _inst_1 μ)) -> (Filter.EventuallyEq.{u2, u3} α β (MeasureTheory.Measure.ae.{u2} α _inst_1 μ) (supᵢ.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u1, u2, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (supᵢ.{max u2 u3, u1} (α -> β) (Pi.supSet.{u2, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toHasSup.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
+but is expected to have type
+ forall {ι : Sort.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : MeasurableSpace.{u1} α] [_inst_2 : MeasurableSpace.{u3} β] {f : ι -> α -> β} {μ : MeasureTheory.Measure.{u1} α _inst_1} {p : α -> (ι -> β) -> Prop} [_inst_3 : CompleteLattice.{u3} β] [_inst_4 : Countable.{u2} ι] (hf : forall (i : ι), AEMeasurable.{u1, u3} α β _inst_2 _inst_1 (f i) μ), (Filter.Eventually.{u1} α (fun (x : α) => p x (fun (n : ι) => f n x)) (MeasureTheory.Measure.ae.{u1} α _inst_1 μ)) -> (Filter.EventuallyEq.{u1, u3} α β (MeasureTheory.Measure.ae.{u1} α _inst_1 μ) (supᵢ.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => aeSeq.{u2, u1, u3} ι α β _inst_1 _inst_2 (fun (i : ι) => f i) μ hf p n)) (supᵢ.{max u1 u3, u2} (α -> β) (Pi.supSet.{u1, u3} α (fun (ᾰ : α) => β) (fun (i : α) => ConditionallyCompleteLattice.toSupSet.{u3} β (CompleteLattice.toConditionallyCompleteLattice.{u3} β _inst_3))) ι (fun (n : ι) => f n)))
+Case conversion may be inaccurate. Consider using '#align ae_seq.supr aeSeq.supᵢₓ'. -/
theorem supᵢ [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/92c69b77c5a7dc0f7eeddb552508633305157caa
@@ -35,13 +35,13 @@ variable {ι : Sort _} {α β γ : Type _} [MeasurableSpace α] [MeasurableSpace
/-- If we have the additional hypothesis `∀ᵐ x ∂μ, p x (λ n, f n x)`, this is a measurable set
whose complement has measure 0 such that for all `x ∈ ae_seq_set`, `f i x` is equal to
`(hf i).mk (f i) x` for all `i` and we have the pointwise property `p x (λ n, f n x)`. -/
-def aeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) (p : α → (ι → β) → Prop) : Set α :=
+def aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) : Set α :=
toMeasurable μ ({ x | (∀ i, f i x = (hf i).mk (f i) x) ∧ p x fun n => f n x }ᶜ)ᶜ
#align ae_seq_set aeSeqSet
/-- A sequence of measurable functions that are equal to `f` and verify property `p` on the
measurable set `ae_seq_set hf p`. -/
-noncomputable def aeSeq (hf : ∀ i, AeMeasurable (f i) μ) (p : α → (ι → β) → Prop) : ι → α → β :=
+noncomputable def aeSeq (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) : ι → α → β :=
fun i x => ite (x ∈ aeSeqSet hf p) ((hf i).mk (f i) x) (⟨f i x⟩ : Nonempty β).some
#align ae_seq aeSeq
@@ -49,7 +49,7 @@ namespace aeSeq
section MemAeSeqSet
-theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p)
+theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p)
(i : ι) : (hf i).mk (f i) x = f i x :=
haveI h_ss : aeSeqSet hf p ⊆ { x | ∀ i, f i x = (hf i).mk (f i) x } :=
by
@@ -59,17 +59,17 @@ theorem mk_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α} (
(h_ss hx i).symm
#align ae_seq.mk_eq_fun_of_mem_ae_seq_set aeSeq.mk_eq_fun_of_mem_aeSeqSet
-theorem aeSeq_eq_mk_of_mem_aeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α}
+theorem aeSeq_eq_mk_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = (hf i).mk (f i) x := by
simp only [aeSeq, hx, if_true]
#align ae_seq.ae_seq_eq_mk_of_mem_ae_seq_set aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet
-theorem aeSeq_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α}
+theorem aeSeq_eq_fun_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α}
(hx : x ∈ aeSeqSet hf p) (i : ι) : aeSeq hf p i x = f i x := by
simp only [ae_seq_eq_mk_of_mem_ae_seq_set hf hx i, mk_eq_fun_of_mem_ae_seq_set hf hx i]
#align ae_seq.ae_seq_eq_fun_of_mem_ae_seq_set aeSeq.aeSeq_eq_fun_of_mem_aeSeqSet
-theorem propOfMemAeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
+theorem prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => aeSeq hf p n x :=
by
simp only [aeSeq, hx, if_true]
@@ -81,29 +81,29 @@ theorem propOfMemAeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α} (hx : x
exact fun x hx => hx.2
have hx' := Set.mem_of_subset_of_mem h_ss hx
exact hx'
-#align ae_seq.prop_of_mem_ae_seq_set aeSeq.propOfMemAeSeqSet
+#align ae_seq.prop_of_mem_ae_seq_set aeSeq.prop_of_mem_aeSeqSet
-theorem funPropOfMemAeSeqSet (hf : ∀ i, AeMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
+theorem fun_prop_of_mem_aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) {x : α} (hx : x ∈ aeSeqSet hf p) :
p x fun n => f n x :=
by
have h_eq : (fun n => f n x) = fun n => aeSeq hf p n x :=
funext fun n => (ae_seq_eq_fun_of_mem_ae_seq_set hf hx n).symm
rw [h_eq]
exact prop_of_mem_ae_seq_set hf hx
-#align ae_seq.fun_prop_of_mem_ae_seq_set aeSeq.funPropOfMemAeSeqSet
+#align ae_seq.fun_prop_of_mem_ae_seq_set aeSeq.fun_prop_of_mem_aeSeqSet
end MemAeSeqSet
-theorem aeSeqSet_measurableSet {hf : ∀ i, AeMeasurable (f i) μ} : MeasurableSet (aeSeqSet hf p) :=
+theorem aeSeqSet_measurableSet {hf : ∀ i, AEMeasurable (f i) μ} : MeasurableSet (aeSeqSet hf p) :=
(measurableSet_toMeasurable _ _).compl
#align ae_seq.ae_seq_set_measurable_set aeSeq.aeSeqSet_measurableSet
-theorem measurable (hf : ∀ i, AeMeasurable (f i) μ) (p : α → (ι → β) → Prop) (i : ι) :
+theorem measurable (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) (i : ι) :
Measurable (aeSeq hf p i) :=
Measurable.ite aeSeqSet_measurableSet (hf i).measurable_mk <| measurable_const' fun x y => rfl
#align ae_seq.measurable aeSeq.measurable
-theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AeMeasurable (f i) μ)
+theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : μ (aeSeqSet hf pᶜ) = 0 :=
by
rw [aeSeqSet, compl_compl, measure_to_measurable]
@@ -112,7 +112,7 @@ theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AeMeasurable
exact Filter.Eventually.and hf_eq hp
#align ae_seq.measure_compl_ae_seq_set_eq_zero aeSeq.measure_compl_aeSeqSet_eq_zero
-theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AeMeasurable (f i) μ)
+theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = (hf i).mk (f i) a :=
haveI h_ss : aeSeqSet hf p ⊆ { a : α | ∀ i, aeSeq hf p i a = (hf i).mk (f i) a } := fun x hx i =>
by simp only [aeSeq, hx, if_true]
@@ -122,19 +122,19 @@ theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AeMeasurable (f i) μ)
(zero_le _)
#align ae_seq.ae_seq_eq_mk_ae aeSeq.aeSeq_eq_mk_ae
-theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AeMeasurable (f i) μ)
+theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = f i a :=
haveI h_ss : { a : α | ¬∀ i : ι, aeSeq hf p i a = f i a } ⊆ aeSeqSet hf pᶜ := fun x =>
mt fun hx i => ae_seq_eq_fun_of_mem_ae_seq_set hf hx i
measure_mono_null h_ss (measure_compl_ae_seq_set_eq_zero hf hp)
#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_ae
-theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AeMeasurable (f i) μ)
+theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) (n : ι) : aeSeq hf p n =ᵐ[μ] f n :=
ae_all_iff.mp (aeSeq_eq_fun_ae hf hp) n
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
-theorem supᵢ [CompleteLattice β] [Countable ι] (hf : ∀ i, AeMeasurable (f i) μ)
+theorem supᵢ [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n :=
by
simp_rw [Filter.EventuallyEq, ae_iff, supᵢ_apply]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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:
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>
@@ -137,4 +137,8 @@ theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i)
exact measure_mono_null (Set.compl_subset_compl.mpr h_ss) (measure_compl_aeSeqSet_eq_zero hf hp)
#align ae_seq.supr aeSeq.iSup
+theorem iInf [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
+ (hp : ∀ᵐ x ∂μ, p x fun n ↦ f n x) : ⨅ n, aeSeq hf p n =ᵐ[μ] ⨅ n, f n :=
+ iSup (β := βᵒᵈ) hf hp
+
end aeSeq
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,7 @@ and a measurable set `aeSeqSet hf p`, such that
open MeasureTheory
-open Classical
+open scoped Classical
variable {ι : Sort*} {α β γ : Type*} [MeasurableSpace α] [MeasurableSpace β] {f : ι → α → β}
{μ : Measure α} {p : α → (ι → β) → Prop}
@@ -3,7 +3,7 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-/
-import Mathlib.MeasureTheory.MeasurableSpace
+import Mathlib.MeasureTheory.MeasurableSpace.Basic
import Mathlib.MeasureTheory.Measure.MeasureSpaceDef
#align_import measure_theory.function.ae_measurable_sequence from "leanprover-community/mathlib"@"d003c55042c3cd08aefd1ae9a42ef89441cdaaf3"
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -27,7 +27,7 @@ open MeasureTheory
open Classical
-variable {ι : Sort _} {α β γ : Type _} [MeasurableSpace α] [MeasurableSpace β] {f : ι → α → β}
+variable {ι : Sort*} {α β γ : Type*} [MeasurableSpace α] [MeasurableSpace β] {f : ι → α → β}
{μ : Measure α} {p : α → (ι → β) → Prop}
/-- If we have the additional hypothesis `∀ᵐ x ∂μ, p x (fun n ↦ f n x)`, this is a measurable set
@@ -2,15 +2,12 @@
Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-
-! This file was ported from Lean 3 source module measure_theory.function.ae_measurable_sequence
-! leanprover-community/mathlib commit d003c55042c3cd08aefd1ae9a42ef89441cdaaf3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.MeasureTheory.MeasurableSpace
import Mathlib.MeasureTheory.Measure.MeasureSpaceDef
+#align_import measure_theory.function.ae_measurable_sequence from "leanprover-community/mathlib"@"d003c55042c3cd08aefd1ae9a42ef89441cdaaf3"
+
/-!
# Sequence of measurable functions associated to a sequence of a.e.-measurable functions
@@ -131,9 +131,9 @@ theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
- (hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n := by
+ (hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ⨆ n, aeSeq hf p n =ᵐ[μ] ⨆ n, f n := by
simp_rw [Filter.EventuallyEq, ae_iff, iSup_apply]
- have h_ss : aeSeqSet hf p ⊆ { a : α | (⨆ i : ι, aeSeq hf p i a) = ⨆ i : ι, f i a } := by
+ have h_ss : aeSeqSet hf p ⊆ { a : α | ⨆ i : ι, aeSeq hf p i a = ⨆ i : ι, f i a } := by
intro x hx
congr
exact funext fun i => aeSeq_eq_fun_of_mem_aeSeqSet hf hx i
@@ -37,7 +37,7 @@ variable {ι : Sort _} {α β γ : Type _} [MeasurableSpace α] [MeasurableSpace
whose complement has measure 0 such that for all `x ∈ aeSeqSet`, `f i x` is equal to
`(hf i).mk (f i) x` for all `i` and we have the pointwise property `p x (fun n ↦ f n x)`. -/
def aeSeqSet (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β) → Prop) : Set α :=
- toMeasurable μ ({ x | (∀ i, f i x = (hf i).mk (f i) x) ∧ p x fun n => f n x }ᶜ)ᶜ
+ (toMeasurable μ { x | (∀ i, f i x = (hf i).mk (f i) x) ∧ p x fun n => f n x }ᶜ)ᶜ
#align ae_seq_set aeSeqSet
/-- A sequence of measurable functions that are equal to `f` and verify property `p` on the
@@ -101,7 +101,7 @@ theorem measurable (hf : ∀ i, AEMeasurable (f i) μ) (p : α → (ι → β)
#align ae_seq.measurable aeSeq.measurable
theorem measure_compl_aeSeqSet_eq_zero [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
- (hp : ∀ᵐ x ∂μ, p x fun n => f n x) : μ (aeSeqSet hf pᶜ) = 0 := by
+ (hp : ∀ᵐ x ∂μ, p x fun n => f n x) : μ (aeSeqSet hf p)ᶜ = 0 := by
rw [aeSeqSet, compl_compl, measure_toMeasurable]
have hf_eq := fun i => (hf i).ae_eq_mk
simp_rw [Filter.EventuallyEq, ← ae_all_iff] at hf_eq
@@ -120,7 +120,7 @@ theorem aeSeq_eq_mk_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
theorem aeSeq_eq_fun_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : ∀ᵐ a : α ∂μ, ∀ i : ι, aeSeq hf p i a = f i a :=
- haveI h_ss : { a : α | ¬∀ i : ι, aeSeq hf p i a = f i a } ⊆ aeSeqSet hf pᶜ := fun _ =>
+ haveI h_ss : { a : α | ¬∀ i : ι, aeSeq hf p i a = f i a } ⊆ (aeSeqSet hf p)ᶜ := fun _ =>
mt fun hx i => aeSeq_eq_fun_of_mem_aeSeqSet hf hx i
measure_mono_null h_ss (measure_compl_aeSeqSet_eq_zero hf hp)
#align ae_seq.ae_seq_eq_fun_ae aeSeq.aeSeq_eq_fun_ae
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -130,14 +130,14 @@ theorem aeSeq_n_eq_fun_n_ae [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
ae_all_iff.mp (aeSeq_eq_fun_ae hf hp) n
#align ae_seq.ae_seq_n_eq_fun_n_ae aeSeq.aeSeq_n_eq_fun_n_ae
-theorem supᵢ [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
+theorem iSup [CompleteLattice β] [Countable ι] (hf : ∀ i, AEMeasurable (f i) μ)
(hp : ∀ᵐ x ∂μ, p x fun n => f n x) : (⨆ n, aeSeq hf p n) =ᵐ[μ] ⨆ n, f n := by
- simp_rw [Filter.EventuallyEq, ae_iff, supᵢ_apply]
+ simp_rw [Filter.EventuallyEq, ae_iff, iSup_apply]
have h_ss : aeSeqSet hf p ⊆ { a : α | (⨆ i : ι, aeSeq hf p i a) = ⨆ i : ι, f i a } := by
intro x hx
congr
exact funext fun i => aeSeq_eq_fun_of_mem_aeSeqSet hf hx i
exact measure_mono_null (Set.compl_subset_compl.mpr h_ss) (measure_compl_aeSeqSet_eq_zero hf hp)
-#align ae_seq.supr aeSeq.supᵢ
+#align ae_seq.supr aeSeq.iSup
end aeSeq
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