Theorem: intervalIntegral.integral_comp_mul_right
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: have A : MeasurableEmbedding fun x => x * c :=
  (Homeomorph.mulRight₀ c hc).closedEmbedding.measurableEmbedding
state_before: ι : Type ?u.14782285
𝕜 : Type ?u.14782288
E : Type u_1
F : Type ?u.14782294
A : Type ?u.14782297
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d : ℝ
f : ℝ → E
hc : c ≠ 0
⊢ (∫ (x : ℝ) in a..b, f (x * c)) = c⁻¹ • ∫ (x : ℝ) in a * c..b * c, f x

tactic: conv_rhs => rw [← Real.smul_map_volume_mul_right hc]
state_before: ι : Type ?u.14782285
𝕜 : Type ?u.14782288
E : Type u_1
F : Type ?u.14782294
A✝ : Type ?u.14782297
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d : ℝ
f : ℝ → E
hc : c ≠ 0
A : MeasurableEmbedding fun x => x * c
⊢ (∫ (x : ℝ) in a..b, f (x * c)) = c⁻¹ • ∫ (x : ℝ) in a * c..b * c, f x

tactic: simp_rw [integral_smul_measure, intervalIntegral, A.set_integral_map,
  ENNReal.toReal_ofReal (abs_nonneg c)]
state_before: ι : Type ?u.14782285
𝕜 : Type ?u.14782288
E : Type u_1
F : Type ?u.14782294
A✝ : Type ?u.14782297
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d : ℝ
f : ℝ → E
hc : c ≠ 0
A : MeasurableEmbedding fun x => x * c
⊢ (∫ (x : ℝ) in a..b, f (x * c)) =
    c⁻¹ • ∫ (x : ℝ) in a * c..b * c, f x ∂ENNReal.ofReal (abs c) • Measure.map (fun x => x * c) volume

tactic: cases' hc.lt_or_lt with h h
state_before: ι : Type ?u.14782285
𝕜 : Type ?u.14782288
E : Type u_1
F : Type ?u.14782294
A✝ : Type ?u.14782297
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d : ℝ
f : ℝ → E
hc : c ≠ 0
A : MeasurableEmbedding fun x => x * c
⊢ ((∫ (x : ℝ) in Ioc a b, f (x * c)) - ∫ (x : ℝ) in Ioc b a, f (x * c)) =
    c⁻¹ •
      abs c •
        ((∫ (x : ℝ) in (fun x => x * c) ⁻¹' Ioc (a * c) (b * c), f (x * c)) -
          ∫ (x : ℝ) in (fun x => x * c) ⁻¹' Ioc (b * c) (a * c), f (x * c))

tactic: simp [h, mul_div_cancel, hc, abs_of_neg,
  Measure.restrict_congr_set (α := ℝ) (μ := volume) Ico_ae_eq_Ioc]
state_before: case inl
ι : Type ?u.14782285
𝕜 : Type ?u.14782288
E : Type u_1
F : Type ?u.14782294
A✝ : Type ?u.14782297
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d : ℝ
f : ℝ → E
hc : c ≠ 0
A : MeasurableEmbedding fun x => x * c
h : c < 0
⊢ ((∫ (x : ℝ) in Ioc a b, f (x * c)) - ∫ (x : ℝ) in Ioc b a, f (x * c)) =
    c⁻¹ •
      abs c •
        ((∫ (x : ℝ) in (fun x => x * c) ⁻¹' Ioc (a * c) (b * c), f (x * c)) -
          ∫ (x : ℝ) in (fun x => x * c) ⁻¹' Ioc (b * c) (a * c), f (x * c))

tactic: simp [h, mul_div_cancel, hc, abs_of_pos]
state_before: case inr
ι : Type ?u.14782285
𝕜 : Type ?u.14782288
E : Type u_1
F : Type ?u.14782294
A✝ : Type ?u.14782297
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d : ℝ
f : ℝ → E
hc : c ≠ 0
A : MeasurableEmbedding fun x => x * c
h : 0 < c
⊢ ((∫ (x : ℝ) in Ioc a b, f (x * c)) - ∫ (x : ℝ) in Ioc b a, f (x * c)) =
    c⁻¹ •
      abs c •
        ((∫ (x : ℝ) in (fun x => x * c) ⁻¹' Ioc (a * c) (b * c), f (x * c)) -
          ∫ (x : ℝ) in (fun x => x * c) ⁻¹' Ioc (b * c) (a * c), f (x * c))