File: Mathlib/MeasureTheory/Group/Convolution.lean

full_name: MeasureTheory.Measure.conv
code: /-- Multiplicative convolution of measures. -/
@[to_additive conv "Additive convolution of measures."]
noncomputable def mconv (μ : Measure M) (ν : Measure M) :
    Measure M 
goal: MeasureTheory.Measure M

full_name: MeasureTheory.Measure.mconv
code: /-- Multiplicative convolution of measures. -/
@[to_additive conv "Additive convolution of measures."]
noncomputable def mconv (μ : Measure M) (ν : Measure M) :
    Measure M 
goal: MeasureTheory.Measure M

full_name: MeasureTheory.«_aux_Mathlib_MeasureTheory_Group_Convolution___macroRules_MeasureTheory_term_∗__1»
code: /-- Scoped notation for the multiplicative convolution of measures. -/
scoped[MeasureTheory] infix:80 " ∗ " => MeasureTheory.Measure.mconv
goal: Lean.Macro

full_name: MeasureTheory._aux_Mathlib_MeasureTheory_Group_Convolution___unexpand_MeasureTheory_Measure_mconv_1
code: /-- Scoped notation for the multiplicative convolution of measures. -/
scoped[MeasureTheory] infix:80 " ∗ " => MeasureTheory.Measure.mconv
goal: Lean.PrettyPrinter.Unexpander

full_name: MeasureTheory.«_aux_Mathlib_MeasureTheory_Group_Convolution___macroRules_MeasureTheory_term_∗__1_1»
code: /-- Scoped notation for the additive convolution of measures. -/
scoped[MeasureTheory] infix:80 " ∗ " => MeasureTheory.Measure.conv
goal: Lean.Macro

full_name: MeasureTheory._aux_Mathlib_MeasureTheory_Group_Convolution___unexpand_MeasureTheory_Measure_conv_1
code: /-- Scoped notation for the additive convolution of measures. -/
scoped[MeasureTheory] infix:80 " ∗ " => MeasureTheory.Measure.conv
goal: Lean.PrettyPrinter.Unexpander

full_name: MeasureTheory.Measure.dirac_one_mconv
code: /-- Convolution of the dirac measure at 1 with a measure μ returns μ. -/
@[to_additive (attr := simp)]
theorem dirac_one_mconv [MeasurableMul₂ M] (μ : Measure M) [SFinite μ] :
    (Measure.dirac 1) ∗ μ = μ 
goal: (MeasureTheory.Measure.dirac 1).mconv μ = μ

full_name: MeasureTheory.Measure.dirac_zero_mconv
code: /-- Convolution of the dirac measure at 1 with a measure μ returns μ. -/
@[to_additive (attr := simp)]
theorem dirac_one_mconv [MeasurableMul₂ M] (μ : Measure M) [SFinite μ] :
    (Measure.dirac 1) ∗ μ = μ 
goal: (MeasureTheory.Measure.dirac 0).conv μ = μ

full_name: MeasureTheory.Measure.mconv_dirac_zero
code: /-- Convolution of a measure μ with the dirac measure at 1 returns μ. -/
@[to_additive (attr := simp)]
theorem mconv_dirac_one [MeasurableMul₂ M]
    (μ : Measure M) [SFinite μ] : μ ∗ (Measure.dirac 1) = μ 
goal: μ.conv (MeasureTheory.Measure.dirac 0) = μ

full_name: MeasureTheory.Measure.mconv_dirac_one
code: /-- Convolution of a measure μ with the dirac measure at 1 returns μ. -/
@[to_additive (attr := simp)]
theorem mconv_dirac_one [MeasurableMul₂ M]
    (μ : Measure M) [SFinite μ] : μ ∗ (Measure.dirac 1) = μ 
goal: μ.mconv (MeasureTheory.Measure.dirac 1) = μ

full_name: MeasureTheory.Measure.mconv_zero
code: /-- Convolution of the zero measure with a measure μ returns the zero measure. -/
@[to_additive (attr := simp) conv_zero]
theorem mconv_zero (μ : Measure M) : (0 : Measure M) ∗ μ = (0 : Measure M) 
goal: MeasureTheory.Measure.mconv 0 μ = 0

full_name: MeasureTheory.Measure.conv_zero
code: /-- Convolution of the zero measure with a measure μ returns the zero measure. -/
@[to_additive (attr := simp) conv_zero]
theorem mconv_zero (μ : Measure M) : (0 : Measure M) ∗ μ = (0 : Measure M) 
goal: MeasureTheory.Measure.conv 0 μ = 0

full_name: MeasureTheory.Measure.zero_conv
code: /-- Convolution of a measure μ with the zero measure returns the zero measure. -/
@[to_additive (attr := simp) zero_conv]
theorem zero_mconv (μ : Measure M) : μ ∗ (0 : Measure M) = (0 : Measure M) 
goal: μ.conv 0 = 0

full_name: MeasureTheory.Measure.zero_mconv
code: /-- Convolution of a measure μ with the zero measure returns the zero measure. -/
@[to_additive (attr := simp) zero_conv]
theorem zero_mconv (μ : Measure M) : μ ∗ (0 : Measure M) = (0 : Measure M) 
goal: μ.mconv 0 = 0

