l3lab/ntp-mathlib huggingface dataset:
/-- The integral of the conditional expectation `condexpL1Clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
    ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  let S := spanningSets (μ.trim hm)
  have hS_meas : ∀ i, MeasurableSet[m] (S i) := measurable_spanningSets (μ.trim hm)
  have hS_meas0 : ∀ i, MeasurableSet (S i) := fun i => hm _ (hS_meas i)
  have hs_eq : s = ⋃ i, S i ∩ s := by
    simp_rw [Set.inter_comm]
    rw [← Set.inter_iUnion, iUnion_spanningSets (μ.trim hm), Set.inter_univ]
  have hS_finite : ∀ i, μ (S i ∩ s) < ∞ := by
    refine' fun i => (measure_mono (Set.inter_subset_left _ _)).trans_lt _
    have hS_finite_trim := measure_spanningSets_lt_top (μ.trim hm) i
    rwa [trim_measurableSet_eq hm (hS_meas i)] at hS_finite_trim
  have h_mono : Monotone fun i => S i ∩ s := by
    intro i j hij x
    simp_rw [Set.mem_inter_iff]
    exact fun h => ⟨monotone_spanningSets (μ.trim hm) hij h.1, h.2⟩
  have h_eq_forall :
    (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
    funext fun i =>
      set_integral_condexpL1Clm_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
        (hS_finite i).ne
  have h_right : Tendsto (fun i => ∫ x in S i ∩ s, f x ∂μ) atTop (𝓝 (∫ x in s, f x ∂μ)) := by
    

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
S : ℕ → Set α := spanningSets (Measure.trim μ hm)
hS_meas : ∀ (i : ℕ), MeasurableSet (S i)
hS_meas0 : ∀ (i : ℕ), MeasurableSet (S i)
hs_eq : s = ⋃ i, S i ∩ s
hS_finite : ∀ (i : ℕ), ↑↑μ (S i ∩ s) < ⊤
h_mono : Monotone fun i => S i ∩ s
h_eq_forall :
  (fun i => ∫ (x : α) in S i ∩ s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ) = fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ
⊢ Tendsto (fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ) atTop (𝓝 (∫ (x : α) in s, ↑↑f x ∂μ))

Next tactic:
have h :=
      tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
        (L1.integrable_coeFn f).integrableOn
/-- The integral of the conditional expectation `condexpL1Clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
    ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  let S := spanningSets (μ.trim hm)
  have hS_meas : ∀ i, MeasurableSet[m] (S i) := measurable_spanningSets (μ.trim hm)
  have hS_meas0 : ∀ i, MeasurableSet (S i) := fun i => hm _ (hS_meas i)
  have hs_eq : s = ⋃ i, S i ∩ s := by
    simp_rw [Set.inter_comm]
    rw [← Set.inter_iUnion, iUnion_spanningSets (μ.trim hm), Set.inter_univ]
  have hS_finite : ∀ i, μ (S i ∩ s) < ∞ := by
    refine' fun i => (measure_mono (Set.inter_subset_left _ _)).trans_lt _
    have hS_finite_trim := measure_spanningSets_lt_top (μ.trim hm) i
    rwa [trim_measurableSet_eq hm (hS_meas i)] at hS_finite_trim
  have h_mono : Monotone fun i => S i ∩ s := by
    intro i j hij x
    simp_rw [Set.mem_inter_iff]
    exact fun h => ⟨monotone_spanningSets (μ.trim hm) hij h.1, h.2⟩
  have h_eq_forall :
    (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
    funext fun i =>
      set_integral_condexpL1Clm_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
        (hS_finite i).ne
  have h_right : Tendsto (fun i => ∫ x in S i ∩ s, f x ∂μ) atTop (𝓝 (∫ x in s, f x ∂μ)) := by
    have h :=
      tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
        (L1.integrable_coeFn f).integrableOn
    

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
S : ℕ → Set α := spanningSets (Measure.trim μ hm)
hS_meas : ∀ (i : ℕ), MeasurableSet (S i)
hS_meas0 : ∀ (i : ℕ), MeasurableSet (S i)
hs_eq : s = ⋃ i, S i ∩ s
hS_finite : ∀ (i : ℕ), ↑↑μ (S i ∩ s) < ⊤
h_mono : Monotone fun i => S i ∩ s
h_eq_forall :
  (fun i => ∫ (x : α) in S i ∩ s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ) = fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ
h : Tendsto (fun i => ∫ (a : α) in S i ∩ s, ↑↑f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋃ n, S n ∩ s, ↑↑f a ∂μ))
⊢ Tendsto (fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ) atTop (𝓝 (∫ (x : α) in s, ↑↑f x ∂μ))

