[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝ : TopologicalSpace β
f g : α → β
hf : AEStronglyMeasurable' m f μ
hfg : f =ᵐ[μ] g
⊢ AEStronglyMeasurable' m g μ
[PROOFSTEP]
obtain ⟨f', hf'_meas, hff'⟩ := hf
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝ : TopologicalSpace β
f g : α → β
hfg : f =ᵐ[μ] g
f' : α → β
hf'_meas : StronglyMeasurable f'
hff' : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m g μ
[PROOFSTEP]
exact ⟨f', hf'_meas, hfg.symm.trans hff'⟩
[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝ : TopologicalSpace β
f g : α → β
m' : MeasurableSpace α
hf : AEStronglyMeasurable' m f μ
hm : m ≤ m'
⊢ AEStronglyMeasurable' m' f μ
[PROOFSTEP]
obtain ⟨f', hf'_meas, hff'⟩ := hf
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝ : TopologicalSpace β
f g : α → β
m' : MeasurableSpace α
hm : m ≤ m'
f' : α → β
hf'_meas : StronglyMeasurable f'
hff' : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m' f μ
[PROOFSTEP]
exact ⟨f', hf'_meas.mono hm, hff'⟩
[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f g : α → β
inst✝¹ : Add β
inst✝ : ContinuousAdd β
hf : AEStronglyMeasurable' m f μ
hg : AEStronglyMeasurable' m g μ
⊢ AEStronglyMeasurable' m (f + g) μ
[PROOFSTEP]
rcases hf with ⟨f', h_f'_meas, hff'⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f g : α → β
inst✝¹ : Add β
inst✝ : ContinuousAdd β
hg : AEStronglyMeasurable' m g μ
f' : α → β
h_f'_meas : StronglyMeasurable f'
hff' : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m (f + g) μ
[PROOFSTEP]
rcases hg with ⟨g', h_g'_meas, hgg'⟩
[GOAL]
case intro.intro.intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f g : α → β
inst✝¹ : Add β
inst✝ : ContinuousAdd β
f' : α → β
h_f'_meas : StronglyMeasurable f'
hff' : f =ᵐ[μ] f'
g' : α → β
h_g'_meas : StronglyMeasurable g'
hgg' : g =ᵐ[μ] g'
⊢ AEStronglyMeasurable' m (f + g) μ
[PROOFSTEP]
exact ⟨f' + g', h_f'_meas.add h_g'_meas, hff'.add hgg'⟩
[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f : α → β
hfm : AEStronglyMeasurable' m f μ
⊢ AEStronglyMeasurable' m (-f) μ
[PROOFSTEP]
rcases hfm with ⟨f', hf'_meas, hf_ae⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m (-f) μ
[PROOFSTEP]
refine' ⟨-f', hf'_meas.neg, hf_ae.mono fun x hx => _⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
x : α
hx : f x = f' x
⊢ (-f) x = (-f') x
[PROOFSTEP]
simp_rw [Pi.neg_apply]
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
x : α
hx : f x = f' x
⊢ -f x = -f' x
[PROOFSTEP]
rw [hx]
[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g✝ : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f g : α → β
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
⊢ AEStronglyMeasurable' m (f - g) μ
[PROOFSTEP]
rcases hfm with ⟨f', hf'_meas, hf_ae⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g✝ : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f g : α → β
hgm : AEStronglyMeasurable' m g μ
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m (f - g) μ
[PROOFSTEP]
rcases hgm with ⟨g', hg'_meas, hg_ae⟩
[GOAL]
case intro.intro.intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g✝ : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f g f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
g' : α → β
hg'_meas : StronglyMeasurable g'
hg_ae : g =ᵐ[μ] g'
⊢ AEStronglyMeasurable' m (f - g) μ
[PROOFSTEP]
refine' ⟨f' - g', hf'_meas.sub hg'_meas, hf_ae.mp (hg_ae.mono fun x hx1 hx2 => _)⟩
[GOAL]
case intro.intro.intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g✝ : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f g f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
g' : α → β
hg'_meas : StronglyMeasurable g'
hg_ae : g =ᵐ[μ] g'
x : α
hx1 : g x = g' x
hx2 : f x = f' x
⊢ (f - g) x = (f' - g') x
[PROOFSTEP]
simp_rw [Pi.sub_apply]
[GOAL]
case intro.intro.intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f✝ g✝ : α → β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f g f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
g' : α → β
hg'_meas : StronglyMeasurable g'
hg_ae : g =ᵐ[μ] g'
x : α
hx1 : g x = g' x
hx2 : f x = f' x
⊢ f x - g x = f' x - g' x
[PROOFSTEP]
rw [hx1, hx2]
[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f g : α → β
inst✝¹ : SMul 𝕜 β
inst✝ : ContinuousConstSMul 𝕜 β
c : 𝕜
hf : AEStronglyMeasurable' m f μ
⊢ AEStronglyMeasurable' m (c • f) μ
[PROOFSTEP]
rcases hf with ⟨f', h_f'_meas, hff'⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f g : α → β
inst✝¹ : SMul 𝕜 β
inst✝ : ContinuousConstSMul 𝕜 β
c : 𝕜
f' : α → β
h_f'_meas : StronglyMeasurable f'
hff' : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m (c • f) μ
[PROOFSTEP]
refine' ⟨c • f', h_f'_meas.const_smul c, _⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
f g : α → β
inst✝¹ : SMul 𝕜 β
inst✝ : ContinuousConstSMul 𝕜 β
c : 𝕜
f' : α → β
h_f'_meas : StronglyMeasurable f'
hff' : f =ᵐ[μ] f'
⊢ c • f =ᵐ[μ] c • f'
[PROOFSTEP]
exact EventuallyEq.fun_comp hff' fun x => c • x
[GOAL]
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
hfm : AEStronglyMeasurable' m f μ
c : β
⊢ AEStronglyMeasurable' m (fun x => inner c (f x)) μ
[PROOFSTEP]
rcases hfm with ⟨f', hf'_meas, hf_ae⟩
[GOAL]
case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
⊢ AEStronglyMeasurable' m (fun x => inner c (f x)) μ
[PROOFSTEP]
refine' ⟨fun x => (inner c (f' x) : 𝕜), (@stronglyMeasurable_const _ _ m _ c).inner hf'_meas, hf_ae.mono fun x hx => _⟩
[GOAL]
case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
x : α
hx : f x = f' x
⊢ (fun x => inner c (f x)) x = (fun x => inner c (f' x)) x
[PROOFSTEP]
dsimp only
[GOAL]
case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᵐ[μ] f'
x : α
hx : f x = f' x
⊢ inner c (f x) = inner c (f' x)
[PROOFSTEP]
rw [hx]
[GOAL]
α : Type u_1
β : Type u_2
𝕜 : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace β
f✝ g✝ : α → β
γ : Type u_4
inst✝ : TopologicalSpace γ
f : α → β
g : β → γ
hg : Continuous g
hf : AEStronglyMeasurable' m f μ
x : α
hx : f x = mk f hf x
⊢ (g ∘ f) x = (fun x => g (mk f hf x)) x
[PROOFSTEP]
rw [Function.comp_apply, hx]
[GOAL]
α : Type u_1
β : Type u_2
m m0 m0' : MeasurableSpace α
inst✝ : TopologicalSpace β
hm0 : m0 ≤ m0'
μ : Measure α
f : α → β
hf : AEStronglyMeasurable' m f (Measure.trim μ hm0)
⊢ AEStronglyMeasurable' m f μ
[PROOFSTEP]
obtain ⟨g, hg_meas, hfg⟩ := hf
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
m m0 m0' : MeasurableSpace α
inst✝ : TopologicalSpace β
hm0 : m0 ≤ m0'
μ : Measure α
f g : α → β
hg_meas : StronglyMeasurable g
hfg : f =ᵐ[Measure.trim μ hm0] g
⊢ AEStronglyMeasurable' m f μ
[PROOFSTEP]
exact ⟨g, hg_meas, ae_eq_of_ae_eq_trim hfg⟩
[GOAL]
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
⊢ AEStronglyMeasurable' m₂ f μ
[PROOFSTEP]
have h_ind_eq : s.indicator (hf.mk f) =ᵐ[μ] f :=
  by
  refine' Filter.EventuallyEq.trans _ (indicator_ae_eq_of_restrict_compl_ae_eq_zero (hm _ hs_m) hf_zero)
  filter_upwards [hf.ae_eq_mk] with x hx
  by_cases hxs : x ∈ s
  · simp [hxs, hx]
  · simp [hxs]
[GOAL]
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
⊢ Set.indicator s (mk f hf) =ᵐ[μ] f
[PROOFSTEP]
refine' Filter.EventuallyEq.trans _ (indicator_ae_eq_of_restrict_compl_ae_eq_zero (hm _ hs_m) hf_zero)
[GOAL]
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
⊢ Set.indicator s (mk f hf) =ᵐ[μ] Set.indicator s f
[PROOFSTEP]
filter_upwards [hf.ae_eq_mk] with x hx
[GOAL]
case h
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
x : α
hx : f x = mk f hf x
⊢ Set.indicator s (mk f hf) x = Set.indicator s f x
[PROOFSTEP]
by_cases hxs : x ∈ s
[GOAL]
case pos
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
x : α
hx : f x = mk f hf x
hxs : x ∈ s
⊢ Set.indicator s (mk f hf) x = Set.indicator s f x
[PROOFSTEP]
simp [hxs, hx]
[GOAL]
case neg
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
x : α
hx : f x = mk f hf x
hxs : ¬x ∈ s
⊢ Set.indicator s (mk f hf) x = Set.indicator s f x
[PROOFSTEP]
simp [hxs]
[GOAL]
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
h_ind_eq : Set.indicator s (mk f hf) =ᵐ[μ] f
⊢ AEStronglyMeasurable' m₂ f μ
[PROOFSTEP]
suffices : StronglyMeasurable[m₂] (s.indicator (hf.mk f))
[GOAL]
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
h_ind_eq : Set.indicator s (mk f hf) =ᵐ[μ] f
this : StronglyMeasurable (Set.indicator s (mk f hf))
⊢ AEStronglyMeasurable' m₂ f μ
case this
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
h_ind_eq : Set.indicator s (mk f hf) =ᵐ[μ] f
⊢ StronglyMeasurable (Set.indicator s (mk f hf))
[PROOFSTEP]
exact AEStronglyMeasurable'.congr this.aeStronglyMeasurable' h_ind_eq
[GOAL]
case this
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
h_ind_eq : Set.indicator s (mk f hf) =ᵐ[μ] f
⊢ StronglyMeasurable (Set.indicator s (mk f hf))
[PROOFSTEP]
have hf_ind : StronglyMeasurable[m] (s.indicator (hf.mk f)) := hf.stronglyMeasurable_mk.indicator hs_m
[GOAL]
case this
α : Type u_1
E : Type u_2
m m₂ m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : TopologicalSpace E
inst✝ : Zero E
hm : m ≤ m0
s : Set α
f : α → E
hs_m : MeasurableSet s
hs : ∀ (t : Set α), MeasurableSet (s ∩ t) → MeasurableSet (s ∩ t)
hf : AEStronglyMeasurable' m f μ
hf_zero : f =ᵐ[Measure.restrict μ sᶜ] 0
h_ind_eq : Set.indicator s (mk f hf) =ᵐ[μ] f
hf_ind : StronglyMeasurable (Set.indicator s (mk f hf))
⊢ StronglyMeasurable (Set.indicator s (mk f hf))
[PROOFSTEP]
exact hf_ind.stronglyMeasurable_of_measurableSpace_le_on hs_m hs fun x hxs => Set.indicator_of_not_mem hxs _
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f : { x // x ∈ Lp F p }
⊢ f ∈ lpMeasSubgroup F m p μ ↔ AEStronglyMeasurable' m (↑↑f) μ
[PROOFSTEP]
rw [← AddSubgroup.mem_carrier, lpMeasSubgroup, Set.mem_setOf_eq]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f : { x // x ∈ Lp F p }
⊢ f ∈ lpMeas F 𝕜 m p μ ↔ AEStronglyMeasurable' m (↑↑f) μ
[PROOFSTEP]
rw [← SetLike.mem_coe, ← Submodule.mem_carrier, lpMeas, Set.mem_setOf_eq]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
⊢ Memℒp (Exists.choose (_ : AEStronglyMeasurable' m (↑↑f) μ)) p
[PROOFSTEP]
have hf : AEStronglyMeasurable' m f μ := mem_lpMeasSubgroup_iff_aeStronglyMeasurable'.mp hf_meas
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
⊢ Memℒp (Exists.choose (_ : AEStronglyMeasurable' m (↑↑f) μ)) p
[PROOFSTEP]
let g := hf.choose
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
⊢ Memℒp (Exists.choose (_ : AEStronglyMeasurable' m (↑↑f) μ)) p
[PROOFSTEP]
obtain ⟨hg, hfg⟩ := hf.choose_spec
[GOAL]
case intro
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
⊢ Memℒp (Exists.choose (_ : AEStronglyMeasurable' m (↑↑f) μ)) p
[PROOFSTEP]
change Memℒp g p (μ.trim hm)
[GOAL]
case intro
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
⊢ Memℒp g p
[PROOFSTEP]
refine' ⟨hg.aestronglyMeasurable, _⟩
[GOAL]
case intro
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
⊢ snorm g p (Measure.trim μ hm) < ⊤
[PROOFSTEP]
have h_snorm_fg : snorm g p (μ.trim hm) = snorm f p μ :=
  by
  rw [snorm_trim hm hg]
  exact snorm_congr_ae hfg.symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
⊢ snorm g p (Measure.trim μ hm) = snorm (↑↑f) p μ
[PROOFSTEP]
rw [snorm_trim hm hg]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
⊢ snorm (Exists.choose hf) p μ = snorm (↑↑f) p μ
[PROOFSTEP]
exact snorm_congr_ae hfg.symm
[GOAL]
case intro
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
h_snorm_fg : snorm g p (Measure.trim μ hm) = snorm (↑↑f) p μ
⊢ snorm g p (Measure.trim μ hm) < ⊤
[PROOFSTEP]
rw [h_snorm_fg]
[GOAL]
case intro
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_meas : f ∈ lpMeasSubgroup F m p μ
hf : AEStronglyMeasurable' m (↑↑f) μ
g : α → F := Exists.choose hf
hg : StronglyMeasurable (Exists.choose hf)
hfg : ↑↑f =ᵐ[μ] Exists.choose hf
h_snorm_fg : snorm g p (Measure.trim μ hm) = snorm (↑↑f) p μ
⊢ snorm (↑↑f) p μ < ⊤
[PROOFSTEP]
exact Lp.snorm_lt_top f
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
⊢ Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) ∈ lpMeasSubgroup F m p μ
[PROOFSTEP]
let hf_mem_ℒp := memℒp_of_memℒp_trim hm (Lp.memℒp f)
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_mem_ℒp : Memℒp (↑↑f) p := memℒp_of_memℒp_trim hm (Lp.memℒp f)
⊢ Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) ∈ lpMeasSubgroup F m p μ
[PROOFSTEP]
rw [mem_lpMeasSubgroup_iff_aeStronglyMeasurable']
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_mem_ℒp : Memℒp (↑↑f) p := memℒp_of_memℒp_trim hm (Lp.memℒp f)
⊢ AEStronglyMeasurable' m (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p))) μ
[PROOFSTEP]
refine' AEStronglyMeasurable'.congr _ (Memℒp.coeFn_toLp hf_mem_ℒp).symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_mem_ℒp : Memℒp (↑↑f) p := memℒp_of_memℒp_trim hm (Lp.memℒp f)
⊢ AEStronglyMeasurable' m (↑↑f) μ
[PROOFSTEP]
refine' aeStronglyMeasurable'_of_aeStronglyMeasurable'_trim hm _
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
hf_mem_ℒp : Memℒp (↑↑f) p := memℒp_of_memℒp_trim hm (Lp.memℒp f)
⊢ AEStronglyMeasurable' m (↑↑f) (Measure.trim μ hm)
[PROOFSTEP]
exact Lp.aestronglyMeasurable f
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
⊢ Function.RightInverse (lpTrimToLpMeasSubgroup F p μ hm) (lpMeasSubgroupToLpTrim F p μ hm)
[PROOFSTEP]
intro f
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
⊢ lpMeasSubgroupToLpTrim F p μ hm (lpTrimToLpMeasSubgroup F p μ hm f) = f
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (lpTrimToLpMeasSubgroup F p μ hm f)) =ᵐ[Measure.trim μ hm] ↑↑f
[PROOFSTEP]
refine' ae_eq_trim_of_stronglyMeasurable hm (Lp.stronglyMeasurable _) (Lp.stronglyMeasurable _) _
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ Lp F p }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (lpTrimToLpMeasSubgroup F p μ hm f)) =ᵐ[μ] ↑↑f
[PROOFSTEP]
exact (lpMeasSubgroupToLpTrim_ae_eq hm _).trans (lpTrimToLpMeasSubgroup_ae_eq hm _)
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
⊢ Function.LeftInverse (lpTrimToLpMeasSubgroup F p μ hm) (lpMeasSubgroupToLpTrim F p μ hm)
[PROOFSTEP]
intro f
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ lpTrimToLpMeasSubgroup F p μ hm (lpMeasSubgroupToLpTrim F p μ hm f) = f
[PROOFSTEP]
ext1
[GOAL]
case a
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑(lpTrimToLpMeasSubgroup F p μ hm (lpMeasSubgroupToLpTrim F p μ hm f)) = ↑f
[PROOFSTEP]
ext1
[GOAL]
case a.h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑(lpTrimToLpMeasSubgroup F p μ hm (lpMeasSubgroupToLpTrim F p μ hm f)) =ᵐ[μ] ↑↑↑f
[PROOFSTEP]
rw [← lpMeasSubgroup_coe]
[GOAL]
case a.h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑(lpTrimToLpMeasSubgroup F p μ hm (lpMeasSubgroupToLpTrim F p μ hm f)) =ᵐ[μ] ↑↑↑f
[PROOFSTEP]
exact (lpTrimToLpMeasSubgroup_ae_eq hm _).trans (lpMeasSubgroupToLpTrim_ae_eq hm _)
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ lpMeasSubgroupToLpTrim F p μ hm (f + g) = lpMeasSubgroupToLpTrim F p μ hm f + lpMeasSubgroupToLpTrim F p μ hm g
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (f + g)) =ᵐ[Measure.trim μ hm]
    ↑↑(lpMeasSubgroupToLpTrim F p μ hm f + lpMeasSubgroupToLpTrim F p μ hm g)
[PROOFSTEP]
refine' EventuallyEq.trans _ (Lp.coeFn_add _ _).symm
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (f + g)) =ᵐ[Measure.trim μ hm]
    ↑↑(lpMeasSubgroupToLpTrim F p μ hm f) + ↑↑(lpMeasSubgroupToLpTrim F p μ hm g)
[PROOFSTEP]
refine' ae_eq_trim_of_stronglyMeasurable hm (Lp.stronglyMeasurable _) _ _
[GOAL]
case h.refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ StronglyMeasurable (↑↑(lpMeasSubgroupToLpTrim F p μ hm f) + ↑↑(lpMeasSubgroupToLpTrim F p μ hm g))
[PROOFSTEP]
exact (Lp.stronglyMeasurable _).add (Lp.stronglyMeasurable _)
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (f + g)) =ᵐ[μ]
    ↑↑(lpMeasSubgroupToLpTrim F p μ hm f) + ↑↑(lpMeasSubgroupToLpTrim F p μ hm g)
[PROOFSTEP]
refine' (lpMeasSubgroupToLpTrim_ae_eq hm _).trans _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑(f + g) =ᵐ[μ] ↑↑(lpMeasSubgroupToLpTrim F p μ hm f) + ↑↑(lpMeasSubgroupToLpTrim F p μ hm g)
[PROOFSTEP]
refine'
  EventuallyEq.trans _
    (EventuallyEq.add (lpMeasSubgroupToLpTrim_ae_eq hm f).symm (lpMeasSubgroupToLpTrim_ae_eq hm g).symm)
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑(f + g) =ᵐ[μ] fun x => ↑↑↑f x + ↑↑↑g x
[PROOFSTEP]
refine' (Lp.coeFn_add _ _).trans _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑f + ↑↑↑g =ᵐ[μ] fun x => ↑↑↑f x + ↑↑↑g x
[PROOFSTEP]
simp_rw [lpMeasSubgroup_coe]
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑f + ↑↑↑g =ᵐ[μ] fun x => ↑↑↑f x + ↑↑↑g x
[PROOFSTEP]
exact eventually_of_forall fun x => by rfl
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
x : α
⊢ (↑↑↑f + ↑↑↑g) x = (fun x => ↑↑↑f x + ↑↑↑g x) x
[PROOFSTEP]
rfl
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ lpMeasSubgroupToLpTrim F p μ hm (-f) = -lpMeasSubgroupToLpTrim F p μ hm f
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (-f)) =ᵐ[Measure.trim μ hm] ↑↑(-lpMeasSubgroupToLpTrim F p μ hm f)
[PROOFSTEP]
refine' EventuallyEq.trans _ (Lp.coeFn_neg _).symm
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (-f)) =ᵐ[Measure.trim μ hm] -↑↑(lpMeasSubgroupToLpTrim F p μ hm f)
[PROOFSTEP]
refine' ae_eq_trim_of_stronglyMeasurable hm (Lp.stronglyMeasurable _) _ _
[GOAL]
case h.refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ StronglyMeasurable (-↑↑(lpMeasSubgroupToLpTrim F p μ hm f))
[PROOFSTEP]
exact @StronglyMeasurable.neg _ _ _ m _ _ _ (Lp.stronglyMeasurable _)
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑(lpMeasSubgroupToLpTrim F p μ hm (-f)) =ᵐ[μ] -↑↑(lpMeasSubgroupToLpTrim F p μ hm f)
[PROOFSTEP]
refine' (lpMeasSubgroupToLpTrim_ae_eq hm _).trans _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑(-f) =ᵐ[μ] -↑↑(lpMeasSubgroupToLpTrim F p μ hm f)
[PROOFSTEP]
refine' EventuallyEq.trans _ (EventuallyEq.neg (lpMeasSubgroupToLpTrim_ae_eq hm f).symm)
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ↑↑↑(-f) =ᵐ[μ] fun x => -↑↑↑f x
[PROOFSTEP]
refine' (Lp.coeFn_neg _).trans _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ -↑↑↑f =ᵐ[μ] fun x => -↑↑↑f x
[PROOFSTEP]
simp_rw [lpMeasSubgroup_coe]
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ -↑↑↑f =ᵐ[μ] fun x => -↑↑↑f x
[PROOFSTEP]
exact eventually_of_forall fun x => by rfl
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
x : α
⊢ (-↑↑↑f) x = (fun x => -↑↑↑f x) x
[PROOFSTEP]
rfl
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ lpMeasSubgroupToLpTrim F p μ hm (f - g) = lpMeasSubgroupToLpTrim F p μ hm f - lpMeasSubgroupToLpTrim F p μ hm g
[PROOFSTEP]
rw [sub_eq_add_neg, sub_eq_add_neg, lpMeasSubgroupToLpTrim_add, lpMeasSubgroupToLpTrim_neg]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ lpMeasToLpTrim F 𝕜 p μ hm (c • f) = c • lpMeasToLpTrim F 𝕜 p μ hm f
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ ↑↑(lpMeasToLpTrim F 𝕜 p μ hm (c • f)) =ᵐ[Measure.trim μ hm] ↑↑(c • lpMeasToLpTrim F 𝕜 p μ hm f)
[PROOFSTEP]
refine' EventuallyEq.trans _ (Lp.coeFn_smul _ _).symm
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ ↑↑(lpMeasToLpTrim F 𝕜 p μ hm (c • f)) =ᵐ[Measure.trim μ hm] c • ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f)
[PROOFSTEP]
refine' ae_eq_trim_of_stronglyMeasurable hm (Lp.stronglyMeasurable _) _ _
[GOAL]
case h.refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ StronglyMeasurable (c • ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f))
[PROOFSTEP]
exact (Lp.stronglyMeasurable _).const_smul c
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ ↑↑(lpMeasToLpTrim F 𝕜 p μ hm (c • f)) =ᵐ[μ] c • ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f)
[PROOFSTEP]
refine' (lpMeasToLpTrim_ae_eq hm _).trans _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ ↑↑↑(c • f) =ᵐ[μ] c • ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f)
[PROOFSTEP]
refine' (Lp.coeFn_smul _ _).trans _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
⊢ c • ↑↑↑f =ᵐ[μ] c • ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f)
[PROOFSTEP]
refine' (lpMeasToLpTrim_ae_eq hm f).mono fun x hx => _
[GOAL]
case h.refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
c : 𝕜
f : { x // x ∈ lpMeas F 𝕜 m p μ }
x : α
hx : ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f) x = ↑↑↑f x
⊢ (c • ↑↑↑f) x = (c • ↑↑(lpMeasToLpTrim F 𝕜 p μ hm f)) x
[PROOFSTEP]
rw [Pi.smul_apply, Pi.smul_apply, hx]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ‖lpMeasSubgroupToLpTrim F p μ hm f‖ = ‖f‖
[PROOFSTEP]
rw [Lp.norm_def, snorm_trim hm (Lp.stronglyMeasurable _), snorm_congr_ae (lpMeasSubgroupToLpTrim_ae_eq hm _),
  lpMeasSubgroup_coe, ← Lp.norm_def]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
hm : m ≤ m0
f : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ ‖↑f‖ = ‖f‖
[PROOFSTEP]
congr
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : IsROrC 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
hm : m ≤ m0
f g : { x // x ∈ lpMeasSubgroup F m p μ }
⊢ dist (lpMeasSubgroupToLpTrim F p μ hm f) (lpMeasSubgroupToLpTrim F p μ hm g) = dist f g
[PROOFSTEP]
rw [dist_eq_norm, ← lpMeasSubgroupToLpTrim_sub, lpMeasSubgroupToLpTrim_norm_map, dist_eq_norm]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : Fact (m ≤ m0)
inst✝ : CompleteSpace F
hp : Fact (1 ≤ p)
⊢ CompleteSpace { x // x ∈ lpMeasSubgroup F m p μ }
[PROOFSTEP]
rw [(lpMeasSubgroupToLpTrimIso F p μ hm.elim).completeSpace_iff]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : Fact (m ≤ m0)
inst✝ : CompleteSpace F
hp : Fact (1 ≤ p)
⊢ CompleteSpace { x // x ∈ Lp F p }
[PROOFSTEP]
infer_instance
  -- For now just no-lint this; lean4's tree-based logging will make this easier to debug.
  -- One possible change might be to generalize `𝕜` from `IsROrC` to `NormedField`, as this
  -- result may well hold there.
  -- Porting note: removed @[nolint fails_quickly]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : Fact (m ≤ m0)
inst✝ : CompleteSpace F
hp : Fact (1 ≤ p)
⊢ CompleteSpace { x // x ∈ lpMeas F 𝕜 m p μ }
[PROOFSTEP]
rw [(lpMeasSubgroupToLpMeasIso F 𝕜 p μ).symm.completeSpace_iff]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hm : Fact (m ≤ m0)
inst✝ : CompleteSpace F
hp : Fact (1 ≤ p)
⊢ CompleteSpace { x // x ∈ lpMeasSubgroup F m p μ }
[PROOFSTEP]
infer_instance
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
inst✝ : CompleteSpace F
hm : m ≤ m0
⊢ IsComplete {f | AEStronglyMeasurable' m (↑↑f) μ}
[PROOFSTEP]
rw [← completeSpace_coe_iff_isComplete]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
inst✝ : CompleteSpace F
hm : m ≤ m0
⊢ CompleteSpace ↑{f | AEStronglyMeasurable' m (↑↑f) μ}
[PROOFSTEP]
haveI : Fact (m ≤ m0) := ⟨hm⟩
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
inst✝ : CompleteSpace F
hm : m ≤ m0
this : Fact (m ≤ m0)
⊢ CompleteSpace ↑{f | AEStronglyMeasurable' m (↑↑f) μ}
[PROOFSTEP]
change CompleteSpace (lpMeasSubgroup F m p μ)
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
ι : Type u_6
m m0 : MeasurableSpace α
μ : Measure α
hp : Fact (1 ≤ p)
inst✝ : CompleteSpace F
hm : m ≤ m0
this : Fact (m ≤ m0)
⊢ CompleteSpace { x // x ∈ lpMeasSubgroup F m p μ }
[PROOFSTEP]
infer_instance
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ✝ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
s : Set α
μ : Measure α
hs : MeasurableSet s
hμs : ↑↑(Measure.trim μ hm) s ≠ ⊤
c : F
⊢ ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (indicatorConstLp p hs hμs c)) =
    indicatorConstLp p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ✝ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
s : Set α
μ : Measure α
hs : MeasurableSet s
hμs : ↑↑(Measure.trim μ hm) s ≠ ⊤
c : F
⊢ ↑↑↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (indicatorConstLp p hs hμs c)) =ᵐ[μ]
    ↑↑(indicatorConstLp p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
rw [← lpMeas_coe]
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ✝ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
s : Set α
μ : Measure α
hs : MeasurableSet s
hμs : ↑↑(Measure.trim μ hm) s ≠ ⊤
c : F
⊢ ↑↑↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (indicatorConstLp p hs hμs c)) =ᵐ[μ]
    ↑↑(indicatorConstLp p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
change lpTrimToLpMeas F ℝ p μ hm (indicatorConstLp p hs hμs c) =ᵐ[μ] (indicatorConstLp p _ _ c : α → F)
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ✝ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
s : Set α
μ : Measure α
hs : MeasurableSet s
hμs : ↑↑(Measure.trim μ hm) s ≠ ⊤
c : F
⊢ ↑↑↑(lpTrimToLpMeas F ℝ p μ hm (indicatorConstLp p hs hμs c)) =ᵐ[μ]
    ↑↑(indicatorConstLp p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
refine' (lpTrimToLpMeas_ae_eq hm _).trans _
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ✝ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
s : Set α
μ : Measure α
hs : MeasurableSet s
hμs : ↑↑(Measure.trim μ hm) s ≠ ⊤
c : F
⊢ ↑↑(indicatorConstLp p hs hμs c) =ᵐ[μ] ↑↑(indicatorConstLp p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
exact (ae_eq_of_ae_eq_trim indicatorConstLp_coeFn).trans indicatorConstLp_coeFn.symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
f : α → F
hf : Memℒp f p
⊢ ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) = Memℒp.toLp f (_ : Memℒp f p)
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
f : α → F
hf : Memℒp f p
⊢ ↑↑↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) =ᵐ[μ]
    ↑↑(Memℒp.toLp f (_ : Memℒp f p))
[PROOFSTEP]
rw [← lpMeas_coe]
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
f : α → F
hf : Memℒp f p
⊢ ↑↑↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) =ᵐ[μ]
    ↑↑(Memℒp.toLp f (_ : Memℒp f p))
[PROOFSTEP]
refine' (lpTrimToLpMeas_ae_eq hm _).trans _
[GOAL]
case h
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹¹ : IsROrC 𝕜
inst✝¹⁰ : NormedAddCommGroup E'
inst✝⁹ : InnerProductSpace 𝕜 E'
inst✝⁸ : CompleteSpace E'
inst✝⁷ : NormedSpace ℝ E'
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
one_le_p : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
f : α → F
hf : Memℒp f p
⊢ ↑↑(Memℒp.toLp f hf) =ᵐ[μ] ↑↑(Memℒp.toLp f (_ : Memℒp f p))
[PROOFSTEP]
exact (ae_eq_of_ae_eq_trim (Memℒp.coeFn_toLp hf)).trans (Memℒp.coeFn_toLp _).symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
⊢ ∀ (f : { x // x ∈ Lp F p }), AEStronglyMeasurable' m (↑↑f) μ → P f
[PROOFSTEP]
intro f hf
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
⊢ P f
[PROOFSTEP]
let f' := (⟨f, hf⟩ : lpMeas F ℝ m p μ)
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
⊢ P f
[PROOFSTEP]
let g := lpMeasToLpTrimLie F ℝ p μ hm f'
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
⊢ P f
[PROOFSTEP]
have hfg : f' = (lpMeasToLpTrimLie F ℝ p μ hm).symm g := by simp only [LinearIsometryEquiv.symm_apply_apply]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
⊢ f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
[PROOFSTEP]
simp only [LinearIsometryEquiv.symm_apply_apply]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ P f
[PROOFSTEP]
change P ↑f'
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ P ↑f'
[PROOFSTEP]
rw [hfg]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g)
[PROOFSTEP]
refine' @Lp.induction α F m _ p (μ.trim hm) _ hp_ne_top (fun g => P ((lpMeasToLpTrimLie F ℝ p μ hm).symm g)) _ _ _ g
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑(Measure.trim μ hm) s < ⊤),
    (fun g => P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g))
      ↑(simpleFunc.indicatorConst p hs (_ : ↑↑(Measure.trim μ hm) s ≠ ⊤) c)
[PROOFSTEP]
intro b t ht hμt
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
b : F
t : Set α
ht : MeasurableSet t
hμt : ↑↑(Measure.trim μ hm) t < ⊤
⊢ P
    ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm))
        ↑(simpleFunc.indicatorConst p ht (_ : ↑↑(Measure.trim μ hm) t ≠ ⊤) b))
[PROOFSTEP]
rw [@Lp.simpleFunc.coe_indicatorConst _ _ m, lpMeasToLpTrimLie_symm_indicator ht hμt.ne b]
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
b : F
t : Set α
ht : MeasurableSet t
hμt : ↑↑(Measure.trim μ hm) t < ⊤
⊢ P (indicatorConstLp p (_ : MeasurableSet t) (_ : ↑↑μ t ≠ ⊤) b)
[PROOFSTEP]
have hμt' : μ t < ∞ := (le_trim hm).trans_lt hμt
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
b : F
t : Set α
ht : MeasurableSet t
hμt : ↑↑(Measure.trim μ hm) t < ⊤
hμt' : ↑↑μ t < ⊤
⊢ P (indicatorConstLp p (_ : MeasurableSet t) (_ : ↑↑μ t ≠ ⊤) b)
[PROOFSTEP]
specialize h_ind b ht hμt'
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
b : F
t : Set α
ht : MeasurableSet t
hμt : ↑↑(Measure.trim μ hm) t < ⊤
hμt' : ↑↑μ t < ⊤
h_ind : P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet t) (_ : ↑↑μ t ≠ ⊤) b)
⊢ P (indicatorConstLp p (_ : MeasurableSet t) (_ : ↑↑μ t ≠ ⊤) b)
[PROOFSTEP]
rwa [Lp.simpleFunc.coe_indicatorConst] at h_ind
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    Disjoint (Function.support f) (Function.support g) →
      (fun g => P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g)) (Memℒp.toLp f hf) →
        (fun g => P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g)) (Memℒp.toLp g hg) →
          (fun g => P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g))
            (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
intro f g hf hg h_disj hfP hgP
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f✝, property := hf✝ }
g✝ : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g✝
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf))
hgP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg))
⊢ P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf + Memℒp.toLp g hg))
[PROOFSTEP]
rw [LinearIsometryEquiv.map_add]
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f✝, property := hf✝ }
g✝ : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g✝
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf))
hgP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg))
⊢ P
    ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf) +
        ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg))
