Theorem: integrableOn_Ioi_rpow_iff
File: Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean

tactic: refine ⟨fun h ↦ ?_, fun h ↦ integrableOn_Ioi_rpow_of_lt h ht⟩
state_before: s t : ℝ
ht : 0 < t
⊢ IntegrableOn (fun x => x ^ s) (Ioi t) volume ↔ s < -1
state_after: s t : ℝ
ht : 0 < t
h : IntegrableOn (fun x => x ^ s) (Ioi t) volume
⊢ s < -1

tactic: contrapose! h
state_before: s t : ℝ
ht : 0 < t
h : IntegrableOn (fun x => x ^ s) (Ioi t) volume
⊢ s < -1
state_after: s t : ℝ
ht : 0 < t
h : -1 ≤ s
⊢ ¬IntegrableOn (fun x => x ^ s) (Ioi t) volume

tactic: intro H
state_before: s t : ℝ
ht : 0 < t
h : -1 ≤ s
⊢ ¬IntegrableOn (fun x => x ^ s) (Ioi t) volume
state_after: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
⊢ False

tactic: have H' : IntegrableOn (fun x ↦ x ^ s) (Ioi (max 1 t)) :=
  H.mono (Set.Ioi_subset_Ioi (le_max_right _ _)) le_rfl
state_before: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
⊢ False
state_after: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
⊢ False

tactic: have : IntegrableOn (fun x ↦ x⁻¹) (Ioi (max 1 t)) := by
  apply H'.mono' measurable_inv.aestronglyMeasurable
  filter_upwards [ae_restrict_mem measurableSet_Ioi] with x hx
  have x_one : 1 ≤ x := ((le_max_left _ _).trans_lt (mem_Ioi.1 hx)).le
  simp only [norm_inv, Real.norm_eq_abs, abs_of_nonneg (zero_le_one.trans x_one)]
  rw [← Real.rpow_neg_one x]
  exact Real.rpow_le_rpow_of_exponent_le x_one h
state_before: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
⊢ False
state_after: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
this : IntegrableOn (fun x => x⁻¹) (Ioi (max 1 t)) volume
⊢ False

tactic: exact not_IntegrableOn_Ioi_inv this
state_before: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
this : IntegrableOn (fun x => x⁻¹) (Ioi (max 1 t)) volume
⊢ False
state_after: no goals

tactic: apply H'.mono' measurable_inv.aestronglyMeasurable
state_before: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
⊢ IntegrableOn (fun x => x⁻¹) (Ioi (max 1 t)) volume
state_after: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
⊢ ∀ᵐ (a : ℝ) ∂volume.restrict (Ioi (max 1 t)), ‖a⁻¹‖ ≤ a ^ s

tactic: filter_upwards [ae_restrict_mem measurableSet_Ioi] with x hx
state_before: s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
⊢ ∀ᵐ (a : ℝ) ∂volume.restrict (Ioi (max 1 t)), ‖a⁻¹‖ ≤ a ^ s
state_after: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
⊢ ‖x⁻¹‖ ≤ x ^ s

tactic: have x_one : 1 ≤ x := ((le_max_left _ _).trans_lt (mem_Ioi.1 hx)).le
state_before: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
⊢ ‖x⁻¹‖ ≤ x ^ s
state_after: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
x_one : 1 ≤ x
⊢ ‖x⁻¹‖ ≤ x ^ s

tactic: simp only [norm_inv, Real.norm_eq_abs, abs_of_nonneg (zero_le_one.trans x_one)]
state_before: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
x_one : 1 ≤ x
⊢ ‖x⁻¹‖ ≤ x ^ s
state_after: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
x_one : 1 ≤ x
⊢ x⁻¹ ≤ x ^ s

tactic: rw [← Real.rpow_neg_one x]
state_before: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
x_one : 1 ≤ x
⊢ x⁻¹ ≤ x ^ s
state_after: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
x_one : 1 ≤ x
⊢ x ^ (-1) ≤ x ^ s

tactic: exact Real.rpow_le_rpow_of_exponent_le x_one h
state_before: case h
s t : ℝ
ht : 0 < t
h : -1 ≤ s
H : IntegrableOn (fun x => x ^ s) (Ioi t) volume
H' : IntegrableOn (fun x => x ^ s) (Ioi (max 1 t)) volume
x : ℝ
hx : x ∈ Ioi (max 1 t)
x_one : 1 ≤ x
⊢ x ^ (-1) ≤ x ^ s
state_after: no goals