@@ -5,15 +5,11 @@ Authors: Rémy Degenne, Sébastien Gouëzel
55-/
66import Mathlib.Analysis.Normed.Group.Hom
77import Mathlib.Analysis.NormedSpace.IndicatorFunction
8+ import Mathlib.Analysis.NormedSpace.OperatorNorm.NNNorm
89import Mathlib.Analysis.SpecialFunctions.Pow.Continuity
9- import Mathlib.Data.Set.Image
1010import Mathlib.MeasureTheory.Function.LpSeminorm.ChebyshevMarkov
1111import Mathlib.MeasureTheory.Function.LpSeminorm.CompareExp
1212import Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality
13- import Mathlib.MeasureTheory.Measure.OpenPos
14- import Mathlib.MeasureTheory.Measure.Typeclasses
15- import Mathlib.Analysis.NormedSpace.OperatorNorm.NormedSpace
16- import Mathlib.Topology.ContinuousMap.Compact
1713import Mathlib.Order.Filter.IndicatorFunction
1814
1915/-!
@@ -34,10 +30,6 @@ that it is continuous. In particular,
3430* `Lp.posPart` is the positive part of an `Lp` function.
3531* `Lp.negPart` is the negative part of an `Lp` function.
3632
37- When `α` is a topological space equipped with a finite Borel measure, there is a bounded linear map
38- from the normed space of bounded continuous functions (`α →ᵇ E`) to `Lp E p μ`. We construct this
39- as `BoundedContinuousFunction.toLp`.
40-
4133 ## Notations
4234
4335* `α →₁[μ] E` : the type `Lp E 1 μ`.
@@ -68,7 +60,7 @@ function coercion from the coercion to almost everywhere defined functions.
6860noncomputable section
6961
7062open TopologicalSpace MeasureTheory Filter
71- open scoped NNReal ENNReal Topology MeasureTheory Uniformity symmDiff
63+ open scoped NNReal ENNReal Topology symmDiff
7264
7365variable {α 𝕜 𝕜' E F G : Type *} {m m0 : MeasurableSpace α} {p : ℝ≥0 ∞} {q : ℝ} {μ ν : Measure α}
7466 [NormedAddCommGroup E] [NormedAddCommGroup F] [NormedAddCommGroup G]
@@ -81,7 +73,6 @@ namespace MeasureTheory
8173The space of equivalence classes of measurable functions for which `eLpNorm f p μ < ∞`.
8274-/
8375
84-
8576@[simp]
8677theorem eLpNorm_aeeqFun {α E : Type *} [MeasurableSpace α] {μ : Measure α} [NormedAddCommGroup E]
8778 {p : ℝ≥0 ∞} {f : α → E} (hf : AEStronglyMeasurable f μ) :
@@ -1469,198 +1460,6 @@ end MeasureTheory
14691460
14701461end CompleteSpace
14711462
1472- /-! ### Continuous functions in `Lp` -/
1473-
1474-
1475- open scoped BoundedContinuousFunction
1476-
1477- open BoundedContinuousFunction
1478-
1479- section
1480-
1481- variable [TopologicalSpace α] [BorelSpace α] [SecondCountableTopologyEither α E]
1482- variable (E p μ)
1483-
1484- /-- An additive subgroup of `Lp E p μ`, consisting of the equivalence classes which contain a
1485- bounded continuous representative. -/
1486- def MeasureTheory.Lp.boundedContinuousFunction : AddSubgroup (Lp E p μ) :=
1487- AddSubgroup.addSubgroupOf
1488- ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E)).range (Lp E p μ)
1489-
1490- variable {E p μ}
1491-
1492- /-- By definition, the elements of `Lp.boundedContinuousFunction E p μ` are the elements of
1493- `Lp E p μ` which contain a bounded continuous representative. -/
1494- theorem MeasureTheory.Lp.mem_boundedContinuousFunction_iff {f : Lp E p μ} :
1495- f ∈ MeasureTheory.Lp.boundedContinuousFunction E p μ ↔
1496- ∃ f₀ : α →ᵇ E, f₀.toContinuousMap.toAEEqFun μ = (f : α →ₘ[μ] E) :=
1497- AddSubgroup.mem_addSubgroupOf
1498-
1499- namespace BoundedContinuousFunction
1500-
1501- variable [IsFiniteMeasure μ]
1502-
1503- /-- A bounded continuous function on a finite-measure space is in `Lp`. -/
1504- theorem mem_Lp (f : α →ᵇ E) : f.toContinuousMap.toAEEqFun μ ∈ Lp E p μ := by
1505- refine Lp.mem_Lp_of_ae_bound ‖f‖ ?_
1506- filter_upwards [f.toContinuousMap.coeFn_toAEEqFun μ] with x _
1507- convert f.norm_coe_le_norm x using 2
1508-
1509- /-- The `Lp`-norm of a bounded continuous function is at most a constant (depending on the measure
1510- of the whole space) times its sup-norm. -/
1511- theorem Lp_nnnorm_le (f : α →ᵇ E) :
1512- ‖(⟨f.toContinuousMap.toAEEqFun μ, mem_Lp f⟩ : Lp E p μ)‖₊ ≤
1513- measureUnivNNReal μ ^ p.toReal⁻¹ * ‖f‖₊ := by
1514- apply Lp.nnnorm_le_of_ae_bound
1515- refine (f.toContinuousMap.coeFn_toAEEqFun μ).mono ?_
1516- intro x hx
1517- rw [← NNReal.coe_le_coe, coe_nnnorm, coe_nnnorm]
1518- convert f.norm_coe_le_norm x using 2
1519-
1520- /-- The `Lp`-norm of a bounded continuous function is at most a constant (depending on the measure
1521- of the whole space) times its sup-norm. -/
1522- theorem Lp_norm_le (f : α →ᵇ E) :
1523- ‖(⟨f.toContinuousMap.toAEEqFun μ, mem_Lp f⟩ : Lp E p μ)‖ ≤
1524- measureUnivNNReal μ ^ p.toReal⁻¹ * ‖f‖ :=
1525- Lp_nnnorm_le f
1526-
1527- variable (p μ)
1528-
1529- /-- The normed group homomorphism of considering a bounded continuous function on a finite-measure
1530- space as an element of `Lp`. -/
1531- def toLpHom [Fact (1 ≤ p)] : NormedAddGroupHom (α →ᵇ E) (Lp E p μ) :=
1532- { AddMonoidHom.codRestrict ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E))
1533- (Lp E p μ) mem_Lp with
1534- bound' := ⟨_, Lp_norm_le⟩ }
1535-
1536- theorem range_toLpHom [Fact (1 ≤ p)] :
1537- ((toLpHom p μ).range : AddSubgroup (Lp E p μ)) =
1538- MeasureTheory.Lp.boundedContinuousFunction E p μ := by
1539- symm
1540- exact AddMonoidHom.addSubgroupOf_range_eq_of_le
1541- ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E))
1542- (by rintro - ⟨f, rfl⟩; exact mem_Lp f : _ ≤ Lp E p μ)
1543-
1544- variable (𝕜 : Type *) [Fact (1 ≤ p)]
1545-
1546- /-- The bounded linear map of considering a bounded continuous function on a finite-measure space
1547- as an element of `Lp`. -/
1548- def toLp [NormedField 𝕜] [NormedSpace 𝕜 E] : (α →ᵇ E) →L[𝕜] Lp E p μ :=
1549- LinearMap.mkContinuous
1550- (LinearMap.codRestrict (Lp.LpSubmodule 𝕜 E p μ)
1551- ((ContinuousMap.toAEEqFunLinearMap μ).comp (toContinuousMapLinearMap α E 𝕜)) mem_Lp)
1552- _ Lp_norm_le
1553-
1554- theorem coeFn_toLp [NormedField 𝕜] [NormedSpace 𝕜 E] (f : α →ᵇ E) :
1555- toLp (E := E) p μ 𝕜 f =ᵐ[μ] f :=
1556- AEEqFun.coeFn_mk f _
1557-
1558- variable {𝕜}
1559-
1560- theorem range_toLp [NormedField 𝕜] [NormedSpace 𝕜 E] :
1561- (LinearMap.range (toLp p μ 𝕜 : (α →ᵇ E) →L[𝕜] Lp E p μ)).toAddSubgroup =
1562- MeasureTheory.Lp.boundedContinuousFunction E p μ :=
1563- range_toLpHom p μ
1564-
1565- variable {p}
1566-
1567- theorem toLp_norm_le [NontriviallyNormedField 𝕜] [NormedSpace 𝕜 E] :
1568- ‖(toLp p μ 𝕜 : (α →ᵇ E) →L[𝕜] Lp E p μ)‖ ≤ measureUnivNNReal μ ^ p.toReal⁻¹ :=
1569- LinearMap.mkContinuous_norm_le _ (measureUnivNNReal μ ^ p.toReal⁻¹).coe_nonneg _
1570-
1571- theorem toLp_inj {f g : α →ᵇ E} [μ.IsOpenPosMeasure] [NormedField 𝕜] [NormedSpace 𝕜 E] :
1572- toLp (E := E) p μ 𝕜 f = toLp (E := E) p μ 𝕜 g ↔ f = g := by
1573- refine ⟨fun h => ?_, by tauto⟩
1574- rw [← DFunLike.coe_fn_eq, ← (map_continuous f).ae_eq_iff_eq μ (map_continuous g)]
1575- refine (coeFn_toLp p μ 𝕜 f).symm.trans (EventuallyEq.trans ?_ <| coeFn_toLp p μ 𝕜 g)
1576- rw [h]
1577-
1578- theorem toLp_injective [μ.IsOpenPosMeasure] [NormedField 𝕜] [NormedSpace 𝕜 E] :
1579- Function.Injective (⇑(toLp p μ 𝕜 : (α →ᵇ E) →L[𝕜] Lp E p μ)) :=
1580- fun _f _g hfg => (toLp_inj μ).mp hfg
1581-
1582- end BoundedContinuousFunction
1583-
1584- namespace ContinuousMap
1585-
1586- variable [CompactSpace α] [IsFiniteMeasure μ]
1587- variable (𝕜 : Type *) (p μ) [Fact (1 ≤ p)]
1588-
1589- /-- The bounded linear map of considering a continuous function on a compact finite-measure
1590- space `α` as an element of `Lp`. By definition, the norm on `C(α, E)` is the sup-norm, transferred
1591- from the space `α →ᵇ E` of bounded continuous functions, so this construction is just a matter of
1592- transferring the structure from `BoundedContinuousFunction.toLp` along the isometry. -/
1593- def toLp [NormedField 𝕜] [NormedSpace 𝕜 E] : C(α, E) →L[𝕜] Lp E p μ :=
1594- (BoundedContinuousFunction.toLp p μ 𝕜).comp
1595- (linearIsometryBoundedOfCompact α E 𝕜).toLinearIsometry.toContinuousLinearMap
1596-
1597- variable {𝕜}
1598-
1599- theorem range_toLp [NormedField 𝕜] [NormedSpace 𝕜 E] :
1600- (LinearMap.range (toLp p μ 𝕜 : C(α, E) →L[𝕜] Lp E p μ)).toAddSubgroup =
1601- MeasureTheory.Lp.boundedContinuousFunction E p μ := by
1602- refine SetLike.ext' ?_
1603- have := (linearIsometryBoundedOfCompact α E 𝕜).surjective
1604- convert Function.Surjective.range_comp this (BoundedContinuousFunction.toLp (E := E) p μ 𝕜)
1605- rw [← BoundedContinuousFunction.range_toLp p μ (𝕜 := 𝕜), Submodule.coe_toAddSubgroup,
1606- LinearMap.range_coe]
1607-
1608- variable {p}
1609-
1610- theorem coeFn_toLp [NormedField 𝕜] [NormedSpace 𝕜 E] (f : C(α, E)) :
1611- toLp (E := E) p μ 𝕜 f =ᵐ[μ] f :=
1612- AEEqFun.coeFn_mk f _
1613-
1614- theorem toLp_def [NormedField 𝕜] [NormedSpace 𝕜 E] (f : C(α, E)) :
1615- toLp (E := E) p μ 𝕜 f =
1616- BoundedContinuousFunction.toLp (E := E) p μ 𝕜 (linearIsometryBoundedOfCompact α E 𝕜 f) :=
1617- rfl
1618-
1619- @[simp]
1620- theorem toLp_comp_toContinuousMap [NormedField 𝕜] [NormedSpace 𝕜 E] (f : α →ᵇ E) :
1621- toLp (E := E) p μ 𝕜 f.toContinuousMap = BoundedContinuousFunction.toLp (E := E) p μ 𝕜 f :=
1622- rfl
1623-
1624- @[simp]
1625- theorem coe_toLp [NormedField 𝕜] [NormedSpace 𝕜 E] (f : C(α, E)) :
1626- (toLp (E := E) p μ 𝕜 f : α →ₘ[μ] E) = f.toAEEqFun μ :=
1627- rfl
1628-
1629- theorem toLp_injective [μ.IsOpenPosMeasure] [NormedField 𝕜] [NormedSpace 𝕜 E] :
1630- Function.Injective (⇑(toLp p μ 𝕜 : C(α, E) →L[𝕜] Lp E p μ)) :=
1631- (BoundedContinuousFunction.toLp_injective _).comp (linearIsometryBoundedOfCompact α E 𝕜).injective
1632-
1633- theorem toLp_inj {f g : C(α, E)} [μ.IsOpenPosMeasure] [NormedField 𝕜] [NormedSpace 𝕜 E] :
1634- toLp (E := E) p μ 𝕜 f = toLp (E := E) p μ 𝕜 g ↔ f = g :=
1635- (toLp_injective μ).eq_iff
1636-
1637- variable {μ}
1638-
1639- /-- If a sum of continuous functions `g n` is convergent, and the same sum converges in `Lᵖ` to `h`,
1640- then in fact `g n` converges uniformly to `h`. -/
1641- theorem hasSum_of_hasSum_Lp {β : Type *} [μ.IsOpenPosMeasure] [NormedField 𝕜] [NormedSpace 𝕜 E]
1642- {g : β → C(α, E)} {f : C(α, E)} (hg : Summable g)
1643- (hg2 : HasSum (toLp (E := E) p μ 𝕜 ∘ g) (toLp (E := E) p μ 𝕜 f)) : HasSum g f := by
1644- convert Summable.hasSum hg
1645- exact toLp_injective μ (hg2.unique ((toLp p μ 𝕜).hasSum <| Summable.hasSum hg))
1646-
1647- variable (μ) [NontriviallyNormedField 𝕜] [NormedSpace 𝕜 E]
1648-
1649- theorem toLp_norm_eq_toLp_norm_coe :
1650- ‖(toLp p μ 𝕜 : C(α, E) →L[𝕜] Lp E p μ)‖ =
1651- ‖(BoundedContinuousFunction.toLp p μ 𝕜 : (α →ᵇ E) →L[𝕜] Lp E p μ)‖ :=
1652- ContinuousLinearMap.opNorm_comp_linearIsometryEquiv _ _
1653-
1654- /-- Bound for the operator norm of `ContinuousMap.toLp`. -/
1655- theorem toLp_norm_le :
1656- ‖(toLp p μ 𝕜 : C(α, E) →L[𝕜] Lp E p μ)‖ ≤ measureUnivNNReal μ ^ p.toReal⁻¹ := by
1657- rw [toLp_norm_eq_toLp_norm_coe]
1658- exact BoundedContinuousFunction.toLp_norm_le μ
1659-
1660- end ContinuousMap
1661-
1662- end
1663-
16641463namespace MeasureTheory
16651464
16661465namespace Lp
@@ -1697,5 +1496,3 @@ theorem meas_ge_le_mul_pow_enorm (f : Lp E p μ) (hp_ne_zero : p ≠ 0) (hp_ne_t
16971496end Lp
16981497
16991498end MeasureTheory
1700-
1701- set_option linter.style.longFile 1800
0 commit comments