Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit f302c97

Browse files
committed
feat(measure_theory/l2_space): the inner product of indicator_const_Lp and a function is the set_integral (#8229)
Co-authored-by: Rémy Degenne <remydegenne@gmail.com> Co-authored-by: RemyDegenne <remydegenne@gmail.com>
1 parent 9dfb9a6 commit f302c97

File tree

3 files changed

+84
-0
lines changed

3 files changed

+84
-0
lines changed

src/measure_theory/integrable_on.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,17 @@ begin
188188
simpa only [set.univ_inter, measurable_set.univ, measure.restrict_apply] using hμs,
189189
end
190190

191+
lemma integrable_on_Lp_of_measure_ne_top {E} [normed_group E] [measurable_space E] [borel_space E]
192+
[second_countable_topology E] {p : ℝ≥0∞} {s : set α} (f : Lp E p μ) (hp : 1 ≤ p) (hμs : μ s ≠ ∞) :
193+
integrable_on f s μ :=
194+
begin
195+
refine mem_ℒp_one_iff_integrable.mp _,
196+
have hμ_restrict_univ : (μ.restrict s) set.univ < ∞,
197+
by simpa only [set.univ_inter, measurable_set.univ, measure.restrict_apply, lt_top_iff_ne_top],
198+
haveI hμ_finite : finite_measure (μ.restrict s) := ⟨hμ_restrict_univ⟩,
199+
exact ((Lp.mem_ℒp _).restrict s).mem_ℒp_of_exponent_le hp,
200+
end
201+
191202
/-- We say that a function `f` is *integrable at filter* `l` if it is integrable on some
192203
set `s ∈ l`. Equivalently, it is eventually integrable on `s` in `l.lift' powerset`. -/
193204
def integrable_at_filter (f : α → E) (l : filter α) (μ : measure α . volume_tac) :=

src/measure_theory/l2_space.lean

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,61 @@ instance inner_product_space : inner_product_space 𝕜 (α →₂[μ] E) :=
134134

135135
end inner_product_space
136136

137+
section indicator_const_Lp
138+
139+
variables [measurable_space 𝕜] [borel_space 𝕜] {s : set α}
140+
141+
variables (𝕜)
142+
143+
/-- The inner product in `L2` of the indicator of a set `indicator_const_Lp 2 hs hμs c` and `f` is
144+
equal to the integral of the inner product over `s`: `∫ x in s, ⟪c, f x⟫ ∂μ`. -/
145+
lemma inner_indicator_const_Lp_eq_set_integral_inner (f : Lp E 2 μ) (hs : measurable_set s) (c : E)
146+
(hμs : μ s ≠ ∞) :
147+
inner (indicator_const_Lp 2 hs hμs c) f = ∫ x in s, ⟪c, f x⟫ ∂μ :=
148+
begin
149+
rw [inner_def, ← integral_add_compl hs (L2.integrable_inner _ f)],
150+
have h_left : ∫ x in s, ⟪(indicator_const_Lp 2 hs hμs c) x, f x⟫ ∂μ = ∫ x in s, ⟪c, f x⟫ ∂μ,
151+
{ suffices h_ae_eq : ∀ᵐ x ∂μ, x ∈ s → ⟪indicator_const_Lp 2 hs hμs c x, f x⟫ = ⟪c, f x⟫,
152+
from set_integral_congr_ae hs h_ae_eq,
153+
have h_indicator : ∀ᵐ (x : α) ∂μ, x ∈ s → (indicator_const_Lp 2 hs hμs c x) = c,
154+
from indicator_const_Lp_coe_fn_mem,
155+
refine h_indicator.mono (λ x hx hxs, _),
156+
congr,
157+
exact hx hxs, },
158+
have h_right : ∫ x in sᶜ, ⟪(indicator_const_Lp 2 hs hμs c) x, f x⟫ ∂μ = 0,
159+
{ suffices h_ae_eq : ∀ᵐ x ∂μ, x ∉ s → ⟪indicator_const_Lp 2 hs hμs c x, f x⟫ = 0,
160+
{ simp_rw ← set.mem_compl_iff at h_ae_eq,
161+
suffices h_int_zero : ∫ x in sᶜ, inner (indicator_const_Lp 2 hs hμs c x) (f x) ∂μ
162+
= ∫ x in sᶜ, (0 : 𝕜) ∂μ,
163+
{ rw h_int_zero,
164+
simp, },
165+
exact set_integral_congr_ae hs.compl h_ae_eq, },
166+
have h_indicator : ∀ᵐ (x : α) ∂μ, x ∉ s → (indicator_const_Lp 2 hs hμs c x) = 0,
167+
from indicator_const_Lp_coe_fn_nmem,
168+
refine h_indicator.mono (λ x hx hxs, _),
169+
rw hx hxs,
170+
exact inner_zero_left, },
171+
rw [h_left, h_right, add_zero],
172+
end
173+
174+
/-- The inner product in `L2` of the indicator of a set `indicator_const_Lp 2 hs hμs c` and `f` is
175+
equal to the inner product of the constant `c` and the integral of `f` over `s`. -/
176+
lemma inner_indicator_const_Lp_eq_inner_set_integral [complete_space E] [normed_space ℝ E]
177+
[is_scalar_tower ℝ 𝕜 E] (hs : measurable_set s) (hμs : μ s ≠ ∞) (c : E) (f : Lp E 2 μ) :
178+
inner (indicator_const_Lp 2 hs hμs c) f = ⟪c, ∫ x in s, f x ∂μ⟫ :=
179+
by rw [← integral_inner (integrable_on_Lp_of_measure_ne_top f fact_one_le_two_ennreal.elim hμs),
180+
L2.inner_indicator_const_Lp_eq_set_integral_inner]
181+
182+
variables {𝕜}
183+
184+
/-- The inner product in `L2` of the indicator of a set `indicator_const_Lp 2 hs hμs (1 : ℝ)` and
185+
a real function `f` is equal to the integral of `f` over `s`. -/
186+
lemma inner_indicator_const_Lp_one (hs : measurable_set s) (hμs : μ s ≠ ∞) (f : Lp ℝ 2 μ) :
187+
inner (indicator_const_Lp 2 hs hμs (1 : ℝ)) f = ∫ x in s, f x ∂μ :=
188+
by { rw L2.inner_indicator_const_Lp_eq_inner_set_integral ℝ hs hμs (1 : ℝ) f, simp, }
189+
190+
end indicator_const_Lp
191+
137192
end L2
138193

139194
section inner_continuous

src/measure_theory/set_integral.lean

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,24 @@ begin
577577
simp_rw [integrable_smul_const hc, hf, not_false_iff] }
578578
end
579579

