File: Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean

full_name: MeasureTheory.AEStronglyMeasurable'
code: /-- A function `f` verifies `AEStronglyMeasurable' m f μ` if it is `μ`-a.e. equal to
an `m`-strongly measurable function. This is similar to `AEStronglyMeasurable`, but the
`MeasurableSpace` structures used for the measurability statement and for the measure are
different. -/
def AEStronglyMeasurable' {α β} [TopologicalSpace β] (m : MeasurableSpace α)
    {_ : MeasurableSpace α} (f : α → β) (μ : Measure α) : Prop 
goal: {x : MeasurableSpace α} → (α → β) → MeasureTheory.Measure α → Prop

full_name: MeasureTheory.AEStronglyMeasurable'.congr
code: theorem congr (hf : AEStronglyMeasurable' m f μ) (hfg : f =ᵐ[μ] g) :
    AEStronglyMeasurable' m g μ 
goal: MeasureTheory.AEStronglyMeasurable' m g μ

full_name: MeasureTheory.AEStronglyMeasurable'.mono
code: theorem mono {m'} (hf : AEStronglyMeasurable' m f μ) (hm : m ≤ m') :
    AEStronglyMeasurable' m' f μ 
goal: MeasureTheory.AEStronglyMeasurable' m' f μ

full_name: MeasureTheory.AEStronglyMeasurable'.add
code: theorem add [Add β] [ContinuousAdd β] (hf : AEStronglyMeasurable' m f μ)
    (hg : AEStronglyMeasurable' m g μ) : AEStronglyMeasurable' m (f + g) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (f + g) μ

full_name: MeasureTheory.AEStronglyMeasurable'.neg
code: theorem neg [AddGroup β] [TopologicalAddGroup β] {f : α → β} (hfm : AEStronglyMeasurable' m f μ) :
    AEStronglyMeasurable' m (-f) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (-f) μ

full_name: MeasureTheory.AEStronglyMeasurable'.sub
code: theorem sub [AddGroup β] [TopologicalAddGroup β] {f g : α → β} (hfm : AEStronglyMeasurable' m f μ)
    (hgm : AEStronglyMeasurable' m g μ) : AEStronglyMeasurable' m (f - g) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (f - g) μ

full_name: MeasureTheory.AEStronglyMeasurable'.const_smul
code: theorem const_smul [SMul 𝕜 β] [ContinuousConstSMul 𝕜 β] (c : 𝕜) (hf : AEStronglyMeasurable' m f μ) :
    AEStronglyMeasurable' m (c • f) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (c • f) μ

full_name: MeasureTheory.AEStronglyMeasurable'.const_inner
code: theorem const_inner {𝕜 β} [RCLike 𝕜] [NormedAddCommGroup β] [InnerProductSpace 𝕜 β] {f : α → β}
    (hfm : AEStronglyMeasurable' m f μ) (c : β) :
    AEStronglyMeasurable' m (fun x => (inner c (f x) : 𝕜)) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (fun x => ⟪c, f x⟫_𝕜) μ

full_name: MeasureTheory.AEStronglyMeasurable'.mk
code: /-- An `m`-strongly measurable function almost everywhere equal to `f`. -/
noncomputable def mk (f : α → β) (hfm : AEStronglyMeasurable' m f μ) : α → β 
goal: α → β

full_name: MeasureTheory.AEStronglyMeasurable'.stronglyMeasurable_mk
code: theorem stronglyMeasurable_mk {f : α → β} (hfm : AEStronglyMeasurable' m f μ) :
    StronglyMeasurable[m] (hfm.mk f) 
goal: MeasureTheory.StronglyMeasurable (MeasureTheory.AEStronglyMeasurable'.mk f hfm)

full_name: MeasureTheory.AEStronglyMeasurable'.ae_eq_mk
code: theorem ae_eq_mk {f : α → β} (hfm : AEStronglyMeasurable' m f μ) : f =ᵐ[μ] hfm.mk f 
goal: f =ᵐ[μ] MeasureTheory.AEStronglyMeasurable'.mk f hfm

full_name: MeasureTheory.AEStronglyMeasurable'.continuous_comp
code: theorem continuous_comp {γ} [TopologicalSpace γ] {f : α → β} {g : β → γ} (hg : Continuous g)
    (hf : AEStronglyMeasurable' m f μ) : AEStronglyMeasurable' m (g ∘ f) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (g ∘ f) μ

full_name: MeasureTheory.aeStronglyMeasurable'_of_aeStronglyMeasurable'_trim
code: theorem aeStronglyMeasurable'_of_aeStronglyMeasurable'_trim {α β} {m m0 m0' : MeasurableSpace α}
    [TopologicalSpace β] (hm0 : m0 ≤ m0') {μ : Measure α} {f : α → β}
    (hf : AEStronglyMeasurable' m f (μ.trim hm0)) : AEStronglyMeasurable' m f μ 
goal: MeasureTheory.AEStronglyMeasurable' m f μ

full_name: MeasureTheory.StronglyMeasurable.aeStronglyMeasurable'
code: theorem StronglyMeasurable.aeStronglyMeasurable' {α β} {m _ : MeasurableSpace α}
    [TopologicalSpace β] {μ : Measure α} {f : α → β} (hf : StronglyMeasurable[m] f) :
    AEStronglyMeasurable' m f μ 
goal: ∀ {x : MeasurableSpace α} [inst : TopologicalSpace β] {μ : MeasureTheory.Measure α} {f : α → β},
  MeasureTheory.StronglyMeasurable f → MeasureTheory.AEStronglyMeasurable' m f μ

full_name: MeasureTheory.ae_eq_trim_iff_of_aeStronglyMeasurable'
code: theorem ae_eq_trim_iff_of_aeStronglyMeasurable' {α β} [TopologicalSpace β] [MetrizableSpace β]
    {m m0 : MeasurableSpace α} {μ : Measure α} {f g : α → β} (hm : m ≤ m0)
    (hfm : AEStronglyMeasurable' m f μ) (hgm : AEStronglyMeasurable' m g μ) :
    hfm.mk f =ᵐ[μ.trim hm] hgm.mk g ↔ f =ᵐ[μ] g 
goal: MeasureTheory.AEStronglyMeasurable'.mk f hfm =ᵐ[μ.trim hm] MeasureTheory.AEStronglyMeasurable'.mk g hgm ↔ f =ᵐ[μ] g

full_name: MeasureTheory.AEStronglyMeasurable.comp_ae_measurable'
code: theorem AEStronglyMeasurable.comp_ae_measurable' {α β γ : Type*} [TopologicalSpace β]
    {mα : MeasurableSpace α} {_ : MeasurableSpace γ} {f : α → β} {μ : Measure γ} {g : γ → α}
    (hf : AEStronglyMeasurable f (μ.map g)) (hg : AEMeasurable g μ) :
    AEStronglyMeasurable' (mα.comap g) (f ∘ g) μ 
goal: ∀ {x : MeasurableSpace γ} {f : α → β} {μ : MeasureTheory.Measure γ} {g : γ → α},
  MeasureTheory.AEStronglyMeasurable f (MeasureTheory.Measure.map g μ) →
    AEMeasurable g μ → MeasureTheory.AEStronglyMeasurable' (MeasurableSpace.comap g mα) (f ∘ g) μ

full_name: MeasureTheory.AEStronglyMeasurable'.aeStronglyMeasurable'_of_measurableSpace_le_on
code: /-- If the restriction to a set `s` of a σ-algebra `m` is included in the restriction to `s` of
another σ-algebra `m₂` (hypothesis `hs`), the set `s` is `m` measurable and a function `f` almost
everywhere supported on `s` is `m`-ae-strongly-measurable, then `f` is also
`m₂`-ae-strongly-measurable. -/
theorem AEStronglyMeasurable'.aeStronglyMeasurable'_of_measurableSpace_le_on {α E}
    {m m₂ m0 : MeasurableSpace α} {μ : Measure α} [TopologicalSpace E] [Zero E] (hm : m ≤ m0)
    {s : Set α} {f : α → E} (hs_m : MeasurableSet[m] s)
    (hs : ∀ t, MeasurableSet[m] (s ∩ t) → MeasurableSet[m₂] (s ∩ t))
    (hf : AEStronglyMeasurable' m f μ) (hf_zero : f =ᵐ[μ.restrict sᶜ] 0) :
    AEStronglyMeasurable' m₂ f μ 
goal: MeasureTheory.AEStronglyMeasurable' m₂ f μ

full_name: MeasureTheory.lpMeasSubgroup
code: /-- `lpMeasSubgroup F m p μ` is the subspace of `Lp F p μ` containing functions `f` verifying
`AEStronglyMeasurable' m f μ`, i.e. functions which are `μ`-a.e. equal to
an `m`-strongly measurable function. -/
def lpMeasSubgroup (m : MeasurableSpace α) [MeasurableSpace α] (p : ℝ≥0∞) (μ : Measure α) :
    AddSubgroup (Lp F p μ) 
goal: AddSubgroup ↥(MeasureTheory.Lp F p μ)

full_name: MeasureTheory.lpMeas
code: /-- `lpMeas F 𝕜 m p μ` is the subspace of `Lp F p μ` containing functions `f` verifying
`AEStronglyMeasurable' m f μ`, i.e. functions which are `μ`-a.e. equal to
an `m`-strongly measurable function. -/
def lpMeas (m : MeasurableSpace α) [MeasurableSpace α] (p : ℝ≥0∞) (μ : Measure α) :
    Submodule 𝕜 (Lp F p μ) 
goal: Submodule 𝕜 ↥(MeasureTheory.Lp F p μ)

full_name: MeasureTheory.mem_lpMeasSubgroup_iff_aeStronglyMeasurable'
code: theorem mem_lpMeasSubgroup_iff_aeStronglyMeasurable' {m m0 : MeasurableSpace α} {μ : Measure α}
    {f : Lp F p μ} : f ∈ lpMeasSubgroup F m p μ ↔ AEStronglyMeasurable' m f μ 
goal: f ∈ MeasureTheory.lpMeasSubgroup F m p μ ↔ MeasureTheory.AEStronglyMeasurable' m (↑↑f) μ

full_name: MeasureTheory.mem_lpMeas_iff_aeStronglyMeasurable'
code: theorem mem_lpMeas_iff_aeStronglyMeasurable' {m m0 : MeasurableSpace α} {μ : Measure α}
    {f : Lp F p μ} : f ∈ lpMeas F 𝕜 m p μ ↔ AEStronglyMeasurable' m f μ 
goal: f ∈ MeasureTheory.lpMeas F 𝕜 m p μ ↔ MeasureTheory.AEStronglyMeasurable' m (↑↑f) μ

full_name: MeasureTheory.lpMeas.aeStronglyMeasurable'
code: theorem lpMeas.aeStronglyMeasurable' {m _ : MeasurableSpace α} {μ : Measure α}
    (f : lpMeas F 𝕜 m p μ) : AEStronglyMeasurable' (β := F) m f μ 
goal: ∀ {x : MeasurableSpace α} {μ : MeasureTheory.Measure α} (f : ↥(MeasureTheory.lpMeas F 𝕜 m p μ)),
  MeasureTheory.AEStronglyMeasurable' m (↑↑↑f) μ

full_name: MeasureTheory.mem_lpMeas_self
code: theorem mem_lpMeas_self {m0 : MeasurableSpace α} (μ : Measure α) (f : Lp F p μ) :
    f ∈ lpMeas F 𝕜 m0 p μ 
goal: f ∈ MeasureTheory.lpMeas F 𝕜 m0 p μ

full_name: MeasureTheory.lpMeasSubgroup_coe
code: theorem lpMeasSubgroup_coe {m _ : MeasurableSpace α} {μ : Measure α} {f : lpMeasSubgroup F m p μ} :
    (f : _ → _) = (f : Lp F p μ) 
goal: ∀ {x : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : ↥(MeasureTheory.lpMeasSubgroup F m p μ)}, ↑↑↑f = ↑↑↑f

full_name: MeasureTheory.lpMeas_coe
code: theorem lpMeas_coe {m _ : MeasurableSpace α} {μ : Measure α} {f : lpMeas F 𝕜 m p μ} :
    (f : _ → _) = (f : Lp F p μ) 
goal: ∀ {x : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : ↥(MeasureTheory.lpMeas F 𝕜 m p μ)}, ↑↑↑f = ↑↑↑f

full_name: MeasureTheory.mem_lpMeas_indicatorConstLp
code: theorem mem_lpMeas_indicatorConstLp {m m0 : MeasurableSpace α} (hm : m ≤ m0) {μ : Measure α}
    {s : Set α} (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) {c : F} :
    indicatorConstLp p (hm s hs) hμs c ∈ lpMeas F 𝕜 m p μ 
goal: MeasureTheory.indicatorConstLp p ⋯ hμs c ∈ MeasureTheory.lpMeas F 𝕜 m p μ

full_name: MeasureTheory.memℒp_trim_of_mem_lpMeasSubgroup
code: /-- If `f` belongs to `lpMeasSubgroup F m p μ`, then the measurable function it is almost
everywhere equal to (given by `AEMeasurable.mk`) belongs to `ℒp` for the measure `μ.trim hm`. -/
theorem memℒp_trim_of_mem_lpMeasSubgroup (hm : m ≤ m0) (f : Lp F p μ)
    (hf_meas : f ∈ lpMeasSubgroup F m p μ) :
    Memℒp (mem_lpMeasSubgroup_iff_aeStronglyMeasurable'.mp hf_meas).choose p (μ.trim hm) 
goal: MeasureTheory.Memℒp (Exists.choose ⋯) p (μ.trim hm)

full_name: MeasureTheory.mem_lpMeasSubgroup_toLp_of_trim
code: /-- If `f` belongs to `Lp` for the measure `μ.trim hm`, then it belongs to the subgroup
`lpMeasSubgroup F m p μ`. -/
theorem mem_lpMeasSubgroup_toLp_of_trim (hm : m ≤ m0) (f : Lp F p (μ.trim hm)) :
    (memℒp_of_memℒp_trim hm (Lp.memℒp f)).toLp f ∈ lpMeasSubgroup F m p μ 
goal: MeasureTheory.Memℒp.toLp ↑↑f ⋯ ∈ MeasureTheory.lpMeasSubgroup F m p μ

full_name: MeasureTheory.lpMeasSubgroupToLpTrim
code: /-- Map from `lpMeasSubgroup` to `Lp F p (μ.trim hm)`. -/
noncomputable def lpMeasSubgroupToLpTrim (hm : m ≤ m0) (f : lpMeasSubgroup F m p μ) :
    Lp F p (μ.trim hm) 
goal: ↥(MeasureTheory.Lp F p (μ.trim hm))

full_name: MeasureTheory.lpMeasToLpTrim
code: /-- Map from `lpMeas` to `Lp F p (μ.trim hm)`. -/
noncomputable def lpMeasToLpTrim (hm : m ≤ m0) (f : lpMeas F 𝕜 m p μ) : Lp F p (μ.trim hm) 
goal: ↥(MeasureTheory.Lp F p (μ.trim hm))

full_name: MeasureTheory.lpTrimToLpMeasSubgroup
code: /-- Map from `Lp F p (μ.trim hm)` to `lpMeasSubgroup`, inverse of
`lpMeasSubgroupToLpTrim`. -/
noncomputable def lpTrimToLpMeasSubgroup (hm : m ≤ m0) (f : Lp F p (μ.trim hm)) :
    lpMeasSubgroup F m p μ 
goal: ↥(MeasureTheory.lpMeasSubgroup F m p μ)

full_name: MeasureTheory.lpTrimToLpMeas
code: /-- Map from `Lp F p (μ.trim hm)` to `lpMeas`, inverse of `Lp_meas_to_Lp_trim`. -/
noncomputable def lpTrimToLpMeas (hm : m ≤ m0) (f : Lp F p (μ.trim hm)) : lpMeas F 𝕜 m p μ 
goal: ↥(MeasureTheory.lpMeas F 𝕜 m p μ)

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_ae_eq
code: theorem lpMeasSubgroupToLpTrim_ae_eq (hm : m ≤ m0) (f : lpMeasSubgroup F m p μ) :
    lpMeasSubgroupToLpTrim F p μ hm f =ᵐ[μ] f 
goal: ↑↑(MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm f) =ᵐ[μ] ↑↑↑f

full_name: MeasureTheory.lpTrimToLpMeasSubgroup_ae_eq
code: theorem lpTrimToLpMeasSubgroup_ae_eq (hm : m ≤ m0) (f : Lp F p (μ.trim hm)) :
    lpTrimToLpMeasSubgroup F p μ hm f =ᵐ[μ] f 
goal: ↑↑↑(MeasureTheory.lpTrimToLpMeasSubgroup F p μ hm f) =ᵐ[μ] ↑↑f

full_name: MeasureTheory.lpMeasToLpTrim_ae_eq
code: theorem lpMeasToLpTrim_ae_eq (hm : m ≤ m0) (f : lpMeas F 𝕜 m p μ) :
    lpMeasToLpTrim F 𝕜 p μ hm f =ᵐ[μ] f 
goal: ↑↑(MeasureTheory.lpMeasToLpTrim F 𝕜 p μ hm f) =ᵐ[μ] ↑↑↑f

full_name: MeasureTheory.lpTrimToLpMeas_ae_eq
code: theorem lpTrimToLpMeas_ae_eq (hm : m ≤ m0) (f : Lp F p (μ.trim hm)) :
    lpTrimToLpMeas F 𝕜 p μ hm f =ᵐ[μ] f 
goal: ↑↑↑(MeasureTheory.lpTrimToLpMeas F 𝕜 p μ hm f) =ᵐ[μ] ↑↑f

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_right_inv
code: /-- `lpTrimToLpMeasSubgroup` is a right inverse of `lpMeasSubgroupToLpTrim`. -/
theorem lpMeasSubgroupToLpTrim_right_inv (hm : m ≤ m0) :
    Function.RightInverse (lpTrimToLpMeasSubgroup F p μ hm) (lpMeasSubgroupToLpTrim F p μ hm) 
goal: Function.RightInverse (MeasureTheory.lpTrimToLpMeasSubgroup F p μ hm) (MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm)

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_left_inv
code: /-- `lpTrimToLpMeasSubgroup` is a left inverse of `lpMeasSubgroupToLpTrim`. -/
theorem lpMeasSubgroupToLpTrim_left_inv (hm : m ≤ m0) :
    Function.LeftInverse (lpTrimToLpMeasSubgroup F p μ hm) (lpMeasSubgroupToLpTrim F p μ hm) 
goal: Function.LeftInverse (MeasureTheory.lpTrimToLpMeasSubgroup F p μ hm) (MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm)

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_add
code: theorem lpMeasSubgroupToLpTrim_add (hm : m ≤ m0) (f g : lpMeasSubgroup F m p μ) :
    lpMeasSubgroupToLpTrim F p μ hm (f + g) =
      lpMeasSubgroupToLpTrim F p μ hm f + lpMeasSubgroupToLpTrim F p μ hm g 
goal: MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm (f + g) =
  MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm f + MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm g

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_neg
code: theorem lpMeasSubgroupToLpTrim_neg (hm : m ≤ m0) (f : lpMeasSubgroup F m p μ) :
    lpMeasSubgroupToLpTrim F p μ hm (-f) = -lpMeasSubgroupToLpTrim F p μ hm f 
goal: MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm (-f) = -MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm f

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_sub
code: theorem lpMeasSubgroupToLpTrim_sub (hm : m ≤ m0) (f g : lpMeasSubgroup F m p μ) :
    lpMeasSubgroupToLpTrim F p μ hm (f - g) =
      lpMeasSubgroupToLpTrim F p μ hm f - lpMeasSubgroupToLpTrim F p μ hm g 
goal: MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm (f - g) =
  MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm f - MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm g

full_name: MeasureTheory.lpMeasToLpTrim_smul
code: theorem lpMeasToLpTrim_smul (hm : m ≤ m0) (c : 𝕜) (f : lpMeas F 𝕜 m p μ) :
    lpMeasToLpTrim F 𝕜 p μ hm (c • f) = c • lpMeasToLpTrim F 𝕜 p μ hm f 
goal: MeasureTheory.lpMeasToLpTrim F 𝕜 p μ hm (c • f) = c • MeasureTheory.lpMeasToLpTrim F 𝕜 p μ hm f

full_name: MeasureTheory.lpMeasSubgroupToLpTrim_norm_map
code: /-- `lpMeasSubgroupToLpTrim` preserves the norm. -/
theorem lpMeasSubgroupToLpTrim_norm_map [hp : Fact (1 ≤ p)] (hm : m ≤ m0)
    (f : lpMeasSubgroup F m p μ) : ‖lpMeasSubgroupToLpTrim F p μ hm f‖ = ‖f‖ 
goal: ‖MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm f‖ = ‖f‖

full_name: MeasureTheory.isometry_lpMeasSubgroupToLpTrim
code: theorem isometry_lpMeasSubgroupToLpTrim [hp : Fact (1 ≤ p)] (hm : m ≤ m0) :
    Isometry (lpMeasSubgroupToLpTrim F p μ hm) 
goal: Isometry (MeasureTheory.lpMeasSubgroupToLpTrim F p μ hm)

full_name: MeasureTheory.lpMeasSubgroupToLpTrimIso
code: /-- `lpMeasSubgroup` and `Lp F p (μ.trim hm)` are isometric. -/
noncomputable def lpMeasSubgroupToLpTrimIso [Fact (1 ≤ p)] (hm : m ≤ m0) :
    lpMeasSubgroup F m p μ ≃ᵢ Lp F p (μ.trim hm) 
goal: ↥(MeasureTheory.lpMeasSubgroup F m p μ) ≃ᵢ ↥(MeasureTheory.Lp F p (μ.trim hm))

full_name: MeasureTheory.lpMeasSubgroupToLpMeasIso
code: /-- `lpMeasSubgroup` and `lpMeas` are isometric. -/
noncomputable def lpMeasSubgroupToLpMeasIso [Fact (1 ≤ p)] :
    lpMeasSubgroup F m p μ ≃ᵢ lpMeas F 𝕜 m p μ 
goal: ↥(MeasureTheory.lpMeasSubgroup F m p μ) ≃ᵢ ↥(MeasureTheory.lpMeas F 𝕜 m p μ)

full_name: MeasureTheory.lpMeasToLpTrimLie
code: /-- `lpMeas` and `Lp F p (μ.trim hm)` are isometric, with a linear equivalence. -/
noncomputable def lpMeasToLpTrimLie [Fact (1 ≤ p)] (hm : m ≤ m0) :
    lpMeas F 𝕜 m p μ ≃ₗᵢ[𝕜] Lp F p (μ.trim hm) 
goal: ↥(MeasureTheory.lpMeas F 𝕜 m p μ) ≃ₗᵢ[𝕜] ↥(MeasureTheory.Lp F p (μ.trim hm))

full_name: MeasureTheory.instCompleteSpaceSubtypeAEEqFunMemAddSubgroupLpLpMeasSubgroupOfFactLeMeasurableSpace
code: instance [hm : Fact (m ≤ m0)] [CompleteSpace F] [hp : Fact (1 ≤ p)] :
    CompleteSpace (lpMeasSubgroup F m p μ) 
goal: CompleteSpace ↥(MeasureTheory.lpMeasSubgroup F m p μ)

full_name: MeasureTheory.instCompleteSpaceSubtypeAEEqFunMemAddSubgroupLpSubmoduleLpMeasOfFactLeMeasurableSpace
code: instance [hm : Fact (m ≤ m0)] [CompleteSpace F] [hp : Fact (1 ≤ p)] :
    CompleteSpace (lpMeas F 𝕜 m p μ) 
goal: CompleteSpace ↥(MeasureTheory.lpMeas F 𝕜 m p μ)

full_name: MeasureTheory.isComplete_aeStronglyMeasurable'
code: theorem isComplete_aeStronglyMeasurable' [hp : Fact (1 ≤ p)] [CompleteSpace F] (hm : m ≤ m0) :
    IsComplete {f : Lp F p μ | AEStronglyMeasurable' m f μ} 
goal: IsComplete {f | MeasureTheory.AEStronglyMeasurable' m (↑↑f) μ}

full_name: MeasureTheory.isClosed_aeStronglyMeasurable'
code: theorem isClosed_aeStronglyMeasurable' [Fact (1 ≤ p)] [CompleteSpace F] (hm : m ≤ m0) :
    IsClosed {f : Lp F p μ | AEStronglyMeasurable' m f μ} 
goal: IsClosed {f | MeasureTheory.AEStronglyMeasurable' m (↑↑f) μ}

full_name: MeasureTheory.lpMeas.ae_fin_strongly_measurable'
code: /-- We do not get `ae_fin_strongly_measurable f (μ.trim hm)`, since we don't have
`f =ᵐ[μ.trim hm] Lp_meas_to_Lp_trim F 𝕜 p μ hm f` but only the weaker
`f =ᵐ[μ] Lp_meas_to_Lp_trim F 𝕜 p μ hm f`. -/
theorem lpMeas.ae_fin_strongly_measurable' (hm : m ≤ m0) (f : lpMeas F 𝕜 m p μ) (hp_ne_zero : p ≠ 0)
    (hp_ne_top : p ≠ ∞) :
    -- Porting note: changed `f` to `f.1` in the next line. Not certain this is okay.
    ∃ g, FinStronglyMeasurable g (μ.trim hm) ∧ f.1 =ᵐ[μ] g 
goal: ∃ g, MeasureTheory.FinStronglyMeasurable g (μ.trim hm) ∧ ↑↑↑f =ᵐ[μ] g

full_name: MeasureTheory.lpMeasToLpTrimLie_symm_indicator
code: /-- When applying the inverse of `lpMeasToLpTrimLie` (which takes a function in the Lp space of
the sub-sigma algebra and returns its version in the larger Lp space) to an indicator of the
sub-sigma-algebra, we obtain an indicator in the Lp space of the larger sigma-algebra. -/
theorem lpMeasToLpTrimLie_symm_indicator [one_le_p : Fact (1 ≤ p)] [NormedSpace ℝ F] {hm : m ≤ m0}
    {s : Set α} {μ : Measure α} (hs : MeasurableSet[m] s) (hμs : μ.trim hm s ≠ ∞) (c : F) :
    ((lpMeasToLpTrimLie F ℝ p μ hm).symm (indicatorConstLp p hs hμs c) : Lp F p μ) =
      indicatorConstLp p (hm s hs) ((le_trim hm).trans_lt hμs.lt_top).ne c 
goal: ↑((MeasureTheory.lpMeasToLpTrimLie F ℝ p μ hm).symm (MeasureTheory.indicatorConstLp p hs hμs c)) =
  MeasureTheory.indicatorConstLp p ⋯ ⋯ c

full_name: MeasureTheory.lpMeasToLpTrimLie_symm_toLp
code: theorem lpMeasToLpTrimLie_symm_toLp [one_le_p : Fact (1 ≤ p)] [NormedSpace ℝ F] (hm : m ≤ m0)
    (f : α → F) (hf : Memℒp f p (μ.trim hm)) :
    ((lpMeasToLpTrimLie F ℝ p μ hm).symm (hf.toLp f) : Lp F p μ) =
      (memℒp_of_memℒp_trim hm hf).toLp f 
goal: ↑((MeasureTheory.lpMeasToLpTrimLie F ℝ p μ hm).symm (MeasureTheory.Memℒp.toLp f hf)) = MeasureTheory.Memℒp.toLp f ⋯

full_name: MeasureTheory.Lp.induction_stronglyMeasurable_aux
code: /-- Auxiliary lemma for `Lp.induction_stronglyMeasurable`. -/
@[elab_as_elim]
theorem Lp.induction_stronglyMeasurable_aux (hm : m ≤ m0) (hp_ne_top : p ≠ ∞) (P : Lp F p μ → Prop)
    (h_ind : ∀ (c : F) {s : Set α} (hs : MeasurableSet[m] s) (hμs : μ s < ∞),
      P (Lp.simpleFunc.indicatorConst p (hm s hs) hμs.ne c))
    (h_add : ∀ ⦃f g⦄, ∀ hf : Memℒp f p μ, ∀ hg : Memℒp g p μ, AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ → Disjoint (Function.support f) (Function.support g) →
        P (hf.toLp f) → P (hg.toLp g) → P (hf.toLp f + hg.toLp g))
    (h_closed : IsClosed {f : lpMeas F ℝ m p μ | P f}) :
    ∀ f : Lp F p μ, AEStronglyMeasurable' m f μ → P f 
goal: MeasureTheory.AEStronglyMeasurable' m (↑↑f) μ → P f

full_name: MeasureTheory.Lp.induction_stronglyMeasurable
code: /-- To prove something for an `Lp` function a.e. strongly measurable with respect to a
sub-σ-algebra `m` in a normed space, it suffices to show that
* the property holds for (multiples of) characteristic functions which are measurable w.r.t. `m`;
* is closed under addition;
* the set of functions in `Lp` strongly measurable w.r.t. `m` for which the property holds is
  closed.
-/
@[elab_as_elim]
theorem Lp.induction_stronglyMeasurable (hm : m ≤ m0) (hp_ne_top : p ≠ ∞) (P : Lp F p μ → Prop)
    (h_ind : ∀ (c : F) {s : Set α} (hs : MeasurableSet[m] s) (hμs : μ s < ∞),
      P (Lp.simpleFunc.indicatorConst p (hm s hs) hμs.ne c))
    (h_add : ∀ ⦃f g⦄, ∀ hf : Memℒp f p μ, ∀ hg : Memℒp g p μ, StronglyMeasurable[m] f →
      StronglyMeasurable[m] g → Disjoint (Function.support f) (Function.support g) →
        P (hf.toLp f) → P (hg.toLp g) → P (hf.toLp f + hg.toLp g))
    (h_closed : IsClosed {f : lpMeas F ℝ m p μ | P f}) :
    ∀ f : Lp F p μ, AEStronglyMeasurable' m f μ → P f 
goal: MeasureTheory.AEStronglyMeasurable' m (↑↑f) μ → P f

full_name: MeasureTheory.Memℒp.induction_stronglyMeasurable
code: /-- To prove something for an arbitrary `Memℒp` function a.e. strongly measurable with respect
to a sub-σ-algebra `m` in a normed space, it suffices to show that
* the property holds for (multiples of) characteristic functions which are measurable w.r.t. `m`;
* is closed under addition;
* the set of functions in the `Lᵖ` space strongly measurable w.r.t. `m` for which the property
  holds is closed.
* the property is closed under the almost-everywhere equal relation.
-/
@[elab_as_elim]
theorem Memℒp.induction_stronglyMeasurable (hm : m ≤ m0) (hp_ne_top : p ≠ ∞) (P : (α → F) → Prop)
    (h_ind : ∀ (c : F) ⦃s⦄, MeasurableSet[m] s → μ s < ∞ → P (s.indicator fun _ => c))
    (h_add : ∀ ⦃f g : α → F⦄, Disjoint (Function.support f) (Function.support g) →
      Memℒp f p μ → Memℒp g p μ → StronglyMeasurable[m] f → StronglyMeasurable[m] g →
        P f → P g → P (f + g))
    (h_closed : IsClosed {f : lpMeas F ℝ m p μ | P f})
    (h_ae : ∀ ⦃f g⦄, f =ᵐ[μ] g → Memℒp f p μ → P f → P g) :
    ∀ ⦃f : α → F⦄, Memℒp f p μ → AEStronglyMeasurable' m f μ → P f 
goal: MeasureTheory.Memℒp f p μ → MeasureTheory.AEStronglyMeasurable' m f μ → P f