[PROOFSTEP]
push_cast
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f✝, property := hf✝ }
g✝ : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g✝
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf))
hgP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg))
⊢ P
    (↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) +
      ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg)))
[PROOFSTEP]
have h_eq :
  ∀ (f : α → F) (hf : Memℒp f p (μ.trim hm)),
    ((lpMeasToLpTrimLie F ℝ p μ hm).symm (Memℒp.toLp f hf) : Lp F p μ) = (memℒp_of_memℒp_trim hm hf).toLp f :=
  lpMeasToLpTrimLie_symm_toLp hm
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f✝, property := hf✝ }
g✝ : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g✝
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf))
hgP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg))
h_eq :
  ∀ (f : α → F) (hf : Memℒp f p),
    ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) = Memℒp.toLp f (_ : Memℒp f p)
⊢ P
    (↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) +
      ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg)))
[PROOFSTEP]
rw [h_eq f hf] at hfP ⊢
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f✝, property := hf✝ }
g✝ : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g✝
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P (Memℒp.toLp f (_ : Memℒp f p))
hgP : P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg))
h_eq :
  ∀ (f : α → F) (hf : Memℒp f p),
    ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) = Memℒp.toLp f (_ : Memℒp f p)
⊢ P (Memℒp.toLp f (_ : Memℒp f p) + ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp g hg)))
[PROOFSTEP]
rw [h_eq g hg] at hgP ⊢
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f✝, property := hf✝ }
g✝ : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g✝
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P (Memℒp.toLp f (_ : Memℒp f p))
hgP : P (Memℒp.toLp g (_ : Memℒp g p))
h_eq :
  ∀ (f : α → F) (hf : Memℒp f p),
    ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) (Memℒp.toLp f hf)) = Memℒp.toLp f (_ : Memℒp f p)