580+
section inner
581+
582+
variables {E' : Type*} [inner_product_space 𝕜 E'] [measurable_space E'] [borel_space E']
583+
[second_countable_topology E'] [complete_space E'] [normed_space ℝ E'] [is_scalar_tower ℝ 𝕜 E']
584+
585+
local notation `⟪`x`, `y`⟫` := @inner 𝕜 E' _ x y
586+
587+
lemma integral_inner {f : α → E'} (hf : integrable f μ) (c : E') :
588+
∫ x, ⟪c, f x⟫ ∂μ = ⟪c, ∫ x, f x ∂μ⟫ :=
589+
((@inner_right 𝕜 E' _ _ c).restrict_scalars ℝ).integral_comp_comm hf
590+
591+
lemma integral_eq_zero_of_forall_integral_inner_eq_zero (f : α → E') (hf : integrable f μ)
592+
(hf_int : ∀ (c : E'), ∫ x, ⟪c, f x⟫ ∂μ = 0) :
593+
∫ x, f x ∂μ = 0 :=
594+
by { specialize hf_int (∫ x, f x ∂μ), rwa [integral_inner hf, inner_self_eq_zero] at hf_int }
595+
596+
end inner
597+
580598
end
581599

582600
/-

0 commit comments

Comments
 (0)