Next tactic:
rwa [← hs_eq] at h
/-- The integral of the conditional expectation `condexpL1Clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
    ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  let S := spanningSets (μ.trim hm)
  have hS_meas : ∀ i, MeasurableSet[m] (S i) := measurable_spanningSets (μ.trim hm)
  have hS_meas0 : ∀ i, MeasurableSet (S i) := fun i => hm _ (hS_meas i)
  have hs_eq : s = ⋃ i, S i ∩ s := by
    simp_rw [Set.inter_comm]
    rw [← Set.inter_iUnion, iUnion_spanningSets (μ.trim hm), Set.inter_univ]
  have hS_finite : ∀ i, μ (S i ∩ s) < ∞ := by
    refine' fun i => (measure_mono (Set.inter_subset_left _ _)).trans_lt _
    have hS_finite_trim := measure_spanningSets_lt_top (μ.trim hm) i
    rwa [trim_measurableSet_eq hm (hS_meas i)] at hS_finite_trim
  have h_mono : Monotone fun i => S i ∩ s := by
    intro i j hij x
    simp_rw [Set.mem_inter_iff]
    exact fun h => ⟨monotone_spanningSets (μ.trim hm) hij h.1, h.2⟩
  have h_eq_forall :
    (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
    funext fun i =>
      set_integral_condexpL1Clm_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
        (hS_finite i).ne
  have h_right : Tendsto (fun i => ∫ x in S i ∩ s, f x ∂μ) atTop (𝓝 (∫ x in s, f x ∂μ)) := by
    have h :=
      tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
        (L1.integrable_coeFn f).integrableOn
    rwa [← hs_eq] at h
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
S : ℕ → Set α := spanningSets (Measure.trim μ hm)
hS_meas : ∀ (i : ℕ), MeasurableSet (S i)
hS_meas0 : ∀ (i : ℕ), MeasurableSet (S i)
hs_eq : s = ⋃ i, S i ∩ s
hS_finite : ∀ (i : ℕ), ↑↑μ (S i ∩ s) < ⊤
h_mono : Monotone fun i => S i ∩ s
h_eq_forall :
  (fun i => ∫ (x : α) in S i ∩ s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ) = fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ
h_right : Tendsto (fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ) atTop (𝓝 (∫ (x : α) in s, ↑↑f x ∂μ))
⊢ ∫ (x : α) in s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ = ∫ (x : α) in s, ↑↑f x ∂μ

Next tactic:
have h_left : Tendsto (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) atTop
      (𝓝 (∫ x in s, condexpL1Clm F' hm μ f x ∂μ)) := by
    have h := tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
      (L1.integrable_coeFn (condexpL1Clm F' hm μ f)).integrableOn
    rwa [← hs_eq] at h
/-- The integral of the conditional expectation `condexpL1Clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
    ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
  let S := spanningSets (μ.trim hm)
  have hS_meas : ∀ i, MeasurableSet[m] (S i) := measurable_spanningSets (μ.trim hm)
  have hS_meas0 : ∀ i, MeasurableSet (S i) := fun i => hm _ (hS_meas i)
  have hs_eq : s = ⋃ i, S i ∩ s := by
    simp_rw [Set.inter_comm]
    rw [← Set.inter_iUnion, iUnion_spanningSets (μ.trim hm), Set.inter_univ]
  have hS_finite : ∀ i, μ (S i ∩ s) < ∞ := by
    refine' fun i => (measure_mono (Set.inter_subset_left _ _)).trans_lt _
    have hS_finite_trim := measure_spanningSets_lt_top (μ.trim hm) i
    rwa [trim_measurableSet_eq hm (hS_meas i)] at hS_finite_trim
  have h_mono : Monotone fun i => S i ∩ s := by
    intro i j hij x
    simp_rw [Set.mem_inter_iff]
    exact fun h => ⟨monotone_spanningSets (μ.trim hm) hij h.1, h.2⟩
  have h_eq_forall :
    (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
    funext fun i =>
      set_integral_condexpL1Clm_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
        (hS_finite i).ne
  have h_right : Tendsto (fun i => ∫ x in S i ∩ s, f x ∂μ) atTop (𝓝 (∫ x in s, f x ∂μ)) := by
    have h :=
      tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
        (L1.integrable_coeFn f).integrableOn
    rwa [← hs_eq] at h
  have h_left : Tendsto (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) atTop
      (𝓝 (∫ x in s, condexpL1Clm F' hm μ f x ∂μ)) := by
    

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
hs : MeasurableSet s
S : ℕ → Set α := spanningSets (Measure.trim μ hm)
hS_meas : ∀ (i : ℕ), MeasurableSet (S i)
hS_meas0 : ∀ (i : ℕ), MeasurableSet (S i)
hs_eq : s = ⋃ i, S i ∩ s
hS_finite : ∀ (i : ℕ), ↑↑μ (S i ∩ s) < ⊤
h_mono : Monotone fun i => S i ∩ s
h_eq_forall :
  (fun i => ∫ (x : α) in S i ∩ s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ) = fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ
h_right : Tendsto (fun i => ∫ (x : α) in S i ∩ s, ↑↑f x ∂μ) atTop (𝓝 (∫ (x : α) in s, ↑↑f x ∂μ))
⊢ Tendsto (fun i => ∫ (x : α) in S i ∩ s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ) atTop
    (𝓝 (∫ (x : α) in s, ↑↑((condexpL1Clm F' hm μ) f) x ∂μ))

Next tactic:
have h := tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
      (L1.integrable_coeFn (condexpL1Clm F' hm μ f)).integrableOn
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  

Proof state:
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
⊢ AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ

Next tactic:
refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · 

Proof state:
case refine'_1
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
⊢ ∀ (c : F') {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    (fun f => AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ)
      ↑(simpleFunc.indicatorConst 1 hs (_ : ↑↑μ s ≠ ⊤) c)

Next tactic:
intro c s hs hμs
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    

Proof state:
case refine'_1
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s✝ : Set α
f : ↥(Lp F' 1)
c : F'
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
⊢ AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) ↑(simpleFunc.indicatorConst 1 hs (_ : ↑↑μ s ≠ ⊤) c))) μ

Next tactic:
rw [condexpL1Clm_indicatorConst hs hμs.ne c]
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    

Proof state:
case refine'_1
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s✝ : Set α
f : ↥(Lp F' 1)
c : F'
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
⊢ AEStronglyMeasurable' m (↑↑((condexpInd F' hm μ s) c)) μ

Next tactic:
exact aestronglyMeasurable'_condexpInd hs hμs.ne c
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    exact aestronglyMeasurable'_condexpInd hs hμs.ne c
  · 

Proof state:
case refine'_2
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
⊢ ∀ ⦃f g : α → F'⦄ (hf : Memℒp f 1) (hg : Memℒp g 1),
    Disjoint (Function.support f) (Function.support g) →
      (fun f => AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ) (Memℒp.toLp f hf) →
        (fun f => AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ) (Memℒp.toLp g hg) →
          (fun f => AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ) (Memℒp.toLp f hf + Memℒp.toLp g hg)

Next tactic:
intro f g hf hg _ hfm hgm
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    exact aestronglyMeasurable'_condexpInd hs hμs.ne c
  · intro f g hf hg _ hfm hgm
    

Proof state:
case refine'_2
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝¹ g✝ : α → F'
s : Set α
f✝ : ↥(Lp F' 1)
f g : α → F'
hf : Memℒp f 1
hg : Memℒp g 1
a✝ : Disjoint (Function.support f) (Function.support g)
hfm : AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp f hf))) μ
hgm : AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp g hg))) μ
⊢ AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp f hf + Memℒp.toLp g hg))) μ

