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

Commit f4214de

Browse files
benjamindavidsonsgouezelhrmacbeth
committed
feat(measure_theory/group, measure_theory/bochner_integration): left translate of an integral (#6936)
Translating a function on a topological group by left- (right-) multiplication by a constant does not change its integral with respect to a left- (right-) invariant measure. Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com>
1 parent 68bd325 commit f4214de

File tree

3 files changed

+153
-0
lines changed

3 files changed

+153
-0
lines changed

src/measure_theory/bochner_integration.lean

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel
66
import measure_theory.simple_func_dense
77
import analysis.normed_space.bounded_linear_maps
88
import measure_theory.l1_space
9+
import measure_theory.group
910
import topology.sequences
1011

1112
/-!
@@ -1573,6 +1574,74 @@ calc ∫ x, f x ∂(measure.dirac a) = ∫ x, f a ∂(measure.dirac a) :
15731574

15741575
end properties
15751576

1577+
section group
1578+
1579+
variables {G : Type*} [measurable_space G] [topological_space G] [group G] [has_continuous_mul G]
1580+
[borel_space G]
1581+
variables {μ : measure G}
1582+
1583+
open measure
1584+
1585+
/-- Translating a function by left-multiplication does not change its integral with respect to a
1586+
left-invariant measure. -/
1587+
@[to_additive]
1588+
lemma integral_mul_left_eq_self (hμ : is_mul_left_invariant μ) {f : G → E} (g : G) :
1589+
∫ x, f (g * x) ∂μ = ∫ x, f x ∂μ :=
1590+
begin
1591+
have hgμ : measure.map (has_mul.mul g) μ = μ,
1592+
{ rw ← map_mul_left_eq_self at hμ,
1593+
exact hμ g },
1594+
have h_mul : closed_embedding (λ x, g * x) := (homeomorph.mul_left g).closed_embedding,
1595+
rw [← integral_map_of_closed_embedding h_mul, hgμ]
1596+
end
1597+
1598+
/-- Translating a function by right-multiplication does not change its integral with respect to a
1599+
right-invariant measure. -/
1600+
@[to_additive]
1601+
lemma integral_mul_right_eq_self (hμ : is_mul_right_invariant μ) {f : G → E} (g : G) :
1602+
∫ x, f (x * g) ∂μ = ∫ x, f x ∂μ :=
1603+
begin
1604+
have hgμ : measure.map (λ x, x * g) μ = μ,
1605+
{ rw ← map_mul_right_eq_self at hμ,
1606+
exact hμ g },
1607+
have h_mul : closed_embedding (λ x, x * g) := (homeomorph.mul_right g).closed_embedding,
1608+
rw [← integral_map_of_closed_embedding h_mul, hgμ]
1609+
end
1610+
1611+
/-- If some left-translate of a function negates it, then the integral of the function with respect
1612+
to a left-invariant measure is 0. -/
1613+
@[to_additive]
1614+
lemma integral_zero_of_mul_left_eq_neg (hμ : is_mul_left_invariant μ) {f : G → E} {g : G}
1615+
(hf' : ∀ x, f (g * x) = - f x) :
1616+
∫ x, f x ∂μ = 0 :=
1617+
begin
1618+
refine eq_zero_of_eq_neg ℝ (eq.symm _),
1619+
have : ∫ x, f (g * x) ∂μ = ∫ x, - f x ∂μ,
1620+
{ congr,
1621+
ext x,
1622+
exact hf' x },
1623+
convert integral_mul_left_eq_self hμ g using 1,
1624+
rw [this, integral_neg]
1625+
end
1626+
1627+
/-- If some right-translate of a function negates it, then the integral of the function with respect
1628+
to a right-invariant measure is 0. -/
1629+
@[to_additive]
1630+
lemma integral_zero_of_mul_right_eq_neg (hμ : is_mul_right_invariant μ) {f : G → E} {g : G}
1631+
(hf' : ∀ x, f (x * g) = - f x) :
1632+
∫ x, f x ∂μ = 0 :=
1633+
begin
1634+
refine eq_zero_of_eq_neg ℝ (eq.symm _),
1635+
have : ∫ x, f (x * g) ∂μ = ∫ x, - f x ∂μ,
1636+
{ congr,
1637+
ext x,
1638+
exact hf' x },
1639+
convert integral_mul_right_eq_self hμ g using 1,
1640+
rw [this, integral_neg]
1641+
end
1642+
1643+
end group
1644+
15761645
mk_simp_attribute integral_simps "Simp set for integral rules."
15771646

15781647
attribute [integral_simps] integral_neg integral_smul L1.integral_add L1.integral_sub

src/measure_theory/group.lean

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,4 +212,37 @@ end
212212

213213
end group
214214

215+
section integration
216+
217+
variables [group G] [has_continuous_mul G]
218+
open measure
219+
220+
/-- Translating a function by left-multiplication does not change its `lintegral` with respect to
221+
a left-invariant measure. -/
222+
@[to_additive]
223+
lemma lintegral_mul_left_eq_self (hμ : is_mul_left_invariant μ) (f : G → ℝ≥0∞) (g : G) :
224+
∫⁻ x, f (g * x) ∂μ = ∫⁻ x, f x ∂μ :=
225+
begin
226+
have : measure.map (has_mul.mul g) μ = μ,
227+
{ rw ← map_mul_left_eq_self at hμ,
228+
exact hμ g },
229+
convert (lintegral_map_equiv f (homeomorph.mul_left g).to_measurable_equiv).symm,
230+
simp [this]
231+
end
232+
233+
/-- Translating a function by right-multiplication does not change its `lintegral` with respect to
234+
a right-invariant measure. -/
235+
@[to_additive]
236+
lemma lintegral_mul_right_eq_self (hμ : is_mul_right_invariant μ) (f : G → ℝ≥0∞) (g : G) :
237+
∫⁻ x, f (x * g) ∂μ = ∫⁻ x, f x ∂μ :=
238+
begin
239+
have : measure.map (homeomorph.mul_right g) μ = μ,
240+
{ rw ← map_mul_right_eq_self at hμ,
241+
exact hμ g },
242+
convert (lintegral_map_equiv f (homeomorph.mul_right g).to_measurable_equiv).symm,
243+
simp [this]
244+
end
245+
246+
end integration
247+
215248
end measure_theory

src/measure_theory/integration.lean

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,27 @@ lemma lintegral_map {β} [measurable_space β] {μ' : measure β} (f : α →ₛ
699699
lintegral_eq_of_measure_preimage $ λ y,
700700
by { simp only [preimage, eq], exact (h (g ⁻¹' {y}) (g.measurable_set_preimage _)).symm }
701701

702+
/-- The `lintegral` of simple functions transforms appropriately under a measurable equivalence.
703+
(Compare `lintegral_map`, which applies to a broader class of transformations of the domain, but
704+
requires measurability of the function being integrated.) -/
705+
lemma lintegral_map_equiv {β} [measurable_space β] (g : β →ₛ ℝ≥0∞) (m : α ≃ᵐ β) :
706+
(g.comp m m.measurable).lintegral μ = g.lintegral (measure.map m μ) :=
707+
begin
708+
simp [simple_func.lintegral],
709+
have : (g.comp m m.measurable).range = g.range,
710+
{ refine le_antisymm _ _,
711+
{ exact g.range_comp_subset_range m.measurable },
712+
convert (g.comp m m.measurable).range_comp_subset_range m.symm.measurable,
713+
apply simple_func.ext,
714+
intros a,
715+
exact congr_arg g (congr_fun m.self_comp_symm.symm a) },
716+
rw this,
717+
congr' 1,
718+
funext,
719+
rw [m.map_apply (g ⁻¹' {x})],
720+
refl,
721+
end
722+
702723
end measure
703724

704725
section fin_meas_supp
@@ -1650,6 +1671,36 @@ lemma set_lintegral_map [measurable_space β] {f : β → ℝ≥0∞} {g : α
16501671
∫⁻ y in s, f y ∂(map g μ) = ∫⁻ x in g ⁻¹' s, f (g x) ∂μ :=
16511672
by rw [restrict_map hg hs, lintegral_map hf hg]
16521673

1674+
/-- The `lintegral` transforms appropriately under a measurable equivalence `g : α ≃ᵐ β`.
1675+
(Compare `lintegral_map`, which applies to a wider class of functions `g : α → β`, but requires
1676+
measurability of the function being integrated.) -/
1677+
lemma lintegral_map_equiv [measurable_space β] (f : β → ℝ≥0∞) (g : α ≃ᵐ β) :
1678+
∫⁻ a, f a ∂(map g μ) = ∫⁻ a, f (g a) ∂μ :=
1679+
begin
1680+
refine le_antisymm _ _,
1681+
{ refine supr_le_supr2 _,
1682+
intros f₀,
1683+
use f₀.comp g g.measurable,
1684+
refine supr_le_supr2 _,
1685+
intros hf₀,
1686+
use λ x, hf₀ (g x),
1687+
exact (lintegral_map_equiv f₀ g).symm.le },
1688+
{ refine supr_le_supr2 _,
1689+
intros f₀,
1690+
use f₀.comp g.symm g.symm.measurable,
1691+
refine supr_le_supr2 _,
1692+
intros hf₀,
1693+
have : (λ a, (f₀.comp (g.symm) g.symm.measurable) a) ≤ λ (a : β), f a,
1694+
{ convert λ x, hf₀ (g.symm x),
1695+
funext,
1696+
simp [congr_arg f (congr_fun g.self_comp_symm a)] },
1697+
use this,
1698+
convert (lintegral_map_equiv (f₀.comp g.symm g.symm.measurable) g).le,
1699+
apply simple_func.ext,
1700+
intros a,
1701+
convert congr_arg f₀ (congr_fun g.symm_comp_self a).symm using 1 }
1702+
end
1703+
16531704
lemma lintegral_dirac' (a : α) {f : α → ℝ≥0∞} (hf : measurable f) :
16541705
∫⁻ a, f a ∂(dirac a) = f a :=
16551706
by simp [lintegral_congr_ae (ae_eq_dirac' hf)]

0 commit comments

Comments
 (0)