Operations on outer measures #
In this file we define algebraic operations (addition, scalar multiplication)
on the type of outer measures on a type.
We also show that outer measures on a type α
form a complete lattice.
References #
Tags #
outer measure
Equations
- MeasureTheory.OuterMeasure.instInhabited = { default := 0 }
Equations
- MeasureTheory.OuterMeasure.instAdd = { add := fun (m₁ m₂ : MeasureTheory.OuterMeasure α) => { measureOf := fun (s : Set α) => m₁ s + m₂ s, empty := ⋯, mono := ⋯, iUnion_nat := ⋯ } }
@[simp]
theorem
MeasureTheory.OuterMeasure.coe_add
{α : Type u_1}
(m₁ : MeasureTheory.OuterMeasure α)
(m₂ : MeasureTheory.OuterMeasure α)
:
theorem
MeasureTheory.OuterMeasure.add_apply
{α : Type u_1}
(m₁ : MeasureTheory.OuterMeasure α)
(m₂ : MeasureTheory.OuterMeasure α)
(s : Set α)
:
instance
MeasureTheory.OuterMeasure.instSMul
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
:
Equations
- MeasureTheory.OuterMeasure.instSMul = { smul := fun (c : R) (m : MeasureTheory.OuterMeasure α) => { measureOf := fun (s : Set α) => c • m s, empty := ⋯, mono := ⋯, iUnion_nat := ⋯ } }
@[simp]
theorem
MeasureTheory.OuterMeasure.coe_smul
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
(c : R)
(m : MeasureTheory.OuterMeasure α)
:
theorem
MeasureTheory.OuterMeasure.smul_apply
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
(c : R)
(m : MeasureTheory.OuterMeasure α)
(s : Set α)
:
instance
MeasureTheory.OuterMeasure.instSMulCommClass
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
{R' : Type u_4}
[SMul R' ENNReal]
[IsScalarTower R' ENNReal ENNReal]
[SMulCommClass R R' ENNReal]
:
SMulCommClass R R' (MeasureTheory.OuterMeasure α)
Equations
- ⋯ = ⋯
instance
MeasureTheory.OuterMeasure.instIsScalarTower
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
{R' : Type u_4}
[SMul R' ENNReal]
[IsScalarTower R' ENNReal ENNReal]
[SMul R R']
[IsScalarTower R R' ENNReal]
:
IsScalarTower R R' (MeasureTheory.OuterMeasure α)
Equations
- ⋯ = ⋯
instance
MeasureTheory.OuterMeasure.instIsCentralScalar
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
[SMul Rᵐᵒᵖ ENNReal]
[IsCentralScalar R ENNReal]
:
Equations
- ⋯ = ⋯
instance
MeasureTheory.OuterMeasure.instMulAction
{α : Type u_1}
{R : Type u_3}
[Monoid R]
[MulAction R ENNReal]
[IsScalarTower R ENNReal ENNReal]
:
Equations
- MeasureTheory.OuterMeasure.instMulAction = Function.Injective.mulAction (fun (μ : MeasureTheory.OuterMeasure α) (s : Set α) => μ s) ⋯ ⋯
Equations
- MeasureTheory.OuterMeasure.addCommMonoid = Function.Injective.addCommMonoid (let_fun this := fun (μ : MeasureTheory.OuterMeasure α) (s : Set α) => μ s; this) ⋯ ⋯ ⋯ ⋯
(⇑)
as an AddMonoidHom
.
Equations
- MeasureTheory.OuterMeasure.coeFnAddMonoidHom = { toFun := DFunLike.coe, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem
MeasureTheory.OuterMeasure.coeFnAddMonoidHom_apply
{α : Type u_1}
:
∀ (a : MeasureTheory.OuterMeasure α) (a_1 : Set α), MeasureTheory.OuterMeasure.coeFnAddMonoidHom a a_1 = a a_1
instance
MeasureTheory.OuterMeasure.instDistribMulAction
{α : Type u_1}
{R : Type u_3}
[Monoid R]
[DistribMulAction R ENNReal]
[IsScalarTower R ENNReal ENNReal]
:
Equations
- MeasureTheory.OuterMeasure.instDistribMulAction = Function.Injective.distribMulAction MeasureTheory.OuterMeasure.coeFnAddMonoidHom ⋯ ⋯
instance
MeasureTheory.OuterMeasure.instModule
{α : Type u_1}
{R : Type u_3}
[Semiring R]
[Module R ENNReal]
[IsScalarTower R ENNReal ENNReal]
:
Equations
- MeasureTheory.OuterMeasure.instModule = Function.Injective.module R MeasureTheory.OuterMeasure.coeFnAddMonoidHom ⋯ ⋯
Equations
- MeasureTheory.OuterMeasure.instBot = { bot := 0 }
Equations
- MeasureTheory.OuterMeasure.instPartialOrder = PartialOrder.mk ⋯
Equations
- MeasureTheory.OuterMeasure.orderBot = OrderBot.mk ⋯
theorem
MeasureTheory.OuterMeasure.univ_eq_zero_iff
{α : Type u_1}
(m : MeasureTheory.OuterMeasure α)
:
Equations
- One or more equations did not get rendered due to their size.
Equations
- MeasureTheory.OuterMeasure.instCompleteLattice = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
@[simp]
theorem
MeasureTheory.OuterMeasure.sSup_apply
{α : Type u_1}
(ms : Set (MeasureTheory.OuterMeasure α))
(s : Set α)
:
@[simp]
theorem
MeasureTheory.OuterMeasure.iSup_apply
{α : Type u_1}
{ι : Sort u_3}
(f : ι → MeasureTheory.OuterMeasure α)
(s : Set α)
:
(⨆ (i : ι), f i) s = ⨆ (i : ι), (f i) s
theorem
MeasureTheory.OuterMeasure.coe_iSup
{α : Type u_1}
{ι : Sort u_3}
(f : ι → MeasureTheory.OuterMeasure α)
:
⇑(⨆ (i : ι), f i) = ⨆ (i : ι), ⇑(f i)
@[simp]
theorem
MeasureTheory.OuterMeasure.sup_apply
{α : Type u_1}
(m₁ : MeasureTheory.OuterMeasure α)
(m₂ : MeasureTheory.OuterMeasure α)
(s : Set α)
:
theorem
MeasureTheory.OuterMeasure.smul_iSup
{α : Type u_1}
{R : Type u_3}
[SMul R ENNReal]
[IsScalarTower R ENNReal ENNReal]
{ι : Sort u_4}
(f : ι → MeasureTheory.OuterMeasure α)
(c : R)
:
theorem
MeasureTheory.OuterMeasure.mono''
{α : Type u_1}
{m₁ : MeasureTheory.OuterMeasure α}
{m₂ : MeasureTheory.OuterMeasure α}
{s₁ : Set α}
{s₂ : Set α}
(hm : m₁ ≤ m₂)
(hs : s₁ ⊆ s₂)
:
m₁ s₁ ≤ m₂ s₂
The pushforward of m
along f
. The outer measure on s
is defined to be m (f ⁻¹' s)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
MeasureTheory.OuterMeasure.map_apply
{α : Type u_1}
{β : Type u_3}
(f : α → β)
(m : MeasureTheory.OuterMeasure α)
(s : Set β)
:
((MeasureTheory.OuterMeasure.map f) m) s = m (f ⁻¹' s)
@[simp]
theorem
MeasureTheory.OuterMeasure.map_id
{α : Type u_1}
(m : MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.map id) m = m
@[simp]
theorem
MeasureTheory.OuterMeasure.map_map
{α : Type u_1}
{β : Type u_3}
{γ : Type u_4}
(f : α → β)
(g : β → γ)
(m : MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.map g) ((MeasureTheory.OuterMeasure.map f) m) = (MeasureTheory.OuterMeasure.map (g ∘ f)) m
@[simp]
theorem
MeasureTheory.OuterMeasure.map_sup
{α : Type u_1}
{β : Type u_3}
(f : α → β)
(m : MeasureTheory.OuterMeasure α)
(m' : MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.map f) (m ⊔ m') = (MeasureTheory.OuterMeasure.map f) m ⊔ (MeasureTheory.OuterMeasure.map f) m'
@[simp]
theorem
MeasureTheory.OuterMeasure.map_iSup
{α : Type u_1}
{β : Type u_3}
{ι : Sort u_4}
(f : α → β)
(m : ι → MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.map f) (⨆ (i : ι), m i) = ⨆ (i : ι), (MeasureTheory.OuterMeasure.map f) (m i)
Equations
- One or more equations did not get rendered due to their size.
The dirac outer measure.
Equations
- MeasureTheory.OuterMeasure.dirac a = { measureOf := fun (s : Set α) => s.indicator (fun (x : α) => 1) a, empty := ⋯, mono := ⋯, iUnion_nat := ⋯ }
Instances For
@[simp]
theorem
MeasureTheory.OuterMeasure.dirac_apply
{α : Type u_1}
(a : α)
(s : Set α)
:
(MeasureTheory.OuterMeasure.dirac a) s = s.indicator (fun (x : α) => 1) a
def
MeasureTheory.OuterMeasure.sum
{α : Type u_1}
{ι : Type u_3}
(f : ι → MeasureTheory.OuterMeasure α)
:
The sum of an (arbitrary) collection of outer measures.
Equations
- MeasureTheory.OuterMeasure.sum f = { measureOf := fun (s : Set α) => ∑' (i : ι), (f i) s, empty := ⋯, mono := ⋯, iUnion_nat := ⋯ }
Instances For
@[simp]
theorem
MeasureTheory.OuterMeasure.sum_apply
{α : Type u_1}
{ι : Type u_3}
(f : ι → MeasureTheory.OuterMeasure α)
(s : Set α)
:
(MeasureTheory.OuterMeasure.sum f) s = ∑' (i : ι), (f i) s
theorem
MeasureTheory.OuterMeasure.smul_dirac_apply
{α : Type u_1}
(a : ENNReal)
(b : α)
(s : Set α)
:
(a • MeasureTheory.OuterMeasure.dirac b) s = s.indicator (fun (x : α) => a) b
Pullback of an OuterMeasure
: comap f μ s = μ (f '' s)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
MeasureTheory.OuterMeasure.comap_apply
{α : Type u_1}
{β : Type u_3}
(f : α → β)
(m : MeasureTheory.OuterMeasure β)
(s : Set α)
:
((MeasureTheory.OuterMeasure.comap f) m) s = m (f '' s)
@[simp]
theorem
MeasureTheory.OuterMeasure.comap_iSup
{α : Type u_1}
{β : Type u_3}
{ι : Sort u_4}
(f : α → β)
(m : ι → MeasureTheory.OuterMeasure β)
:
(MeasureTheory.OuterMeasure.comap f) (⨆ (i : ι), m i) = ⨆ (i : ι), (MeasureTheory.OuterMeasure.comap f) (m i)
Restrict an OuterMeasure
to a set.
Equations
- MeasureTheory.OuterMeasure.restrict s = MeasureTheory.OuterMeasure.map Subtype.val ∘ₗ MeasureTheory.OuterMeasure.comap Subtype.val
Instances For
@[simp]
theorem
MeasureTheory.OuterMeasure.restrict_apply
{α : Type u_1}
(s : Set α)
(t : Set α)
(m : MeasureTheory.OuterMeasure α)
:
((MeasureTheory.OuterMeasure.restrict s) m) t = m (t ∩ s)
theorem
MeasureTheory.OuterMeasure.restrict_mono
{α : Type u_1}
{s : Set α}
{t : Set α}
(h : s ⊆ t)
{m : MeasureTheory.OuterMeasure α}
{m' : MeasureTheory.OuterMeasure α}
(hm : m ≤ m')
:
@[simp]
theorem
MeasureTheory.OuterMeasure.restrict_univ
{α : Type u_1}
(m : MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.restrict Set.univ) m = m
@[simp]
theorem
MeasureTheory.OuterMeasure.restrict_empty
{α : Type u_1}
(m : MeasureTheory.OuterMeasure α)
:
@[simp]
theorem
MeasureTheory.OuterMeasure.restrict_iSup
{α : Type u_1}
{ι : Sort u_3}
(s : Set α)
(m : ι → MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.restrict s) (⨆ (i : ι), m i) = ⨆ (i : ι), (MeasureTheory.OuterMeasure.restrict s) (m i)
theorem
MeasureTheory.OuterMeasure.map_comap
{α : Type u_1}
{β : Type u_3}
(f : α → β)
(m : MeasureTheory.OuterMeasure β)
:
theorem
MeasureTheory.OuterMeasure.map_comap_le
{α : Type u_1}
{β : Type u_3}
(f : α → β)
(m : MeasureTheory.OuterMeasure β)
:
(MeasureTheory.OuterMeasure.map f) ((MeasureTheory.OuterMeasure.comap f) m) ≤ m
theorem
MeasureTheory.OuterMeasure.restrict_le_self
{α : Type u_1}
(m : MeasureTheory.OuterMeasure α)
(s : Set α)
:
(MeasureTheory.OuterMeasure.restrict s) m ≤ m
@[simp]
theorem
MeasureTheory.OuterMeasure.map_le_restrict_range
{α : Type u_1}
{β : Type u_3}
{ma : MeasureTheory.OuterMeasure α}
{mb : MeasureTheory.OuterMeasure β}
{f : α → β}
:
(MeasureTheory.OuterMeasure.map f) ma ≤ (MeasureTheory.OuterMeasure.restrict (Set.range f)) mb ↔ (MeasureTheory.OuterMeasure.map f) ma ≤ mb
theorem
MeasureTheory.OuterMeasure.map_comap_of_surjective
{α : Type u_1}
{β : Type u_3}
{f : α → β}
(hf : Function.Surjective f)
(m : MeasureTheory.OuterMeasure β)
:
(MeasureTheory.OuterMeasure.map f) ((MeasureTheory.OuterMeasure.comap f) m) = m
theorem
MeasureTheory.OuterMeasure.le_comap_map
{α : Type u_1}
{β : Type u_3}
(f : α → β)
(m : MeasureTheory.OuterMeasure α)
:
m ≤ (MeasureTheory.OuterMeasure.comap f) ((MeasureTheory.OuterMeasure.map f) m)
theorem
MeasureTheory.OuterMeasure.comap_map
{α : Type u_1}
{β : Type u_3}
{f : α → β}
(hf : Function.Injective f)
(m : MeasureTheory.OuterMeasure α)
:
(MeasureTheory.OuterMeasure.comap f) ((MeasureTheory.OuterMeasure.map f) m) = m
@[simp]
@[simp]
theorem
MeasureTheory.OuterMeasure.map_top_of_surjective
{α : Type u_1}
{β : Type u_2}
(f : α → β)
(hf : Function.Surjective f)
: