l3lab/ntp-mathlib huggingface dataset:
/-- **Uniqueness of left-invariant measures**: Given two left-invariant measures which are finite
on compacts and regular, they coincide up to a multiplicative constant. -/
@[to_additive isAddLeftInvariant_eq_smul_of_regular]
lemma isMulLeftInvariant_eq_smul_of_regular
    (μ' μ : Measure G) [IsFiniteMeasureOnCompacts μ] [IsFiniteMeasureOnCompacts μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] [IsOpenPosMeasure μ]
    [Regular μ] [Regular μ'] :
    ∃ (c : ℝ≥0), μ' = c • μ := by
  rcases measure_isMulLeftInvariant_eq_smul_of_ne_top μ' μ with ⟨c, hc⟩
  refine ⟨c, ?_⟩
  have A : ∀ U, IsOpen U → μ' U = (c • μ) U := by
    intro U hU
    rw [hU.measure_eq_iSup_isCompact, hU.measure_eq_iSup_isCompact]
    congr! 4 with K _KU K_comp
    exact hc K K_comp.measure_lt_top K_comp.measure_lt_top
  ext s _hs
  rw [s.measure_eq_iInf_isOpen, s.measure_eq_iInf_isOpen]
  congr! 4 with U _sU U_open
  

Proof state:
case intro.h.h.e'_4.h.f.f
G : Type u_1
inst✝¹² : TopologicalSpace G
inst✝¹¹ : LocallyCompactSpace G
inst✝¹⁰ : Group G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : MeasurableSpace G
inst✝⁷ : BorelSpace G
μ' μ : Measure G
inst✝⁶ : IsFiniteMeasureOnCompacts μ
inst✝⁵ : IsFiniteMeasureOnCompacts μ'
inst✝⁴ : IsMulLeftInvariant μ
inst✝³ : IsMulLeftInvariant μ'
inst✝² : IsOpenPosMeasure μ
inst✝¹ : Regular μ
inst✝ : Regular μ'
c : ℝ≥0
hc : ∀ (s : Set G), ↑↑μ s < ⊤ → ↑↑μ' s < ⊤ → ↑↑μ' s = ↑↑(c • μ) s
A : ∀ (U : Set G), IsOpen U → ↑↑μ' U = ↑↑(c • μ) U
s : Set G
_hs : MeasurableSet s
U : Set G
_sU : s ⊆ U
U_open : IsOpen U
⊢ ↑↑μ' U = ↑↑(c • μ) U

Next tactic:
exact A U U_open
/-- **Uniqueness of left-invariant measures**: Two regular Haar measures coincide up to a
multiplicative constant. -/
@[to_additive isAddHaarMeasure_eq_smul_of_regular]
lemma isHaarMeasure_eq_smul_of_regular
    (μ' μ : Measure G) [IsHaarMeasure μ] [IsHaarMeasure μ'] [Regular μ] [Regular μ'] :
    ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ' = c • μ := by
  

Proof state:
G : Type u_1
inst✝⁹ : TopologicalSpace G
inst✝⁸ : LocallyCompactSpace G
inst✝⁷ : Group G
inst✝⁶ : TopologicalGroup G
inst✝⁵ : MeasurableSpace G
inst✝⁴ : BorelSpace G
μ' μ : Measure G
inst✝³ : IsHaarMeasure μ
inst✝² : IsHaarMeasure μ'
inst✝¹ : Regular μ
inst✝ : Regular μ'
⊢ ∃ c, c ≠ 0 ∧ c ≠ ⊤ ∧ μ' = c • μ

Next tactic:
rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
/-- **Uniqueness of left-invariant measures**: Two regular Haar measures coincide up to a
multiplicative constant. -/
@[to_additive isAddHaarMeasure_eq_smul_of_regular]
lemma isHaarMeasure_eq_smul_of_regular
    (μ' μ : Measure G) [IsHaarMeasure μ] [IsHaarMeasure μ'] [Regular μ] [Regular μ'] :
    ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ' = c • μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  

Proof state:
case intro
G : Type u_1
inst✝⁹ : TopologicalSpace G
inst✝⁸ : LocallyCompactSpace G
inst✝⁷ : Group G
inst✝⁶ : TopologicalGroup G
inst✝⁵ : MeasurableSpace G
inst✝⁴ : BorelSpace G
μ' μ : Measure G
inst✝³ : IsHaarMeasure μ
inst✝² : IsHaarMeasure μ'
inst✝¹ : Regular μ
inst✝ : Regular μ'
c : ℝ≥0
hc : μ' = c • μ
⊢ ∃ c, c ≠ 0 ∧ c ≠ ⊤ ∧ μ' = c • μ

Next tactic:
refine ⟨c, ?_, ENNReal.coe_ne_top, hc⟩
/-- **Uniqueness of left-invariant measures**: Two regular Haar measures coincide up to a
multiplicative constant. -/
@[to_additive isAddHaarMeasure_eq_smul_of_regular]
lemma isHaarMeasure_eq_smul_of_regular
    (μ' μ : Measure G) [IsHaarMeasure μ] [IsHaarMeasure μ'] [Regular μ] [Regular μ'] :
    ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ' = c • μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  refine ⟨c, ?_, ENNReal.coe_ne_top, hc⟩
  

Proof state:
case intro
G : Type u_1
inst✝⁹ : TopologicalSpace G
inst✝⁸ : LocallyCompactSpace G
inst✝⁷ : Group G
inst✝⁶ : TopologicalGroup G
inst✝⁵ : MeasurableSpace G
inst✝⁴ : BorelSpace G
μ' μ : Measure G
inst✝³ : IsHaarMeasure μ
inst✝² : IsHaarMeasure μ'
inst✝¹ : Regular μ
inst✝ : Regular μ'
c : ℝ≥0
hc : μ' = c • μ
⊢ ↑c ≠ 0

Next tactic:
intro h
/-- **Uniqueness of left-invariant measures**: Two regular Haar measures coincide up to a
multiplicative constant. -/
@[to_additive isAddHaarMeasure_eq_smul_of_regular]
lemma isHaarMeasure_eq_smul_of_regular
    (μ' μ : Measure G) [IsHaarMeasure μ] [IsHaarMeasure μ'] [Regular μ] [Regular μ'] :
    ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ' = c • μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  refine ⟨c, ?_, ENNReal.coe_ne_top, hc⟩
  intro h
  

Proof state:
case intro
G : Type u_1
inst✝⁹ : TopologicalSpace G
inst✝⁸ : LocallyCompactSpace G
inst✝⁷ : Group G
inst✝⁶ : TopologicalGroup G
inst✝⁵ : MeasurableSpace G
inst✝⁴ : BorelSpace G
μ' μ : Measure G
inst✝³ : IsHaarMeasure μ
inst✝² : IsHaarMeasure μ'
inst✝¹ : Regular μ
inst✝ : Regular μ'
c : ℝ≥0
hc : μ' = c • μ
h : ↑c = 0
⊢ False

Next tactic:
simp only [ENNReal.coe_eq_zero.1 h, zero_smul] at hc
/-- **Uniqueness of left-invariant measures**: Two regular Haar measures coincide up to a
multiplicative constant. -/
@[to_additive isAddHaarMeasure_eq_smul_of_regular]
lemma isHaarMeasure_eq_smul_of_regular
    (μ' μ : Measure G) [IsHaarMeasure μ] [IsHaarMeasure μ'] [Regular μ] [Regular μ'] :
    ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ' = c • μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  refine ⟨c, ?_, ENNReal.coe_ne_top, hc⟩
  intro h
  simp only [ENNReal.coe_eq_zero.1 h, zero_smul] at hc
  

Proof state:
case intro
G : Type u_1
inst✝⁹ : TopologicalSpace G
inst✝⁸ : LocallyCompactSpace G
inst✝⁷ : Group G
inst✝⁶ : TopologicalGroup G
inst✝⁵ : MeasurableSpace G
inst✝⁴ : BorelSpace G
μ' μ : Measure G
inst✝³ : IsHaarMeasure μ
inst✝² : IsHaarMeasure μ'
inst✝¹ : Regular μ
inst✝ : Regular μ'
c : ℝ≥0
h : ↑c = 0
hc : μ' = 0
⊢ False

Next tactic:
have : 0 < μ' univ := NeZero.pos (μ' univ)
/-- **Uniqueness of left-invariant measures**: Two regular Haar measures coincide up to a
multiplicative constant. -/
@[to_additive isAddHaarMeasure_eq_smul_of_regular]
lemma isHaarMeasure_eq_smul_of_regular
    (μ' μ : Measure G) [IsHaarMeasure μ] [IsHaarMeasure μ'] [Regular μ] [Regular μ'] :
    ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ' = c • μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  refine ⟨c, ?_, ENNReal.coe_ne_top, hc⟩
  intro h
  simp only [ENNReal.coe_eq_zero.1 h, zero_smul] at hc
  have : 0 < μ' univ := NeZero.pos (μ' univ)
  

Proof state:
case intro
G : Type u_1
inst✝⁹ : TopologicalSpace G
inst✝⁸ : LocallyCompactSpace G
inst✝⁷ : Group G
inst✝⁶ : TopologicalGroup G
inst✝⁵ : MeasurableSpace G
inst✝⁴ : BorelSpace G
μ' μ : Measure G
inst✝³ : IsHaarMeasure μ
inst✝² : IsHaarMeasure μ'
inst✝¹ : Regular μ
inst✝ : Regular μ'
c : ℝ≥0
h : ↑c = 0
hc : μ' = 0
this : 0 < ↑↑μ' univ
⊢ False

Next tactic:
simp [hc] at this
/-- **Uniqueness of left-invariant measures**: Given two left-invariant probability measures which
are inner regular for finite measure sets with respect to compact sets, they coincide. -/
@[to_additive]
lemma isMulLeftInvariant_eq_of_isProbabilityMeasure
    (μ' μ : Measure G) [IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
    [InnerRegularCompactLTTop μ] [InnerRegularCompactLTTop μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] : μ' = μ := by
  

Proof state:
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
μ' μ : Measure G
inst✝⁵ : IsProbabilityMeasure μ
inst✝⁴ : IsProbabilityMeasure μ'
inst✝³ : InnerRegularCompactLTTop μ
inst✝² : InnerRegularCompactLTTop μ'
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulLeftInvariant μ'
⊢ μ' = μ

Next tactic:
rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
/-- **Uniqueness of left-invariant measures**: Given two left-invariant probability measures which
are inner regular for finite measure sets with respect to compact sets, they coincide. -/
@[to_additive]
lemma isMulLeftInvariant_eq_of_isProbabilityMeasure
    (μ' μ : Measure G) [IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
    [InnerRegularCompactLTTop μ] [InnerRegularCompactLTTop μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] : μ' = μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  

Proof state:
case intro
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
μ' μ : Measure G
inst✝⁵ : IsProbabilityMeasure μ
inst✝⁴ : IsProbabilityMeasure μ'
inst✝³ : InnerRegularCompactLTTop μ
inst✝² : InnerRegularCompactLTTop μ'
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulLeftInvariant μ'
c : ℝ≥0
hc : μ' = c • μ
⊢ μ' = μ

Next tactic:
have : ((c : ℝ≥0∞) • μ) univ = μ' univ := by rw [hc]; rfl
/-- **Uniqueness of left-invariant measures**: Given two left-invariant probability measures which
are inner regular for finite measure sets with respect to compact sets, they coincide. -/
@[to_additive]
lemma isMulLeftInvariant_eq_of_isProbabilityMeasure
    (μ' μ : Measure G) [IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
    [InnerRegularCompactLTTop μ] [InnerRegularCompactLTTop μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] : μ' = μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  have : ((c : ℝ≥0∞) • μ) univ = μ' univ := by 

Proof state:
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
μ' μ : Measure G
inst✝⁵ : IsProbabilityMeasure μ
inst✝⁴ : IsProbabilityMeasure μ'
inst✝³ : InnerRegularCompactLTTop μ
inst✝² : InnerRegularCompactLTTop μ'
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulLeftInvariant μ'
c : ℝ≥0
hc : μ' = c • μ
⊢ ↑↑(↑c • μ) univ = ↑↑μ' univ

Next tactic:
rw [hc]
/-- **Uniqueness of left-invariant measures**: Given two left-invariant probability measures which
are inner regular for finite measure sets with respect to compact sets, they coincide. -/
@[to_additive]
lemma isMulLeftInvariant_eq_of_isProbabilityMeasure
    (μ' μ : Measure G) [IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
    [InnerRegularCompactLTTop μ] [InnerRegularCompactLTTop μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] : μ' = μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  have : ((c : ℝ≥0∞) • μ) univ = μ' univ := by rw [hc]; 

Proof state:
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
μ' μ : Measure G
inst✝⁵ : IsProbabilityMeasure μ
inst✝⁴ : IsProbabilityMeasure μ'
inst✝³ : InnerRegularCompactLTTop μ
inst✝² : InnerRegularCompactLTTop μ'
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulLeftInvariant μ'
c : ℝ≥0
hc : μ' = c • μ
⊢ ↑↑(↑c • μ) univ = ↑↑(c • μ) univ

Next tactic:
rfl
/-- **Uniqueness of left-invariant measures**: Given two left-invariant probability measures which
are inner regular for finite measure sets with respect to compact sets, they coincide. -/
@[to_additive]
lemma isMulLeftInvariant_eq_of_isProbabilityMeasure
    (μ' μ : Measure G) [IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
    [InnerRegularCompactLTTop μ] [InnerRegularCompactLTTop μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] : μ' = μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  have : ((c : ℝ≥0∞) • μ) univ = μ' univ := by rw [hc]; rfl
  

Proof state:
case intro
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
μ' μ : Measure G
inst✝⁵ : IsProbabilityMeasure μ
inst✝⁴ : IsProbabilityMeasure μ'
inst✝³ : InnerRegularCompactLTTop μ
inst✝² : InnerRegularCompactLTTop μ'
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulLeftInvariant μ'
c : ℝ≥0
hc : μ' = c • μ
this : ↑↑(↑c • μ) univ = ↑↑μ' univ
⊢ μ' = μ

Next tactic:
simp only [smul_toOuterMeasure, OuterMeasure.coe_smul, Pi.smul_apply, measure_univ, smul_eq_mul,
    mul_one, ENNReal.coe_eq_one] at this
/-- **Uniqueness of left-invariant measures**: Given two left-invariant probability measures which
are inner regular for finite measure sets with respect to compact sets, they coincide. -/
@[to_additive]
lemma isMulLeftInvariant_eq_of_isProbabilityMeasure
    (μ' μ : Measure G) [IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
    [InnerRegularCompactLTTop μ] [InnerRegularCompactLTTop μ']
    [IsMulLeftInvariant μ] [IsMulLeftInvariant μ'] : μ' = μ := by
  rcases isMulLeftInvariant_eq_smul_of_regular μ' μ with ⟨c, hc⟩
  have : ((c : ℝ≥0∞) • μ) univ = μ' univ := by rw [hc]; rfl
  simp only [smul_toOuterMeasure, OuterMeasure.coe_smul, Pi.smul_apply, measure_univ, smul_eq_mul,
    mul_one, ENNReal.coe_eq_one] at this
  

Proof state:
case intro
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
μ' μ : Measure G
inst✝⁵ : IsProbabilityMeasure μ
inst✝⁴ : IsProbabilityMeasure μ'
inst✝³ : InnerRegularCompactLTTop μ
inst✝² : InnerRegularCompactLTTop μ'
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulLeftInvariant μ'
c : ℝ≥0
hc : μ' = c • μ
this : c = 1
⊢ μ' = μ

Next tactic:
simp [hc, this]
/-- An invariant σ-finite measure is absolutely continuous with respect to a Haar measure in a
second countable grop. -/
@[to_additive
"An invariant measure is absolutely continuous with respect to an additive Haar measure. "]
theorem absolutelyContinuous_isHaarMeasure [LocallyCompactSpace G] [T2Space G]
    [SecondCountableTopology G] (μ ν : Measure G)
    [SigmaFinite μ] [IsMulLeftInvariant μ] [IsHaarMeasure ν] : μ ≪ ν := by
  

Proof state:
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
inst✝⁵ : LocallyCompactSpace G
inst✝⁴ : T2Space G
inst✝³ : SecondCountableTopology G
μ ν : Measure G
inst✝² : SigmaFinite μ
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsHaarMeasure ν
⊢ μ ≪ ν

Next tactic:
have K : PositiveCompacts G := Classical.arbitrary _
/-- An invariant σ-finite measure is absolutely continuous with respect to a Haar measure in a
second countable grop. -/
@[to_additive
"An invariant measure is absolutely continuous with respect to an additive Haar measure. "]
theorem absolutelyContinuous_isHaarMeasure [LocallyCompactSpace G] [T2Space G]
    [SecondCountableTopology G] (μ ν : Measure G)
    [SigmaFinite μ] [IsMulLeftInvariant μ] [IsHaarMeasure ν] : μ ≪ ν := by
  have K : PositiveCompacts G := Classical.arbitrary _
  

Proof state:
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
inst✝⁵ : LocallyCompactSpace G
inst✝⁴ : T2Space G
inst✝³ : SecondCountableTopology G
μ ν : Measure G
inst✝² : SigmaFinite μ
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsHaarMeasure ν
K : PositiveCompacts G
⊢ μ ≪ ν

Next tactic:
obtain ⟨c, -, -, h⟩ : ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ haarMeasure K = c • ν :=
    isHaarMeasure_eq_smul _ _
/-- An invariant σ-finite measure is absolutely continuous with respect to a Haar measure in a
second countable grop. -/
@[to_additive
"An invariant measure is absolutely continuous with respect to an additive Haar measure. "]
theorem absolutelyContinuous_isHaarMeasure [LocallyCompactSpace G] [T2Space G]
    [SecondCountableTopology G] (μ ν : Measure G)
    [SigmaFinite μ] [IsMulLeftInvariant μ] [IsHaarMeasure ν] : μ ≪ ν := by
  have K : PositiveCompacts G := Classical.arbitrary _
  obtain ⟨c, -, -, h⟩ : ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ haarMeasure K = c • ν :=
    isHaarMeasure_eq_smul _ _
  

Proof state:
case intro.intro.intro
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
inst✝⁵ : LocallyCompactSpace G
inst✝⁴ : T2Space G
inst✝³ : SecondCountableTopology G
μ ν : Measure G
inst✝² : SigmaFinite μ
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsHaarMeasure ν
K : PositiveCompacts G
c : ℝ≥0∞
h : haarMeasure K = c • ν
⊢ μ ≪ ν

Next tactic:
rw [haarMeasure_unique μ K, h, smul_smul]
/-- An invariant σ-finite measure is absolutely continuous with respect to a Haar measure in a
second countable grop. -/
@[to_additive
"An invariant measure is absolutely continuous with respect to an additive Haar measure. "]
theorem absolutelyContinuous_isHaarMeasure [LocallyCompactSpace G] [T2Space G]
    [SecondCountableTopology G] (μ ν : Measure G)
    [SigmaFinite μ] [IsMulLeftInvariant μ] [IsHaarMeasure ν] : μ ≪ ν := by
  have K : PositiveCompacts G := Classical.arbitrary _
  obtain ⟨c, -, -, h⟩ : ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ haarMeasure K = c • ν :=
    isHaarMeasure_eq_smul _ _
  rw [haarMeasure_unique μ K, h, smul_smul]
  

Proof state:
case intro.intro.intro
G : Type u_1
inst✝¹¹ : TopologicalSpace G
inst✝¹⁰ : LocallyCompactSpace G
inst✝⁹ : Group G
inst✝⁸ : TopologicalGroup G
inst✝⁷ : MeasurableSpace G
inst✝⁶ : BorelSpace G
inst✝⁵ : LocallyCompactSpace G
inst✝⁴ : T2Space G
inst✝³ : SecondCountableTopology G
μ ν : Measure G
inst✝² : SigmaFinite μ
inst✝¹ : IsMulLeftInvariant μ
inst✝ : IsHaarMeasure ν
K : PositiveCompacts G
c : ℝ≥0∞
h : haarMeasure K = c • ν
⊢ (↑↑μ ↑K * c) • ν ≪ ν

Next tactic:
exact AbsolutelyContinuous.smul (Eq.absolutelyContinuous rfl) _
/-- Any regular Haar measure is invariant under inversion in an abelian group. -/
@[to_additive "Any regular additive Haar measure is invariant under negation in an abelian group."]
instance (priority := 100) IsHaarMeasure.isInvInvariant_of_regular
    [LocallyCompactSpace G] [Regular μ] : IsInvInvariant μ := by
  -- the image measure is a Haar measure. By uniqueness up to multiplication, it is of the form
  -- `c μ`. Applying again inversion, one gets the measure `c^2 μ`. But since inversion is an
  -- involution, this is also `μ`. Hence, `c^2 = 1`, which implies `c = 1`.
  

Proof state:
G : Type u_1
inst✝⁷ : CommGroup G
inst✝⁶ : TopologicalSpace G
inst✝⁵ : TopologicalGroup G
inst✝⁴ : MeasurableSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : IsHaarMeasure μ
inst✝¹ : LocallyCompactSpace G
inst✝ : Regular μ
⊢ IsInvInvariant μ

Next tactic:
constructor
/-- Any regular Haar measure is invariant under inversion in an abelian group. -/
@[to_additive "Any regular additive Haar measure is invariant under negation in an abelian group."]
instance (priority := 100) IsHaarMeasure.isInvInvariant_of_regular
    [LocallyCompactSpace G] [Regular μ] : IsInvInvariant μ := by
  -- the image measure is a Haar measure. By uniqueness up to multiplication, it is of the form
  -- `c μ`. Applying again inversion, one gets the measure `c^2 μ`. But since inversion is an
  -- involution, this is also `μ`. Hence, `c^2 = 1`, which implies `c = 1`.
  constructor
  

Proof state:
case inv_eq_self
G : Type u_1
inst✝⁷ : CommGroup G
inst✝⁶ : TopologicalSpace G
inst✝⁵ : TopologicalGroup G
inst✝⁴ : MeasurableSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : IsHaarMeasure μ
inst✝¹ : LocallyCompactSpace G
inst✝ : Regular μ
⊢ Measure.inv μ = μ

Next tactic:
have : IsHaarMeasure μ.inv := (MulEquiv.inv G).isHaarMeasure_map μ continuous_inv continuous_inv
/-- Any regular Haar measure is invariant under inversion in an abelian group. -/
@[to_additive "Any regular additive Haar measure is invariant under negation in an abelian group."]
instance (priority := 100) IsHaarMeasure.isInvInvariant_of_regular
    [LocallyCompactSpace G] [Regular μ] : IsInvInvariant μ := by
  -- the image measure is a Haar measure. By uniqueness up to multiplication, it is of the form
  -- `c μ`. Applying again inversion, one gets the measure `c^2 μ`. But since inversion is an
  -- involution, this is also `μ`. Hence, `c^2 = 1`, which implies `c = 1`.
  constructor
  have : IsHaarMeasure μ.inv := (MulEquiv.inv G).isHaarMeasure_map μ continuous_inv continuous_inv
  

Proof state:
case inv_eq_self
G : Type u_1
inst✝⁷ : CommGroup G
inst✝⁶ : TopologicalSpace G
inst✝⁵ : TopologicalGroup G
inst✝⁴ : MeasurableSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : IsHaarMeasure μ
inst✝¹ : LocallyCompactSpace G
inst✝ : Regular μ
this : IsHaarMeasure (Measure.inv μ)
⊢ Measure.inv μ = μ

Next tactic:
obtain ⟨c, _, _, hc⟩ : ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ.inv = c • μ :=
    isHaarMeasure_eq_smul_of_regular _ _
/-- Any regular Haar measure is invariant under inversion in an abelian group. -/
@[to_additive "Any regular additive Haar measure is invariant under negation in an abelian group."]
instance (priority := 100) IsHaarMeasure.isInvInvariant_of_regular
    [LocallyCompactSpace G] [Regular μ] : IsInvInvariant μ := by
  -- the image measure is a Haar measure. By uniqueness up to multiplication, it is of the form
  -- `c μ`. Applying again inversion, one gets the measure `c^2 μ`. But since inversion is an
  -- involution, this is also `μ`. Hence, `c^2 = 1`, which implies `c = 1`.
  constructor
  have : IsHaarMeasure μ.inv := (MulEquiv.inv G).isHaarMeasure_map μ continuous_inv continuous_inv
  obtain ⟨c, _, _, hc⟩ : ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ.inv = c • μ :=
    isHaarMeasure_eq_smul_of_regular _ _
  

Proof state:
case inv_eq_self.intro.intro.intro
G : Type u_1
inst✝⁷ : CommGroup G
inst✝⁶ : TopologicalSpace G
inst✝⁵ : TopologicalGroup G
inst✝⁴ : MeasurableSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : IsHaarMeasure μ
inst✝¹ : LocallyCompactSpace G
inst✝ : Regular μ
this : IsHaarMeasure (Measure.inv μ)
c : ℝ≥0∞
left✝¹ : c ≠ 0
left✝ : c ≠ ⊤
hc : Measure.inv μ = c • μ
⊢ Measure.inv μ = μ

Next tactic:
have : map Inv.inv (map Inv.inv μ) = c ^ 2 • μ := by
    rw [← inv_def μ, hc, Measure.map_smul, ← inv_def μ, hc, smul_smul, pow_two]
/-- Any regular Haar measure is invariant under inversion in an abelian group. -/
@[to_additive "Any regular additive Haar measure is invariant under negation in an abelian group."]
instance (priority := 100) IsHaarMeasure.isInvInvariant_of_regular
    [LocallyCompactSpace G] [Regular μ] : IsInvInvariant μ := by
  -- the image measure is a Haar measure. By uniqueness up to multiplication, it is of the form
  -- `c μ`. Applying again inversion, one gets the measure `c^2 μ`. But since inversion is an
  -- involution, this is also `μ`. Hence, `c^2 = 1`, which implies `c = 1`.
  constructor
  have : IsHaarMeasure μ.inv := (MulEquiv.inv G).isHaarMeasure_map μ continuous_inv continuous_inv
  obtain ⟨c, _, _, hc⟩ : ∃ c : ℝ≥0∞, c ≠ 0 ∧ c ≠ ∞ ∧ μ.inv = c • μ :=
    isHaarMeasure_eq_smul_of_regular _ _
  have : map Inv.inv (map Inv.inv μ) = c ^ 2 • μ := by
    

Proof state:
G : Type u_1
inst✝⁷ : CommGroup G
inst✝⁶ : TopologicalSpace G
inst✝⁵ : TopologicalGroup G
inst✝⁴ : MeasurableSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : IsHaarMeasure μ
inst✝¹ : LocallyCompactSpace G
inst✝ : Regular μ
this : IsHaarMeasure (Measure.inv μ)
c : ℝ≥0∞
left✝¹ : c ≠ 0
left✝ : c ≠ ⊤
hc : Measure.inv μ = c • μ
⊢ map Inv.inv (map Inv.inv μ) = c ^ 2 • μ

Next tactic:
rw [← inv_def μ, hc, Measure.map_smul, ← inv_def μ, hc, smul_smul, pow_two]