Almost everywhere equal functions
Two measurable functions are treated as identical if they are almost everywhere equal. We form the
set of equivalence classes under the relation of being almost everywhere equal, which is sometimes
known as the L⁰ space.
See l1_space.lean for L¹ space.
Notation
α →ₘ[μ] βis the type ofL⁰space, whereαandβare measurable spaces andμis a measure onα.f : α →ₘ βis a "function" inL⁰. In comments,[f]is also used to denote anL⁰function.ₘcan be typed as\_m. Sometimes it is shown as a box if font is missing.
Main statements
The linear structure of
L⁰: Addition and scalar multiplication are defined onL⁰in the natural way, i.e.,[f] + [g] := [f + g],c • [f] := [c • f]. So defined,α →ₘ βinherits the linear structure ofβ. For example, ifβis a module, thenα →ₘ βis a module over the same ring.See
mk_add_mk,neg_mk,mk_sub_mk,smul_mk,add_to_fun,neg_to_fun,sub_to_fun,smul_to_funThe order structure of
L⁰:≤can be defined in a similar way:[f] ≤ [g]iff a ≤ g afor almost allain domain. Andα →ₘ βinherits the preorder and partial order ofβ.TODO: Define
supandinfonL⁰so that it forms a lattice. It seems thatβmust be a linear order, since otherwisef ⊔ gmay not be a measurable function.Emetric on
L⁰: Ifβis anemetric_space, thenL⁰can be made into anemetric_space, whereedist [f] [g]is defined to be∫⁻ a, edist (f a) (g a).The integral used here is
lintegral : (α → ennreal) → ennreal, which is defined in the fileintegration.lean.See
edist_mk_mkandedist_to_fun.
Implementation notes
f.to_fun: To find a representative off : α →ₘ β, usef.to_fun. For each operationopinL⁰, there is a lemma calledop_to_fun, characterizing, say,(f op g).to_fun.ae_eq_fun.mk: To constructs anL⁰functionα →ₘ βfrom a measurable functionf : α → β, useae_eq_fun.mkcomp: Usecomp g fto get[g ∘ f]fromg : β → γand[f] : α →ₘ γcomp₂: Usecomp₂ g f₁ f₂ to get[λa, g (f₁ a) (f₂ a)]. For example,[f + g]iscomp₂ (+)`
Tags
function space, almost everywhere equal, L⁰, ae_eq_fun
The equivalence relation of being almost everywhere equal
Equations
- measure_theory.measure.ae_eq_setoid β μ = {r := λ (f g : {f // measurable f}), ↑f =ᵐ[μ] ↑g, iseqv := _}
The space of equivalence classes of measurable functions, where two measurable functions are
equivalent if they agree almost everywhere, i.e., they differ on a set of measure 0.
Equations
- (α →ₘ[μ] β) = quotient (measure_theory.measure.ae_eq_setoid β μ)
Construct the equivalence class [f] of a measurable function f, based on the equivalence
relation of being almost everywhere equal.
Equations
- measure_theory.ae_eq_fun.mk f hf = quotient.mk' ⟨f, hf⟩
A representative of an ae_eq_fun [f]
Given a measurable function g : β → γ, and an almost everywhere equal function [f] : α →ₘ β,
return the equivalence class of g ∘ f, i.e., the almost everywhere equal function
[g ∘ f] : α →ₘ γ.
Equations
- measure_theory.ae_eq_fun.comp g hg f = quotient.lift_on' f (λ (f : {f // measurable f}), measure_theory.ae_eq_fun.mk (g ∘ ↑f) _) _
The class of x ↦ (f x, g x).
Equations
- f.pair g = quotient.lift_on₂' f g (λ (f : {f // measurable f}) (g : {f // measurable f}), measure_theory.ae_eq_fun.mk (λ (x : α), (f.val x, g.val x)) _) measure_theory.ae_eq_fun.pair._proof_2
Given a measurable function g : β → γ → δ, and almost everywhere equal functions
[f₁] : α →ₘ β and [f₂] : α →ₘ γ, return the equivalence class of the function
λa, g (f₁ a) (f₂ a), i.e., the almost everywhere equal function
[λa, g (f₁ a) (f₂ a)] : α →ₘ γ
Equations
- measure_theory.ae_eq_fun.comp₂ g hg f₁ f₂ = measure_theory.ae_eq_fun.comp (function.uncurry g) hg (f₁.pair f₂)
Interpret f : α →ₘ[μ] β as a germ at μ.ae forgetting that f is measurable.
Equations
- f.to_germ = quotient.lift_on' f (λ (f : {f // measurable f}), ↑↑f) measure_theory.ae_eq_fun.to_germ._proof_1
Given a predicate p and an equivalence class [f], return true if p holds of f a
for almost all a
Equations
Given a relation r and equivalence class [f] and [g], return true if r holds of
(f a, g a) for almost all a
Equations
The equivalence class of a constant function: [λa:α, b], based on the equivalence relation of
being almost everywhere equal
Equations
- measure_theory.ae_eq_fun.const α b = measure_theory.ae_eq_fun.mk (λ (a : α), b) measurable_const
Equations
Equations
Equations
- measure_theory.ae_eq_fun.has_mul = {mul := measure_theory.ae_eq_fun.comp₂ has_mul.mul measure_theory.ae_eq_fun.has_mul._proof_1}
Equations
- measure_theory.ae_eq_fun.monoid = function.injective.monoid measure_theory.ae_eq_fun.to_germ measure_theory.ae_eq_fun.to_germ_injective measure_theory.ae_eq_fun.monoid._proof_1 measure_theory.ae_eq_fun.mul_to_germ
Equations
- measure_theory.ae_eq_fun.comm_monoid = function.injective.comm_monoid measure_theory.ae_eq_fun.to_germ measure_theory.ae_eq_fun.to_germ_injective measure_theory.ae_eq_fun.comm_monoid._proof_1 measure_theory.ae_eq_fun.comm_monoid._proof_2
Equations
- measure_theory.ae_eq_fun.group = function.injective.group measure_theory.ae_eq_fun.to_germ measure_theory.ae_eq_fun.to_germ_injective measure_theory.ae_eq_fun.group._proof_1 measure_theory.ae_eq_fun.group._proof_2 measure_theory.ae_eq_fun.inv_to_germ
Equations
- measure_theory.ae_eq_fun.comm_group = {mul := group.mul measure_theory.ae_eq_fun.group, mul_assoc := _, one := group.one measure_theory.ae_eq_fun.group, one_mul := _, mul_one := _, inv := group.inv measure_theory.ae_eq_fun.group, mul_left_inv := _, mul_comm := _}
Equations
- measure_theory.ae_eq_fun.has_scalar = {smul := λ (c : 𝕜) (f : α →ₘ[μ] γ), measure_theory.ae_eq_fun.comp (has_scalar.smul c) _ f}
For f : α → ennreal, define ∫ [f] to be ∫ f
Equations
- f.lintegral = quotient.lift_on' f (λ (f : {f // measurable f}), ∫⁻ (a : α), ↑f a ∂μ) measure_theory.ae_eq_fun.lintegral._proof_1
comp_edist [f] [g] a will return `edist (f a) (g a)
Equations
Almost everywhere equal functions form an emetric_space, with the emetric defined as
edist f g = ∫⁻ a, edist (f a) (g a).
Equations
- measure_theory.ae_eq_fun.emetric_space = {to_has_edist := {edist := λ (f g : α →ₘ[μ] γ), (f.edist g).lintegral}, edist_self := _, eq_of_edist_eq_zero := _, edist_comm := _, edist_triangle := _, to_uniform_space := uniform_space_of_edist (λ (f g : α →ₘ[μ] γ), (f.edist g).lintegral) measure_theory.ae_eq_fun.emetric_space._proof_5 measure_theory.ae_eq_fun.emetric_space._proof_6 measure_theory.ae_eq_fun.emetric_space._proof_7, uniformity_edist := _}
Positive part of an ae_eq_fun.
Equations
- f.pos_part = measure_theory.ae_eq_fun.comp (λ (x : γ), max x 0) measure_theory.ae_eq_fun.pos_part._proof_1 f