[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hst : s =ᵐ[μ] t
⊢ ∫ (x : α) in s, f x ∂μ = ∫ (x : α) in t, f x ∂μ
[PROOFSTEP]
rw [Measure.restrict_congr_set hst]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hst : AEDisjoint μ s t
ht : NullMeasurableSet t
hfs : IntegrableOn f s
hft : IntegrableOn f t
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ + ∫ (x : α) in t, f x ∂μ
[PROOFSTEP]
simp only [IntegrableOn, Measure.restrict_union₀ hst ht, integral_add_measure hfs hft]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : MeasurableSet t
hfs : IntegrableOn f s
hts : t ⊆ s
⊢ ∫ (x : α) in s \ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ - ∫ (x : α) in t, f x ∂μ
[PROOFSTEP]
rw [eq_sub_iff_add_eq, ← integral_union, diff_union_of_subset hts]
[GOAL]
case hst
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : MeasurableSet t
hfs : IntegrableOn f s
hts : t ⊆ s
⊢ Disjoint (s \ t) t
case ht
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : MeasurableSet t
hfs : IntegrableOn f s
hts : t ⊆ s
⊢ MeasurableSet t
case hfs
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : MeasurableSet t
hfs : IntegrableOn f s
hts : t ⊆ s
⊢ IntegrableOn (fun x => f x) (s \ t)
case hft
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : MeasurableSet t
hfs : IntegrableOn f s
hts : t ⊆ s
⊢ IntegrableOn (fun x => f x) t
[PROOFSTEP]
exacts [disjoint_sdiff_self_left, ht, hfs.mono_set (diff_subset _ _), hfs.mono_set hts]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hfs : IntegrableOn f s
⊢ ∫ (x : α) in s ∩ t, f x ∂μ + ∫ (x : α) in s \ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [← Measure.restrict_inter_add_diff₀ s ht, integral_add_measure]
[GOAL]
case hμ
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hfs : IntegrableOn f s
⊢ Integrable fun x => f x
[PROOFSTEP]
exact Integrable.mono_measure hfs (Measure.restrict_mono (inter_subset_left _ _) le_rfl)
[GOAL]
case hν
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hfs : IntegrableOn f s
⊢ Integrable fun x => f x
[PROOFSTEP]
exact Integrable.mono_measure hfs (Measure.restrict_mono (diff_subset _ _) le_rfl)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t : Finset ι
s : ι → Set α
hs : ∀ (i : ι), i ∈ t → MeasurableSet (s i)
h's : Set.Pairwise (↑t) (Disjoint on s)
hf : ∀ (i : ι), i ∈ t → IntegrableOn f (s i)
⊢ ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
[PROOFSTEP]
induction' t using Finset.induction_on with a t hat IH hs h's
[GOAL]
case empty
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t → IntegrableOn f (s i)
hs : ∀ (i : ι), i ∈ ∅ → MeasurableSet (s i)
h's : Set.Pairwise (↑∅) (Disjoint on s)
hf : ∀ (i : ι), i ∈ ∅ → IntegrableOn f (s i)
⊢ ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ ∅), s i, f x ∂μ = ∑ i in ∅, ∫ (x : α) in s i, f x ∂μ
[PROOFSTEP]
simp
[GOAL]
case insert
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : ∀ (i : ι), i ∈ insert a t → MeasurableSet (s i)
h's : Set.Pairwise (↑(insert a t)) (Disjoint on s)
hf : ∀ (i : ι), i ∈ insert a t → IntegrableOn f (s i)
⊢ ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ insert a t), s i, f x ∂μ = ∑ i in insert a t, ∫ (x : α) in s i, f x ∂μ
[PROOFSTEP]
simp only [Finset.coe_insert, Finset.forall_mem_insert, Set.pairwise_insert, Finset.set_biUnion_insert] at hs hf h's ⊢
[GOAL]
case insert
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ ∫ (x : α) in s a ∪ ⋃ (x : ι) (_ : x ∈ t), s x, f x ∂μ = ∑ i in insert a t, ∫ (x : α) in s i, f x ∂μ
[PROOFSTEP]
rw [integral_union _ _ hf.1 (integrableOn_finset_iUnion.2 hf.2)]
[GOAL]
case insert
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ ∫ (x : α) in s a, f x ∂μ + ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ =
    ∑ i in insert a t, ∫ (x : α) in s i, f x ∂μ
[PROOFSTEP]
rw [Finset.sum_insert hat, IH hs.2 h's.1 hf.2]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ Disjoint (s a) (⋃ (i : ι) (_ : i ∈ t), s i)
[PROOFSTEP]
simp only [disjoint_iUnion_right]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ ∀ (i : ι), i ∈ t → Disjoint (s a) (s i)
[PROOFSTEP]
exact fun i hi => (h's.2 i hi (ne_of_mem_of_not_mem hi hat).symm).1
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ι : Type u_5
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ MeasurableSet (⋃ (i : ι) (_ : i ∈ t), s i)
[PROOFSTEP]
exact Finset.measurableSet_biUnion _ hs.2
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
ι : Type u_5
inst✝ : Fintype ι
s : ι → Set α
hs : ∀ (i : ι), MeasurableSet (s i)
h's : Pairwise (Disjoint on s)
hf : ∀ (i : ι), IntegrableOn f (s i)
⊢ ∫ (x : α) in ⋃ (i : ι), s i, f x ∂μ = ∑ i : ι, ∫ (x : α) in s i, f x ∂μ
[PROOFSTEP]
convert integral_finset_biUnion Finset.univ (fun i _ => hs i) _ fun i _ => hf i
[GOAL]
case h.e'_2.h.e'_6.h.e'_4.h.e'_3.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
ι : Type u_5
inst✝ : Fintype ι
s : ι → Set α
hs : ∀ (i : ι), MeasurableSet (s i)
h's : Pairwise (Disjoint on s)
hf : ∀ (i : ι), IntegrableOn f (s i)
x✝ : ι
⊢ s x✝ = ⋃ (_ : x✝ ∈ Finset.univ), s x✝
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
ι : Type u_5
inst✝ : Fintype ι
s : ι → Set α
hs : ∀ (i : ι), MeasurableSet (s i)
h's : Pairwise (Disjoint on s)
hf : ∀ (i : ι), IntegrableOn f (s i)
⊢ Set.Pairwise (↑Finset.univ) (Disjoint on fun i => s i)
[PROOFSTEP]
simp [pairwise_univ, h's]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
⊢ ∫ (x : α) in ∅, f x ∂μ = 0
[PROOFSTEP]
rw [Measure.restrict_empty, integral_zero_measure]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
⊢ ∫ (x : α) in univ, f x ∂μ = ∫ (x : α), f x ∂μ
[PROOFSTEP]
rw [Measure.restrict_univ]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : NullMeasurableSet s
hfi : Integrable f
⊢ ∫ (x : α) in s, f x ∂μ + ∫ (x : α) in sᶜ, f x ∂μ = ∫ (x : α), f x ∂μ
[PROOFSTEP]
rw [← integral_union_ae (@disjoint_compl_right (Set α) _ _).aedisjoint hs.compl hfi.integrableOn hfi.integrableOn,
  union_compl_self, integral_univ]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
⊢ ∫ (x : α), indicator s f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
by_cases hfi : IntegrableOn f s μ
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : IntegrableOn f s
⊢ ∫ (x : α), indicator s f x ∂μ = ∫ (x : α) in s, f x ∂μ
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : ¬IntegrableOn f s
⊢ ∫ (x : α), indicator s f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
swap
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : ¬IntegrableOn f s
⊢ ∫ (x : α), indicator s f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rwa [integral_undef, integral_undef]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : ¬IntegrableOn f s
⊢ ¬Integrable fun x => indicator s f x
[PROOFSTEP]
rwa [integrable_indicator_iff hs]
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : IntegrableOn f s
⊢ ∫ (x : α), indicator s f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
calc
  ∫ x, indicator s f x ∂μ = (∫ x in s, indicator s f x ∂μ) + ∫ x in sᶜ, indicator s f x ∂μ :=
    (integral_add_compl hs (hfi.integrable_indicator hs)).symm
  _ = (∫ x in s, f x ∂μ) + ∫ x in sᶜ, 0 ∂μ :=
    (congr_arg₂ (· + ·) (integral_congr_ae (indicator_ae_eq_restrict hs))
      (integral_congr_ae (indicator_ae_eq_restrict_compl hs)))
  _ = ∫ x in s, f x ∂μ := by simp
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : IntegrableOn f s
⊢ ∫ (x : α) in s, f x ∂μ + ∫ (x : α) in sᶜ, 0 ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : MeasurableSet t
⊢ ∫ (x : α) in s, indicator t f x ∂μ = ∫ (x : α) in s ∩ t, f x ∂μ
[PROOFSTEP]
rw [integral_indicator ht, Measure.restrict_restrict ht, Set.inter_comm]
[GOAL]
α✝ : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α✝
inst✝¹ : NormedAddCommGroup E
f g : α✝ → E
s✝ t : Set α✝
μ✝ ν : Measure α✝
l l' : Filter α✝
inst✝ : NormedSpace ℝ E
α : Type u_5
m : MeasurableSpace α
μ : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
⊢ ENNReal.ofReal (∫ (x : α) in s, 1 ∂μ) = ENNReal.ofReal (∫ (x : α) in s, ‖1‖ ∂μ)
[PROOFSTEP]
simp only [norm_one]
[GOAL]
α✝ : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α✝
inst✝¹ : NormedAddCommGroup E
f g : α✝ → E
s✝ t : Set α✝
μ✝ ν : Measure α✝
l l' : Filter α✝
inst✝ : NormedSpace ℝ E
α : Type u_5
m : MeasurableSpace α
μ : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
⊢ ENNReal.ofReal (∫ (x : α) in s, ‖1‖ ∂μ) = ∫⁻ (x : α) in s, 1 ∂μ
[PROOFSTEP]
rw [ofReal_integral_norm_eq_lintegral_nnnorm (integrableOn_const.2 (Or.inr hs.lt_top))]
[GOAL]
α✝ : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α✝
inst✝¹ : NormedAddCommGroup E
f g : α✝ → E
s✝ t : Set α✝
μ✝ ν : Measure α✝
l l' : Filter α✝
inst✝ : NormedSpace ℝ E
α : Type u_5
m : MeasurableSpace α
μ : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
⊢ ∫⁻ (x : α) in s, ↑‖1‖₊ ∂μ = ∫⁻ (x : α) in s, 1 ∂μ
[PROOFSTEP]
simp only [nnnorm_one, ENNReal.coe_one]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : DecidablePred fun x => x ∈ s
hs : MeasurableSet s
hf : IntegrableOn f s
hg : IntegrableOn g sᶜ
⊢ ∫ (x : α), piecewise s f g x ∂μ = ∫ (x : α) in s, f x ∂μ + ∫ (x : α) in sᶜ, g x ∂μ
[PROOFSTEP]
rw [← Set.indicator_add_compl_eq_piecewise,
  integral_add' (hf.integrable_indicator hs) (hg.integrable_indicator hs.compl), integral_indicator hs,
  integral_indicator hs.compl]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
hfi : IntegrableOn f (⋃ (n : ι), s n)
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋃ (n : ι), s n, f a ∂μ))
[PROOFSTEP]
have hfi' : (∫⁻ x in ⋃ n, s n, ‖f x‖₊ ∂μ) < ∞ := hfi.2
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
hfi : IntegrableOn f (⋃ (n : ι), s n)
hfi' : ∫⁻ (x : α) in ⋃ (n : ι), s n, ↑‖f x‖₊ ∂μ < ⊤
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋃ (n : ι), s n, f a ∂μ))
[PROOFSTEP]
set S := ⋃ i, s i
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hfi' : ∫⁻ (x : α) in S, ↑‖f x‖₊ ∂μ < ⊤
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in S, f a ∂μ))
[PROOFSTEP]
have hSm : MeasurableSet S := MeasurableSet.iUnion hsm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hfi' : ∫⁻ (x : α) in S, ↑‖f x‖₊ ∂μ < ⊤
hSm : MeasurableSet S
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in S, f a ∂μ))
[PROOFSTEP]
have hsub : ∀ {i}, s i ⊆ S := @(subset_iUnion s)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hfi' : ∫⁻ (x : α) in S, ↑‖f x‖₊ ∂μ < ⊤
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in S, f a ∂μ))
[PROOFSTEP]
rw [← withDensity_apply _ hSm] at hfi' 
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hfi' : ↑↑(Measure.withDensity μ fun x => ↑‖f x‖₊) S < ⊤
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in S, f a ∂μ))
[PROOFSTEP]
set ν := μ.withDensity fun x => ‖f x‖₊ with hν
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in S, f a ∂μ))
[PROOFSTEP]
refine' Metric.nhds_basis_closedBall.tendsto_right_iff.2 fun ε ε0 => _
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ
ε0 : 0 < ε
⊢ ∀ᶠ (x : ι) in atTop, ∫ (a : α) in s x, f a ∂μ ∈ Metric.closedBall (∫ (a : α) in S, f a ∂μ) ε
[PROOFSTEP]
lift ε to ℝ≥0 using ε0.le
[GOAL]
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
⊢ ∀ᶠ (x : ι) in atTop, ∫ (a : α) in s x, f a ∂μ ∈ Metric.closedBall (∫ (a : α) in S, f a ∂μ) ↑ε
[PROOFSTEP]
have : ∀ᶠ i in atTop, ν (s i) ∈ Icc (ν S - ε) (ν S + ε) :=
  tendsto_measure_iUnion h_mono (ENNReal.Icc_mem_nhds hfi'.ne (ENNReal.coe_pos.2 ε0).ne')