Next tactic:
rw [(condexpL1Clm F' hm μ).map_add]
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    exact aestronglyMeasurable'_condexpInd hs hμs.ne c
  · intro f g hf hg _ hfm hgm
    rw [(condexpL1Clm F' hm μ).map_add]
    

Proof state:
case refine'_2
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝¹ g✝ : α → F'
s : Set α
f✝ : ↥(Lp F' 1)
f g : α → F'
hf : Memℒp f 1
hg : Memℒp g 1
a✝ : Disjoint (Function.support f) (Function.support g)
hfm : AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp f hf))) μ
hgm : AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp g hg))) μ
⊢ AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp f hf) + (condexpL1Clm F' hm μ) (Memℒp.toLp g hg))) μ

Next tactic:
refine' AEStronglyMeasurable'.congr _ (coeFn_add _ _).symm
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    exact aestronglyMeasurable'_condexpInd hs hμs.ne c
  · intro f g hf hg _ hfm hgm
    rw [(condexpL1Clm F' hm μ).map_add]
    refine' AEStronglyMeasurable'.congr _ (coeFn_add _ _).symm
    

Proof state:
case refine'_2
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝¹ g✝ : α → F'
s : Set α
f✝ : ↥(Lp F' 1)
f g : α → F'
hf : Memℒp f 1
hg : Memℒp g 1
a✝ : Disjoint (Function.support f) (Function.support g)
hfm : AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp f hf))) μ
hgm : AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp g hg))) μ
⊢ AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp f hf)) + ↑↑((condexpL1Clm F' hm μ) (Memℒp.toLp g hg)))
    μ

Next tactic:
exact AEStronglyMeasurable'.add hfm hgm
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    exact aestronglyMeasurable'_condexpInd hs hμs.ne c
  · intro f g hf hg _ hfm hgm
    rw [(condexpL1Clm F' hm μ).map_add]
    refine' AEStronglyMeasurable'.congr _ (coeFn_add _ _).symm
    exact AEStronglyMeasurable'.add hfm hgm
  · 

Proof state:
case refine'_3
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
⊢ IsClosed {f | (fun f => AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ) f}

Next tactic:
have : {f : Lp F' 1 μ | AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ} =
        condexpL1Clm F' hm μ ⁻¹' {f | AEStronglyMeasurable' m f μ} := rfl
theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
  refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
    (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
  · intro c s hs hμs
    rw [condexpL1Clm_indicatorConst hs hμs.ne c]
    exact aestronglyMeasurable'_condexpInd hs hμs.ne c
  · intro f g hf hg _ hfm hgm
    rw [(condexpL1Clm F' hm μ).map_add]
    refine' AEStronglyMeasurable'.congr _ (coeFn_add _ _).symm
    exact AEStronglyMeasurable'.add hfm hgm
  · have : {f : Lp F' 1 μ | AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ} =
        condexpL1Clm F' hm μ ⁻¹' {f | AEStronglyMeasurable' m f μ} := rfl
    

Proof state:
case refine'_3
α : Type u_1
β : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
inst✝⁶ : NormedSpace ℝ F'
inst✝⁵ : CompleteSpace F'
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedAddCommGroup G'
inst✝² : NormedSpace ℝ G'
inst✝¹ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
inst✝ : SigmaFinite (Measure.trim μ hm)
f✝ g : α → F'
s : Set α
f : ↥(Lp F' 1)
this :
  {f | AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ} =
    ⇑(condexpL1Clm F' hm μ) ⁻¹' {f | AEStronglyMeasurable' m (↑↑f) μ}
⊢ IsClosed {f | (fun f => AEStronglyMeasurable' m (↑↑((condexpL1Clm F' hm μ) f)) μ) f}

Next tactic:
rw [this]