Skip to content

Commit

Permalink
refactor(measure_theory/l1_space): remove one of the two definitions …
Browse files Browse the repository at this point in the history
…of L1 space (#6058)

Currently, we have two independent versions of the `L^1` space in mathlib: one coming from the general family of `L^p` spaces, the other one is an ad hoc construction based on the `integrable` predicate used in the construction of the Bochner integral.

We remove the second construction, and use instead the `L^1` space coming from the family of `L^p` spaces to construct the Bochner integral. Still, we keep the `integrable` predicate as it is generally useful, and show that it coincides with the `mem_Lp 1` predicate.
  • Loading branch information
sgouezel committed Feb 13, 2021
1 parent ad5a81d commit ac19b4a
Show file tree
Hide file tree
Showing 10 changed files with 387 additions and 606 deletions.
2 changes: 1 addition & 1 deletion docs/overview.yaml
Expand Up @@ -284,7 +284,7 @@ Analysis:
monotone convergence theorem: 'measure_theory.lintegral_infi_ae'
Fatou's lemma: 'measure_theory.lintegral_liminf_le'
vector-valued integrable function (Bochner integral): 'measure_theory.integrable'
$L^1$ space: 'measure_theory.l1'
$L^p$ space: 'measure_theory.Lp'
Bochner integral: 'measure_theory.integral'
dominated convergence theorem: 'measure_theory.tendsto_integral_of_dominated_convergence'
fundamental theorem of calculus, part 1: 'interval_integral.integral_has_fderiv_at_of_tendsto_ae'
Expand Down
4 changes: 2 additions & 2 deletions src/analysis/convex/integral.lean
Expand Up @@ -57,9 +57,9 @@ begin
have : tendsto (λ n, (F n).integral μ) at_top (𝓝 $ ∫ x, f x ∂μ),
{ simp only [simple_func.integral_eq_integral _
(simple_func.integrable_approx_on hfm hfi h₀ hc _)],
exact tendsto_integral_of_l1 _ hfi
exact tendsto_integral_of_L1 _ hfi
(eventually_of_forall $ simple_func.integrable_approx_on hfm hfi h₀ hc)
(simple_func.tendsto_approx_on_l1_edist hfm h₀ hfs (hfi.sub hc).2) },
(simple_func.tendsto_approx_on_L1_edist hfm h₀ hfs (hfi.sub hc).2) },
refine hsc.mem_of_tendsto (tendsto_const_nhds.smul this) (eventually_of_forall $ λ n, _),
have : ∑ y in (F n).range, (μ ((F n) ⁻¹' {y})).to_real = (μ univ).to_real,
by rw [← (F n).sum_range_measure_preimage_singleton, @ennreal.to_real_sum _ _
Expand Down
12 changes: 12 additions & 0 deletions src/analysis/normed_space/basic.lean
Expand Up @@ -373,6 +373,18 @@ begin
... ≤ _ : le_trans (le_abs_self _) (abs_dist_sub_le_dist_add_add _ _ _ _)
end

/-- A subgroup of a normed group is also a normed group, with the restriction of the norm. -/
instance add_subgroup.normed_group {E : Type*} [normed_group E] (s : add_subgroup E) :
normed_group s :=
{ norm := λx, norm (x : E),
dist_eq := λx y, dist_eq_norm (x : E) (y : E) }

/-- If `x` is an element of a subgroup `s` of a normed group `E`, its norm in `s` is equal to its
norm in `E`. -/
@[simp] lemma coe_norm_subgroup {E : Type*} [normed_group E] {s : add_subgroup E} (x : s) :
∥x∥ = ∥(x:E)∥ :=
rfl

/-- A submodule of a normed group is also a normed group, with the restriction of the norm.
See note [implicit instance arguments]. -/
Expand Down
3 changes: 3 additions & 0 deletions src/measure_theory/ae_eq_fun.lean
Expand Up @@ -126,6 +126,9 @@ end
@[ext] lemma ext {f g : α →ₘ[μ] β} (h : f =ᵐ[μ] g) : f = g :=
by rwa [← f.mk_coe_fn, ← g.mk_coe_fn, mk_eq_mk]

lemma ext_iff {f g : α →ₘ[μ] β} : f = g ↔ f =ᵐ[μ] g :=
⟨λ h, by rw h, λ h, ext h⟩

lemma coe_fn_mk (f : α → β) (hf) : (mk f hf : α →ₘ[μ] β) =ᵐ[μ] f :=
begin
apply (ae_measurable.ae_eq_mk _).symm.trans,
Expand Down
431 changes: 215 additions & 216 deletions src/measure_theory/bochner_integration.lean

Large diffs are not rendered by default.

0 comments on commit ac19b4a

Please sign in to comment.