⊢ P (Memℒp.toLp f (_ : Memℒp f p) + Memℒp.toLp g (_ : Memℒp g p))
[PROOFSTEP]
exact
  h_add (memℒp_of_memℒp_trim hm hf) (memℒp_of_memℒp_trim hm hg)
    (aeStronglyMeasurable'_of_aeStronglyMeasurable'_trim hm hf.aestronglyMeasurable)
    (aeStronglyMeasurable'_of_aeStronglyMeasurable'_trim hm hg.aestronglyMeasurable) h_disj hfP hgP
[GOAL]
case refine'_3
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ IsClosed {f | (fun g => P ↑(↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g)) f}
[PROOFSTEP]
change IsClosed ((lpMeasToLpTrimLie F ℝ p μ hm).symm ⁻¹' {g : lpMeas F ℝ m p μ | P ↑g})
[GOAL]
case refine'_3
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
f' : { x // x ∈ lpMeas F ℝ m p μ } := { val := f, property := hf }
g : { x // x ∈ Lp F p } := ↑(lpMeasToLpTrimLie F ℝ p μ hm) f'
hfg : f' = ↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) g
⊢ IsClosed (↑(LinearIsometryEquiv.symm (lpMeasToLpTrimLie F ℝ p μ hm)) ⁻¹' {g | P ↑g})
[PROOFSTEP]
exact IsClosed.preimage (LinearIsometryEquiv.continuous _) h_closed
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
⊢ ∀ (f : { x // x ∈ Lp F p }), AEStronglyMeasurable' m (↑↑f) μ → P f
[PROOFSTEP]
intro f hf
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
⊢ P f
[PROOFSTEP]
suffices h_add_ae :
  ∀ ⦃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)
                      -- Porting note: `P` should be an explicit argument to `Lp.induction_stronglyMeasurable_aux`, but
                        -- it isn't?
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
h_add_ae :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
⊢ P f
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
⊢ ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
exact Lp.induction_stronglyMeasurable_aux hm hp_ne_top h_ind h_add_ae h_closed f hf
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f : { x // x ∈ Lp F p }
hf : AEStronglyMeasurable' m (↑↑f) μ
⊢ ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    AEStronglyMeasurable' m f μ →
      AEStronglyMeasurable' m g μ →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
intro f g hf hg hfm hgm h_disj hPf hPg
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
let s_f : Set α := Function.support (hfm.mk f)
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hs_f : MeasurableSet[m] s_f := hfm.stronglyMeasurable_mk.measurableSet_support
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hs_f_eq : s_f =ᵐ[μ] Function.support f := hfm.ae_eq_mk.symm.support
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
let s_g : Set α := Function.support (hgm.mk g)
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hs_g : MeasurableSet[m] s_g := hgm.stronglyMeasurable_mk.measurableSet_support
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hs_g_eq : s_g =ᵐ[μ] Function.support g := hgm.ae_eq_mk.symm.support
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have h_inter_empty : (s_f ∩ s_g : Set α) =ᵐ[μ] (∅ : Set α) :=
  by
  refine' (hs_f_eq.inter hs_g_eq).trans _
  suffices Function.support f ∩ Function.support g = ∅ by rw [this]
  exact Set.disjoint_iff_inter_eq_empty.mp h_disj
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
⊢ s_f ∩ s_g =ᵐ[μ] ∅
[PROOFSTEP]
refine' (hs_f_eq.inter hs_g_eq).trans _
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
⊢ Function.support f ∩ Function.support g =ᵐ[μ] ∅
[PROOFSTEP]
suffices Function.support f ∩ Function.support g = ∅ by rw [this]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
this : Function.support f ∩ Function.support g = ∅
⊢ Function.support f ∩ Function.support g =ᵐ[μ] ∅
[PROOFSTEP]
rw [this]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
⊢ Function.support f ∩ Function.support g = ∅
[PROOFSTEP]
exact Set.disjoint_iff_inter_eq_empty.mp h_disj
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
let f' := (s_f \ s_g).indicator (hfm.mk f)
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hff' : f =ᵐ[μ] f' :=
  by
  have : s_f \ s_g =ᵐ[μ] s_f := by
    rw [← Set.diff_inter_self_eq_diff, Set.inter_comm]
    refine' ((ae_eq_refl s_f).diff h_inter_empty).trans _
    rw [Set.diff_empty]
  refine' ((indicator_ae_eq_of_ae_eq_set this).trans _).symm
  rw [Set.indicator_support]
  exact hfm.ae_eq_mk.symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
⊢ f =ᵐ[μ] f'
[PROOFSTEP]
have : s_f \ s_g =ᵐ[μ] s_f := by
  rw [← Set.diff_inter_self_eq_diff, Set.inter_comm]
  refine' ((ae_eq_refl s_f).diff h_inter_empty).trans _
  rw [Set.diff_empty]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
⊢ s_f \ s_g =ᵐ[μ] s_f
[PROOFSTEP]
rw [← Set.diff_inter_self_eq_diff, Set.inter_comm]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
⊢ s_f \ (s_f ∩ s_g) =ᵐ[μ] s_f
[PROOFSTEP]
refine' ((ae_eq_refl s_f).diff h_inter_empty).trans _
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
⊢ s_f \ ∅ =ᵐ[μ] s_f
[PROOFSTEP]
rw [Set.diff_empty]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
this : s_f \ s_g =ᵐ[μ] s_f
⊢ f =ᵐ[μ] f'
[PROOFSTEP]
refine' ((indicator_ae_eq_of_ae_eq_set this).trans _).symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
this : s_f \ s_g =ᵐ[μ] s_f
⊢ Set.indicator s_f (AEStronglyMeasurable'.mk f hfm) =ᵐ[μ] f
[PROOFSTEP]
rw [Set.indicator_support]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
this : s_f \ s_g =ᵐ[μ] s_f
⊢ AEStronglyMeasurable'.mk f hfm =ᵐ[μ] f
[PROOFSTEP]
exact hfm.ae_eq_mk.symm
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hf'_meas : StronglyMeasurable[m] f' := hfm.stronglyMeasurable_mk.indicator (hs_f.diff hs_g)
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hf'_Lp : Memℒp f' p μ := hf.ae_eq hff'
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
let g' := (s_g \ s_f).indicator (hgm.mk g)
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hgg' : g =ᵐ[μ] g' :=
  by
  have : s_g \ s_f =ᵐ[μ] s_g := by
    rw [← Set.diff_inter_self_eq_diff]
    refine' ((ae_eq_refl s_g).diff h_inter_empty).trans _
    rw [Set.diff_empty]
  refine' ((indicator_ae_eq_of_ae_eq_set this).trans _).symm
  rw [Set.indicator_support]
  exact hgm.ae_eq_mk.symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
⊢ g =ᵐ[μ] g'
[PROOFSTEP]
have : s_g \ s_f =ᵐ[μ] s_g := by
  rw [← Set.diff_inter_self_eq_diff]
  refine' ((ae_eq_refl s_g).diff h_inter_empty).trans _
  rw [Set.diff_empty]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
⊢ s_g \ s_f =ᵐ[μ] s_g
[PROOFSTEP]
rw [← Set.diff_inter_self_eq_diff]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
⊢ s_g \ (s_f ∩ s_g) =ᵐ[μ] s_g
[PROOFSTEP]
refine' ((ae_eq_refl s_g).diff h_inter_empty).trans _
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
⊢ s_g \ ∅ =ᵐ[μ] s_g
[PROOFSTEP]
rw [Set.diff_empty]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
this : s_g \ s_f =ᵐ[μ] s_g
⊢ g =ᵐ[μ] g'
[PROOFSTEP]
refine' ((indicator_ae_eq_of_ae_eq_set this).trans _).symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
this : s_g \ s_f =ᵐ[μ] s_g
⊢ Set.indicator s_g (AEStronglyMeasurable'.mk g hgm) =ᵐ[μ] g
[PROOFSTEP]
rw [Set.indicator_support]
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
this : s_g \ s_f =ᵐ[μ] s_g
⊢ AEStronglyMeasurable'.mk g hgm =ᵐ[μ] g
[PROOFSTEP]
exact hgm.ae_eq_mk.symm
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
hgg' : g =ᵐ[μ] g'
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hg'_meas : StronglyMeasurable[m] g' := hgm.stronglyMeasurable_mk.indicator (hs_g.diff hs_f)
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
hgg' : g =ᵐ[μ] g'
hg'_meas : StronglyMeasurable g'
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have hg'_Lp : Memℒp g' p μ := hg.ae_eq hgg'
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
hgg' : g =ᵐ[μ] g'
hg'_meas : StronglyMeasurable g'
hg'_Lp : Memℒp g' p
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
have h_disj : Disjoint (Function.support f') (Function.support g') :=
  haveI : Disjoint (s_f \ s_g) (s_g \ s_f) := disjoint_sdiff_sdiff
  this.mono Set.support_indicator_subset Set.support_indicator_subset
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj✝ : Disjoint (Function.support f) (Function.support g)
hPf : P (Memℒp.toLp f hf)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
hgg' : g =ᵐ[μ] g'
hg'_meas : StronglyMeasurable g'
hg'_Lp : Memℒp g' p
h_disj : Disjoint (Function.support f') (Function.support g')
⊢ P (Memℒp.toLp f hf + Memℒp.toLp g hg)
[PROOFSTEP]
rw [← Memℒp.toLp_congr hf'_Lp hf hff'.symm] at hPf ⊢
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj✝ : Disjoint (Function.support f) (Function.support g)
hPg : P (Memℒp.toLp g hg)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
hPf : P (Memℒp.toLp f' hf'_Lp)
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
hgg' : g =ᵐ[μ] g'
hg'_meas : StronglyMeasurable g'
hg'_Lp : Memℒp g' p
h_disj : Disjoint (Function.support f') (Function.support g')
⊢ P (Memℒp.toLp f' hf'_Lp + Memℒp.toLp g hg)
[PROOFSTEP]
rw [← Memℒp.toLp_congr hg'_Lp hg hgg'.symm] at hPg ⊢
[GOAL]
case h_add_ae
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : { x // x ∈ Lp F p } → Prop
h_ind :
  ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    P ↑(simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
h_add :
  ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          P (Memℒp.toLp f hf) → P (Memℒp.toLp g hg) → P (Memℒp.toLp f hf + Memℒp.toLp g hg)
h_closed : IsClosed {f | P ↑f}
f✝ : { x // x ∈ Lp F p }
hf✝ : AEStronglyMeasurable' m (↑↑f✝) μ
f g : α → F
hf : Memℒp f p
hg : Memℒp g p
hfm : AEStronglyMeasurable' m f μ
hgm : AEStronglyMeasurable' m g μ
h_disj✝ : Disjoint (Function.support f) (Function.support g)
s_f : Set α := Function.support (AEStronglyMeasurable'.mk f hfm)
hs_f : MeasurableSet s_f
hs_f_eq : s_f =ᵐ[μ] Function.support f
s_g : Set α := Function.support (AEStronglyMeasurable'.mk g hgm)
hs_g : MeasurableSet s_g
hs_g_eq : s_g =ᵐ[μ] Function.support g
h_inter_empty : s_f ∩ s_g =ᵐ[μ] ∅
f' : α → F := Set.indicator (s_f \ s_g) (AEStronglyMeasurable'.mk f hfm)
hff' : f =ᵐ[μ] f'
hf'_meas : StronglyMeasurable f'
hf'_Lp : Memℒp f' p
hPf : P (Memℒp.toLp f' hf'_Lp)
g' : α → F := Set.indicator (s_g \ s_f) (AEStronglyMeasurable'.mk g hgm)
hgg' : g =ᵐ[μ] g'
hg'_meas : StronglyMeasurable g'
hg'_Lp : Memℒp g' p
hPg : P (Memℒp.toLp g' hg'_Lp)
h_disj : Disjoint (Function.support f') (Function.support g')
⊢ P (Memℒp.toLp f' hf'_Lp + Memℒp.toLp g' hg'_Lp)
[PROOFSTEP]
exact h_add hf'_Lp hg'_Lp hf'_meas hg'_meas h_disj hPf hPg
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
⊢ ∀ ⦃f : α → F⦄, Memℒp f p → AEStronglyMeasurable' m f μ → P f
[PROOFSTEP]
intro f hf hfm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
⊢ P f
[PROOFSTEP]
let f_Lp := hf.toLp f
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
⊢ P f
[PROOFSTEP]
have hfm_Lp : AEStronglyMeasurable' m f_Lp μ := hfm.congr hf.coeFn_toLp.symm
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
⊢ P f
[PROOFSTEP]
refine' h_ae hf.coeFn_toLp (Lp.memℒp _) _
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
⊢ P ↑↑(toLp f hf)
[PROOFSTEP]
change P f_Lp
[GOAL]
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
⊢ P ↑↑f_Lp
[PROOFSTEP]
refine' Lp.induction_stronglyMeasurable hm hp_ne_top (P := fun f => P f) _ _ h_closed f_Lp hfm_Lp
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
⊢ ∀ (c : F) {s : Set α} (hs : MeasurableSet s) (hμs : ↑↑μ s < ⊤),
    (fun f => P ↑↑f) ↑(Lp.simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
intro c s hs hμs
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
c : F
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
⊢ P ↑↑↑(Lp.simpleFunc.indicatorConst p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
rw [Lp.simpleFunc.coe_indicatorConst]
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
c : F
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
⊢ P ↑↑(indicatorConstLp p (_ : MeasurableSet s) (_ : ↑↑μ s ≠ ⊤) c)
[PROOFSTEP]
refine' h_ae indicatorConstLp_coeFn.symm _ (h_ind c hs hμs)
[GOAL]
case refine'_1
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
c : F
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
⊢ Memℒp (Set.indicator s fun x => c) p
[PROOFSTEP]
exact memℒp_indicator_const p (hm s hs) c (Or.inr hμs.ne)
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f : α → F
hf : Memℒp f p
hfm : AEStronglyMeasurable' m f μ
f_Lp : { x // x ∈ Lp F p } := toLp f hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
⊢ ∀ ⦃f g : α → F⦄ (hf : Memℒp f p) (hg : Memℒp g p),
    StronglyMeasurable f →
      StronglyMeasurable g →
        Disjoint (Function.support f) (Function.support g) →
          (fun f => P ↑↑f) (toLp f hf) → (fun f => P ↑↑f) (toLp g hg) → (fun f => P ↑↑f) (toLp f hf + toLp g hg)
[PROOFSTEP]
intro f g hf_mem hg_mem hfm hgm h_disj hfP hgP
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f✝ : α → F
hf : Memℒp f✝ p
hfm✝ : AEStronglyMeasurable' m f✝ μ
f_Lp : { x // x ∈ Lp F p } := toLp f✝ hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
f g : α → F
hf_mem : Memℒp f p
hg_mem : Memℒp g p
hfm : StronglyMeasurable f
hgm : StronglyMeasurable g
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑↑(toLp f hf_mem)
hgP : P ↑↑(toLp g hg_mem)
⊢ P ↑↑(toLp f hf_mem + toLp g hg_mem)
[PROOFSTEP]
have hfP' : P f := h_ae hf_mem.coeFn_toLp (Lp.memℒp _) hfP
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f✝ : α → F
hf : Memℒp f✝ p
hfm✝ : AEStronglyMeasurable' m f✝ μ
f_Lp : { x // x ∈ Lp F p } := toLp f✝ hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
f g : α → F
hf_mem : Memℒp f p
hg_mem : Memℒp g p
hfm : StronglyMeasurable f
hgm : StronglyMeasurable g
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑↑(toLp f hf_mem)
hgP : P ↑↑(toLp g hg_mem)
hfP' : P f
⊢ P ↑↑(toLp f hf_mem + toLp g hg_mem)
[PROOFSTEP]
have hgP' : P g := h_ae hg_mem.coeFn_toLp (Lp.memℒp _) hgP
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_add :
  ∀ ⦃f g : α → F⦄,
    Disjoint (Function.support f) (Function.support g) →
      Memℒp f p → Memℒp g p → StronglyMeasurable f → StronglyMeasurable g → P f → P g → P (f + g)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f✝ : α → F
hf : Memℒp f✝ p
hfm✝ : AEStronglyMeasurable' m f✝ μ
f_Lp : { x // x ∈ Lp F p } := toLp f✝ hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
f g : α → F
hf_mem : Memℒp f p
hg_mem : Memℒp g p
hfm : StronglyMeasurable f
hgm : StronglyMeasurable g
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑↑(toLp f hf_mem)
hgP : P ↑↑(toLp g hg_mem)
hfP' : P f
hgP' : P g
⊢ P ↑↑(toLp f hf_mem + toLp g hg_mem)
[PROOFSTEP]
specialize h_add h_disj hf_mem hg_mem hfm hgm hfP' hgP'
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f✝ : α → F
hf : Memℒp f✝ p
hfm✝ : AEStronglyMeasurable' m f✝ μ
f_Lp : { x // x ∈ Lp F p } := toLp f✝ hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
f g : α → F
hf_mem : Memℒp f p
hg_mem : Memℒp g p
hfm : StronglyMeasurable f
hgm : StronglyMeasurable g
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑↑(toLp f hf_mem)
hgP : P ↑↑(toLp g hg_mem)
hfP' : P f
hgP' : P g
h_add : P (f + g)
⊢ P ↑↑(toLp f hf_mem + toLp g hg_mem)
[PROOFSTEP]
refine' h_ae _ (hf_mem.add hg_mem) h_add
[GOAL]
case refine'_2
α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹² : IsROrC 𝕜
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : InnerProductSpace 𝕜 E'
inst✝⁹ : CompleteSpace E'
inst✝⁸ : NormedSpace ℝ E'
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : NormedSpace 𝕜 F'
inst✝³ : NormedSpace ℝ F'
inst✝² : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
inst✝¹ : Fact (1 ≤ p)
inst✝ : NormedSpace ℝ F
hm : m ≤ m0
hp_ne_top : p ≠ ⊤
P : (α → F) → Prop
h_ind : ∀ (c : F) ⦃s : Set α⦄, MeasurableSet s → ↑↑μ s < ⊤ → P (Set.indicator s fun x => c)
h_closed : IsClosed {f | P ↑↑↑f}
h_ae : ∀ ⦃f g : α → F⦄, f =ᵐ[μ] g → Memℒp f p → P f → P g
f✝ : α → F
hf : Memℒp f✝ p
hfm✝ : AEStronglyMeasurable' m f✝ μ
f_Lp : { x // x ∈ Lp F p } := toLp f✝ hf
hfm_Lp : AEStronglyMeasurable' m (↑↑f_Lp) μ
f g : α → F
hf_mem : Memℒp f p
hg_mem : Memℒp g p
hfm : StronglyMeasurable f
hgm : StronglyMeasurable g
h_disj : Disjoint (Function.support f) (Function.support g)
hfP : P ↑↑(toLp f hf_mem)
hgP : P ↑↑(toLp g hg_mem)
hfP' : P f
hgP' : P g
h_add : P (f + g)
⊢ f + g =ᵐ[μ] ↑↑(toLp f hf_mem + toLp g hg_mem)
[PROOFSTEP]
exact (hf_mem.coeFn_toLp.symm.add hg_mem.coeFn_toLp.symm).trans (Lp.coeFn_add _ _).symm