[GOAL]
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
this : ∀ᶠ (i : ι) in atTop, ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
⊢ ∀ᶠ (x : ι) in atTop, ∫ (a : α) in s x, f a ∂μ ∈ Metric.closedBall (∫ (a : α) in S, f a ∂μ) ↑ε
[PROOFSTEP]
refine' this.mono fun i hi => _
[GOAL]
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
this : ∀ᶠ (i : ι) in atTop, ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
i : ι
hi : ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
⊢ ∫ (a : α) in s i, f a ∂μ ∈ Metric.closedBall (∫ (a : α) in S, f a ∂μ) ↑ε
[PROOFSTEP]
rw [mem_closedBall_iff_norm', ← integral_diff (hsm i) hfi hsub, ← coe_nnnorm, NNReal.coe_le_coe, ← ENNReal.coe_le_coe]
[GOAL]
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
this : ∀ᶠ (i : ι) in atTop, ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
i : ι
hi : ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
⊢ ↑‖∫ (x : α) in S \ s i, f x ∂μ‖₊ ≤ ↑ε
[PROOFSTEP]
refine' (ennnorm_integral_le_lintegral_ennnorm _).trans _
[GOAL]
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
this : ∀ᶠ (i : ι) in atTop, ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
i : ι
hi : ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
⊢ ∫⁻ (a : α) in S \ s i, ↑‖f a‖₊ ∂μ ≤ ↑ε
[PROOFSTEP]
rw [← withDensity_apply _ (hSm.diff (hsm _)), ← hν, measure_diff hsub (hsm _)]
[GOAL]
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
this : ∀ᶠ (i : ι) in atTop, ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
i : ι
hi : ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
⊢ ↑↑ν S - ↑↑ν (s i) ≤ ↑ε
case intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν✝ : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
ι : Type u_5
inst✝¹ : Countable ι
inst✝ : SemilatticeSup ι
s : ι → Set α
hsm : ∀ (i : ι), MeasurableSet (s i)
h_mono : Monotone s
S : Set α := ⋃ (i : ι), s i
hfi : IntegrableOn f S
hSm : MeasurableSet S
hsub : ∀ {i : ι}, s i ⊆ S
ν : Measure α := Measure.withDensity μ fun x => ↑‖f x‖₊
hfi' : ↑↑ν S < ⊤
hν : ν = Measure.withDensity μ fun x => ↑‖f x‖₊
ε : ℝ≥0
ε0 : 0 < ↑ε
this : ∀ᶠ (i : ι) in atTop, ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
i : ι
hi : ↑↑ν (s i) ∈ Icc (↑↑ν S - ↑ε) (↑↑ν S + ↑ε)
⊢ ↑↑ν (s i) ≠ ⊤
[PROOFSTEP]
exacts [tsub_le_iff_tsub_le.mp hi.1, (hi.2.trans_lt <| ENNReal.add_lt_top.2 ⟨hfi', ENNReal.coe_lt_top⟩).ne]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
ι : Type u_5
inst✝ : Countable ι
s : ι → Set α
hm : ∀ (i : ι), NullMeasurableSet (s i)
hd : Pairwise (AEDisjoint μ on s)
hfi : IntegrableOn f (⋃ (i : ι), s i)
⊢ HasSum (fun n => ∫ (a : α) in s n, f a ∂μ) (∫ (a : α) in ⋃ (n : ι), s n, f a ∂μ)
[PROOFSTEP]
simp only [IntegrableOn, Measure.restrict_iUnion_ae hd hm] at hfi ⊢
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
ι : Type u_5
inst✝ : Countable ι
s : ι → Set α
hm : ∀ (i : ι), NullMeasurableSet (s i)
hd : Pairwise (AEDisjoint μ on s)
hfi : Integrable f
⊢ HasSum (fun n => ∫ (a : α) in s n, f a ∂μ) (∫ (a : α), f a ∂Measure.sum fun i => Measure.restrict μ (s i))
[PROOFSTEP]
exact hasSum_integral_measure hfi
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
⊢ ∫ (x : α) in t, f x ∂μ = 0
[PROOFSTEP]
by_cases hf : AEStronglyMeasurable f (μ.restrict t)
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ∫ (x : α) in t, f x ∂μ = 0
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : ¬AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ∫ (x : α) in t, f x ∂μ = 0
[PROOFSTEP]
swap
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : ¬AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ∫ (x : α) in t, f x ∂μ = 0
[PROOFSTEP]
rw [integral_undef]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : ¬AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ¬Integrable fun x => f x
[PROOFSTEP]
contrapose! hf
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : Integrable fun x => f x
⊢ AEStronglyMeasurable f (Measure.restrict μ t)
[PROOFSTEP]
exact hf.1
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ∫ (x : α) in t, f x ∂μ = 0
[PROOFSTEP]
have : ∫ x in t, hf.mk f x ∂μ = 0 := by
  refine' integral_eq_zero_of_ae _
  rw [EventuallyEq, ae_restrict_iff (hf.stronglyMeasurable_mk.measurableSet_eq_fun stronglyMeasurable_zero)]
  filter_upwards [ae_imp_of_ae_restrict hf.ae_eq_mk, ht_eq] with x hx h'x h''x
  rw [← hx h''x]
  exact h'x h''x
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ∫ (x : α) in t, AEStronglyMeasurable.mk f hf x ∂μ = 0
[PROOFSTEP]
refine' integral_eq_zero_of_ae _
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
⊢ (fun x => AEStronglyMeasurable.mk f hf x) =ᵐ[Measure.restrict μ t] 0
[PROOFSTEP]
rw [EventuallyEq, ae_restrict_iff (hf.stronglyMeasurable_mk.measurableSet_eq_fun stronglyMeasurable_zero)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
⊢ ∀ᵐ (x : α) ∂μ, x ∈ t → AEStronglyMeasurable.mk f hf x = OfNat.ofNat 0 x
[PROOFSTEP]
filter_upwards [ae_imp_of_ae_restrict hf.ae_eq_mk, ht_eq] with x hx h'x h''x
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
x : α
hx : x ∈ t → f x = AEStronglyMeasurable.mk f hf x
h'x : x ∈ t → f x = 0
h''x : x ∈ t
⊢ AEStronglyMeasurable.mk f hf x = OfNat.ofNat 0 x
[PROOFSTEP]
rw [← hx h''x]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
x : α
hx : x ∈ t → f x = AEStronglyMeasurable.mk f hf x
h'x : x ∈ t → f x = 0
h''x : x ∈ t
⊢ f x = OfNat.ofNat 0 x
[PROOFSTEP]
exact h'x h''x
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
this : ∫ (x : α) in t, AEStronglyMeasurable.mk f hf x ∂μ = 0
⊢ ∫ (x : α) in t, f x ∂μ = 0
[PROOFSTEP]
rw [← this]
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂μ, x ∈ t → f x = 0
hf : AEStronglyMeasurable f (Measure.restrict μ t)
this : ∫ (x : α) in t, AEStronglyMeasurable.mk f hf x ∂μ = 0
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in t, AEStronglyMeasurable.mk f hf x ∂μ
[PROOFSTEP]
exact integral_congr_ae hf.ae_eq_mk
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
let k := f ⁻¹' {0}
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
have hk : MeasurableSet k := by borelize E; exact haux.measurable (measurableSet_singleton _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
⊢ MeasurableSet k
[PROOFSTEP]
borelize E
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
⊢ MeasurableSet k
[PROOFSTEP]
exact haux.measurable (measurableSet_singleton _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
have h's : IntegrableOn f s μ := H.mono (subset_union_left _ _) le_rfl
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
have A : ∀ u : Set α, ∫ x in u ∩ k, f x ∂μ = 0 := fun u => set_integral_eq_zero_of_forall_eq_zero fun x hx => hx.2
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
A : ∀ (u : Set α), ∫ (x : α) in u ∩ k, f x ∂μ = 0
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [← integral_inter_add_diff hk h's, ← integral_inter_add_diff hk H, A, A, zero_add, zero_add, union_diff_distrib,
  union_comm]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
A : ∀ (u : Set α), ∫ (x : α) in u ∩ k, f x ∂μ = 0
⊢ ∫ (x : α) in t \ k ∪ s \ k, f x ∂μ = ∫ (x : α) in s \ k, f x ∂μ
[PROOFSTEP]
apply set_integral_congr_set_ae
[GOAL]
case hst
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
A : ∀ (u : Set α), ∫ (x : α) in u ∩ k, f x ∂μ = 0
⊢ t \ k ∪ s \ k =ᵐ[μ] s \ k
[PROOFSTEP]
rw [union_ae_eq_right]
[GOAL]
case hst
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
A : ∀ (u : Set α), ∫ (x : α) in u ∩ k, f x ∂μ = 0
⊢ ↑↑μ ((t \ k) \ (s \ k)) = 0
[PROOFSTEP]
apply measure_mono_null (diff_subset _ _)
[GOAL]
case hst
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
A : ∀ (u : Set α), ∫ (x : α) in u ∩ k, f x ∂μ = 0
⊢ ↑↑μ (t \ k) = 0
[PROOFSTEP]
rw [measure_zero_iff_ae_nmem]
[GOAL]
case hst
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
haux : StronglyMeasurable f
H : IntegrableOn f (s ∪ t)
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
h's : IntegrableOn f s
A : ∀ (u : Set α), ∫ (x : α) in u ∩ k, f x ∂μ = 0
⊢ ∀ᵐ (a : α) ∂μ, ¬a ∈ t \ k
[PROOFSTEP]
filter_upwards [ae_imp_of_ae_restrict ht_eq] with x hx h'x using h'x.2 (hx h'x.1)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
have ht : IntegrableOn f t μ := by apply integrableOn_zero.congr_fun_ae; symm; exact ht_eq
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
⊢ IntegrableOn f t
[PROOFSTEP]
apply integrableOn_zero.congr_fun_ae
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
⊢ (fun x => 0) =ᵐ[Measure.restrict μ t] f
[PROOFSTEP]
symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
⊢ f =ᵐ[Measure.restrict μ t] fun x => 0
[PROOFSTEP]
exact ht_eq
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
by_cases H : IntegrableOn f (s ∪ t) μ
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : IntegrableOn f (s ∪ t)
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : ¬IntegrableOn f (s ∪ t)
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
swap
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : ¬IntegrableOn f (s ∪ t)
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [integral_undef H, integral_undef]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : ¬IntegrableOn f (s ∪ t)
⊢ ¬Integrable fun x => f x
[PROOFSTEP]
simpa [integrableOn_union, ht] using H
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : IntegrableOn f (s ∪ t)
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
let f' := H.1.mk f
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : IntegrableOn f (s ∪ t)
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t)))
⊢ ∫ (x : α) in s ∪ t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
calc
  ∫ x : α in s ∪ t, f x ∂μ = ∫ x : α in s ∪ t, f' x ∂μ := integral_congr_ae H.1.ae_eq_mk
  _ = ∫ x in s, f' x ∂μ :=
    by
    apply integral_union_eq_left_of_ae_aux _ H.1.stronglyMeasurable_mk (H.congr_fun_ae H.1.ae_eq_mk)
    filter_upwards [ht_eq, ae_mono (Measure.restrict_mono (subset_union_right s t) le_rfl) H.1.ae_eq_mk] with x hx h'x
    rw [← h'x, hx]
  _ = ∫ x in s, f x ∂μ :=
    integral_congr_ae (ae_mono (Measure.restrict_mono (subset_union_left s t) le_rfl) H.1.ae_eq_mk.symm)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : IntegrableOn f (s ∪ t)
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t)))
⊢ ∫ (x : α) in s ∪ t, f' x ∂μ = ∫ (x : α) in s, f' x ∂μ
[PROOFSTEP]
apply integral_union_eq_left_of_ae_aux _ H.1.stronglyMeasurable_mk (H.congr_fun_ae H.1.ae_eq_mk)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : IntegrableOn f (s ∪ t)
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t)))
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ t,
    AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t))) x = 0
