-- Mathlib/Analysis/MellinTransform.lean
theorem mellin_convergent_iff_norm [NormedSpace ℂ E] {f : ℝ → E} {T : Set ℝ} (hT : T ⊆ Ioi 0)
    (hT' : MeasurableSet T) (hfc : AEStronglyMeasurable f <| volume.restrict <| Ioi 0) {s : ℂ} :
    IntegrableOn (fun t : ℝ => (t : ℂ) ^ (s - 1) • f t) T ↔
      IntegrableOn (fun t : ℝ => t ^ (s.re - 1) * ‖f t‖) T

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
⊢ IntegrableOn (fun t => ↑t ^ (s - 1) • f t) T volume ↔ IntegrableOn (fun t => t ^ (s.re - 1) * ‖f t‖) T volume

Tactic:
have : AEStronglyMeasurable (fun t : ℝ => (t : ℂ) ^ (s - 1) • f t) (volume.restrict T) := by
  refine ((continuousOn_of_forall_continuousAt ?_).aestronglyMeasurable hT').smul
    (hfc.mono_set hT)
  exact fun t ht => continuousAt_ofReal_cpow_const _ _ (Or.inr <| ne_of_gt (hT ht))

Result:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
this : AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)
⊢ IntegrableOn (fun t => ↑t ^ (s - 1) • f t) T volume ↔ IntegrableOn (fun t => t ^ (s.re - 1) * ‖f t‖) T volume

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
⊢ ∀ x ∈ T, ContinuousAt (fun t => ↑t ^ (s - 1)) x

Tactic:
exact fun t ht => continuousAt_ofReal_cpow_const _ _ (Or.inr <| ne_of_gt (hT ht))

Result:
no goals

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
this : AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)
t : ℝ
ht : t ∈ T
⊢ ‖↑t ^ (s - 1) • f t‖ = t ^ (s.re - 1) * ‖f t‖

Tactic:
simp_rw [norm_smul, norm_cpow_eq_rpow_re_of_pos (hT ht), sub_re, one_re]

Result:
no goals

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
this : AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)
⊢ IntegrableOn (fun t => ↑t ^ (s - 1) • f t) T volume ↔ IntegrableOn (fun t => t ^ (s.re - 1) * ‖f t‖) T volume

Tactic:
rw [IntegrableOn, ← integrable_norm_iff this, ← IntegrableOn]

Result:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
this : AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)
⊢ IntegrableOn (fun a => ‖↑a ^ (s - 1) • f a‖) T volume ↔ IntegrableOn (fun t => t ^ (s.re - 1) * ‖f t‖) T volume

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
⊢ AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)

Tactic:
refine ((continuousOn_of_forall_continuousAt ?_).aestronglyMeasurable hT').smul
  (hfc.mono_set hT)

Result:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
⊢ ∀ x ∈ T, ContinuousAt (fun t => ↑t ^ (s - 1)) x

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
this : AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)
⊢ IntegrableOn (fun a => ‖↑a ^ (s - 1) • f a‖) T volume ↔ IntegrableOn (fun t => t ^ (s.re - 1) * ‖f t‖) T volume

Tactic:
refine integrableOn_congr_fun (fun t ht => ?_) hT'

Result:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → E
T : Set ℝ
hT : T ⊆ Ioi 0
hT' : MeasurableSet T
hfc : AEStronglyMeasurable f (volume.restrict (Ioi 0))
s : ℂ
this : AEStronglyMeasurable (fun t => ↑t ^ (s - 1) • f t) (volume.restrict T)
t : ℝ
ht : t ∈ T
⊢ ‖↑t ^ (s - 1) • f t‖ = t ^ (s.re - 1) * ‖f t‖