The multiplicative and additive convolution of measures #
In this file we define and prove properties about the convolutions of two measures.
Main definitions #
MeasureTheory.Measure.mconv
: The multiplicative convolution of two measures: the map of*
under the product measure.MeasureTheory.Measure.conv
: The additive convolution of two measures: the map of+
under the product measure.
noncomputable def
MeasureTheory.Measure.conv
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
:
Additive convolution of measures.
Equations
- μ.conv ν = MeasureTheory.Measure.map (fun (x : M × M) => x.1 + x.2) (μ.prod ν)
Instances For
noncomputable def
MeasureTheory.Measure.mconv
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
:
Multiplicative convolution of measures.
Equations
- μ.mconv ν = MeasureTheory.Measure.map (fun (x : M × M) => x.1 * x.2) (μ.prod ν)
Instances For
Scoped notation for the multiplicative convolution of measures.
Equations
- MeasureTheory.«term_∗_» = Lean.ParserDescr.trailingNode `MeasureTheory.term_∗_ 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∗ ") (Lean.ParserDescr.cat `term 81))
Instances For
Scoped notation for the additive convolution of measures.
Equations
- MeasureTheory.«term_∗__1» = Lean.ParserDescr.trailingNode `MeasureTheory.term_∗__1 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∗ ") (Lean.ParserDescr.cat `term 81))
Instances For
@[simp]
theorem
MeasureTheory.Measure.dirac_zero_mconv
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
[MeasurableAdd₂ M]
(μ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
:
(MeasureTheory.Measure.dirac 0).conv μ = μ
@[simp]
theorem
MeasureTheory.Measure.dirac_one_mconv
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
[MeasurableMul₂ M]
(μ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
:
(MeasureTheory.Measure.dirac 1).mconv μ = μ
Convolution of the dirac measure at 1 with a measure μ returns μ.
@[simp]
theorem
MeasureTheory.Measure.mconv_dirac_zero
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
[MeasurableAdd₂ M]
(μ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
:
μ.conv (MeasureTheory.Measure.dirac 0) = μ
@[simp]
theorem
MeasureTheory.Measure.mconv_dirac_one
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
[MeasurableMul₂ M]
(μ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
:
μ.mconv (MeasureTheory.Measure.dirac 1) = μ
Convolution of a measure μ with the dirac measure at 1 returns μ.
@[simp]
theorem
MeasureTheory.Measure.conv_zero
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
:
MeasureTheory.Measure.conv 0 μ = 0
@[simp]
theorem
MeasureTheory.Measure.mconv_zero
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
:
MeasureTheory.Measure.mconv 0 μ = 0
Convolution of the zero measure with a measure μ returns the zero measure.
@[simp]
theorem
MeasureTheory.Measure.zero_conv
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
:
μ.conv 0 = 0
@[simp]
theorem
MeasureTheory.Measure.zero_mconv
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
:
μ.mconv 0 = 0
Convolution of a measure μ with the zero measure returns the zero measure.
theorem
MeasureTheory.Measure.conv_add
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
[MeasurableAdd₂ M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
(ρ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
[MeasureTheory.SFinite ρ]
:
theorem
MeasureTheory.Measure.mconv_add
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
[MeasurableMul₂ M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
(ρ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
[MeasureTheory.SFinite ρ]
:
theorem
MeasureTheory.Measure.add_conv
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
[MeasurableAdd₂ M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
(ρ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
[MeasureTheory.SFinite ρ]
:
theorem
MeasureTheory.Measure.add_mconv
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
[MeasurableMul₂ M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
(ρ : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
[MeasureTheory.SFinite ρ]
:
theorem
MeasureTheory.Measure.conv_comm
{M : Type u_2}
[AddCommMonoid M]
[MeasurableSpace M]
[MeasurableAdd₂ M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
:
μ.conv ν = ν.conv μ
theorem
MeasureTheory.Measure.mconv_comm
{M : Type u_2}
[CommMonoid M]
[MeasurableSpace M]
[MeasurableMul₂ M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
:
μ.mconv ν = ν.mconv μ
To get commutativity, we need the underlying multiplication to be commutative.
instance
MeasureTheory.Measure.sfinite_conv_of_sfinite
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
:
MeasureTheory.SFinite (μ.conv ν)
Equations
- ⋯ = ⋯
instance
MeasureTheory.Measure.sfinite_mconv_of_sfinite
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasureTheory.SFinite μ]
[MeasureTheory.SFinite ν]
:
MeasureTheory.SFinite (μ.mconv ν)
Convolution of SFinite maps is SFinite.
Equations
- ⋯ = ⋯
instance
MeasureTheory.Measure.finite_of_finite_conv
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasureTheory.IsFiniteMeasure μ]
[MeasureTheory.IsFiniteMeasure ν]
:
MeasureTheory.IsFiniteMeasure (μ.conv ν)
Equations
- ⋯ = ⋯
instance
MeasureTheory.Measure.finite_of_finite_mconv
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasureTheory.IsFiniteMeasure μ]
[MeasureTheory.IsFiniteMeasure ν]
:
MeasureTheory.IsFiniteMeasure (μ.mconv ν)
Equations
- ⋯ = ⋯
instance
MeasureTheory.Measure.probabilitymeasure_of_probabilitymeasures_conv
{M : Type u_1}
[AddMonoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasurableAdd₂ M]
[MeasureTheory.IsProbabilityMeasure μ]
[MeasureTheory.IsProbabilityMeasure ν]
:
MeasureTheory.IsProbabilityMeasure (μ.conv ν)
Equations
- ⋯ = ⋯
instance
MeasureTheory.Measure.probabilitymeasure_of_probabilitymeasures_mconv
{M : Type u_1}
[Monoid M]
[MeasurableSpace M]
(μ : MeasureTheory.Measure M)
(ν : MeasureTheory.Measure M)
[MeasurableMul₂ M]
[MeasureTheory.IsProbabilityMeasure μ]
[MeasureTheory.IsProbabilityMeasure ν]
:
MeasureTheory.IsProbabilityMeasure (μ.mconv ν)
Equations
- ⋯ = ⋯