[PROOFSTEP]
filter_upwards [ht_eq, ae_mono (Measure.restrict_mono (subset_union_right s t) le_rfl) H.1.ae_eq_mk] with x hx h'x
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht_eq : ∀ᵐ (x : α) ∂Measure.restrict μ t, f x = 0
ht : IntegrableOn f t
H : IntegrableOn f (s ∪ t)
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t)))
x : α
hx : f x = 0
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t))) x
⊢ AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ (s ∪ t))) x = 0
[PROOFSTEP]
rw [← h'x, hx]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
let k := f ⁻¹' {0}
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
have hk : MeasurableSet k := by borelize E; exact haux.measurable (measurableSet_singleton _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
⊢ MeasurableSet k
[PROOFSTEP]
borelize E
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
⊢ MeasurableSet k
[PROOFSTEP]
exact haux.measurable (measurableSet_singleton _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
calc
  ∫ x in t, f x ∂μ = (∫ x in t ∩ k, f x ∂μ) + ∫ x in t \ k, f x ∂μ := by rw [integral_inter_add_diff hk h'aux]
  _ = ∫ x in t \ k, f x ∂μ := by rw [set_integral_eq_zero_of_forall_eq_zero fun x hx => ?_, zero_add]; exact hx.2
  _ = ∫ x in s \ k, f x ∂μ := by
    apply set_integral_congr_set_ae
    filter_upwards [h't] with x hx
    change (x ∈ t \ k) = (x ∈ s \ k)
    simp only [mem_preimage, mem_singleton_iff, eq_iff_iff, and_congr_left_iff, mem_diff]
    intro h'x
    by_cases xs : x ∈ s
    · simp only [xs, hts xs]
    · simp only [xs, iff_false_iff]
      intro xt
      exact h'x (hx ⟨xt, xs⟩)
  _ = (∫ x in s ∩ k, f x ∂μ) + ∫ x in s \ k, f x ∂μ :=
    by
    have : ∀ x ∈ s ∩ k, f x = 0 := fun x hx => hx.2
    rw [set_integral_eq_zero_of_forall_eq_zero this, zero_add]
  _ = ∫ x in s, f x ∂μ := by rw [integral_inter_add_diff hk (h'aux.mono hts le_rfl)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in t ∩ k, f x ∂μ + ∫ (x : α) in t \ k, f x ∂μ
[PROOFSTEP]
rw [integral_inter_add_diff hk h'aux]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in t ∩ k, f x ∂μ + ∫ (x : α) in t \ k, f x ∂μ = ∫ (x : α) in t \ k, f x ∂μ
[PROOFSTEP]
rw [set_integral_eq_zero_of_forall_eq_zero fun x hx => ?_, zero_add]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t ∩ k
⊢ f x = 0
[PROOFSTEP]
exact hx.2
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in t \ k, f x ∂μ = ∫ (x : α) in s \ k, f x ∂μ
[PROOFSTEP]
apply set_integral_congr_set_ae
[GOAL]
case hst
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ t \ k =ᵐ[μ] s \ k
[PROOFSTEP]
filter_upwards [h't] with x hx
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
⊢ (t \ f ⁻¹' {0}) x = (s \ f ⁻¹' {0}) x
[PROOFSTEP]
change (x ∈ t \ k) = (x ∈ s \ k)
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
⊢ (x ∈ t \ k) = (x ∈ s \ k)
[PROOFSTEP]
simp only [mem_preimage, mem_singleton_iff, eq_iff_iff, and_congr_left_iff, mem_diff]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
⊢ ¬f x = 0 → (x ∈ t ↔ x ∈ s)
[PROOFSTEP]
intro h'x
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
h'x : ¬f x = 0
⊢ x ∈ t ↔ x ∈ s
[PROOFSTEP]
by_cases xs : x ∈ s
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
h'x : ¬f x = 0
xs : x ∈ s
⊢ x ∈ t ↔ x ∈ s
[PROOFSTEP]
simp only [xs, hts xs]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
h'x : ¬f x = 0
xs : ¬x ∈ s
⊢ x ∈ t ↔ x ∈ s
[PROOFSTEP]
simp only [xs, iff_false_iff]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
h'x : ¬f x = 0
xs : ¬x ∈ s
⊢ ¬x ∈ t
[PROOFSTEP]
intro xt
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
x : α
hx : x ∈ t \ s → f x = 0
h'x : ¬f x = 0
xs : ¬x ∈ s
xt : x ∈ t
⊢ False
[PROOFSTEP]
exact h'x (hx ⟨xt, xs⟩)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in s \ k, f x ∂μ = ∫ (x : α) in s ∩ k, f x ∂μ + ∫ (x : α) in s \ k, f x ∂μ
[PROOFSTEP]
have : ∀ x ∈ s ∩ k, f x = 0 := fun x hx => hx.2
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
this : ∀ (x : α), x ∈ s ∩ k → f x = 0
⊢ ∫ (x : α) in s \ k, f x ∂μ = ∫ (x : α) in s ∩ k, f x ∂μ + ∫ (x : α) in s \ k, f x ∂μ
[PROOFSTEP]
rw [set_integral_eq_zero_of_forall_eq_zero this, zero_add]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
haux : StronglyMeasurable f
h'aux : IntegrableOn f t
k : Set α := f ⁻¹' {0}
hk : MeasurableSet k
⊢ ∫ (x : α) in s ∩ k, f x ∂μ + ∫ (x : α) in s \ k, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [integral_inter_add_diff hk (h'aux.mono hts le_rfl)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
by_cases h : IntegrableOn f t μ
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : ¬IntegrableOn f t
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
swap
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : ¬IntegrableOn f t
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
have : ¬IntegrableOn f s μ := fun H => h (H.of_ae_diff_eq_zero ht h't)
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : ¬IntegrableOn f t
this : ¬IntegrableOn f s
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [integral_undef h, integral_undef this]
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
let f' := h.1.mk f
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
⊢ ∫ (x : α) in t, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
calc
  ∫ x in t, f x ∂μ = ∫ x in t, f' x ∂μ := integral_congr_ae h.1.ae_eq_mk
  _ = ∫ x in s, f' x ∂μ :=
    by
    apply set_integral_eq_of_subset_of_ae_diff_eq_zero_aux hts _ h.1.stronglyMeasurable_mk (h.congr h.1.ae_eq_mk)
    filter_upwards [h't, ae_imp_of_ae_restrict h.1.ae_eq_mk] with x hx h'x h''x
    rw [← h'x h''x.1, hx h''x]
  _ = ∫ x in s, f x ∂μ := by
    apply integral_congr_ae
    apply ae_restrict_of_ae_restrict_of_subset hts
    exact h.1.ae_eq_mk.symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
⊢ ∫ (x : α) in t, f' x ∂μ = ∫ (x : α) in s, f' x ∂μ
[PROOFSTEP]
apply set_integral_eq_of_subset_of_ae_diff_eq_zero_aux hts _ h.1.stronglyMeasurable_mk (h.congr h.1.ae_eq_mk)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
⊢ ∀ᵐ (x : α) ∂μ, x ∈ t \ s → AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t)) x = 0
[PROOFSTEP]
filter_upwards [h't, ae_imp_of_ae_restrict h.1.ae_eq_mk] with x hx h'x h''x
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
x : α
hx : x ∈ t \ s → f x = 0
h'x : x ∈ t → f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t)) x
h''x : x ∈ t \ s
⊢ AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t)) x = 0
[PROOFSTEP]
rw [← h'x h''x.1, hx h''x]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
⊢ ∫ (x : α) in s, f' x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
apply integral_congr_ae
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
⊢ (fun a => f' a) =ᵐ[Measure.restrict μ s] fun a => f a
[PROOFSTEP]
apply ae_restrict_of_ae_restrict_of_subset hts
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
ht : NullMeasurableSet t
hts : s ⊆ t
h't : ∀ᵐ (x : α) ∂μ, x ∈ t \ s → f x = 0
h : IntegrableOn f t
f' : α → E := AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f (Measure.restrict μ t))
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ t, (fun a => f' a) x = (fun a => f a) x
[PROOFSTEP]
exact h.1.ae_eq_mk.symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
h : ∀ᵐ (x : α) ∂μ, ¬x ∈ s → f x = 0
⊢ ∫ (x : α) in s, f x ∂μ = ∫ (x : α), f x ∂μ
[PROOFSTEP]
symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
h : ∀ᵐ (x : α) ∂μ, ¬x ∈ s → f x = 0
⊢ ∫ (x : α), f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
nth_rw 1 [← integral_univ]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
h : ∀ᵐ (x : α) ∂μ, ¬x ∈ s → f x = 0
⊢ ∫ (x : α) in univ, f x ∂μ = ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
apply set_integral_eq_of_subset_of_ae_diff_eq_zero nullMeasurableSet_univ (subset_univ _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
h : ∀ᵐ (x : α) ∂μ, ¬x ∈ s → f x = 0
⊢ ∀ᵐ (x : α) ∂μ, x ∈ univ \ s → f x = 0
[PROOFSTEP]
filter_upwards [h] with x hx h'x using hx h'x.2
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
⊢ ∫ (x : α) in {x | f x < 0}, f x ∂μ = ∫ (x : α) in {x | f x ≤ 0}, f x ∂μ
[PROOFSTEP]
have h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0} := by ext; simp_rw [Set.mem_union, Set.mem_setOf_eq];
  exact le_iff_lt_or_eq
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
⊢ {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
[PROOFSTEP]
ext
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
x✝ : α
⊢ x✝ ∈ {x | f x ≤ 0} ↔ x✝ ∈ {x | f x < 0} ∪ {x | f x = 0}
[PROOFSTEP]
simp_rw [Set.mem_union, Set.mem_setOf_eq]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
x✝ : α
⊢ f x✝ ≤ 0 ↔ f x✝ < 0 ∨ f x✝ = 0
[PROOFSTEP]
exact le_iff_lt_or_eq
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
⊢ ∫ (x : α) in {x | f x < 0}, f x ∂μ = ∫ (x : α) in {x | f x ≤ 0}, f x ∂μ
[PROOFSTEP]
rw [h_union]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
⊢ ∫ (x : α) in {x | f x < 0}, f x ∂μ = ∫ (x : α) in {x | f x < 0} ∪ {x | f x = 0}, f x ∂μ
[PROOFSTEP]
have B : NullMeasurableSet {x | f x = 0} μ := hf.nullMeasurableSet_eq_fun aestronglyMeasurable_zero
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
B : NullMeasurableSet {x | f x = 0}
⊢ ∫ (x : α) in {x | f x < 0}, f x ∂μ = ∫ (x : α) in {x | f x < 0} ∪ {x | f x = 0}, f x ∂μ
[PROOFSTEP]
symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
B : NullMeasurableSet {x | f x = 0}
⊢ ∫ (x : α) in {x | f x < 0} ∪ {x | f x = 0}, f x ∂μ = ∫ (x : α) in {x | f x < 0}, f x ∂μ
[PROOFSTEP]
refine' integral_union_eq_left_of_ae _
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
B : NullMeasurableSet {x | f x = 0}
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ {x | f x = 0}, f x = 0
[PROOFSTEP]
filter_upwards [ae_restrict_mem₀ B] with x hx using hx
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α), ‖f x‖ ∂μ = ∫ (x : α) in {x | 0 ≤ f x}, ‖f x‖ ∂μ + ∫ (x : α) in {x | 0 ≤ f x}ᶜ, ‖f x‖ ∂μ
[PROOFSTEP]
rw [← integral_add_compl₀ h_meas hfi.norm]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}, ‖f x‖ ∂μ + ∫ (x : α) in {x | 0 ≤ f x}ᶜ, ‖f x‖ ∂μ =
    ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ + ∫ (x : α) in {x | 0 ≤ f x}ᶜ, ‖f x‖ ∂μ
[PROOFSTEP]
congr 1
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}, ‖f x‖ ∂μ = ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ
[PROOFSTEP]
refine' set_integral_congr₀ h_meas fun x hx => _
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : x ∈ {x | 0 ≤ f x}
⊢ ‖f x‖ = f x
[PROOFSTEP]
dsimp only
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : x ∈ {x | 0 ≤ f x}
⊢ ‖f x‖ = f x
[PROOFSTEP]
rw [Real.norm_eq_abs, abs_eq_self.mpr _]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : x ∈ {x | 0 ≤ f x}
⊢ 0 ≤ f x
[PROOFSTEP]
exact hx
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ + ∫ (x : α) in {x | 0 ≤ f x}ᶜ, ‖f x‖ ∂μ =
    ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ - ∫ (x : α) in {x | 0 ≤ f x}ᶜ, f x ∂μ
[PROOFSTEP]
congr 1
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}ᶜ, ‖f x‖ ∂μ = -∫ (x : α) in {x | 0 ≤ f x}ᶜ, f x ∂μ
[PROOFSTEP]
rw [← integral_neg]
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}ᶜ, ‖f x‖ ∂μ = ∫ (a : α) in {x | 0 ≤ f x}ᶜ, -f a ∂μ
[PROOFSTEP]
refine' set_integral_congr₀ h_meas.compl fun x hx => _
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : x ∈ {x | 0 ≤ f x}ᶜ
⊢ ‖f x‖ = -f x
[PROOFSTEP]
dsimp only
[GOAL]
case e_a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : x ∈ {x | 0 ≤ f x}ᶜ
⊢ ‖f x‖ = -f x
[PROOFSTEP]
rw [Real.norm_eq_abs, abs_eq_neg_self.mpr _]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : x ∈ {x | 0 ≤ f x}ᶜ
⊢ f x ≤ 0
[PROOFSTEP]
rw [Set.mem_compl_iff, Set.nmem_setOf_iff] at hx 
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
hx : ¬0 ≤ f x
⊢ f x ≤ 0
[PROOFSTEP]
linarith
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ - ∫ (x : α) in {x | 0 ≤ f x}ᶜ, f x ∂μ =
    ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ - ∫ (x : α) in {x | f x ≤ 0}, f x ∂μ
[PROOFSTEP]
rw [← set_integral_neg_eq_set_integral_nonpos hfi.1]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ - ∫ (x : α) in {x | 0 ≤ f x}ᶜ, f x ∂μ =
    ∫ (x : α) in {x | 0 ≤ f x}, f x ∂μ - ∫ (x : α) in {x | f x < 0}, f x ∂μ
[PROOFSTEP]
congr
[GOAL]
case e_a.e_μ.e_s
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
⊢ {x | 0 ≤ f x}ᶜ = {x | f x < 0}
[PROOFSTEP]
ext1 x
[GOAL]
case e_a.e_μ.e_s.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hfi : Integrable f
h_meas : NullMeasurableSet {x | 0 ≤ f x}
x : α
⊢ x ∈ {x | 0 ≤ f x}ᶜ ↔ x ∈ {x | f x < 0}
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
c : E
⊢ ∫ (x : α) in s, c ∂μ = ENNReal.toReal (↑↑μ s) • c
[PROOFSTEP]
rw [integral_const, Measure.restrict_apply_univ]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
e : E
s : Set α
s_meas : MeasurableSet s
⊢ ∫ (a : α), indicator s (fun x => e) a ∂μ = ENNReal.toReal (↑↑μ s) • e
[PROOFSTEP]
rw [integral_indicator s_meas, ← set_integral_const]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
hs : MeasurableSet s
ht : MeasurableSet t
hμt : ↑↑μ t ≠ ⊤
x : E
⊢ ∫ (a : α) in s, ↑↑(indicatorConstLp p ht hμt x) a ∂μ = ∫ (a : α) in s, indicator t (fun x_1 => x) a ∂μ
[PROOFSTEP]
rw [set_integral_congr_ae hs (indicatorConstLp_coeFn.mono fun x hx _ => hx)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
hs : MeasurableSet s
ht : MeasurableSet t
hμt : ↑↑μ t ≠ ⊤
x : E
⊢ ∫ (a : α) in s, indicator t (fun x_1 => x) a ∂μ = ENNReal.toReal (↑↑μ (t ∩ s)) • x
[PROOFSTEP]
rw [integral_indicator_const _ ht, Measure.restrict_apply ht]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
ht : MeasurableSet t
hμt : ↑↑μ t ≠ ⊤
x : E
⊢ ∫ (a : α), ↑↑(indicatorConstLp p ht hμt x) a ∂μ = ∫ (a : α) in univ, ↑↑(indicatorConstLp p ht hμt x) a ∂μ
[PROOFSTEP]
rw [integral_univ]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
ht : MeasurableSet t
hμt : ↑↑μ t ≠ ⊤
x : E
⊢ ENNReal.toReal (↑↑μ (t ∩ univ)) • x = ENNReal.toReal (↑↑μ t) • x
[PROOFSTEP]
rw [inter_univ]
[GOAL]
α : Type u_1
β✝ : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g✝ : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
β : Type u_5
inst✝ : MeasurableSpace β
g : α → β
f : β → E
s : Set β
hs : MeasurableSet s
hf : AEStronglyMeasurable f (Measure.map g μ)
hg : AEMeasurable g
⊢ ∫ (y : β) in s, f y ∂Measure.map g μ = ∫ (x : α) in g ⁻¹' s, f (g x) ∂μ
[PROOFSTEP]
rw [Measure.restrict_map_of_aemeasurable hg hs,
  integral_map (hg.mono_measure Measure.restrict_le_self) (hf.mono_measure _)]
[GOAL]
α : Type u_1
β✝ : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f✝ g✝ : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : NormedSpace ℝ E
β : Type u_5
inst✝ : MeasurableSpace β
g : α → β
f : β → E
s : Set β
hs : MeasurableSet s
hf : AEStronglyMeasurable f (Measure.map g μ)
hg : AEMeasurable g
⊢ Measure.map g (Measure.restrict μ (g ⁻¹' s)) ≤ Measure.map g μ
[PROOFSTEP]
exact Measure.map_mono_of_aemeasurable Measure.restrict_le_self hg
[GOAL]
α : Type u_1
β✝ : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g✝ : α → E
s✝ t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
β : Type u_5
x✝ : MeasurableSpace β
f : α → β
hf : MeasurableEmbedding f
g : β → E
s : Set β
⊢ ∫ (y : β) in s, g y ∂Measure.map f μ = ∫ (x : α) in f ⁻¹' s, g (f x) ∂μ
[PROOFSTEP]
rw [hf.restrict_map, hf.integral_map]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
⊢ ‖∫ (x : α) in s, f x ∂μ‖ ≤ C * ENNReal.toReal (↑↑μ s)
[PROOFSTEP]
rw [← Measure.restrict_apply_univ] at *
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑(Measure.restrict μ s) univ < ⊤
hC : ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
⊢ ‖∫ (x : α) in s, f x ∂μ‖ ≤ C * ENNReal.toReal (↑↑(Measure.restrict μ s) univ)
[PROOFSTEP]
haveI : IsFiniteMeasure (μ.restrict s) := ⟨‹_›⟩
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑(Measure.restrict μ s) univ < ⊤
hC : ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
this : IsFiniteMeasure (Measure.restrict μ s)
⊢ ‖∫ (x : α) in s, f x ∂μ‖ ≤ C * ENNReal.toReal (↑↑(Measure.restrict μ s) univ)
[PROOFSTEP]
exact norm_integral_le_of_norm_le_const hC
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
⊢ ‖∫ (x : α) in s, f x ∂μ‖ ≤ C * ENNReal.toReal (↑↑μ s)
[PROOFSTEP]
apply norm_set_integral_le_of_norm_le_const_ae hs
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
[PROOFSTEP]
have A : ∀ᵐ x : α ∂μ, x ∈ s → ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C :=
  by
  filter_upwards [hC, hfm.ae_mem_imp_eq_mk] with _ h1 h2 h3
  rw [← h2 h3]
  exact h1 h3
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
⊢ ∀ᵐ (x : α) ∂μ, x ∈ s → ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C
[PROOFSTEP]
filter_upwards [hC, hfm.ae_mem_imp_eq_mk] with _ h1 h2 h3
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
a✝ : α
h1 : a✝ ∈ s → ‖f a✝‖ ≤ C
h2 : a✝ ∈ s → f a✝ = AEStronglyMeasurable.mk f hfm a✝
h3 : a✝ ∈ s
⊢ ‖AEStronglyMeasurable.mk f hfm a✝‖ ≤ C
[PROOFSTEP]
rw [← h2 h3]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
a✝ : α
h1 : a✝ ∈ s → ‖f a✝‖ ≤ C
h2 : a✝ ∈ s → f a✝ = AEStronglyMeasurable.mk f hfm a✝
h3 : a✝ ∈ s
⊢ ‖f a✝‖ ≤ C
[PROOFSTEP]
exact h1 h3
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
A : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
[PROOFSTEP]
have B : MeasurableSet {x | ‖(hfm.mk f) x‖ ≤ C} := hfm.stronglyMeasurable_mk.norm.measurable measurableSet_Iic
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
A : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C
B : MeasurableSet {x | ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C}
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
[PROOFSTEP]
filter_upwards [hfm.ae_eq_mk, (ae_restrict_iff B).2 A] with _ h1 _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
A : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C
B : MeasurableSet {x | ‖AEStronglyMeasurable.mk f hfm x‖ ≤ C}
a✝¹ : α
h1 : f a✝¹ = AEStronglyMeasurable.mk f hfm a✝¹
a✝ : ‖AEStronglyMeasurable.mk f hfm a✝¹‖ ≤ C
⊢ ‖f a✝¹‖ ≤ C
[PROOFSTEP]
rwa [h1]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
C : ℝ
hs : ↑↑μ s < ⊤
hsm : MeasurableSet s
hC : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x‖ ≤ C
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, ‖f x‖ ≤ C
[PROOFSTEP]
rwa [ae_restrict_eq hsm, eventually_inf_principal]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hf : 0 ≤ᵐ[Measure.restrict μ s] f
hfi : IntegrableOn f s
⊢ 0 < ∫ (x : α) in s, f x ∂μ ↔ 0 < ↑↑μ (support f ∩ s)
[PROOFSTEP]
rw [integral_pos_iff_support_of_nonneg_ae hf hfi, Measure.restrict_apply₀]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hf : 0 ≤ᵐ[Measure.restrict μ s] f
hfi : IntegrableOn f s
⊢ NullMeasurableSet (support f)
[PROOFSTEP]
rw [support_eq_preimage]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
f : α → ℝ
hf : 0 ≤ᵐ[Measure.restrict μ s] f
hfi : IntegrableOn f s
⊢ NullMeasurableSet (f ⁻¹' {0}ᶜ)
[PROOFSTEP]
exact hfi.aestronglyMeasurable.aemeasurable.nullMeasurable (measurableSet_singleton 0).compl
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
⊢ ENNReal.toReal (↑↑μ {x | R < f x}) * R < ∫ (x : α) in {x | R < f x}, f x ∂μ
[PROOFSTEP]
have : IntegrableOn (fun _ => R) {x | ↑R < f x} μ :=
  by
  refine' ⟨aestronglyMeasurable_const, lt_of_le_of_lt _ hfint.2⟩
  refine' set_lintegral_mono (Measurable.nnnorm _).coe_nnreal_ennreal hfm.nnnorm.coe_nnreal_ennreal fun x hx => _
  · exact measurable_const
  · simp only [ENNReal.coe_le_coe, Real.nnnorm_of_nonneg hR, Real.nnnorm_of_nonneg (hR.trans <| le_of_lt hx),
      Subtype.mk_le_mk]
    exact le_of_lt hx
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
⊢ IntegrableOn (fun x => R) {x | R < f x}
[PROOFSTEP]
refine' ⟨aestronglyMeasurable_const, lt_of_le_of_lt _ hfint.2⟩
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
⊢ ∫⁻ (a : α) in {x | R < f x}, ↑‖(fun x => R) a‖₊ ∂μ ≤ ∫⁻ (a : α) in {x | R < f x}, ↑‖f a‖₊ ∂μ
[PROOFSTEP]
refine' set_lintegral_mono (Measurable.nnnorm _).coe_nnreal_ennreal hfm.nnnorm.coe_nnreal_ennreal fun x hx => _
[GOAL]
case refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
⊢ Measurable fun a => (fun x => R) a
[PROOFSTEP]
exact measurable_const
[GOAL]
case refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
x : α
hx : x ∈ {x | R < f x}
⊢ ↑‖(fun x => R) x‖₊ ≤ ↑‖f x‖₊
[PROOFSTEP]
simp only [ENNReal.coe_le_coe, Real.nnnorm_of_nonneg hR, Real.nnnorm_of_nonneg (hR.trans <| le_of_lt hx),
  Subtype.mk_le_mk]
[GOAL]
case refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
x : α
hx : x ∈ {x | R < f x}
⊢ { val := R, property := hR } ≤ { val := f x, property := (_ : 0 ≤ f x) }
[PROOFSTEP]
exact le_of_lt hx
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ ENNReal.toReal (↑↑μ {x | R < f x}) * R < ∫ (x : α) in {x | R < f x}, f x ∂μ
[PROOFSTEP]
rw [← sub_pos, ← smul_eq_mul, ← set_integral_const, ← integral_sub hfint this,
  set_integral_pos_iff_support_of_nonneg_ae]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ 0 < ↑↑μ ((support fun a => f a - R) ∩ {x | R < f x})
[PROOFSTEP]
rw [← zero_lt_iff] at hμ 
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : 0 < ↑↑μ {x | R < f x}
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ 0 < ↑↑μ ((support fun a => f a - R) ∩ {x | R < f x})
[PROOFSTEP]
rwa [Set.inter_eq_self_of_subset_right]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : 0 < ↑↑μ {x | R < f x}
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ {x | R < f x} ⊆ support fun a => f a - R
[PROOFSTEP]
exact fun x hx => Ne.symm (ne_of_lt <| sub_pos.2 hx)
[GOAL]
case hf
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ 0 ≤ᵐ[Measure.restrict μ {x | R < f x}] fun a => f a - R
[PROOFSTEP]
change ∀ᵐ x ∂μ.restrict _, _
[GOAL]
case hf
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ {x | R < f x}, OfNat.ofNat 0 x ≤ (fun a => f a - R) x
[PROOFSTEP]
rw [ae_restrict_iff]
[GOAL]
case hf
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ ∀ᵐ (x : α) ∂μ, x ∈ {x | R < f x} → OfNat.ofNat 0 x ≤ (fun a => f a - R) x
[PROOFSTEP]
exact eventually_of_forall fun x hx => sub_nonneg.2 <| le_of_lt hx
[GOAL]
case hf
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ MeasurableSet {x | OfNat.ofNat 0 x ≤ (fun a => f a - R) x}
[PROOFSTEP]
exact measurableSet_le measurable_zero (hfm.sub measurable_const)
[GOAL]
case hfi
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝ : NormedSpace ℝ E
R : ℝ
f : α → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x}
hμ : ↑↑μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x}
⊢ IntegrableOn (fun a => f a - R) {x | R < f x}
[PROOFSTEP]
exact Integrable.sub hfint this
[GOAL]
α✝ : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α✝
inst✝¹ : NormedAddCommGroup E
f✝ g : α✝ → E
s✝ t : Set α✝
μ✝ ν : Measure α✝
l l' : Filter α✝
inst✝ : NormedSpace ℝ E
α : Type u_5
m m0 : MeasurableSpace α
μ : Measure α
hm : m ≤ m0
f : α → E
hf_meas : StronglyMeasurable f
s : Set α
hs : MeasurableSet s
⊢ ∫ (x : α) in s, f x ∂μ = ∫ (x : α) in s, f x ∂Measure.trim μ hm
[PROOFSTEP]
rwa [integral_trim hm hf_meas, restrict_trim hm μ]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : NormedSpace ℝ E
inst✝¹ : PartialOrder α
a b : α
inst✝ : NoAtoms μ
⊢ ∫ (t : α) in Icc a b, f t ∂μ = ∫ (t : α) in Ico a b, f t ∂μ
[PROOFSTEP]
rw [integral_Icc_eq_integral_Ico, integral_Ico_eq_integral_Ioo]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s t : Set α
hf : IntegrableOn f s
hg : IntegrableOn g s
hs : MeasurableSet s
h : ∀ (x : α), x ∈ s → f x ≤ g x
⊢ (fun a => f a) ≤ᵐ[Measure.restrict μ s] fun a => g a
[PROOFSTEP]
simp [hs, EventuallyLE, eventually_inf_principal, ae_of_all _ h]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s t : Set α
hf : IntegrableOn f s
hg : IntegrableOn g s
hs : MeasurableSet s
h : ∀ᵐ (x : α) ∂μ, x ∈ s → f x ≤ g x
⊢ ∫ (a : α) in s, f a ∂μ ≤ ∫ (a : α) in s, g a ∂μ
[PROOFSTEP]
refine' set_integral_mono_ae_restrict hf hg _
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s t : Set α
hf : IntegrableOn f s
hg : IntegrableOn g s
hs : MeasurableSet s
h : ∀ᵐ (x : α) ∂μ, x ∈ s → f x ≤ g x
⊢ (fun a => f a) ≤ᵐ[Measure.restrict μ s] fun a => g a
[PROOFSTEP]
rwa [EventuallyLE, ae_restrict_iff' hs]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s t : Set α
hf✝ : IntegrableOn f s
hg : IntegrableOn g s
c : ℝ
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
hf : ∀ (x : α), x ∈ s → c ≤ f x
hfint : IntegrableOn (fun x => f x) s
⊢ c * ENNReal.toReal (↑↑μ s) ≤ ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [mul_comm, ← smul_eq_mul, ← set_integral_const c]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s t : Set α
hf✝ : IntegrableOn f s
hg : IntegrableOn g s
c : ℝ
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
hf : ∀ (x : α), x ∈ s → c ≤ f x
hfint : IntegrableOn (fun x => f x) s
⊢ ∫ (x : α) in s, c ∂μ ≤ ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
exact set_integral_mono_on (integrableOn_const.2 (Or.inr hμs.lt_top)) hfint hs hf
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f : α → ℝ
s : Set α
hs : MeasurableSet s
hf : ∀ᵐ (a : α) ∂μ, a ∈ s → 0 ≤ f a
⊢ 0 ≤ᵐ[Measure.restrict μ s] fun a => f a
[PROOFSTEP]
rwa [EventuallyLE, ae_restrict_iff' hs]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f : α → ℝ
s✝ s : Set α
hs : MeasurableSet s
hf : StronglyMeasurable f
hfi : Integrable f
⊢ ∫ (x : α) in s, f x ∂μ ≤ ∫ (x : α) in {y | 0 ≤ f y}, f x ∂μ
[PROOFSTEP]
rw [← integral_indicator hs, ← integral_indicator (stronglyMeasurable_const.measurableSet_le hf)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f : α → ℝ
s✝ s : Set α
hs : MeasurableSet s
hf : StronglyMeasurable f
hfi : Integrable f
⊢ ∫ (x : α), indicator s (fun x => f x) x ∂μ ≤ ∫ (x : α), indicator {a | 0 ≤ f a} (fun x => f x) x ∂μ
[PROOFSTEP]
exact
  integral_mono (hfi.indicator hs) (hfi.indicator (stronglyMeasurable_const.measurableSet_le hf))
    (indicator_le_indicator_nonneg s f)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f : α → ℝ
s : Set α
hs : MeasurableSet s
hf : ∀ᵐ (a : α) ∂μ, a ∈ s → f a ≤ 0
⊢ (fun a => f a) ≤ᵐ[Measure.restrict μ s] 0
[PROOFSTEP]
rwa [EventuallyLE, ae_restrict_iff' hs]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f : α → ℝ
s✝ s : Set α
hs : MeasurableSet s
hf : StronglyMeasurable f
hfi : Integrable f
⊢ ∫ (x : α) in {y | f y ≤ 0}, f x ∂μ ≤ ∫ (x : α) in s, f x ∂μ
[PROOFSTEP]
rw [← integral_indicator hs, ← integral_indicator (hf.measurableSet_le stronglyMeasurable_const)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝ : MeasurableSpace α
μ : Measure α
f : α → ℝ
s✝ s : Set α
hs : MeasurableSet s
hf : StronglyMeasurable f
hfi : Integrable f
⊢ ∫ (x : α), indicator {a | f a ≤ 0} (fun x => f x) x ∂μ ≤ ∫ (x : α), indicator s (fun x => f x) x ∂μ
[PROOFSTEP]
exact
  integral_mono (hfi.indicator (hf.measurableSet_le stronglyMeasurable_const)) (hfi.indicator hs)
    (indicator_nonpos_le_indicator s f)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
⊢ IntegrableOn f (iUnion s)
[PROOFSTEP]
refine' ⟨AEStronglyMeasurable.iUnion fun i => (hi i).1, (lintegral_iUnion_le _ _).trans_lt _⟩
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
⊢ ∑' (i : β), ∫⁻ (a : α) in s i, ↑‖f a‖₊ ∂μ < ⊤
[PROOFSTEP]
have B := fun b : β => lintegral_coe_eq_integral (fun a : α => ‖f a‖₊) (hi b).norm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
⊢ ∑' (i : β), ∫⁻ (a : α) in s i, ↑‖f a‖₊ ∂μ < ⊤
[PROOFSTEP]
rw [tsum_congr B]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
⊢ ∑' (b : β), ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) < ⊤
[PROOFSTEP]
have S' :
  Summable fun b : β =>
    (⟨∫ a : α in s b, ‖f a‖₊ ∂μ, set_integral_nonneg (hs b) fun a _ => NNReal.coe_nonneg _⟩ : NNReal) :=
  by rw [← NNReal.summable_coe]; exact h
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
⊢ Summable fun b => { val := ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) }
[PROOFSTEP]
rw [← NNReal.summable_coe]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
⊢ Summable fun a => ↑{ val := ∫ (a : α) in s a, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s a, ↑‖f a‖₊ ∂μ) }
[PROOFSTEP]
exact h
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
S' : Summable fun b => { val := ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) }
⊢ ∑' (b : β), ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) < ⊤
[PROOFSTEP]
have S'' := ENNReal.tsum_coe_eq S'.hasSum
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
S' : Summable fun b => { val := ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) }
S'' :
  ∑' (a : β), ↑{ val := ∫ (a : α) in s a, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s a, ↑‖f a‖₊ ∂μ) } =
    ↑(∑' (b : β), { val := ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) })
⊢ ∑' (b : β), ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) < ⊤
[PROOFSTEP]
simp_rw [ENNReal.coe_nnreal_eq, NNReal.coe_mk, coe_nnnorm] at S'' 
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
μ : Measure α
inst✝¹ : NormedAddCommGroup E
inst✝ : Countable β
f : α → E
s : β → Set α
hs : ∀ (b : β), MeasurableSet (s b)
hi : ∀ (b : β), IntegrableOn f (s b)
h : Summable fun b => ∫ (a : α) in s b, ‖f a‖ ∂μ
B : ∀ (b : β), ∫⁻ (a : α) in s b, ↑‖f a‖₊ ∂μ = ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ)
S' : Summable fun b => { val := ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ, property := (_ : 0 ≤ ∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) }
S'' :
  ∑' (a : β), ENNReal.ofReal (∫ (a : α) in s a, ‖f a‖ ∂μ) =
    ENNReal.ofReal
      ↑(∑' (b : β),
          { val := ∫ (a : α) in s b, ‖f a‖ ∂μ, property := (_ : (fun r => 0 ≤ r) (∫ (a : α) in s b, ‖f a‖ ∂μ)) })
⊢ ∑' (b : β), ENNReal.ofReal (∫ (a : α) in s b, ↑‖f a‖₊ ∂μ) < ⊤
[PROOFSTEP]
convert ENNReal.ofReal_lt_top
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : MeasurableSpace α
μ : Measure α
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : Countable β
inst✝³ : TopologicalSpace α
inst✝² : BorelSpace α
inst✝¹ : MetrizableSpace α
inst✝ : IsLocallyFiniteMeasure μ
f : C(α, E)
s : β → Compacts α
hf : Summable fun i => ‖ContinuousMap.restrict (↑(s i)) f‖ * ENNReal.toReal (↑↑μ ↑(s i))
⊢ IntegrableOn (↑f) (⋃ (i : β), ↑(s i))
[PROOFSTEP]
refine'
  integrableOn_iUnion_of_summable_integral_norm (fun i => (s i).isCompact.isClosed.measurableSet)
    (fun i => (map_continuous f).continuousOn.integrableOn_compact (s i).isCompact)
    (summable_of_nonneg_of_le (fun ι => integral_nonneg fun x => norm_nonneg _) (fun i => _) hf)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : MeasurableSpace α
μ : Measure α
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : Countable β
inst✝³ : TopologicalSpace α
inst✝² : BorelSpace α
inst✝¹ : MetrizableSpace α
inst✝ : IsLocallyFiniteMeasure μ
f : C(α, E)
s : β → Compacts α
hf : Summable fun i => ‖ContinuousMap.restrict (↑(s i)) f‖ * ENNReal.toReal (↑↑μ ↑(s i))
i : β
⊢ ∫ (a : α) in ↑(s i), ‖↑f a‖ ∂μ ≤ ‖ContinuousMap.restrict (↑(s i)) f‖ * ENNReal.toReal (↑↑μ ↑(s i))
[PROOFSTEP]
rw [← (Real.norm_of_nonneg (integral_nonneg fun a => norm_nonneg _) : ‖_‖ = ∫ x in s i, ‖f x‖ ∂μ)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : MeasurableSpace α
μ : Measure α
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : Countable β
inst✝³ : TopologicalSpace α
inst✝² : BorelSpace α
inst✝¹ : MetrizableSpace α
inst✝ : IsLocallyFiniteMeasure μ
f : C(α, E)
s : β → Compacts α
hf : Summable fun i => ‖ContinuousMap.restrict (↑(s i)) f‖ * ENNReal.toReal (↑↑μ ↑(s i))
i : β
⊢ ‖∫ (x : α) in ↑(s i), ‖↑f x‖ ∂μ‖ ≤ ‖ContinuousMap.restrict (↑(s i)) f‖ * ENNReal.toReal (↑↑μ ↑(s i))
[PROOFSTEP]
exact
  norm_set_integral_le_of_norm_le_const' (s i).isCompact.measure_lt_top (s i).isCompact.isClosed.measurableSet
    fun x hx => (norm_norm (f x)).symm ▸ (f.restrict (s i : Set α)).norm_coe_le_norm ⟨x, hx⟩
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : MeasurableSpace α
μ : Measure α
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : Countable β
inst✝³ : TopologicalSpace α
inst✝² : BorelSpace α
inst✝¹ : MetrizableSpace α
inst✝ : IsLocallyFiniteMeasure μ
f : C(α, E)
s : β → Compacts α
hf : Summable fun i => ‖ContinuousMap.restrict (↑(s i)) f‖ * ENNReal.toReal (↑↑μ ↑(s i))
hs : ⋃ (i : β), ↑(s i) = univ
⊢ Integrable ↑f
[PROOFSTEP]
simpa only [hs, integrableOn_univ] using integrableOn_iUnion_of_summable_norm_restrict hf
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))
[PROOFSTEP]
let bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))
[PROOFSTEP]
have h_int_eq : (fun i => ∫ a in s i, f a ∂μ) = fun i => ∫ a, (s i).indicator f a ∂μ :=
  funext fun i => (integral_indicator (hsm i)).symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))
[PROOFSTEP]
rw [h_int_eq]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Tendsto (fun i => ∫ (a : α), indicator (s i) f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))
[PROOFSTEP]
rw [← integral_indicator (MeasurableSet.iInter hsm)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Tendsto (fun i => ∫ (a : α), indicator (s i) f a ∂μ) atTop
    (𝓝 (∫ (x : α), indicator (⋂ (b : ℕ), s b) (fun a => f a) x ∂μ))
[PROOFSTEP]
refine' tendsto_integral_of_dominated_convergence bound _ _ _ _
[GOAL]
case refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ (n : ℕ), AEStronglyMeasurable (fun a => indicator (s n) f a) μ
[PROOFSTEP]
intro n
[GOAL]
case refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
n : ℕ
⊢ AEStronglyMeasurable (fun a => indicator (s n) f a) μ
[PROOFSTEP]
rw [aestronglyMeasurable_indicator_iff (hsm n)]
[GOAL]
case refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
n : ℕ
⊢ AEStronglyMeasurable f (Measure.restrict μ (s n))
[PROOFSTEP]
exact (IntegrableOn.mono_set hfi (h_anti (zero_le n))).1
[GOAL]
case refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Integrable bound
[PROOFSTEP]
rw [integrable_indicator_iff (hsm 0)]
[GOAL]
case refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ IntegrableOn (fun a => ‖f a‖) (s 0)
[PROOFSTEP]
exact hfi.norm
[GOAL]
case refine'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ (n : ℕ), ∀ᵐ (a : α) ∂μ, ‖indicator (s n) f a‖ ≤ bound a
[PROOFSTEP]
simp_rw [norm_indicator_eq_indicator_norm]
[GOAL]
case refine'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ (n : ℕ), ∀ᵐ (a : α) ∂μ, indicator (s n) (fun a => ‖f a‖) a ≤ indicator (s 0) (fun a => ‖f a‖) a
[PROOFSTEP]
refine' fun n => eventually_of_forall fun x => _
[GOAL]
case refine'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
n : ℕ
x : α
⊢ indicator (s n) (fun a => ‖f a‖) x ≤ indicator (s 0) (fun a => ‖f a‖) x
[PROOFSTEP]
exact indicator_le_indicator_of_subset (h_anti (zero_le n)) (fun a => norm_nonneg _) _
[GOAL]
case refine'_4
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ᵐ (a : α) ∂μ, Tendsto (fun n => indicator (s n) f a) atTop (𝓝 (indicator (⋂ (b : ℕ), s b) (fun a => f a) a))
[PROOFSTEP]
filter_upwards [] with a using le_trans (h_anti.tendsto_indicator _ _ _) (pure_le_nhds _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
⊢ Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p) =
    Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
⊢ ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) =ᵐ[Measure.restrict μ s]
    ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p))
[PROOFSTEP]
refine' (ae_restrict_of_ae (Lp.coeFn_add f g)).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(f + g) x = (↑↑f + ↑↑g) x →
      ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) x =
        ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x
[PROOFSTEP]
refine' (Lp.coeFn_add (Memℒp.toLp f ((Lp.memℒp f).restrict s)) (Memℒp.toLp g ((Lp.memℒp g).restrict s))).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x =
        (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) + ↑↑(Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p))) x →
      ↑↑(f + g) x = (↑↑f + ↑↑g) x →
        ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) x =
          ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x
[PROOFSTEP]
refine' (Memℒp.coeFn_toLp ((Lp.memℒp f).restrict s)).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = ↑↑f x →
      ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x =
          (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) + ↑↑(Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p))) x →
        ↑↑(f + g) x = (↑↑f + ↑↑g) x →
          ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) x =
            ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x
