Lebesgue integral for ennreal
-valued functions
We define simple functions and show that each Borel measurable function on ennreal
can be
approximated by a sequence of simple functions.
Notation
We introduce the following notation for the lower Lebesgue integral of a function f : α → ennreal
.
∫⁻ x, f x ∂μ
: integral of a functionf : α → ennreal
with respect to a measureμ
;∫⁻ x, f x
: integral of a functionf : α → ennreal
with respect to the canonical measurevolume
onα
;∫⁻ x in s, f x ∂μ
: integral of a functionf : α → ennreal
over a sets
with respect to a measureμ
, defined as∫⁻ x, f x ∂(μ.restrict s)
;∫⁻ x in s, f x
: integral of a functionf : α → ennreal
over a sets
with respect to the canonical measurevolume
, defined as∫⁻ x, f x ∂(volume.restrict s)
.
- to_fun : α → β
- is_measurable_fiber' : ∀ (x : β), is_measurable (c.to_fun ⁻¹' {x})
- finite_range' : (set.range c.to_fun).finite
A function f
from a measurable space to any type is called simple,
if every preimage f ⁻¹' {x}
is measurable, and the range is finite. This structure bundles
a function with these properties.
Equations
- measure_theory.simple_func.has_coe_to_fun = {F := λ (x : measure_theory.simple_func α β), α → β, coe := measure_theory.simple_func.to_fun β}
Range of a simple function α →ₛ β
as a finset β
.
Constant function as a simple_func
.
Equations
- measure_theory.simple_func.const α b = {to_fun := λ (a : α), b, is_measurable_fiber' := _, finite_range' := _}
Equations
A simple function is measurable
If-then-else as a simple_func
.
Equations
- measure_theory.simple_func.piecewise s hs f g = {to_fun := s.piecewise ⇑f ⇑g (λ (j : α), s.decidable_mem j), is_measurable_fiber' := _, finite_range' := _}
If f : α →ₛ β
is a simple function and g : β → α →ₛ γ
is a family of simple functions,
then f.bind g
binds the first argument of g
to f
. In other words, f.bind g a = g (f a) a
.
Equations
- f.bind g = {to_fun := λ (a : α), ⇑(g (⇑f a)) a, is_measurable_fiber' := _, finite_range' := _}
Given a function g : β → γ
and a simple function f : α →ₛ β
, f.map g
return the simple
function g ∘ f : α →ₛ γ
Equations
Composition of a simple_fun
and a measurable function is a simple_func
.
Equations
- f.comp g hgm = {to_fun := ⇑f ∘ g, is_measurable_fiber' := _, finite_range' := _}
If f
is a simple function taking values in β → γ
and g
is another simple function
with the same domain and codomain β
, then f.seq g = f a (g a)
.
Equations
- f.seq g = f.bind (λ (f : β → γ), measure_theory.simple_func.map f g)
Combine two simple functions f : α →ₛ β
and g : α →ₛ β
into λ a, (f a, g a)
.
Equations
- f.pair g = (measure_theory.simple_func.map prod.mk f).seq g
Equations
Equations
- measure_theory.simple_func.has_add = {add := λ (f g : measure_theory.simple_func α β), (measure_theory.simple_func.map has_add.add f).seq g}
Equations
- measure_theory.simple_func.has_mul = {mul := λ (f g : measure_theory.simple_func α β), (measure_theory.simple_func.map has_mul.mul f).seq g}
Equations
- measure_theory.simple_func.has_sup = {sup := λ (f g : measure_theory.simple_func α β), (measure_theory.simple_func.map has_sup.sup f).seq g}
Equations
- measure_theory.simple_func.has_inf = {inf := λ (f g : measure_theory.simple_func α β), (measure_theory.simple_func.map has_inf.inf f).seq g}
Equations
- measure_theory.simple_func.has_le = {le := λ (f g : measure_theory.simple_func α β), ∀ (a : α), ⇑f a ≤ ⇑g a}
Equations
- measure_theory.simple_func.add_monoid = function.injective.add_monoid (λ (f : measure_theory.simple_func α β), show α → β, from ⇑f) measure_theory.simple_func.coe_injective measure_theory.simple_func.add_monoid._proof_1 measure_theory.simple_func.add_monoid._proof_2
Equations
- measure_theory.simple_func.add_comm_monoid = function.injective.add_comm_monoid (λ (f : measure_theory.simple_func α β), show α → β, from ⇑f) measure_theory.simple_func.coe_injective measure_theory.simple_func.add_comm_monoid._proof_1 measure_theory.simple_func.add_comm_monoid._proof_2
Equations
Equations
- measure_theory.simple_func.add_group = function.injective.add_group (λ (f : measure_theory.simple_func α β), show α → β, from ⇑f) measure_theory.simple_func.coe_injective measure_theory.simple_func.add_group._proof_1 measure_theory.simple_func.add_group._proof_2 measure_theory.simple_func.add_group._proof_3
Equations
- measure_theory.simple_func.add_comm_group = function.injective.add_comm_group (λ (f : measure_theory.simple_func α β), show α → β, from ⇑f) measure_theory.simple_func.coe_injective measure_theory.simple_func.add_comm_group._proof_1 measure_theory.simple_func.add_comm_group._proof_2 measure_theory.simple_func.add_comm_group._proof_3
Equations
- measure_theory.simple_func.has_scalar = {smul := λ (k : K) (f : measure_theory.simple_func α β), measure_theory.simple_func.map (has_scalar.smul k) f}
Equations
- measure_theory.simple_func.semimodule = function.injective.semimodule K {to_fun := λ (f : measure_theory.simple_func α β), show α → β, from ⇑f, map_zero' := _, map_add' := _} measure_theory.simple_func.coe_injective measure_theory.simple_func.semimodule._proof_3
Equations
- measure_theory.simple_func.preorder = {le := has_le.le measure_theory.simple_func.has_le, lt := λ (a b : measure_theory.simple_func α β), a ≤ b ∧ ¬b ≤ a, le_refl := _, le_trans := _, lt_iff_le_not_le := _}
Equations
Equations
Equations
Equations
- measure_theory.simple_func.semilattice_inf = {inf := has_inf.inf measure_theory.simple_func.has_inf, le := partial_order.le measure_theory.simple_func.partial_order, lt := partial_order.lt measure_theory.simple_func.partial_order, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, inf_le_left := _, inf_le_right := _, le_inf := _}
Equations
- measure_theory.simple_func.semilattice_sup = {sup := has_sup.sup measure_theory.simple_func.has_sup, le := partial_order.le measure_theory.simple_func.partial_order, lt := partial_order.lt measure_theory.simple_func.partial_order, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _}
Equations
- measure_theory.simple_func.semilattice_sup_bot = {bot := order_bot.bot measure_theory.simple_func.order_bot, le := semilattice_sup.le measure_theory.simple_func.semilattice_sup, lt := semilattice_sup.lt measure_theory.simple_func.semilattice_sup, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, bot_le := _, sup := semilattice_sup.sup measure_theory.simple_func.semilattice_sup, le_sup_left := _, le_sup_right := _, sup_le := _}
Equations
- measure_theory.simple_func.lattice = {sup := semilattice_sup.sup measure_theory.simple_func.semilattice_sup, le := semilattice_sup.le measure_theory.simple_func.semilattice_sup, lt := semilattice_sup.lt measure_theory.simple_func.semilattice_sup, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _, inf := semilattice_inf.inf measure_theory.simple_func.semilattice_inf, inf_le_left := _, inf_le_right := _, le_inf := _}
Equations
- measure_theory.simple_func.bounded_lattice = {sup := lattice.sup measure_theory.simple_func.lattice, le := lattice.le measure_theory.simple_func.lattice, lt := lattice.lt measure_theory.simple_func.lattice, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _, inf := lattice.inf measure_theory.simple_func.lattice, inf_le_left := _, inf_le_right := _, le_inf := _, top := order_top.top measure_theory.simple_func.order_top, le_top := _, bot := order_bot.bot measure_theory.simple_func.order_bot, bot_le := _}
Restrict a simple function f : α →ₛ β
to a set s
. If s
is measurable,
then f.restrict s a = if a ∈ s then f a else 0
, otherwise f.restrict s = const α 0
.
Equations
- f.restrict s = dite (is_measurable s) (λ (hs : is_measurable s), measure_theory.simple_func.piecewise s hs f 0) (λ (hs : ¬is_measurable s), 0)
Fix a sequence i : ℕ → β
. Given a function α → β
, its n
-th approximation
by simple functions is defined so that in case β = ennreal
it sends each a
to the supremum
of the set {i k | k ≤ n ∧ i k ≤ f a}
, see approx_apply
and supr_approx_apply
for details.
Equations
- measure_theory.simple_func.approx i f n = (finset.range n).sup (λ (k : ℕ), (measure_theory.simple_func.const α (i k)).restrict {a : α | i k ≤ f a})
A sequence of ennreal
s such that its range is the set of non-negative rational numbers.
Equations
Approximate a function α → ennreal
by a sequence of simple functions.
Integral of a simple function whose codomain is ennreal
.
Calculate the integral of (g ∘ f)
, where g : β → ennreal
and f : α →ₛ β
.
Integral of a simple function α →ₛ ennreal
as a bilinear map.
simple_func.lintegral
is monotone both in function and in measure.
simple_func.lintegral
depends only on the measures of f ⁻¹' {y}
.
If two simple functions are equal a.e., then their lintegral
s are equal.
A simple_func
has finite measure support if it is equal to 0
outside of a set of finite
measure.
The lower Lebesgue integral of a function f
with respect to a measure μ
.
Equations
- measure_theory.lintegral μ f = ⨆ (g : measure_theory.simple_func α ennreal) (hf : ⇑g ≤ f), g.lintegral μ
∫⁻ a in s, f a ∂μ
is defined as the supremum of integrals of simple functions
φ : α →ₛ ennreal
such that φ ≤ f
. This lemma says that it suffices to take
functions φ : α →ₛ ℝ≥0
.
Monotone convergence theorem -- sometimes called Beppo-Levi convergence.
See lintegral_supr_directed
for a more general form.
Chebyshev's inequality
Weaker version of the monotone convergence theorem
Monotone convergence theorem for nonincreasing sequences of functions
Monotone convergence theorem for nonincreasing sequences of functions
Known as Fatou's lemma
Dominated convergence theorem for nonnegative functions
Dominated convergence theorem for filters with a countable basis
Monotone convergence for a suprema over a directed family and indexed by an encodable type
Given a measure μ : measure α
and a function f : α → ennreal
, μ.with_density f
is the
measure such that for a measurable set s
we have μ.with_density f s = ∫⁻ a in s, f a ∂μ
.
Equations
- μ.with_density f = measure_theory.measure.of_measurable (λ (s : set α) (hs : is_measurable s), ∫⁻ (a : α) in s, f a ∂μ) _ _