full_name: MeasureTheory.Measure.mconv_add
code: @[to_additive conv_add]
theorem mconv_add [MeasurableMul₂ M] (μ : Measure M) (ν : Measure M) (ρ : Measure M) [SFinite μ]
    [SFinite ν] [SFinite ρ] : μ ∗ (ν + ρ) = μ ∗ ν + μ ∗ ρ 
goal: μ.mconv (ν + ρ) = μ.mconv ν + μ.mconv ρ

full_name: MeasureTheory.Measure.conv_add
code: @[to_additive conv_add]
theorem mconv_add [MeasurableMul₂ M] (μ : Measure M) (ν : Measure M) (ρ : Measure M) [SFinite μ]
    [SFinite ν] [SFinite ρ] : μ ∗ (ν + ρ) = μ ∗ ν + μ ∗ ρ 
goal: μ.conv (ν + ρ) = μ.conv ν + μ.conv ρ

full_name: MeasureTheory.Measure.add_conv
code: @[to_additive add_conv]
theorem add_mconv [MeasurableMul₂ M] (μ : Measure M) (ν : Measure M) (ρ : Measure M) [SFinite μ]
    [SFinite ν] [SFinite ρ] : (μ + ν) ∗ ρ = μ ∗ ρ + ν ∗ ρ 
goal: (μ + ν).conv ρ = μ.conv ρ + ν.conv ρ

full_name: MeasureTheory.Measure.add_mconv
code: @[to_additive add_conv]
theorem add_mconv [MeasurableMul₂ M] (μ : Measure M) (ν : Measure M) (ρ : Measure M) [SFinite μ]
    [SFinite ν] [SFinite ρ] : (μ + ν) ∗ ρ = μ ∗ ρ + ν ∗ ρ 
goal: (μ + ν).mconv ρ = μ.mconv ρ + ν.mconv ρ

full_name: MeasureTheory.Measure.mconv_comm
code: /-- To get commutativity, we need the underlying multiplication to be commutative. -/
@[to_additive conv_comm]
theorem mconv_comm {M : Type*} [CommMonoid M] [MeasurableSpace M] [MeasurableMul₂ M] (μ : Measure M)
    (ν : Measure M) [SFinite μ] [SFinite ν] : μ ∗ ν = ν ∗ μ 
goal: μ.mconv ν = ν.mconv μ

full_name: MeasureTheory.Measure.conv_comm
code: /-- To get commutativity, we need the underlying multiplication to be commutative. -/
@[to_additive conv_comm]
theorem mconv_comm {M : Type*} [CommMonoid M] [MeasurableSpace M] [MeasurableMul₂ M] (μ : Measure M)
    (ν : Measure M) [SFinite μ] [SFinite ν] : μ ∗ ν = ν ∗ μ 
goal: μ.conv ν = ν.conv μ

full_name: MeasureTheory.Measure.sfinite_mconv_of_sfinite
code: /-- Convolution of SFinite maps is SFinite. -/
@[to_additive sfinite_conv_of_sfinite]
instance sfinite_mconv_of_sfinite (μ : Measure M) (ν : Measure M) [SFinite μ] [SFinite ν] :
    SFinite (μ ∗ ν) 
goal: MeasureTheory.SFinite (μ.mconv ν)

full_name: MeasureTheory.Measure.sfinite_conv_of_sfinite
code: /-- Convolution of SFinite maps is SFinite. -/
@[to_additive sfinite_conv_of_sfinite]
instance sfinite_mconv_of_sfinite (μ : Measure M) (ν : Measure M) [SFinite μ] [SFinite ν] :
    SFinite (μ ∗ ν) 
goal: MeasureTheory.SFinite (μ.conv ν)

full_name: MeasureTheory.Measure.finite_of_finite_conv
code: @[to_additive finite_of_finite_conv]
instance finite_of_finite_mconv (μ : Measure M) (ν : Measure M) [IsFiniteMeasure μ]
    [IsFiniteMeasure ν] : IsFiniteMeasure (μ ∗ ν) 
goal: MeasureTheory.IsFiniteMeasure (μ.conv ν)

full_name: MeasureTheory.Measure.finite_of_finite_mconv
code: @[to_additive finite_of_finite_conv]
instance finite_of_finite_mconv (μ : Measure M) (ν : Measure M) [IsFiniteMeasure μ]
    [IsFiniteMeasure ν] : IsFiniteMeasure (μ ∗ ν) 
goal: MeasureTheory.IsFiniteMeasure (μ.mconv ν)

full_name: MeasureTheory.Measure.probabilitymeasure_of_probabilitymeasures_mconv
code: @[to_additive probabilitymeasure_of_probabilitymeasures_conv]
instance probabilitymeasure_of_probabilitymeasures_mconv (μ : Measure M) (ν : Measure M)
    [MeasurableMul₂ M] [IsProbabilityMeasure μ] [IsProbabilityMeasure ν] :
    IsProbabilityMeasure (μ ∗ ν) 
goal: MeasureTheory.IsProbabilityMeasure (μ.mconv ν)

full_name: MeasureTheory.Measure.probabilitymeasure_of_probabilitymeasures_conv
code: @[to_additive probabilitymeasure_of_probabilitymeasures_conv]
instance probabilitymeasure_of_probabilitymeasures_mconv (μ : Measure M) (ν : Measure M)
    [MeasurableMul₂ M] [IsProbabilityMeasure μ] [IsProbabilityMeasure ν] :
    IsProbabilityMeasure (μ ∗ ν) 
goal: MeasureTheory.IsProbabilityMeasure (μ.conv ν)