Theorem: MeasureTheory.vadd_ae_eq_self_of_mem_zmultiples
File: Mathlib/MeasureTheory/Group/Action.lean

tactic: letI : MeasurableSpace (Multiplicative G) := (inferInstanceAs (MeasurableSpace G))
state_before: G✝ : Type ?u.114459
M : Type ?u.114462
α : Type u_2
s : Set α
m : MeasurableSpace α
inst✝⁹ : Group G✝
inst✝⁸ : MulAction G✝ α
inst✝⁷ : MeasurableSpace G✝
inst✝⁶ : MeasurableSMul G✝ α
c : G✝
μ : Measure α
inst✝⁵ : SMulInvariantMeasure G✝ α μ
G : Type u_1
inst✝⁴ : MeasurableSpace G
inst✝³ : AddGroup G
inst✝² : AddAction G α
inst✝¹ : VAddInvariantMeasure G α μ
inst✝ : MeasurableVAdd G α
x y : G
hs : x +ᵥ s =ᶠ[ae μ] s
hy : y ∈ AddSubgroup.zmultiples x
⊢ y +ᵥ s =ᶠ[ae μ] s

tactic: letI : SMulInvariantMeasure (Multiplicative G) α μ :=
  ⟨fun g => VAddInvariantMeasure.measure_preimage_vadd (Multiplicative.toAdd g)⟩
state_before: G✝ : Type ?u.114459
M : Type ?u.114462
α : Type u_2
s : Set α
m : MeasurableSpace α
inst✝⁹ : Group G✝
inst✝⁸ : MulAction G✝ α
inst✝⁷ : MeasurableSpace G✝
inst✝⁶ : MeasurableSMul G✝ α
c : G✝
μ : Measure α
inst✝⁵ : SMulInvariantMeasure G✝ α μ
G : Type u_1
inst✝⁴ : MeasurableSpace G
inst✝³ : AddGroup G
inst✝² : AddAction G α
inst✝¹ : VAddInvariantMeasure G α μ
inst✝ : MeasurableVAdd G α
x y : G
hs : x +ᵥ s =ᶠ[ae μ] s
hy : y ∈ AddSubgroup.zmultiples x
this : MeasurableSpace (Multiplicative G) := inferInstanceAs (MeasurableSpace G)
⊢ y +ᵥ s =ᶠ[ae μ] s

tactic: letI : MeasurableSMul (Multiplicative G) α :=
  { measurable_const_smul := fun g => measurable_const_vadd (Multiplicative.toAdd g)
    measurable_smul_const := fun a =>
      @measurable_vadd_const (Multiplicative G) α (inferInstanceAs (VAdd G α)) _ _
        (inferInstanceAs (MeasurableVAdd G α)) a }
state_before: G✝ : Type ?u.114459
M : Type ?u.114462
α : Type u_2
s : Set α
m : MeasurableSpace α
inst✝⁹ : Group G✝
inst✝⁸ : MulAction G✝ α
inst✝⁷ : MeasurableSpace G✝
inst✝⁶ : MeasurableSMul G✝ α
c : G✝
μ : Measure α
inst✝⁵ : SMulInvariantMeasure G✝ α μ
G : Type u_1
inst✝⁴ : MeasurableSpace G
inst✝³ : AddGroup G
inst✝² : AddAction G α
inst✝¹ : VAddInvariantMeasure G α μ
inst✝ : MeasurableVAdd G α
x y : G
hs : x +ᵥ s =ᶠ[ae μ] s
hy : y ∈ AddSubgroup.zmultiples x
this✝ : MeasurableSpace (Multiplicative G) := inferInstanceAs (MeasurableSpace G)
this : SMulInvariantMeasure (Multiplicative G) α μ :=
  { measure_preimage_smul := fun g => VAddInvariantMeasure.measure_preimage_vadd (↑Multiplicative.toAdd g) }
⊢ y +ᵥ s =ᶠ[ae μ] s

tactic: exact @smul_ae_eq_self_of_mem_zpowers (Multiplicative G) α _ _ _ _ _ _ _ _ _ _ hs hy
state_before: G✝ : Type ?u.114459
M : Type ?u.114462
α : Type u_2
s : Set α
m : MeasurableSpace α
inst✝⁹ : Group G✝
inst✝⁸ : MulAction G✝ α
inst✝⁷ : MeasurableSpace G✝
inst✝⁶ : MeasurableSMul G✝ α
c : G✝
μ : Measure α
inst✝⁵ : SMulInvariantMeasure G✝ α μ
G : Type u_1
inst✝⁴ : MeasurableSpace G
inst✝³ : AddGroup G
inst✝² : AddAction G α
inst✝¹ : VAddInvariantMeasure G α μ
inst✝ : MeasurableVAdd G α
x y : G
hs : x +ᵥ s =ᶠ[ae μ] s
hy : y ∈ AddSubgroup.zmultiples x
this✝¹ : MeasurableSpace (Multiplicative G) := inferInstanceAs (MeasurableSpace G)
this✝ : SMulInvariantMeasure (Multiplicative G) α μ :=
  { measure_preimage_smul := fun g => VAddInvariantMeasure.measure_preimage_vadd (↑Multiplicative.toAdd g) }
this : MeasurableSMul (Multiplicative G) α :=
  { measurable_const_smul := fun g => measurable_const_vadd (↑Multiplicative.toAdd g),
    measurable_smul_const := fun a => measurable_vadd_const a }
⊢ y +ᵥ s =ᶠ[ae μ] s