Theorem: MeasureTheory.ae_measure_preimage_mul_right_lt_top
File: Mathlib/MeasureTheory/Group/Prod.lean

tactic: refine ae_of_forall_measure_lt_top_ae_restrict' ν.inv _ ?_
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
⊢ ∀ᵐ (x : G) ∂μ, ν ((fun y => y * x) ⁻¹' s) < ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
⊢ ∀ (s_1 : Set G),
    MeasurableSet s_1 → μ s_1 < ⊤ → ν.inv s_1 < ⊤ → ∀ᵐ (x : G) ∂μ.restrict s_1, ν ((fun y => y * x) ⁻¹' s) < ⊤

tactic: intro A hA _ h3A
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
⊢ ∀ (s_1 : Set G),
    MeasurableSet s_1 → μ s_1 < ⊤ → ν.inv s_1 < ⊤ → ∀ᵐ (x : G) ∂μ.restrict s_1, ν ((fun y => y * x) ⁻¹' s) < ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν.inv A < ⊤
⊢ ∀ᵐ (x : G) ∂μ.restrict A, ν ((fun y => y * x) ⁻¹' s) < ⊤

tactic: simp only [ν.inv_apply] at h3A
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν.inv A < ⊤
⊢ ∀ᵐ (x : G) ∂μ.restrict A, ν ((fun y => y * x) ⁻¹' s) < ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
⊢ ∀ᵐ (x : G) ∂μ.restrict A, ν ((fun y => y * x) ⁻¹' s) < ⊤

tactic: apply ae_lt_top (measurable_measure_mul_right ν sm)
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
⊢ ∀ᵐ (x : G) ∂μ.restrict A, ν ((fun y => y * x) ⁻¹' s) < ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤

tactic: have h1 := measure_mul_lintegral_eq μ ν sm (A⁻¹.indicator 1) (measurable_one.indicator hA.inv)
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ∫⁻ (y : G), A⁻¹.indicator 1 y ∂ν = ∫⁻ (x : G), ν ((fun z => z * x) ⁻¹' s) * A⁻¹.indicator 1 x⁻¹ ∂μ
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤

tactic: rw [lintegral_indicator _ hA.inv] at h1
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ∫⁻ (y : G), A⁻¹.indicator 1 y ∂ν = ∫⁻ (x : G), ν ((fun z => z * x) ⁻¹' s) * A⁻¹.indicator 1 x⁻¹ ∂μ
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ∫⁻ (a : G) in A⁻¹, 1 a ∂ν = ∫⁻ (x : G), ν ((fun z => z * x) ⁻¹' s) * A⁻¹.indicator 1 x⁻¹ ∂μ
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤

tactic: simp_rw [Pi.one_apply, setLIntegral_one, ← image_inv, indicator_image inv_injective, image_inv, ←
  indicator_mul_right _ fun x => ν ((fun y => y * x) ⁻¹' s), Function.comp, Pi.one_apply,
  mul_one] at h1
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ∫⁻ (a : G) in A⁻¹, 1 a ∂ν = ∫⁻ (x : G), ν ((fun z => z * x) ⁻¹' s) * A⁻¹.indicator 1 x⁻¹ ∂μ
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ν A⁻¹ = ∫⁻ (x : G), A.indicator (fun j => ν ((fun y => y * j) ⁻¹' s)) x ∂μ
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤

tactic: rw [← lintegral_indicator _ hA, ← h1]
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ν A⁻¹ = ∫⁻ (x : G), A.indicator (fun j => ν ((fun y => y * j) ⁻¹' s)) x ∂μ
⊢ ∫⁻ (x : G) in A, ν ((fun y => y * x) ⁻¹' s) ∂μ ≠ ⊤
state_after: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ν A⁻¹ = ∫⁻ (x : G), A.indicator (fun j => ν ((fun y => y * j) ⁻¹' s)) x ∂μ
⊢ μ s * ν A⁻¹ ≠ ⊤

tactic: exact ENNReal.mul_ne_top hμs h3A.ne
state_before: G : Type u_1
inst✝⁷ : MeasurableSpace G
inst✝⁶ : Group G
inst✝⁵ : MeasurableMul₂ G
μ ν : Measure G
inst✝⁴ : SigmaFinite ν
inst✝³ : SigmaFinite μ
s : Set G
inst✝² : MeasurableInv G
inst✝¹ : μ.IsMulLeftInvariant
inst✝ : ν.IsMulLeftInvariant
sm : MeasurableSet s
hμs : μ s ≠ ⊤
A : Set G
hA : MeasurableSet A
a✝ : μ A < ⊤
h3A : ν A⁻¹ < ⊤
h1 : μ s * ν A⁻¹ = ∫⁻ (x : G), A.indicator (fun j => ν ((fun y => y * j) ⁻¹' s)) x ∂μ
⊢ μ s * ν A⁻¹ ≠ ⊤
state_after: no goals