# Measures on Groups #

We develop some properties of measures on (topological) groups

• We define properties on measures: measures that are left or right invariant w.r.t. multiplication.
• We define the measure μ.inv : A ↦ μ(A⁻¹) and show that it is right invariant iff μ is left invariant.
• We define a class IsHaarMeasure μ, requiring that the measure μ is left-invariant, finite on compact sets, and positive on open sets.

We also give analogues of all these notions in the additive world.

class MeasureTheory.Measure.IsAddLeftInvariant {G : Type u_2} [] [Add G] (μ : ) :

A measure μ on a measurable additive group is left invariant if the measure of left translations of a set are equal to the measure of the set itself.

Instances
class MeasureTheory.Measure.IsMulLeftInvariant {G : Type u_2} [] [Mul G] (μ : ) :

A measure μ on a measurable group is left invariant if the measure of left translations of a set are equal to the measure of the set itself.

Instances
class MeasureTheory.Measure.IsAddRightInvariant {G : Type u_2} [] [Add G] (μ : ) :

A measure μ on a measurable additive group is right invariant if the measure of right translations of a set are equal to the measure of the set itself.

Instances
class MeasureTheory.Measure.IsMulRightInvariant {G : Type u_2} [] [Mul G] (μ : ) :

A measure μ on a measurable group is right invariant if the measure of right translations of a set are equal to the measure of the set itself.

