Density of simple functions #
Show that each Borel measurable function can be approximated pointwise, and each Lᵖ Borel
measurable function can be approximated in Lᵖ norm, by a sequence of simple functions.
Main definitions #
measure_theory.simple_func.nearest_pt (e : ℕ → α) (N : ℕ) : α →ₛ ℕ: thesimple_funcsending eachx : αto the pointe kwhich is the nearest toxamonge 0, ...,e N.measure_theory.simple_func.approx_on (f : β → α) (hf : measurable f) (s : set α) (y₀ : α) (h₀ : y₀ ∈ s) [separable_space s] (n : ℕ) : β →ₛ α: a simple function that takes values insand approximatesf.measure_theory.Lp.simple_func, the type ofLpsimple functionscoe_to_Lp, the embedding ofLp.simple_func E p μintoLp E p μ
Main results #
tendsto_approx_on(pointwise convergence): Iff x ∈ s, then the sequence of simple approximationsmeasure_theory.simple_func.approx_on f hf s y₀ h₀ n, evaluated atx, tends tof xasntends to∞.tendsto_approx_on_univ_Lp(Lᵖ convergence): IfEis anormed_groupandfis measurable andmem_ℒp(forp < ∞), then the simple functionssimple_func.approx_on f hf s 0 h₀ nmay be considered as elements ofLp E p μ, and they tend in Lᵖ tof.Lp.simple_func.dense_embedding: the embeddingcoe_to_Lpof theLpsimple functions intoLpis dense.Lp.simple_func.induction,Lp.induction,mem_ℒp.induction,integrable.induction: to prove a predicate for all elements of one of these classes of functions, it suffices to check that it behaves correctly on simple functions.
TODO #
For E finite-dimensional, simple functions α →ₛ E are dense in L^∞ -- prove this.
Notations #
α →ₛ β(local notation): the type of simple functionsα → β.α →₁ₛ[μ] E: the type ofL1simple functionsα → β.
Pointwise approximation by simple functions #
nearest_pt_ind e N x is the index k such that e k is the nearest point to x among the
points e 0, ..., e N. If more than one point are at the same distance from x, then
nearest_pt_ind e N x returns the least of their indexes.
Equations
- measure_theory.simple_func.nearest_pt_ind e (N + 1) = measure_theory.simple_func.piecewise (⋂ (k : ℕ) (H : k ≤ N), {x : α | edist (e (N + 1)) x < edist (e k) x}) _ (measure_theory.simple_func.const α (N + 1)) (measure_theory.simple_func.nearest_pt_ind e N)
- measure_theory.simple_func.nearest_pt_ind e 0 = measure_theory.simple_func.const α 0
nearest_pt e N x is the nearest point to x among the points e 0, ..., e N. If more than
one point are at the same distance from x, then nearest_pt e N x returns the point with the
least possible index.
Approximate a measurable function by a sequence of simple functions F n such that
F n x ∈ s.
Equations
- measure_theory.simple_func.approx_on f hf s y₀ h₀ n = (measure_theory.simple_func.nearest_pt (λ (k : ℕ), k.cases_on y₀ (coe ∘ topological_space.dense_seq ↥s)) n).comp f hf
Lp approximation by simple functions #
L1 approximation by simple functions #
Properties of simple functions in Lp spaces #
A simple function f : α →ₛ E into a normed group E verifies, for a measure μ:
mem_ℒp f 0 μandmem_ℒp f ∞ μ, sincefis a.e.-measurable and bounded,- for
0 < p < ∞,mem_ℒp f p μ ↔ integrable f μ ↔ f.fin_meas_supp μ ↔ ∀ y ≠ 0, μ (f ⁻¹' {y}) < ∞.
Construction of the space of Lp simple functions, and its dense embedding into Lp.
Lp.simple_func is a subspace of Lp consisting of equivalence classes of an integrable simple
function.
Equations
- measure_theory.Lp.simple_func E p μ = {carrier := {f : ↥(measure_theory.Lp E p μ) | ∃ (s : measure_theory.simple_func α E), measure_theory.ae_eq_fun.mk ⇑s _ = ↑f}, zero_mem' := _, add_mem' := _, neg_mem' := _}
Simple functions in Lp space form a normed_space.
Implementation note: If Lp.simple_func E p μ were defined as a 𝕜-submodule of Lp E p μ,
then the next few lemmas, putting a normed 𝕜-group structure on Lp.simple_func E p μ, would be
unnecessary. But instead, Lp.simple_func E p μ is defined as an add_subgroup of Lp E p μ,
which does not permit this (but has the advantage of working when E itself is a normed group,
i.e. has no scalar action).
If E is a normed space, Lp.simple_func E p μ is a has_scalar. Not declared as an
instance as it is (as of writing) used only in the construction of the Bochner integral.
Equations
- measure_theory.Lp.simple_func.has_scalar = {smul := λ (k : 𝕜) (f : ↥(measure_theory.Lp.simple_func E p μ)), ⟨k • ↑f, _⟩}
If E is a normed space, Lp.simple_func E p μ is a module. Not declared as an
instance as it is (as of writing) used only in the construction of the Bochner integral.
Equations
- measure_theory.Lp.simple_func.module = {to_distrib_mul_action := {to_mul_action := {to_has_scalar := measure_theory.Lp.simple_func.has_scalar _inst_13, one_smul := _, mul_smul := _}, smul_add := _, smul_zero := _}, add_smul := _, zero_smul := _}
If E is a normed space, Lp.simple_func E p μ is a normed space. Not declared as an
instance as it is (as of writing) used only in the construction of the Bochner integral.
Equations
Construct the equivalence class [f] of a simple function f satisfying mem_ℒp.
Equations
Find a representative of a Lp.simple_func.
Equations
(to_simple_func f) is measurable.
to_simple_func f satisfies the predicate mem_ℒp.
The characteristic function of a finite-measure measurable set s, as an Lp simple function.
Equations
To prove something for an arbitrary Lp simple function, with 0 < p < ∞, it suffices to show
that the property holds for (multiples of) characteristic functions of finite-measure measurable
sets and is closed under addition (of functions with disjoint support).
The embedding of Lp simple functions into Lp functions, as a continuous linear map.
Equations
- measure_theory.Lp.simple_func.coe_to_Lp α E 𝕜 = {to_linear_map := {to_fun := (measure_theory.Lp.simple_func E p μ).subtype.to_fun, map_add' := _, map_smul' := _}, cont := _}
Coercion from nonnegative simple functions of Lp to nonnegative functions of Lp.
Equations
- measure_theory.Lp.simple_func.coe_simple_func_nonneg_to_Lp_nonneg p μ G = λ (g : {g // 0 ≤ g}), ⟨↑g, _⟩
To prove something for an arbitrary Lp function in a second countable Borel normed group, it
suffices to show that
- the property holds for (multiples of) characteristic functions;
- is closed under addition;
- the set of functions in
Lpfor which the property holds is closed.
To prove something for an arbitrary mem_ℒp function in a second countable
Borel normed group, it suffices to show that
- the property holds for (multiples of) characteristic functions;
- is closed under addition;
- the set of functions in the
Lᵖspace for which the property holds is closed. - the property is closed under the almost-everywhere equal relation.
It is possible to make the hypotheses in the induction steps a bit stronger, and such conditions
can be added once we need them (for example in h_add it is only necessary to consider the sum of
a simple function with a multiple of a characteristic function and that the intersection
of their images is a subset of {0}).
To prove something for an arbitrary integrable function in a second countable Borel normed group, it suffices to show that
- the property holds for (multiples of) characteristic functions;
- is closed under addition;
- the set of functions in the
L¹space for which the property holds is closed. - the property is closed under the almost-everywhere equal relation.
It is possible to make the hypotheses in the induction steps a bit stronger, and such conditions
can be added once we need them (for example in h_add it is only necessary to consider the sum of
a simple function with a multiple of a characteristic function and that the intersection
of their images is a subset of {0}).