[PROOFSTEP]
refine' (Memℒp.coeFn_toLp ((Lp.memℒp g).restrict s)).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x = ↑↑g x →
      ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = ↑↑f x →
        ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x =
            (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) + ↑↑(Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p))) x →
          ↑↑(f + g) x = (↑↑f + ↑↑g) x →
            ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) x =
              ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x
[PROOFSTEP]
refine' (Memℒp.coeFn_toLp ((Lp.memℒp (f + g)).restrict s)).mono fun x hx1 hx2 hx3 hx4 hx5 => _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
f g : { x // x ∈ Lp E p }
s : Set α
x : α
hx1 : ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) x = ↑↑(f + g) x
hx2 : ↑↑(Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x = ↑↑g x
hx3 : ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = ↑↑f x
hx4 :
  ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x =
    (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) + ↑↑(Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p))) x
hx5 : ↑↑(f + g) x = (↑↑f + ↑↑g) x
⊢ ↑↑(Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p)) x =
    ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) x
[PROOFSTEP]
rw [hx4, hx1, Pi.add_apply, hx2, hx3, hx5, Pi.add_apply]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
c : 𝕜
f : { x // x ∈ Lp F p }
s : Set α
⊢ Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p) = c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)
[PROOFSTEP]
ext1
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
c : 𝕜
f : { x // x ∈ Lp F p }
s : Set α
⊢ ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) =ᵐ[Measure.restrict μ s] ↑↑(c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p))
[PROOFSTEP]
refine' (ae_restrict_of_ae (Lp.coeFn_smul c f)).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
c : 𝕜
f : { x // x ∈ Lp F p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(c • f) x = (c • ↑↑f) x →
      ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) x = ↑↑(c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x
[PROOFSTEP]
refine' (Memℒp.coeFn_toLp ((Lp.memℒp f).restrict s)).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
c : 𝕜
f : { x // x ∈ Lp F p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = ↑↑f x →
      ↑↑(c • f) x = (c • ↑↑f) x →
        ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) x = ↑↑(c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x
[PROOFSTEP]
refine' (Memℒp.coeFn_toLp ((Lp.memℒp (c • f)).restrict s)).mp _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
c : 𝕜
f : { x // x ∈ Lp F p }
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s,
    ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) x = ↑↑(c • f) x →
      ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = ↑↑f x →
        ↑↑(c • f) x = (c • ↑↑f) x →
          ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) x = ↑↑(c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x
[PROOFSTEP]
refine' (Lp.coeFn_smul c (Memℒp.toLp f ((Lp.memℒp f).restrict s))).mono fun x hx1 hx2 hx3 hx4 => _
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
c : 𝕜
f : { x // x ∈ Lp F p }
s : Set α
x : α
hx1 : ↑↑(c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = (c • ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p))) x
hx2 : ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) x = ↑↑(c • f) x
hx3 : ↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x = ↑↑f x
hx4 : ↑↑(c • f) x = (c • ↑↑f) x
⊢ ↑↑(Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p)) x = ↑↑(c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) x
[PROOFSTEP]
rw [hx2, hx1, Pi.smul_apply, hx3, hx4, Pi.smul_apply]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
s : Set α
f : { x // x ∈ Lp E p }
⊢ ‖Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)‖ ≤ ‖f‖
[PROOFSTEP]
rw [Lp.norm_def, Lp.norm_def, ENNReal.toReal_le_toReal (Lp.snorm_ne_top _) (Lp.snorm_ne_top _)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
s : Set α
f : { x // x ∈ Lp E p }
⊢ snorm (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p))) p (Measure.restrict μ s) ≤ snorm (↑↑f) p μ
[PROOFSTEP]
refine' (le_of_eq _).trans (snorm_mono_measure _ Measure.restrict_le_self)
[GOAL]
case refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
s : Set α
f : { x // x ∈ Lp E p }
⊢ snorm (↑↑(Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p))) p (Measure.restrict μ s) =
    snorm (↑↑f) p (Measure.restrict μ ?refine'_2)
case refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
s : Set α
f : { x // x ∈ Lp E p }
⊢ Set α
[PROOFSTEP]
exact snorm_congr_ae (Memℒp.coeFn_toLp _)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p✝ : ℝ≥0∞
μ✝ μ : Measure α
p : ℝ≥0∞
hp : Fact (1 ≤ p)
s : Set α
⊢ ∀ (x : { x // x ∈ Lp F p }),
    ‖↑{
              toAddHom :=
                { toFun := fun f => Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p),
                  map_add' :=
                    (_ :
                      ∀ (f g : { x // x ∈ Lp F p }),
                        Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p) =
                          Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) },
              map_smul' :=
                (_ :
                  ∀ (c : 𝕜) (f : { x // x ∈ Lp F p }),
                    Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p) = c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) }
          x‖ ≤
      1 * ‖x‖
[PROOFSTEP]
intro f
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p✝ : ℝ≥0∞
μ✝ μ : Measure α
p : ℝ≥0∞
hp : Fact (1 ≤ p)
s : Set α
f : { x // x ∈ Lp F p }
⊢ ‖↑{
            toAddHom :=
              { toFun := fun f => Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p),
                map_add' :=
                  (_ :
                    ∀ (f g : { x // x ∈ Lp F p }),
                      Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p) =
                        Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) },
            map_smul' :=
              (_ :
                ∀ (c : 𝕜) (f : { x // x ∈ Lp F p }),
                  Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p) = c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) }
        f‖ ≤
    1 * ‖f‖
[PROOFSTEP]
rw [one_mul]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p✝ : ℝ≥0∞
μ✝ μ : Measure α
p : ℝ≥0∞
hp : Fact (1 ≤ p)
s : Set α
f : { x // x ∈ Lp F p }
⊢ ‖↑{
            toAddHom :=
              { toFun := fun f => Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p),
                map_add' :=
                  (_ :
                    ∀ (f g : { x // x ∈ Lp F p }),
                      Memℒp.toLp ↑↑(f + g) (_ : Memℒp (↑↑(f + g)) p) =
                        Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p) + Memℒp.toLp ↑↑g (_ : Memℒp (↑↑g) p)) },
            map_smul' :=
              (_ :
                ∀ (c : 𝕜) (f : { x // x ∈ Lp F p }),
                  Memℒp.toLp ↑↑(c • f) (_ : Memℒp (↑↑(c • f)) p) = c • Memℒp.toLp ↑↑f (_ : Memℒp (↑↑f) p)) }
        f‖ ≤
    ‖f‖
[PROOFSTEP]
exact norm_Lp_toLp_restrict_le s f
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
inst✝ : NormedSpace ℝ E
s : Set α
⊢ Continuous fun f => ∫ (x : α) in s, ↑↑f x ∂μ
[PROOFSTEP]
haveI : Fact ((1 : ℝ≥0∞) ≤ 1) := ⟨le_rfl⟩
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
inst✝ : NormedSpace ℝ E
s : Set α
this : Fact (1 ≤ 1)
⊢ Continuous fun f => ∫ (x : α) in s, ↑↑f x ∂μ
[PROOFSTEP]
have h_comp :
  (fun f : α →₁[μ] E => ∫ x in s, f x ∂μ) = integral (μ.restrict s) ∘ fun f => LpToLpRestrictCLM α E ℝ μ 1 s f :=
  by
  ext1 f
  rw [Function.comp_apply, integral_congr_ae (LpToLpRestrictCLM_coeFn ℝ s f)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
inst✝ : NormedSpace ℝ E
s : Set α
this : Fact (1 ≤ 1)
⊢ (fun f => ∫ (x : α) in s, ↑↑f x ∂μ) =
    integral (Measure.restrict μ s) ∘ fun f => ↑↑(↑(LpToLpRestrictCLM α E ℝ μ 1 s) f)
[PROOFSTEP]
ext1 f
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
inst✝ : NormedSpace ℝ E
s : Set α
this : Fact (1 ≤ 1)
f : { x // x ∈ Lp E 1 }
⊢ ∫ (x : α) in s, ↑↑f x ∂μ = (integral (Measure.restrict μ s) ∘ fun f => ↑↑(↑(LpToLpRestrictCLM α E ℝ μ 1 s) f)) f
[PROOFSTEP]
rw [Function.comp_apply, integral_congr_ae (LpToLpRestrictCLM_coeFn ℝ s f)]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
inst✝ : NormedSpace ℝ E
s : Set α
this : Fact (1 ≤ 1)
h_comp :
  (fun f => ∫ (x : α) in s, ↑↑f x ∂μ) =
    integral (Measure.restrict μ s) ∘ fun f => ↑↑(↑(LpToLpRestrictCLM α E ℝ μ 1 s) f)
⊢ Continuous fun f => ∫ (x : α) in s, ↑↑f x ∂μ
[PROOFSTEP]
rw [h_comp]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure α
inst✝ : NormedSpace ℝ E
s : Set α
this : Fact (1 ≤ 1)
h_comp :
  (fun f => ∫ (x : α) in s, ↑↑f x ∂μ) =
    integral (Measure.restrict μ s) ∘ fun f => ↑↑(↑(LpToLpRestrictCLM α E ℝ μ 1 s) f)
⊢ Continuous (integral (Measure.restrict μ s) ∘ fun f => ↑↑(↑(LpToLpRestrictCLM α E ℝ μ 1 s) f))
[PROOFSTEP]
exact continuous_integral.comp (LpToLpRestrictCLM α E ℝ μ 1 s).continuous
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
⊢ (fun i => ∫ (x : α) in s i, f x ∂μ - m i • b) =o[li] m
[PROOFSTEP]
suffices : (fun s => (∫ x in s, f x ∂μ) - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
this : (fun s => ∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b) =o[smallSets l] fun s => ENNReal.toReal (↑↑μ s)
⊢ (fun i => ∫ (x : α) in s i, f x ∂μ - m i • b) =o[li] m
case this
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
⊢ (fun s => ∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b) =o[smallSets l] fun s => ENNReal.toReal (↑↑μ s)
[PROOFSTEP]
exact (this.comp_tendsto hs).congr' (hsμ.mono fun a ha => by dsimp only [Function.comp_apply] at ha ⊢; rw [ha]) hsμ
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
this : (fun s => ∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b) =o[smallSets l] fun s => ENNReal.toReal (↑↑μ s)
a : ι
ha : (fun i => ENNReal.toReal (↑↑μ (s i))) a = m a
⊢ ((fun s => ∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b) ∘ s) a =
    (fun i => ∫ (x : α) in s i, f x ∂μ - m i • b) a
[PROOFSTEP]
dsimp only [Function.comp_apply] at ha ⊢
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
this : (fun s => ∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b) =o[smallSets l] fun s => ENNReal.toReal (↑↑μ s)
a : ι
ha : ENNReal.toReal (↑↑μ (s a)) = m a
⊢ ∫ (x : α) in s a, f x ∂μ - ENNReal.toReal (↑↑μ (s a)) • b = ∫ (x : α) in s a, f x ∂μ - m a • b
[PROOFSTEP]
rw [ha]
[GOAL]
case this
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
⊢ (fun s => ∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b) =o[smallSets l] fun s => ENNReal.toReal (↑↑μ s)
[PROOFSTEP]
refine' isLittleO_iff.2 fun ε ε₀ => _
[GOAL]
case this
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
⊢ ∀ᶠ (x : Set α) in smallSets l, ‖∫ (x : α) in x, f x ∂μ - ENNReal.toReal (↑↑μ x) • b‖ ≤ ε * ‖ENNReal.toReal (↑↑μ x)‖
[PROOFSTEP]
have : ∀ᶠ s in l.smallSets, ∀ᶠ x in μ.ae, x ∈ s → f x ∈ closedBall b ε :=
  eventually_smallSets_eventually.2 (h.eventually <| closedBall_mem_nhds _ ε₀)
[GOAL]
case this
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set α) in smallSets l, ∀ᵐ (x : α) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ᶠ (x : Set α) in smallSets l, ‖∫ (x : α) in x, f x ∂μ - ENNReal.toReal (↑↑μ x) • b‖ ≤ ε * ‖ENNReal.toReal (↑↑μ x)‖
[PROOFSTEP]
filter_upwards [hμ.eventually, (hμ.integrableAtFilter_of_tendsto_ae hfm h).eventually, hfm.eventually, this]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set α) in smallSets l, ∀ᵐ (x : α) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ (a : Set α),
    ↑↑μ a < ⊤ →
      IntegrableOn f a →
        AEStronglyMeasurable f (Measure.restrict μ a) →
          (∀ᵐ (x : α) ∂μ, x ∈ a → f x ∈ closedBall b ε) →
            ‖∫ (x : α) in a, f x ∂μ - ENNReal.toReal (↑↑μ a) • b‖ ≤ ε * ‖ENNReal.toReal (↑↑μ a)‖
[PROOFSTEP]
simp only [mem_closedBall, dist_eq_norm]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s : ι → Set α
li : Filter ι
hs : Tendsto s li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s i))) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set α) in smallSets l, ∀ᵐ (x : α) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ (a : Set α),
    ↑↑μ a < ⊤ →
      IntegrableOn f a →
        AEStronglyMeasurable f (Measure.restrict μ a) →
          (∀ᵐ (x : α) ∂μ, x ∈ a → ‖f x - b‖ ≤ ε) →
            ‖∫ (x : α) in a, f x ∂μ - ENNReal.toReal (↑↑μ a) • b‖ ≤ ε * ‖ENNReal.toReal (↑↑μ a)‖
[PROOFSTEP]
intro s hμs h_integrable hfm h_norm
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm✝ : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s✝ : ι → Set α
li : Filter ι
hs : Tendsto s✝ li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s✝ i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s✝ i))) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set α) in smallSets l, ∀ᵐ (x : α) ∂μ, x ∈ s → f x ∈ closedBall b ε
s : Set α
hμs : ↑↑μ s < ⊤
h_integrable : IntegrableOn f s
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
h_norm : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x - b‖ ≤ ε
⊢ ‖∫ (x : α) in s, f x ∂μ - ENNReal.toReal (↑↑μ s) • b‖ ≤ ε * ‖ENNReal.toReal (↑↑μ s)‖
[PROOFSTEP]
rw [← set_integral_const, ← integral_sub h_integrable (integrableOn_const.2 <| Or.inr hμs), Real.norm_eq_abs,
  abs_of_nonneg ENNReal.toReal_nonneg]
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace α
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure α
l : Filter α
inst✝ : IsMeasurablyGenerated l
f : α → E
b : E
h : Tendsto f (l ⊓ Measure.ae μ) (𝓝 b)
hfm✝ : StronglyMeasurableAtFilter f l
hμ : Measure.FiniteAtFilter μ l
s✝ : ι → Set α
li : Filter ι
hs : Tendsto s✝ li (smallSets l)
m : optParam (ι → ℝ) fun i => ENNReal.toReal (↑↑μ (s✝ i))
hsμ : autoParam ((fun i => ENNReal.toReal (↑↑μ (s✝ i))) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set α) in smallSets l, ∀ᵐ (x : α) ∂μ, x ∈ s → f x ∈ closedBall b ε
s : Set α
hμs : ↑↑μ s < ⊤
h_integrable : IntegrableOn f s
hfm : AEStronglyMeasurable f (Measure.restrict μ s)
h_norm : ∀ᵐ (x : α) ∂μ, x ∈ s → ‖f x - b‖ ≤ ε
⊢ ‖∫ (a : α) in s, f a - b ∂μ‖ ≤ ε * ENNReal.toReal (↑↑μ s)
[PROOFSTEP]
exact norm_set_integral_le_of_norm_le_const_ae' hμs h_norm (hfm.sub aestronglyMeasurable_const)
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁷ : MeasurableSpace α
ι : Type u_5
inst✝⁶ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
L : E →L[𝕜] F
⊢ Continuous fun φ => ∫ (a : α), ↑L (↑↑φ a) ∂μ
[PROOFSTEP]
rw [← funext L.integral_compLp]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁷ : MeasurableSpace α
ι : Type u_5
inst✝⁶ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
L : E →L[𝕜] F
⊢ Continuous fun x => ∫ (a : α), ↑↑(compLp L x) a ∂μ
[PROOFSTEP]
exact continuous_integral.comp (L.compLpL 1 μ).continuous
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∫ (a : α), ↑L (φ a) ∂μ = ↑L (∫ (a : α), φ a ∂μ)
[PROOFSTEP]
apply Integrable.induction (P := fun φ => (∫ a, L (φ a) ∂μ) = L (∫ a, φ a ∂μ))
[GOAL]
case h_ind
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∀ (c : E) ⦃s : Set α⦄,
    MeasurableSet s →
      ↑↑?m.376460 s < ⊤ → ∫ (a : α), ↑L (indicator s (fun x => c) a) ∂μ = ↑L (∫ (a : α), indicator s (fun x => c) a ∂μ)
[PROOFSTEP]
intro e s s_meas _
[GOAL]
case h_ind
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.376460 s < ⊤
⊢ ∫ (a : α), ↑L (indicator s (fun x => e) a) ∂μ = ↑L (∫ (a : α), indicator s (fun x => e) a ∂μ)
[PROOFSTEP]
rw [integral_indicator_const e s_meas, ← @smul_one_smul E ℝ 𝕜 _ _ _ _ _ (μ s).toReal e, ContinuousLinearMap.map_smul,
  @smul_one_smul F ℝ 𝕜 _ _ _ _ _ (μ s).toReal (L e), ← integral_indicator_const (L e) s_meas]
[GOAL]
case h_ind
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.376460 s < ⊤
⊢ ∫ (a : α), ↑L (indicator s (fun x => e) a) ∂μ = ∫ (a : α), indicator s (fun x => ↑L e) a ∂μ
[PROOFSTEP]
congr 1 with a
[GOAL]
case h_ind.e_f.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.376460 s < ⊤
a : α
⊢ ↑L (indicator s (fun x => e) a) = indicator s (fun x => ↑L e) a
[PROOFSTEP]
erw [Set.indicator_comp_of_zero L.map_zero]
[GOAL]
case h_ind.e_f.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.376460 s < ⊤
a : α
⊢ ↑L (indicator s (fun x => e) a) = (↑L ∘ indicator s fun x => e) a
[PROOFSTEP]
rfl
[GOAL]
case h_add
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∀ ⦃f g : α → E⦄,
    Disjoint (support f) (support g) →
      Integrable f →
        Integrable g →
          ∫ (a : α), ↑L (f a) ∂μ = ↑L (∫ (a : α), f a ∂μ) →
            ∫ (a : α), ↑L (g a) ∂μ = ↑L (∫ (a : α), g a ∂μ) →
              ∫ (a : α), ↑L ((f + g) a) ∂μ = ↑L (∫ (a : α), (f + g) a ∂μ)
[PROOFSTEP]
intro f g _ f_int g_int hf hg
[GOAL]
case h_add
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
a✝ : Disjoint (support f) (support g)
f_int : Integrable f
g_int : Integrable g
hf : ∫ (a : α), ↑L (f a) ∂μ = ↑L (∫ (a : α), f a ∂μ)
hg : ∫ (a : α), ↑L (g a) ∂μ = ↑L (∫ (a : α), g a ∂μ)
⊢ ∫ (a : α), ↑L ((f + g) a) ∂μ = ↑L (∫ (a : α), (f + g) a ∂μ)
[PROOFSTEP]
simp [L.map_add, integral_add (μ := μ) f_int g_int,
  integral_add (μ := μ) (L.integrable_comp f_int) (L.integrable_comp g_int), hf, hg]
[GOAL]
case h_closed
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ IsClosed {f | ∫ (a : α), ↑L (↑↑f a) ∂μ = ↑L (∫ (a : α), ↑↑f a ∂μ)}
[PROOFSTEP]
exact isClosed_eq L.continuous_integral_comp_L1 (L.continuous.comp continuous_integral)
[GOAL]
case h_ae
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∀ ⦃f g : α → E⦄,
    f =ᵐ[μ] g →
      Integrable f → ∫ (a : α), ↑L (f a) ∂μ = ↑L (∫ (a : α), f a ∂μ) → ∫ (a : α), ↑L (g a) ∂μ = ↑L (∫ (a : α), g a ∂μ)
[PROOFSTEP]
intro f g hfg _ hf
[GOAL]
case h_ae
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
hf : ∫ (a : α), ↑L (f a) ∂μ = ↑L (∫ (a : α), f a ∂μ)
⊢ ∫ (a : α), ↑L (g a) ∂μ = ↑L (∫ (a : α), g a ∂μ)
[PROOFSTEP]
convert hf using 1
[GOAL]
case h.e'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
hf : ∫ (a : α), ↑L (f a) ∂μ = ↑L (∫ (a : α), f a ∂μ)
⊢ ∫ (a : α), ↑L (g a) ∂μ = ∫ (a : α), ↑L (f a) ∂μ
[PROOFSTEP]
clear hf
[GOAL]
case h.e'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
hf : ∫ (a : α), ↑L (f a) ∂μ = ↑L (∫ (a : α), f a ∂μ)
⊢ ↑L (∫ (a : α), g a ∂μ) = ↑L (∫ (a : α), f a ∂μ)
[PROOFSTEP]
clear hf
[GOAL]
case h.e'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
⊢ ∫ (a : α), ↑L (g a) ∂μ = ∫ (a : α), ↑L (f a) ∂μ
[PROOFSTEP]
exact integral_congr_ae (hfg.fun_comp L).symm
[GOAL]
case h.e'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
⊢ ↑L (∫ (a : α), g a ∂μ) = ↑L (∫ (a : α), f a ∂μ)
[PROOFSTEP]
rw [integral_congr_ae hfg.symm]
[GOAL]
case a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ Integrable fun a => φ a
[PROOFSTEP]
all_goals assumption
[GOAL]
case a
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ Integrable fun a => φ a
[PROOFSTEP]
assumption
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
K : ℝ≥0
hL : AntilipschitzWith K ↑L
φ : α → E
⊢ ∫ (a : α), ↑L (φ a) ∂μ = ↑L (∫ (a : α), φ a ∂μ)
[PROOFSTEP]
by_cases h : Integrable φ μ
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
K : ℝ≥0
hL : AntilipschitzWith K ↑L
φ : α → E
h : Integrable φ
⊢ ∫ (a : α), ↑L (φ a) ∂μ = ↑L (∫ (a : α), φ a ∂μ)
[PROOFSTEP]
exact integral_comp_comm L h
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
K : ℝ≥0
hL : AntilipschitzWith K ↑L
φ : α → E
h : ¬Integrable φ
⊢ ∫ (a : α), ↑L (φ a) ∂μ = ↑L (∫ (a : α), φ a ∂μ)
[PROOFSTEP]
have : ¬Integrable (fun a => L (φ a)) μ :=
  by
  erw [LipschitzWith.integrable_comp_iff_of_antilipschitz L.lipschitz hL L.map_zero]
  assumption
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
K : ℝ≥0
hL : AntilipschitzWith K ↑L
φ : α → E
h : ¬Integrable φ
⊢ ¬Integrable fun a => ↑L (φ a)
[PROOFSTEP]
erw [LipschitzWith.integrable_comp_iff_of_antilipschitz L.lipschitz hL L.map_zero]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
K : ℝ≥0
hL : AntilipschitzWith K ↑L
φ : α → E
h : ¬Integrable φ
⊢ ¬Integrable fun a => φ a
[PROOFSTEP]
assumption
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
K : ℝ≥0
hL : AntilipschitzWith K ↑L
φ : α → E
h : ¬Integrable φ
this : ¬Integrable fun a => ↑L (φ a)
⊢ ∫ (a : α), ↑L (φ a) ∂μ = ↑L (∫ (a : α), φ a ∂μ)
[PROOFSTEP]
simp [integral_undef, h, this]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
⊢ ∫ (x : α), ↑(↑IsROrC.re (f x)) ∂μ + (∫ (x : α), ↑(↑IsROrC.im (f x)) ∂μ) * IsROrC.I = ∫ (x : α), f x ∂μ
[PROOFSTEP]
rw [mul_comm, ← smul_eq_mul, ← integral_smul, ← integral_add]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
⊢ ∫ (a : α), ↑(↑IsROrC.re (f a)) + IsROrC.I • ↑(↑IsROrC.im (f a)) ∂μ = ∫ (x : α), f x ∂μ
[PROOFSTEP]
congr
[GOAL]
case e_f
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
⊢ (fun a => ↑(↑IsROrC.re (f a)) + IsROrC.I • ↑(↑IsROrC.im (f a))) = fun x => f x
[PROOFSTEP]
ext1 x
[GOAL]
case e_f.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
x : α
⊢ ↑(↑IsROrC.re (f x)) + IsROrC.I • ↑(↑IsROrC.im (f x)) = f x
[PROOFSTEP]
rw [smul_eq_mul, mul_comm, IsROrC.re_add_im]
[GOAL]
case hf
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
⊢ Integrable fun x => ↑(↑IsROrC.re (f x))
[PROOFSTEP]
exact hf.re.ofReal
[GOAL]
case hg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
⊢ Integrable fun a => IsROrC.I • ↑(↑IsROrC.im (f a))
[PROOFSTEP]
exact hf.im.ofReal.smul (𝕜 := 𝕜) (β := 𝕜) IsROrC.I
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → 𝕜
hf : Integrable f
⊢ ↑(∫ (x : α), ↑IsROrC.re (f x) ∂μ) + ↑(∫ (x : α), ↑IsROrC.im (f x) ∂μ) * IsROrC.I = ∫ (x : α), f x ∂μ
[PROOFSTEP]
rw [← integral_ofReal, ← integral_ofReal, integral_coe_re_add_coe_im hf]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
⊢ ∫ (x : α), f x • c ∂μ = (∫ (x : α), f x ∂μ) • c
[PROOFSTEP]
by_cases hf : Integrable f μ
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
hf : Integrable f
⊢ ∫ (x : α), f x • c ∂μ = (∫ (x : α), f x ∂μ) • c
[PROOFSTEP]
exact ((1 : 𝕜 →L[𝕜] 𝕜).smulRight c).integral_comp_comm hf
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
hf : ¬Integrable f
⊢ ∫ (x : α), f x • c ∂μ = (∫ (x : α), f x ∂μ) • c
[PROOFSTEP]
by_cases hc : c = 0
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
hf : ¬Integrable f
hc : c = 0
⊢ ∫ (x : α), f x • c ∂μ = (∫ (x : α), f x ∂μ) • c
[PROOFSTEP]
simp only [hc, integral_zero, smul_zero]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
hf : ¬Integrable f
hc : ¬c = 0
⊢ ∫ (x : α), f x • c ∂μ = (∫ (x : α), f x ∂μ) • c
[PROOFSTEP]
rw [integral_undef hf, integral_undef, zero_smul]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
hf : ¬Integrable f
hc : ¬c = 0
⊢ ¬Integrable fun x => f x • c
[PROOFSTEP]
rw [integrable_smul_const hc]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹¹ : MeasurableSpace α
ι : Type u_5
inst✝¹⁰ : NormedAddCommGroup E
μ : Measure α
𝕜✝ : Type u_6
inst✝⁹ : IsROrC 𝕜✝
inst✝⁸ : NormedSpace 𝕜✝ E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜✝ F
p : ℝ≥0∞
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
𝕜 : Type u_7
inst✝¹ : IsROrC 𝕜
inst✝ : NormedSpace 𝕜 E
f : α → 𝕜
c : E
hf : ¬Integrable f
hc : ¬c = 0
⊢ ¬Integrable fun x => f x
[PROOFSTEP]
simp_rw [hf]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
by_cases hg : Integrable g (μ.withDensity fun x => f x)
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : ¬Integrable g
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
swap
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : ¬Integrable g
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
rw [integral_undef hg, integral_undef]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : ¬Integrable g
⊢ ¬Integrable fun a => f a • g a
[PROOFSTEP]
rwa [← integrable_withDensity_iff_integrable_smul f_meas]
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
refine' Integrable.induction (P := fun g => ∫ a, g a ∂μ.withDensity (fun x => f x) = ∫ a, f a • g a ∂μ) _ _ _ _ hg
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
⊢ ∀ (c : E) ⦃s : Set α⦄,
    MeasurableSet s →
      ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤ →
        (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ)
          (indicator s fun x => c)
[PROOFSTEP]
intro c s s_meas hs
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ (∫ (a : α), indicator s (fun x => c) a ∂Measure.withDensity μ fun x => ↑(f x)) =
    ∫ (a : α), f a • indicator s (fun x => c) a ∂μ
[PROOFSTEP]
rw [integral_indicator s_meas]
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ (∫ (x : α) in s, c ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • indicator s (fun x => c) a ∂μ
[PROOFSTEP]
simp_rw [← indicator_smul_apply, integral_indicator s_meas]
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ (∫ (x : α) in s, c ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (x : α) in s, f x • c ∂μ
[PROOFSTEP]
simp only [s_meas, integral_const, Measure.restrict_apply', univ_inter, withDensity_apply]
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ ENNReal.toReal (∫⁻ (x : α) in s, ↑(f x) ∂μ) • c = ∫ (x : α) in s, f x • c ∂μ
[PROOFSTEP]
rw [lintegral_coe_eq_integral, ENNReal.toReal_ofReal, ← integral_smul_const]
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ ∫ (x : α) in s, ↑(f x) • c ∂μ = ∫ (x : α) in s, f x • c ∂μ
[PROOFSTEP]
rfl
[GOAL]
case pos.refine'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ 0 ≤ ∫ (a : α) in s, ↑(f a) ∂μ
[PROOFSTEP]
exact integral_nonneg fun x => NNReal.coe_nonneg _
[GOAL]
case pos.refine'_1.hfi
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ Integrable fun x => ↑(f x)
[PROOFSTEP]
refine' ⟨f_meas.coe_nnreal_real.aemeasurable.aestronglyMeasurable, _⟩
[GOAL]
case pos.refine'_1.hfi
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ↑↑(Measure.withDensity μ fun x => ↑(f x)) s < ⊤
⊢ HasFiniteIntegral fun x => ↑(f x)
[PROOFSTEP]
rw [withDensity_apply _ s_meas] at hs 
[GOAL]
case pos.refine'_1.hfi
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ∫⁻ (a : α) in s, ↑(f a) ∂μ < ⊤
⊢ HasFiniteIntegral fun x => ↑(f x)
[PROOFSTEP]
rw [HasFiniteIntegral]
[GOAL]
case pos.refine'_1.hfi
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ∫⁻ (a : α) in s, ↑(f a) ∂μ < ⊤
⊢ ∫⁻ (a : α) in s, ↑‖↑(f a)‖₊ ∂μ < ⊤
[PROOFSTEP]
convert hs with x
[GOAL]
case h.e'_3.h.e'_4.h.h.e'_1
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
c : E
s : Set α
s_meas : MeasurableSet s
hs : ∫⁻ (a : α) in s, ↑(f a) ∂μ < ⊤
x : α
⊢ ‖↑(f x)‖₊ = f x
[PROOFSTEP]
simp only [NNReal.nnnorm_eq]
[GOAL]
case pos.refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
⊢ ∀ ⦃f_1 g : α → E⦄,
    Disjoint (support f_1) (support g) →
      Integrable f_1 →
        Integrable g →
          (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) f_1 →
            (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) g →
              (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) (f_1 + g)
[PROOFSTEP]
intro u u' _ u_int u'_int h h'
[GOAL]
case pos.refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u u' : α → E
a✝ : Disjoint (support u) (support u')
u_int : Integrable u
u'_int : Integrable u'
h : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
h' : (∫ (a : α), u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u' a ∂μ
⊢ (∫ (a : α), (u + u') a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • (u + u') a ∂μ
[PROOFSTEP]
change (∫ a : α, u a + u' a ∂μ.withDensity fun x : α => ↑(f x)) = ∫ a : α, f a • (u a + u' a) ∂μ
[GOAL]
case pos.refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u u' : α → E
a✝ : Disjoint (support u) (support u')
u_int : Integrable u
u'_int : Integrable u'
h : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
h' : (∫ (a : α), u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u' a ∂μ
⊢ (∫ (a : α), u a + u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • (u a + u' a) ∂μ
[PROOFSTEP]
simp_rw [smul_add]
[GOAL]
case pos.refine'_2
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u u' : α → E
a✝ : Disjoint (support u) (support u')
u_int : Integrable u
u'_int : Integrable u'
h : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
h' : (∫ (a : α), u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u' a ∂μ
⊢ (∫ (a : α), u a + u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a + f a • u' a ∂μ
[PROOFSTEP]
rw [integral_add u_int u'_int, h, h', integral_add]
[GOAL]
case pos.refine'_2.hf
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u u' : α → E
a✝ : Disjoint (support u) (support u')
u_int : Integrable u
u'_int : Integrable u'
h : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
h' : (∫ (a : α), u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u' a ∂μ
⊢ Integrable fun a => f a • u a
[PROOFSTEP]
exact (integrable_withDensity_iff_integrable_smul f_meas).1 u_int
[GOAL]
case pos.refine'_2.hg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u u' : α → E
a✝ : Disjoint (support u) (support u')
u_int : Integrable u
u'_int : Integrable u'
h : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
h' : (∫ (a : α), u' a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u' a ∂μ
⊢ Integrable fun a => f a • u' a
[PROOFSTEP]
exact (integrable_withDensity_iff_integrable_smul f_meas).1 u'_int
[GOAL]
case pos.refine'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
⊢ IsClosed {f_1 | (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) ↑↑f_1}
[PROOFSTEP]
have C1 : Continuous fun u : Lp E 1 (μ.withDensity fun x => f x) => ∫ x, u x ∂μ.withDensity fun x => f x :=
  continuous_integral
[GOAL]
case pos.refine'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
C1 : Continuous fun u => ∫ (x : α), ↑↑u x ∂Measure.withDensity μ fun x => ↑(f x)
⊢ IsClosed {f_1 | (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) ↑↑f_1}
[PROOFSTEP]
have C2 : Continuous fun u : Lp E 1 (μ.withDensity fun x => f x) => ∫ x, f x • u x ∂μ :=
  by
  have : Continuous ((fun u : Lp E 1 μ => ∫ x, u x ∂μ) ∘ withDensitySMulLI (E := E) μ f_meas) :=
    continuous_integral.comp (withDensitySMulLI (E := E) μ f_meas).continuous
  convert this with u
  simp only [Function.comp_apply, withDensitySMulLI_apply]
  exact integral_congr_ae (memℒ1_smul_of_L1_withDensity f_meas u).coeFn_toLp.symm
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
C1 : Continuous fun u => ∫ (x : α), ↑↑u x ∂Measure.withDensity μ fun x => ↑(f x)
⊢ Continuous fun u => ∫ (x : α), f x • ↑↑u x ∂μ
[PROOFSTEP]
have : Continuous ((fun u : Lp E 1 μ => ∫ x, u x ∂μ) ∘ withDensitySMulLI (E := E) μ f_meas) :=
  continuous_integral.comp (withDensitySMulLI (E := E) μ f_meas).continuous
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
C1 : Continuous fun u => ∫ (x : α), ↑↑u x ∂Measure.withDensity μ fun x => ↑(f x)
this : Continuous ((fun u => ∫ (x : α), ↑↑u x ∂μ) ∘ ↑(withDensitySMulLI μ f_meas))
⊢ Continuous fun u => ∫ (x : α), f x • ↑↑u x ∂μ
[PROOFSTEP]
convert this with u
[GOAL]
case h.e'_5.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
C1 : Continuous fun u => ∫ (x : α), ↑↑u x ∂Measure.withDensity μ fun x => ↑(f x)
this : Continuous ((fun u => ∫ (x : α), ↑↑u x ∂μ) ∘ ↑(withDensitySMulLI μ f_meas))
u : { x // x ∈ Lp E 1 }
⊢ ∫ (x : α), f x • ↑↑u x ∂μ = ((fun u => ∫ (x : α), ↑↑u x ∂μ) ∘ ↑(withDensitySMulLI μ f_meas)) u
[PROOFSTEP]
simp only [Function.comp_apply, withDensitySMulLI_apply]
[GOAL]
case h.e'_5.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
C1 : Continuous fun u => ∫ (x : α), ↑↑u x ∂Measure.withDensity μ fun x => ↑(f x)
this : Continuous ((fun u => ∫ (x : α), ↑↑u x ∂μ) ∘ ↑(withDensitySMulLI μ f_meas))
u : { x // x ∈ Lp E 1 }
⊢ ∫ (x : α), f x • ↑↑u x ∂μ = ∫ (x : α), ↑↑(Memℒp.toLp (fun x => f x • ↑↑u x) (_ : Memℒp (fun x => f x • ↑↑u x) 1)) x ∂μ
[PROOFSTEP]
exact integral_congr_ae (memℒ1_smul_of_L1_withDensity f_meas u).coeFn_toLp.symm
[GOAL]
case pos.refine'_3
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
C1 : Continuous fun u => ∫ (x : α), ↑↑u x ∂Measure.withDensity μ fun x => ↑(f x)
C2 : Continuous fun u => ∫ (x : α), f x • ↑↑u x ∂μ
⊢ IsClosed {f_1 | (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) ↑↑f_1}
[PROOFSTEP]
exact isClosed_eq C1 C2
[GOAL]
case pos.refine'_4
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
⊢ ∀ ⦃f_1 g : α → E⦄,
    f_1 =ᵐ[Measure.withDensity μ fun x => ↑(f x)] g →
      Integrable f_1 →
        (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) f_1 →
          (fun g => (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ) g
[PROOFSTEP]
intro u v huv _ hu
[GOAL]
case pos.refine'_4
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
⊢ (∫ (a : α), v a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • v a ∂μ
[PROOFSTEP]
rw [← integral_congr_ae huv, hu]
[GOAL]
case pos.refine'_4
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
⊢ ∫ (a : α), f a • u a ∂μ = ∫ (a : α), f a • v a ∂μ
[PROOFSTEP]
apply integral_congr_ae
[GOAL]
case pos.refine'_4.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
⊢ (fun a => f a • u a) =ᵐ[μ] fun a => f a • v a
[PROOFSTEP]
filter_upwards [(ae_withDensity_iff f_meas.coe_nnreal_ennreal).1 huv] with x hx
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
x : α
hx : ↑(f x) ≠ 0 → u x = v x
⊢ f x • u x = f x • v x
[PROOFSTEP]
rcases eq_or_ne (f x) 0 with (h'x | h'x)
[GOAL]
case h.inl
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
x : α
hx : ↑(f x) ≠ 0 → u x = v x
h'x : f x = 0
⊢ f x • u x = f x • v x
[PROOFSTEP]
simp only [h'x, zero_smul]
[GOAL]
case h.inr
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
x : α
hx : ↑(f x) ≠ 0 → u x = v x
h'x : f x ≠ 0
⊢ f x • u x = f x • v x
[PROOFSTEP]
rw [hx _]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
hg : Integrable g
u v : α → E
huv : u =ᵐ[Measure.withDensity μ fun x => ↑(f x)] v
a✝ : Integrable u
hu : (∫ (a : α), u a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • u a ∂μ
x : α
hx : ↑(f x) ≠ 0 → u x = v x
h'x : f x ≠ 0
⊢ ↑(f x) ≠ 0
[PROOFSTEP]
simpa only [Ne.def, ENNReal.coe_eq_zero] using h'x
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
let f' := hf.mk _
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
calc
  ∫ a, g a ∂μ.withDensity (fun x => f x) = ∫ a, g a ∂μ.withDensity fun x => f' x :=
    by
    congr 1
    apply withDensity_congr_ae
    filter_upwards [hf.ae_eq_mk] with x hx
    rw [hx]
  _ = ∫ a, f' a • g a ∂μ := (integral_withDensity_eq_integral_smul hf.measurable_mk _)
  _ = ∫ a, f a • g a ∂μ := by
    apply integral_congr_ae
    filter_upwards [hf.ae_eq_mk] with x hx
    rw [hx]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
⊢ (∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α), g a ∂Measure.withDensity μ fun x => ↑(f' x)
[PROOFSTEP]
congr 1
[GOAL]
case e_μ
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
⊢ (Measure.withDensity μ fun x => ↑(f x)) = Measure.withDensity μ fun x => ↑(f' x)
[PROOFSTEP]
apply withDensity_congr_ae
[GOAL]
case e_μ.h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
⊢ (fun x => ↑(f x)) =ᵐ[μ] fun x => ↑(f' x)
[PROOFSTEP]
filter_upwards [hf.ae_eq_mk] with x hx
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
x : α
hx : f x = AEMeasurable.mk f hf x
⊢ ↑(f x) = ↑(AEMeasurable.mk f hf x)
[PROOFSTEP]
rw [hx]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
⊢ ∫ (a : α), f' a • g a ∂μ = ∫ (a : α), f a • g a ∂μ
[PROOFSTEP]
apply integral_congr_ae
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
⊢ (fun a => f' a • g a) =ᵐ[μ] fun a => f a • g a
[PROOFSTEP]
filter_upwards [hf.ae_eq_mk] with x hx
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
hf : AEMeasurable f
g : α → E
f' : α → ℝ≥0 := AEMeasurable.mk f hf
x : α
hx : f x = AEMeasurable.mk f hf x
⊢ AEMeasurable.mk f hf x • g x = f x • g x
[PROOFSTEP]
rw [hx]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
f_meas : Measurable f
g : α → E
s : Set α
hs : MeasurableSet s
⊢ (∫ (a : α) in s, g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α) in s, f a • g a ∂μ
[PROOFSTEP]
rw [restrict_withDensity hs, integral_withDensity_eq_integral_smul f_meas]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁹ : MeasurableSpace α
ι : Type u_5
inst✝⁸ : NormedAddCommGroup E
μ : Measure α
𝕜 : Type u_6
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace F
inst✝ : NormedSpace ℝ F
f : α → ℝ≥0
s : Set α
hf : AEMeasurable f
g : α → E
hs : MeasurableSet s
⊢ (∫ (a : α) in s, g a ∂Measure.withDensity μ fun x => ↑(f x)) = ∫ (a : α) in s, f a • g a ∂μ
[PROOFSTEP]
rw [restrict_withDensity hs, integral_withDensity_eq_integral_smul₀ hf]
[GOAL]
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ ↑↑μ E ≤ ∫⁻ (a : α), thickenedIndicatorAux δ E a ∂μ
[PROOFSTEP]
convert_to lintegral μ (E.indicator fun _ => (1 : ℝ≥0∞)) ≤ lintegral μ (thickenedIndicatorAux δ E)
[GOAL]
case h.e'_3
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ ↑↑μ E = lintegral μ (indicator E fun x => 1)
[PROOFSTEP]
rw [lintegral_indicator _ E_mble]
[GOAL]
case h.e'_3
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ ↑↑μ E = ∫⁻ (a : α) in E, 1 ∂μ
[PROOFSTEP]
simp only [lintegral_one, Measure.restrict_apply, MeasurableSet.univ, univ_inter]
[GOAL]
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ lintegral μ (indicator E fun x => 1) ≤ lintegral μ (thickenedIndicatorAux δ E)
[PROOFSTEP]
apply lintegral_mono
[GOAL]
case hfg
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ (fun a => indicator E (fun x => 1) a) ≤ fun a => thickenedIndicatorAux δ E a
[PROOFSTEP]
apply indicator_le_thickenedIndicatorAux
[GOAL]
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
δ_pos : 0 < δ
⊢ ↑↑μ E ≤ ∫⁻ (a : α), ↑(↑(thickenedIndicator δ_pos E) a) ∂μ
[PROOFSTEP]
convert measure_le_lintegral_thickenedIndicatorAux μ E_mble δ
[GOAL]
case h.e'_4.h.e'_4.h
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
δ_pos : 0 < δ
x✝ : α
⊢ ↑(↑(thickenedIndicator δ_pos E) x✝) = thickenedIndicatorAux δ E x✝
[PROOFSTEP]
dsimp
[GOAL]
case h.e'_4.h.e'_4.h
α : Type u_1
β : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝² : MeasurableSpace α
ι : Type u_5
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
δ_pos : 0 < δ
x✝ : α
⊢ ↑(ENNReal.toNNReal (thickenedIndicatorAux δ E x✝)) = thickenedIndicatorAux δ E x✝
[PROOFSTEP]
simp only [thickenedIndicatorAux_lt_top.ne, ENNReal.coe_toNNReal, Ne.def, not_false_iff]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
⊢ Integrable (↑g * f)
[PROOFSTEP]
refine'
  SimpleFunc.induction (fun c s hs => _)
    (fun g₁ g₂ _ h_int₁ h_int₂ => (h_int₁.add h_int₂).congr (by rw [SimpleFunc.coe_add, add_mul])) g
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
g₁ g₂ : SimpleFunc β ℝ
x✝ : Disjoint (support ↑g₁) (support ↑g₂)
h_int₁ : Integrable (↑g₁ * f)
h_int₂ : Integrable (↑g₂ * f)
⊢ ↑g₁ * f + ↑g₂ * f =ᵐ[μ] ↑(g₁ + g₂) * f
[PROOFSTEP]
rw [SimpleFunc.coe_add, add_mul]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
⊢ Integrable (↑(SimpleFunc.piecewise s hs (SimpleFunc.const β c) (SimpleFunc.const β 0)) * f)
[PROOFSTEP]
simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const, SimpleFunc.coe_zero,
  Set.piecewise_eq_indicator]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
⊢ Integrable (Set.indicator s (const β c) * f)
[PROOFSTEP]
have : Set.indicator s (Function.const β c) * f = s.indicator (c • f) :=
  by
  ext1 x
  by_cases hx : x ∈ s
  · simp only [hx, Pi.mul_apply, Set.indicator_of_mem, Pi.smul_apply, Algebra.id.smul_eq_mul, ← Function.const_def]
  · simp only [hx, Pi.mul_apply, Set.indicator_of_not_mem, not_false_iff, zero_mul]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
⊢ Set.indicator s (const β c) * f = Set.indicator s (c • f)
[PROOFSTEP]
ext1 x
[GOAL]
case h
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
x : β
⊢ (Set.indicator s (const β c) * f) x = Set.indicator s (c • f) x
[PROOFSTEP]
by_cases hx : x ∈ s
[GOAL]
case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
x : β
hx : x ∈ s
⊢ (Set.indicator s (const β c) * f) x = Set.indicator s (c • f) x
[PROOFSTEP]
simp only [hx, Pi.mul_apply, Set.indicator_of_mem, Pi.smul_apply, Algebra.id.smul_eq_mul, ← Function.const_def]
[GOAL]
case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
x : β
hx : ¬x ∈ s
⊢ (Set.indicator s (const β c) * f) x = Set.indicator s (c • f) x
[PROOFSTEP]
simp only [hx, Pi.mul_apply, Set.indicator_of_not_mem, not_false_iff, zero_mul]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
this : Set.indicator s (const β c) * f = Set.indicator s (c • f)
⊢ Integrable (Set.indicator s (const β c) * f)
[PROOFSTEP]
rw [this, integrable_indicator_iff hs]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
this : Set.indicator s (const β c) * f = Set.indicator s (c • f)
⊢ IntegrableOn (c • f) s
[PROOFSTEP]
exact (hf.smul c).integrableOn
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
hm : m ≤ m0
g : SimpleFunc β ℝ
hf : Integrable f
⊢ Integrable (↑g * f)
[PROOFSTEP]
rw [← SimpleFunc.coe_toLargerSpace_eq hm g]
[GOAL]
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
ι : Type u_5
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
hm : m ≤ m0
g : SimpleFunc β ℝ
hf : Integrable f
⊢ Integrable (↑(SimpleFunc.toLargerSpace hm g) * f)
[PROOFSTEP]
exact hf.simpleFunc_mul (g.toLargerSpace hm)