Instances
theorem MeasureTheory.map_add_left_eq_self {G : Type u_2} [] [Add G] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (x : G) => g + x) μ = μ
theorem MeasureTheory.map_mul_left_eq_self {G : Type u_2} [] [Mul G] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (x : G) => g * x) μ = μ
theorem MeasureTheory.map_add_right_eq_self {G : Type u_2} [] [Add G] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (x : G) => x + g) μ = μ
theorem MeasureTheory.map_mul_right_eq_self {G : Type u_2} [] [Mul G] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (x : G) => x * g) μ = μ
instance MeasureTheory.isAddLeftInvariant_smul {G : Type u_2} [] [Add G] {μ : } (c : ENNReal) :
Equations
• =
instance MeasureTheory.isMulLeftInvariant_smul {G : Type u_2} [] [Mul G] {μ : } (c : ENNReal) :
Equations
• =
instance MeasureTheory.isAddRightInvariant_smul {G : Type u_2} [] [Add G] {μ : } (c : ENNReal) :
Equations
• =
instance MeasureTheory.isMulRightInvariant_smul {G : Type u_2} [] [Mul G] {μ : } (c : ENNReal) :
Equations
• =
instance MeasureTheory.isAddLeftInvariant_smul_nnreal {G : Type u_2} [] [Add G] {μ : } (c : NNReal) :
Equations
• =
instance MeasureTheory.isMulLeftInvariant_smul_nnreal {G : Type u_2} [] [Mul G] {μ : } (c : NNReal) :
Equations
• =
instance MeasureTheory.isAddRightInvariant_smul_nnreal {G : Type u_2} [] [Add G] {μ : } (c : NNReal) :
Equations
• =
instance MeasureTheory.isMulRightInvariant_smul_nnreal {G : Type u_2} [] [Mul G] {μ : } (c : NNReal) :
Equations
• =
theorem MeasureTheory.measurePreserving_add_left {G : Type u_2} [] [Add G] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (x : G) => g + x) μ μ
theorem MeasureTheory.measurePreserving_mul_left {G : Type u_2} [] [Mul G] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (x : G) => g * x) μ μ
theorem MeasureTheory.MeasurePreserving.add_left {G : Type u_2} [] [Add G] [] (μ : ) (g : G) {X : Type u_4} [] {μ' : } {f : XG} (hf : ) :
MeasureTheory.MeasurePreserving (fun (x : X) => g + f x) μ' μ
theorem MeasureTheory.MeasurePreserving.mul_left {G : Type u_2} [] [Mul G] [] (μ : ) (g : G) {X : Type u_4} [] {μ' : } {f : XG} (hf : ) :
MeasureTheory.MeasurePreserving (fun (x : X) => g * f x) μ' μ
theorem MeasureTheory.measurePreserving_add_right {G : Type u_2} [] [Add G] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (x : G) => x + g) μ μ
theorem MeasureTheory.measurePreserving_mul_right {G : Type u_2} [] [Mul G] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (x : G) => x * g) μ μ
theorem MeasureTheory.MeasurePreserving.add_right {G : Type u_2} [] [Add G] [] (μ : ) (g : G) {X : Type u_4} [] {μ' : } {f : XG} (hf : ) :
MeasureTheory.MeasurePreserving (fun (x : X) => f x + g) μ' μ
theorem MeasureTheory.MeasurePreserving.mul_right {G : Type u_2} [] [Mul G] [] (μ : ) (g : G) {X : Type u_4} [] {μ' : } {f : XG} (hf : ) :
MeasureTheory.MeasurePreserving (fun (x : X) => f x * g) μ' μ
instance MeasureTheory.IsMulLeftInvariant.vaddInvariantMeasure {G : Type u_2} [] [Add G] {μ : } [] :
Equations
• =
instance MeasureTheory.IsMulLeftInvariant.smulInvariantMeasure {G : Type u_2} [] [Mul G] {μ : } [] :
Equations
• =
Equations
• =
Equations
• =
instance MeasureTheory.Subgroup.vaddInvariantMeasure {G : Type u_4} {α : Type u_5} [] [] [] {μ : } (H : ) :
Equations
• =
instance MeasureTheory.Subgroup.smulInvariantMeasure {G : Type u_4} {α : Type u_5} [] [] [] {μ : } (H : ) :
Equations
• =
theorem MeasureTheory.forall_measure_preimage_add_iff {G : Type u_2} [] [Add G] [] (μ : ) :
(∀ (g : G) (A : Set G), μ ((fun (h : G) => g + h) ⁻¹' A) = μ A)

An alternative way to prove that μ is left invariant under addition.

theorem MeasureTheory.forall_measure_preimage_mul_iff {G : Type u_2} [] [Mul G] [] (μ : ) :
(∀ (g : G) (A : Set G), μ ((fun (h : G) => g * h) ⁻¹' A) = μ A)

An alternative way to prove that μ is left invariant under multiplication.

theorem MeasureTheory.forall_measure_preimage_add_right_iff {G : Type u_2} [] [Add G] [] (μ : ) :
(∀ (g : G) (A : Set G), μ ((fun (h : G) => h + g) ⁻¹' A) = μ A)

An alternative way to prove that μ is right invariant under addition.

theorem MeasureTheory.forall_measure_preimage_mul_right_iff {G : Type u_2} [] [Mul G] [] (μ : ) :
(∀ (g : G) (A : Set G), μ ((fun (h : G) => h * g) ⁻¹' A) = μ A)

An alternative way to prove that μ is right invariant under multiplication.

instance MeasureTheory.Measure.prod.instIsAddLeftInvariant {G : Type u_2} [] [Add G] {μ : } [] {H : Type u_4} [Add H] {mH : } {ν : } [] :
Equations
• =
instance MeasureTheory.Measure.prod.instIsMulLeftInvariant {G : Type u_2} [] [Mul G] {μ : } [] {H : Type u_4} [Mul H] {mH : } {ν : } [] :
Equations
• =
instance MeasureTheory.Measure.prod.instIsAddRightInvariant {G : Type u_2} [] [Add G] {μ : } [] {H : Type u_4} [Add H] {mH : } {ν : } [] :
Equations
• =
instance MeasureTheory.Measure.prod.instIsMulRightInvariant {G : Type u_2} [] [Mul G] {μ : } [] {H : Type u_4} [Mul H] {mH : } {ν : } [] :
Equations
• =
theorem MeasureTheory.isAddLeftInvariant_map {G : Type u_2} [] [Add G] {μ : } [] {H : Type u_4} [] [Add H] [] (f : AddHom G H) (hf : ) (h_surj : ) :
theorem MeasureTheory.isMulLeftInvariant_map {G : Type u_2} [] [Mul G] {μ : } [] {H : Type u_4} [] [Mul H] [] (f : G →ₙ* H) (hf : ) (h_surj : ) :
theorem MeasureTheory.isAddLeftInvariant_map_vadd {G : Type u_2} [] [] [] {μ : } {α : Type u_4} [VAdd α G] [] [] [] (a : α) :

The image of a left invariant measure under a left additive action is left invariant, assuming that the action preserves addition.

theorem MeasureTheory.isMulLeftInvariant_map_smul {G : Type u_2} [] [] [] {μ : } {α : Type u_4} [SMul α G] [] [] [] (a : α) :

The image of a left invariant measure under a left action is left invariant, assuming that the action preserves multiplication.

theorem MeasureTheory.isAddRightInvariant_map_vadd {G : Type u_2} [] [] [] {μ : } {α : Type u_4} [VAdd α G] [] [] [] (a : α) :

The image of a right invariant measure under a left additive action is right invariant, assuming that the action preserves addition.

theorem MeasureTheory.isMulRightInvariant_map_smul {G : Type u_2} [] [] [] {μ : } {α : Type u_4} [SMul α G] [] [] [] (a : α) :

The image of a right invariant measure under a left action is right invariant, assuming that the action preserves multiplication.

The image of a left invariant measure under right addition is left invariant.

Equations
• =

The image of a left invariant measure under right multiplication is left invariant.

Equations
• =

The image of a right invariant measure under left addition is right invariant.

Equations
• =

The image of a right invariant measure under left multiplication is right invariant.

Equations
• =
theorem MeasureTheory.map_sub_right_eq_self {G : Type u_2} [] [] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (x : G) => x - g) μ = μ
theorem MeasureTheory.map_div_right_eq_self {G : Type u_2} [] [] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (x : G) => x / g) μ = μ
theorem MeasureTheory.measurePreserving_sub_right {G : Type u_2} [] [] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (x : G) => x - g) μ μ
theorem MeasureTheory.measurePreserving_div_right {G : Type u_2} [] [] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (x : G) => x / g) μ μ
@[simp]
theorem MeasureTheory.measure_preimage_add {G : Type u_2} [] [] [] (μ : ) (g : G) (A : Set G) :
μ ((fun (h : G) => g + h) ⁻¹' A) = μ A

We shorten this from measure_preimage_add_left, since left invariant is the preferred option for measures in this formalization.

@[simp]
theorem MeasureTheory.measure_preimage_mul {G : Type u_2} [] [] [] (μ : ) (g : G) (A : Set G) :
μ ((fun (h : G) => g * h) ⁻¹' A) = μ A

We shorten this from measure_preimage_mul_left, since left invariant is the preferred option for measures in this formalization.

@[simp]
theorem MeasureTheory.measure_preimage_add_right {G : Type u_2} [] [] [] (μ : ) (g : G) (A : Set G) :
μ ((fun (h : G) => h + g) ⁻¹' A) = μ A
@[simp]
theorem MeasureTheory.measure_preimage_mul_right {G : Type u_2} [] [] [] (μ : ) (g : G) (A : Set G) :
μ ((fun (h : G) => h * g) ⁻¹' A) = μ A
theorem MeasureTheory.map_add_left_ae {G : Type u_2} [] [] [] (μ : ) (x : G) :
Filter.map (fun (h : G) => x + h) =
theorem MeasureTheory.map_mul_left_ae {G : Type u_2} [] [] [] (μ : ) (x : G) :
Filter.map (fun (h : G) => x * h) =
theorem MeasureTheory.map_add_right_ae {G : Type u_2} [] [] [] (μ : ) (x : G) :
Filter.map (fun (h : G) => h + x) =
theorem MeasureTheory.map_mul_right_ae {G : Type u_2} [] [] [] (μ : ) (x : G) :
Filter.map (fun (h : G) => h * x) =
theorem MeasureTheory.map_sub_right_ae {G : Type u_2} [] [] [] (μ : ) (x : G) :
Filter.map (fun (t : G) => t - x) =
theorem MeasureTheory.map_div_right_ae {G : Type u_2} [] [] [] (μ : ) (x : G) :
Filter.map (fun (t : G) => t / x) =
theorem MeasureTheory.eventually_add_left_iff {G : Type u_2} [] [] [] (μ : ) (t : G) {p : GProp} :
(∀ᵐ (x : G) ∂μ, p (t + x)) ∀ᵐ (x : G) ∂μ, p x
theorem MeasureTheory.eventually_mul_left_iff {G : Type u_2} [] [] [] (μ : ) (t : G) {p : GProp} :
(∀ᵐ (x : G) ∂μ, p (t * x)) ∀ᵐ (x : G) ∂μ, p x
theorem MeasureTheory.eventually_add_right_iff {G : Type u_2} [] [] [] (μ : ) (t : G) {p : GProp} :
(∀ᵐ (x : G) ∂μ, p (x + t)) ∀ᵐ (x : G) ∂μ, p x
theorem MeasureTheory.eventually_mul_right_iff {G : Type u_2} [] [] [] (μ : ) (t : G) {p : GProp} :
(∀ᵐ (x : G) ∂μ, p (x * t)) ∀ᵐ (x : G) ∂μ, p x
theorem MeasureTheory.eventually_sub_right_iff {G : Type u_2} [] [] [] (μ : ) (t : G) {p : GProp} :
(∀ᵐ (x : G) ∂μ, p (x - t)) ∀ᵐ (x : G) ∂μ, p x
theorem MeasureTheory.eventually_div_right_iff {G : Type u_2} [] [] [] (μ : ) (t : G) {p : GProp} :
(∀ᵐ (x : G) ∂μ, p (x / t)) ∀ᵐ (x : G) ∂μ, p x
noncomputable def MeasureTheory.Measure.neg {G : Type u_2} [] [Neg G] (μ : ) :

The measure A ↦ μ (- A), where - A is the pointwise negation of A.

Equations
Instances For
noncomputable def MeasureTheory.Measure.inv {G : Type u_2} [] [Inv G] (μ : ) :

The measure A ↦ μ (A⁻¹), where A⁻¹ is the pointwise inverse of A.

Equations
Instances For
class MeasureTheory.Measure.IsNegInvariant {G : Type u_2} [] [Neg G] (μ : ) :

A measure is invariant under negation if - μ = μ. Equivalently, this means that for all measurable A we have μ (- A) = μ A, where - A is the pointwise negation of A.

• neg_eq_self :
Instances
class MeasureTheory.Measure.IsInvInvariant {G : Type u_2} [] [Inv G] (μ : ) :

A measure is invariant under inversion if μ⁻¹ = μ. Equivalently, this means that for all measurable A we have μ (A⁻¹) = μ A, where A⁻¹ is the pointwise inverse of A.

• inv_eq_self :
Instances
theorem MeasureTheory.Measure.neg_def {G : Type u_2} [] [Neg G] (μ : ) :
theorem MeasureTheory.Measure.inv_def {G : Type u_2} [] [Inv G] (μ : ) :
@[simp]
theorem MeasureTheory.Measure.neg_eq_self {G : Type u_2} [] [Neg G] (μ : ) :
@[simp]
theorem MeasureTheory.Measure.inv_eq_self {G : Type u_2} [] [Inv G] (μ : ) :
@[simp]
theorem MeasureTheory.Measure.map_neg_eq_self {G : Type u_2} [] [Neg G] (μ : ) :
@[simp]
theorem MeasureTheory.Measure.map_inv_eq_self {G : Type u_2} [] [Inv G] (μ : ) :
instance MeasureTheory.Measure.neg.instSFinite {G : Type u_2} [] [Neg G] (μ : ) :
Equations
• =
instance MeasureTheory.Measure.inv.instSFinite {G : Type u_2} [] [Inv G] (μ : ) :
Equations
• =
@[simp]
theorem MeasureTheory.Measure.neg_apply {G : Type u_2} [] [] [] (μ : ) (s : Set G) :
s = μ (-s)
@[simp]
theorem MeasureTheory.Measure.inv_apply {G : Type u_2} [] [] [] (μ : ) (s : Set G) :
s = μ s⁻¹
@[simp]
theorem MeasureTheory.Measure.neg_neg {G : Type u_2} [] [] [] (μ : ) :
@[simp]
theorem MeasureTheory.Measure.inv_inv {G : Type u_2} [] [] [] (μ : ) :
@[simp]
theorem MeasureTheory.Measure.measure_neg {G : Type u_2} [] [] [] (μ : ) (A : Set G) :
μ (-A) = μ A
@[simp]
theorem MeasureTheory.Measure.measure_inv {G : Type u_2} [] [] [] (μ : ) (A : Set G) :
μ A⁻¹ = μ A
theorem MeasureTheory.Measure.measure_preimage_neg {G : Type u_2} [] [] [] (μ : ) (A : Set G) :
μ (Neg.neg ⁻¹' A) = μ A
theorem MeasureTheory.Measure.measure_preimage_inv {G : Type u_2} [] [] [] (μ : ) (A : Set G) :
μ (Inv.inv ⁻¹' A) = μ A
instance MeasureTheory.Measure.neg.instSigmaFinite {G : Type u_2} [] [] [] (μ : ) :
Equations
• =
instance MeasureTheory.Measure.inv.instSigmaFinite {G : Type u_2} [] [] [] (μ : ) :
Equations
• =
Equations
• =
Equations
• =
Equations
• =
Equations
• =
theorem MeasureTheory.Measure.measurePreserving_sub_left {G : Type u_2} [] [] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (t : G) => g - t) μ μ
theorem MeasureTheory.Measure.measurePreserving_div_left {G : Type u_2} [] [] [] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (t : G) => g / t) μ μ
theorem MeasureTheory.Measure.map_sub_left_eq_self {G : Type u_2} [] [] [] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (t : G) => g - t) μ = μ
theorem MeasureTheory.Measure.map_div_left_eq_self {G : Type u_2} [] [] [] [] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (t : G) => g / t) μ = μ
theorem MeasureTheory.Measure.measurePreserving_add_right_neg {G : Type u_2} [] [] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (t : G) => -(g + t)) μ μ
theorem MeasureTheory.Measure.measurePreserving_mul_right_inv {G : Type u_2} [] [] [] [] (μ : ) (g : G) :
MeasureTheory.MeasurePreserving (fun (t : G) => (g * t)⁻¹) μ μ
theorem MeasureTheory.Measure.map_add_right_neg_eq_self {G : Type u_2} [] [] [] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (t : G) => -(g + t)) μ = μ
theorem MeasureTheory.Measure.map_mul_right_inv_eq_self {G : Type u_2} [] [] [] [] (μ : ) (g : G) :
MeasureTheory.Measure.map (fun (t : G) => (g * t)⁻¹) μ = μ
theorem MeasureTheory.Measure.map_sub_left_ae {G : Type u_2} [] [] [] [] (μ : ) (x : G) :
Filter.map (fun (t : G) => x - t) =
theorem MeasureTheory.Measure.map_div_left_ae {G : Type u_2} [] [] [] [] (μ : ) (x : G) :
Filter.map (fun (t : G) => x / t) =
Equations
• =
Equations
• =
Equations
• =
Equations
• =
instance MeasureTheory.Measure.Regular.neg {G : Type u_2} [] [] [] {μ : } [] [] :
Equations
• =
instance MeasureTheory.Measure.Regular.inv {G : Type u_2} [] [] [] {μ : } [] [] :
Equations
• =
instance MeasureTheory.Measure.InnerRegular.neg {G : Type u_2} [] [] [] {μ : } [] [] :
Equations
• =
instance MeasureTheory.Measure.InnerRegular.inv {G : Type u_2} [] [] [] {μ : } [] [] :
Equations
• =
instance MeasureTheory.innerRegular_map_vadd {G : Type u_2} [] [] [] {μ : } {α : Type u_4} [] [] [] (a : α) :

The image of a inner regular measure under map of a left additive action is again inner regular

Equations
• =
instance MeasureTheory.innerRegular_map_smul {G : Type u_2} [] [] [] {μ : } {α : Type u_4} [] [] [] (a : α) :

The image of an inner regular measure under map of a left action is again inner regular.

Equations
• =
instance MeasureTheory.innerRegular_map_add_left {G : Type u_2} [] [] [] {μ : } [] (g : G) :

The image of an inner regular measure under left addition is again inner regular.

Equations
• =
instance MeasureTheory.innerRegular_map_mul_left {G : Type u_2} [] [] [] {μ : } [] [] (g : G) :

The image of an inner regular measure under left multiplication is again inner regular.

Equations
• =
instance MeasureTheory.innerRegular_map_add_right {G : Type u_2} [] [] [] {μ : } [] (g : G) :

The image of an inner regular measure under right addition is again inner regular.

Equations
• =
instance MeasureTheory.innerRegular_map_mul_right {G : Type u_2} [] [] [] {μ : } [] [] (g : G) :

The image of an inner regular measure under right multiplication is again inner regular.

Equations
• =
theorem MeasureTheory.regular_neg_iff {G : Type u_2} [] [] [] {μ : } [] :
theorem MeasureTheory.regular_inv_iff {G : Type u_2} [] [] [] {μ : } [] [] :
theorem MeasureTheory.innerRegular_inv_iff {G : Type u_2} [] [] [] {μ : } [] [] :
theorem MeasureTheory.eventually_nhds_zero_measure_vadd_diff_lt {G : Type u_2} [] [] [] {μ : } [] {k : Set G} (hk : ) (h'k : ) {ε : ENNReal} (hε : ε 0) :
∀ᶠ (g : G) in nhds 0, μ ((g +ᵥ k) \ k) < ε
theorem MeasureTheory.eventually_nhds_one_measure_smul_diff_lt {G : Type u_2} [] [] [] {μ : } [] [] {k : Set G} (hk : ) (h'k : ) {ε : ENNReal} (hε : ε 0) :
∀ᶠ (g : G) in nhds 1, μ (g k \ k) < ε

Continuity of the measure of translates of a compact set: Given a compact set k in a topological group, for g close enough to the origin, μ (g • k \ k) is arbitrarily small.

theorem MeasureTheory.tendsto_measure_vadd_diff_isCompact_isClosed {G : Type u_2} [] [] [] {μ : } [] {k : Set G} (hk : ) (h'k : ) :
Filter.Tendsto (fun (g : G) => μ ((g +ᵥ k) \ k)) (nhds 0) (nhds 0)
theorem MeasureTheory.tendsto_measure_smul_diff_isCompact_isClosed {G : Type u_2} [] [] [] {μ : } [] [] {k : Set G} (hk : ) (h'k : ) :
Filter.Tendsto (fun (g : G) => μ (g k \ k)) (nhds 1) (nhds 0)

Continuity of the measure of translates of a compact set: Given a closed compact set k in a topological group, the measure of g • k \ k tends to zero as g tends to 1.

theorem MeasureTheory.isOpenPosMeasure_of_addLeftInvariant_of_compact {G : Type u_2} [] [] [] {μ : } [] (K : Set G) (hK : ) (h : μ K 0) :

If a left-invariant measure gives positive mass to a compact set, then it gives positive mass to any open set.

theorem MeasureTheory.isOpenPosMeasure_of_mulLeftInvariant_of_compact {G : Type u_2} [] [] [] {μ : } [] [] (K : Set G) (hK : ) (h : μ K 0) :

If a left-invariant measure gives positive mass to a compact set, then it gives positive mass to any open set.

A nonzero left-invariant regular measure gives positive mass to any open set.

Equations
• =
abbrev MeasureTheory.isOpenPosMeasure_of_addLeftInvariant_of_regular.match_1 {G : Type u_1} [] [] {μ : } (motive : (∃ (K : Set G), μ K 0)Prop) :
∀ (x : ∃ (K : Set G), μ K 0), (∀ (K : Set G) (hK : ) (h2K : μ K 0), motive )motive x
Equations
• =
Instances For

A nonzero left-invariant regular measure gives positive mass to any open set.

Equations
• =

A nonzero left-invariant inner regular measure gives positive mass to any open set.

Equations
• =

A nonzero left-invariant inner regular measure gives positive mass to any open set.

Equations
• =
theorem MeasureTheory.null_iff_of_isAddLeftInvariant {G : Type u_2} [] [] [] {μ : } [] {s : Set G} (hs : ) :
μ s = 0 s = μ = 0
theorem MeasureTheory.null_iff_of_isMulLeftInvariant {G : Type u_2} [] [] [] {μ : } [] [] {s : Set G} (hs : ) :
μ s = 0 s = μ = 0
theorem MeasureTheory.measure_ne_zero_iff_nonempty_of_isAddLeftInvariant {G : Type u_2} [] [] [] {μ : } [] (hμ : μ 0) {s : Set G} (hs : ) :
μ s 0
theorem MeasureTheory.measure_ne_zero_iff_nonempty_of_isMulLeftInvariant {G : Type u_2} [] [] [] {μ : } [] [] (hμ : μ 0) {s : Set G} (hs : ) :
μ s 0
theorem MeasureTheory.measure_pos_iff_nonempty_of_isAddLeftInvariant {G : Type u_2} [] [] [] {μ : } [] (h3μ : μ 0) {s : Set G} (hs : ) :
0 < μ s
theorem MeasureTheory.measure_pos_iff_nonempty_of_isMulLeftInvariant {G : Type u_2} [] [] [] {μ : } [] [] (h3μ : μ 0) {s : Set G} (hs : ) :
0 < μ s
theorem MeasureTheory.measure_lt_top_of_isCompact_of_isAddLeftInvariant {G : Type u_2} [] [] [] {μ : } [] (U : Set G) (hU : ) (h'U : ) (h : μ U ) {K : Set G} (hK : ) :
μ K <

If a left-invariant measure gives finite mass to a nonempty open set, then it gives finite mass to any compact set.

theorem MeasureTheory.measure_lt_top_of_isCompact_of_isMulLeftInvariant {G : Type u_2} [] [] [] {μ : } [] [] (U : Set G) (hU : ) (h'U : ) (h : μ U ) {K : Set G} (hK : ) :
μ K <

If a left-invariant measure gives finite mass to a nonempty open set, then it gives finite mass to any compact set.

theorem MeasureTheory.measure_lt_top_of_isCompact_of_isAddLeftInvariant' {G : Type u_2} [] [] [] {μ : } [] {U : Set G} (hU : ) (h : μ U ) {K : Set G} (hK : ) :
μ K <

If a left-invariant measure gives finite mass to a set with nonempty interior, then it gives finite mass to any compact set.

theorem MeasureTheory.measure_lt_top_of_isCompact_of_isMulLeftInvariant' {G : Type u_2} [] [] [] {μ : } [] [] {U : Set G} (hU : ) (h : μ U ) {K : Set G} (hK : ) :
μ K <

If a left-invariant measure gives finite mass to a set with nonempty interior, then it gives finite mass to any compact set.

@[simp]
theorem MeasureTheory.measure_univ_of_isAddLeftInvariant {G : Type u_2} [] [] [] [] [] (μ : ) :
μ Set.univ =

In a noncompact locally compact additive group, a left-invariant measure which is positive on open sets has infinite mass.

@[simp]
theorem MeasureTheory.measure_univ_of_isMulLeftInvariant {G : Type u_2} [] [] [] [] [] [] (μ : ) :
μ Set.univ =

In a noncompact locally compact group, a left-invariant measure which is positive on open sets has infinite mass.

theorem MeasurableSet.add_closure_zero_eq {G : Type u_2} [] [] [] [] {s : Set G} (hs : ) :
s + closure {0} = s
theorem MeasurableSet.mul_closure_one_eq {G : Type u_2} [] [] [] [] [] {s : Set G} (hs : ) :
s * closure {1} = s
@[deprecated IsCompact.closure_subset_measurableSet]
theorem IsCompact.closure_subset_of_measurableSet_of_addGroup {G : Type u_2} [] [] [] [] {k : Set G} {s : Set G} (hk : ) (hs : ) (h : k s) :
s
@[deprecated IsCompact.closure_subset_measurableSet]
theorem IsCompact.closure_subset_of_measurableSet_of_group {G : Type u_2} [] [] [] [] [] {k : Set G} {s : Set G} (hk : ) (hs : ) (h : k s) :
s

If a compact set is included in a measurable set, then so is its closure.

@[simp]
theorem MeasureTheory.measure_add_closure_zero {G : Type u_2} [] [] [] [] (s : Set G) (μ : ) :
μ (s + closure {0}) = μ s
@[simp]
theorem MeasureTheory.measure_mul_closure_one {G : Type u_2} [] [] [] [] [] (s : Set G) (μ : ) :
μ (s * closure {1}) = μ s
@[deprecated IsCompact.measure_closure]
theorem IsCompact.measure_closure_eq_of_addGroup {G : Type u_2} [] [] [] [] {k : Set G} (hk : ) (μ : ) :
μ () = μ k
@[deprecated IsCompact.measure_closure]
theorem IsCompact.measure_closure_eq_of_group {G : Type u_2} [] [] [] [] [] {k : Set G} (hk : ) (μ : ) :
μ () = μ k
abbrev MeasureTheory.innerRegularWRT_isCompact_isClosed_measure_ne_top_of_addGroup.match_1 {G : Type u_1} [] {μ : } ⦃s : Set G (motive : μ s Prop) :
∀ (h : μ s ), (∀ (s_meas : ) (μs : μ s ), motive )motive h
Equations
• =
Instances For
theorem MeasureTheory.innerRegularWRT_isCompact_isClosed_measure_ne_top_of_addGroup {G : Type u_2} [] [] [] {μ : } [] :
MeasureTheory.Measure.InnerRegularWRT μ (fun (s : Set G) => ) fun (s : Set G) => μ s
theorem MeasureTheory.innerRegularWRT_isCompact_isClosed_measure_ne_top_of_group {G : Type u_2} [] [] [] {μ : } [] [] :
MeasureTheory.Measure.InnerRegularWRT μ (fun (s : Set G) => ) fun (s : Set G) => μ s

In an abelian additive group every left invariant measure is also right-invariant. We don't declare the converse as an instance, since that would loop type-class inference, and we use IsAddLeftInvariant as the default hypothesis in abelian groups.

Equations
• =

In an abelian group every left invariant measure is also right-invariant. We don't declare the converse as an instance, since that would loop type-class inference, and we use IsMulLeftInvariant as the default hypothesis in abelian groups.

Equations
• =

A measure on an additive group is an additive Haar measure if it is left-invariant, and gives finite mass to compact sets and positive mass to open sets.

Textbooks generally require an additional regularity assumption to ensure nice behavior on arbitrary locally compact groups. Use [IsAddHaarMeasure μ] [Regular μ] or [IsAddHaarMeasure μ] [InnerRegular μ] in these situations. Note that a Haar measure in our sense is automatically regular and inner regular on second countable locally compact groups, as checked just below this definition.

Instances

A measure on a group is a Haar measure if it is left-invariant, and gives finite mass to compact sets and positive mass to open sets.

Textbooks generally require an additional regularity assumption to ensure nice behavior on arbitrary locally compact groups. Use [IsHaarMeasure μ] [Regular μ] or [IsHaarMeasure μ] [InnerRegular μ] in these situations. Note that a Haar measure in our sense is automatically regular and inner regular on second countable locally compact groups, as checked just below this definition.

Instances
@[simp]
theorem MeasureTheory.Measure.addHaar_singleton {G : Type u_2} [] [] [] (μ : ) [] (g : G) :
μ {g} = μ {0}
@[simp]
theorem MeasureTheory.Measure.haar_singleton {G : Type u_2} [] [] [] (μ : ) [] [] (g : G) :
μ {g} = μ {1}
theorem MeasureTheory.Measure.IsAddHaarMeasure.smul {G : Type u_2} [] [] [] (μ : ) {c : ENNReal} (cpos : c 0) (ctop : c ) :
theorem MeasureTheory.Measure.IsHaarMeasure.smul {G : Type u_2} [] [] [] (μ : ) {c : ENNReal} (cpos : c 0) (ctop : c ) :
theorem MeasureTheory.Measure.isAddHaarMeasure_of_isCompact_nonempty_interior {G : Type u_2} [] [] [] [] (μ : ) (K : Set G) (hK : ) (h'K : ) (h : μ K 0) (h' : μ K ) :

If a left-invariant measure gives positive mass to some compact set with nonempty interior, then it is an additive Haar measure.

theorem MeasureTheory.Measure.isHaarMeasure_of_isCompact_nonempty_interior {G : Type u_2} [] [] [] [] [] (μ : ) (K : Set G) (hK : ) (h'K : ) (h : μ K 0) (h' : μ K ) :

If a left-invariant measure gives positive mass to some compact set with nonempty interior, then it is a Haar measure.

theorem MeasureTheory.Measure.isAddHaarMeasure_map {G : Type u_2} [] [] [] (μ : ) [] {H : Type u_4} [] [] [] [] [] (f : G →+ H) (hf : ) (h_surj : ) (h_prop : Filter.Tendsto (f) () ()) :

The image of an additive Haar measure under a continuous surjective proper additive group homomorphism is again an additive Haar measure. See also AddEquiv.isAddHaarMeasure_map.

theorem MeasureTheory.Measure.isHaarMeasure_map {G : Type u_2} [] [] [] (μ : ) [] [] {H : Type u_4} [] [] [] [] [] [] (f : G →* H) (hf : ) (h_surj : ) (h_prop : Filter.Tendsto (f) () ()) :

The image of a Haar measure under a continuous surjective proper group homomorphism is again a Haar measure. See also MulEquiv.isHaarMeasure_map.

theorem MeasureTheory.Measure.isAddHaarMeasure_map_of_isFiniteMeasure {G : Type u_2} [] [] [] (μ : ) [] {H : Type u_4} [] [] [] [] (f : G →+ H) (hf : ) (h_surj : ) :

The image of a finite additive Haar measure under a continuous surjective additive group homomorphism is again an additive Haar measure. See also isAddHaarMeasure_map.

theorem MeasureTheory.Measure.isHaarMeasure_map_of_isFiniteMeasure {G : Type u_2} [] [] [] (μ : ) [] [] {H : Type u_4} [] [] [] [] [] (f : G →* H) (hf : ) (h_surj : ) :

The image of a finite Haar measure under a continuous surjective group homomorphism is again a Haar measure. See also isHaarMeasure_map.

instance MeasureTheory.Measure.isAddHaarMeasure_map_vadd {G : Type u_2} [] [] [] (μ : ) {α : Type u_4} [] [] [] [] [] [] [] (a : α) :

The image of a Haar measure under map of a left additive action is again a Haar measure

Equations
• =
instance MeasureTheory.Measure.isHaarMeasure_map_smul {G : Type u_2} [] [] [] (μ : ) {α : Type u_4} [] [] [] [] [] [] [] [] (a : α) :

The image of a Haar measure under map of a left action is again a Haar measure.

Equations
• =
instance MeasureTheory.Measure.isHaarMeasure_map_add_right {G : Type u_2} [] [] [] (μ : ) [] (g : G) :

The image of a Haar measure under right addition is again a Haar measure.

Equations
• =
instance MeasureTheory.Measure.isHaarMeasure_map_mul_right {G : Type u_2} [] [] [] (μ : ) [] [] (g : G) :

The image of a Haar measure under right multiplication is again a Haar measure.

Equations
• =
theorem AddEquiv.isAddHaarMeasure_map {G : Type u_2} [] [] [] (μ : ) [] {H : Type u_4} [] [] [] [] (e : G ≃+ H) (he : ) (hesymm : ) :

A convenience wrapper for MeasureTheory.Measure.isAddHaarMeasure_map.

theorem MulEquiv.isHaarMeasure_map {G : Type u_2} [] [] [] (μ : ) [] [] {H : Type u_4} [] [] [] [] [] (e : G ≃* H) (he : ) (hesymm : ) :

A convenience wrapper for MeasureTheory.Measure.isHaarMeasure_map.

theorem ContinuousLinearEquiv.isAddHaarMeasure_map {E : Type u_4} {F : Type u_5} {R : Type u_6} {S : Type u_7} [] [] [] [Module R E] [] [Module S F] [] [] {σ : R →+* S} {σ' : S →+* R} [] [] [] [] [] [] (L : E ≃SL[σ] F) (μ : ) :

instance MeasureTheory.Measure.IsAddHaarMeasure.sigmaFinite {G : Type u_2} [] [] [] (μ : ) :

A Haar measure on a σ-compact space is σ-finite.

See Note [lower instance priority]

Equations
• =
instance MeasureTheory.Measure.IsHaarMeasure.sigmaFinite {G : Type u_2} [] [] [] (μ : ) :

A Haar measure on a σ-compact space is σ-finite.

See Note [lower instance priority]

Equations
• =
instance MeasureTheory.Measure.prod.instIsAddHaarMeasure {G : Type u_4} [] [] :
∀ {x : } {H : Type u_5} [inst : ] [inst_1 : ] {x_1 : } (μ : ) (ν : ) [inst_2 : ] [inst_3 : ] [inst_4 : ] [inst_5 : ] [inst_6 : ] [inst_7 : ],
Equations
• =
instance MeasureTheory.Measure.prod.instIsHaarMeasure {G : Type u_4} [] [] :
∀ {x : } {H : Type u_5} [inst : ] [inst_1 : ] {x_1 : } (μ : ) (ν : ) [inst_2 : ] [inst_3 : ] [inst_4 : ] [inst_5 : ] [inst_6 : ] [inst_7 : ],
Equations
• =
instance MeasureTheory.Measure.IsAddHaarMeasure.noAtoms {G : Type u_2} [] [] [] [] [] [Filter.NeBot (nhdsWithin 0 {0})] (μ : ) :

If the zero element of an additive group is not isolated, then an additive Haar measure on this group has no atoms.

This applies in particular to show that an additive Haar measure on a nontrivial finite-dimensional real vector space has no atom.

Equations
• =
instance MeasureTheory.Measure.IsHaarMeasure.noAtoms {G : Type u_2} [] [] [] [] [] [] [Filter.NeBot (nhdsWithin 1 {1})] (μ : ) :

If the neutral element of a group is not isolated, then a Haar measure on this group has no atoms.

The additive version of this instance applies in particular to show that an additive Haar measure on a nontrivial finite-dimensional real vector space has no atom.

Equations
• =