Theorem: WeakFEPair.hf_modif_int
File: Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean

tactic: have : LocallyIntegrableOn (fun x : ℝ ↦ (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) := by
  refine ContinuousOn.locallyIntegrableOn ?_ measurableSet_Ioi
  refine ContinuousAt.continuousOn (fun x (hx : 0 < x) ↦ ?_)
  refine (continuousAt_const.mul ?_).smul continuousAt_const
  exact continuous_ofReal.continuousAt.comp (continuousAt_rpow_const _ _ (Or.inl hx.ne'))
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ LocallyIntegrableOn P.f_modif (Ioi 0) volume
state_after: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
⊢ LocallyIntegrableOn P.f_modif (Ioi 0) volume

tactic: refine LocallyIntegrableOn.add (fun x hx ↦ ?_) (fun x hx ↦ ?_)
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
⊢ LocallyIntegrableOn P.f_modif (Ioi 0) volume
state_after: case refine_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
⊢ IntegrableAtFilter ((Ioi 1).indicator fun x => P.f x - P.f₀) (𝓝[Ioi 0] x) volume

case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
⊢ IntegrableAtFilter ((Ioo 0 1).indicator fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) (𝓝[Ioi 0] x) volume

tactic: refine ContinuousOn.locallyIntegrableOn ?_ measurableSet_Ioi
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
state_after: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ ContinuousOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0)

tactic: refine ContinuousAt.continuousOn (fun x (hx : 0 < x) ↦ ?_)
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ ContinuousOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0)
state_after: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
x : ℝ
hx : 0 < x
⊢ ContinuousAt (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) x

tactic: refine (continuousAt_const.mul ?_).smul continuousAt_const
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
x : ℝ
hx : 0 < x
⊢ ContinuousAt (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) x
state_after: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
x : ℝ
hx : 0 < x
⊢ ContinuousAt (fun x => ↑(x ^ (-P.k))) x

tactic: exact continuous_ofReal.continuousAt.comp (continuousAt_rpow_const _ _ (Or.inl hx.ne'))
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
x : ℝ
hx : 0 < x
⊢ ContinuousAt (fun x => ↑(x ^ (-P.k))) x
state_after: no goals

tactic: obtain ⟨s, hs, hs'⟩ := P.hf_int.sub (locallyIntegrableOn_const _) x hx
state_before: case refine_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
⊢ IntegrableAtFilter ((Ioi 1).indicator fun x => P.f x - P.f₀) (𝓝[Ioi 0] x) volume
state_after: case refine_1.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => ?m.96375) s volume
⊢ IntegrableAtFilter ((Ioi 1).indicator fun x => P.f x - P.f₀) (𝓝[Ioi 0] x) volume

tactic: refine ⟨s, hs, ?_⟩
state_before: case refine_1.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => ?m.96375) s volume
⊢ IntegrableAtFilter ((Ioi 1).indicator fun x => P.f x - P.f₀) (𝓝[Ioi 0] x) volume
state_after: case refine_1.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => ?m.96375) s volume
⊢ IntegrableOn ((Ioi 1).indicator fun x => P.f x - P.f₀) s volume

tactic: rw [IntegrableOn, integrable_indicator_iff measurableSet_Ioi, IntegrableOn,
  Measure.restrict_restrict measurableSet_Ioi, ← IntegrableOn]
state_before: case refine_1.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => ?m.96375) s volume
⊢ IntegrableOn ((Ioi 1).indicator fun x => P.f x - P.f₀) s volume
state_after: case refine_1.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => ?m.96375) s volume
⊢ IntegrableOn (fun x => P.f x - P.f₀) (Ioi 1 ∩ s) volume

tactic: exact hs'.mono_set Set.inter_subset_right
state_before: case refine_1.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => ?m.96375) s volume
⊢ IntegrableOn (fun x => P.f x - P.f₀) (Ioi 1 ∩ s) volume
state_after: no goals

tactic: obtain ⟨s, hs, hs'⟩ := P.hf_int.sub this x hx
state_before: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
⊢ IntegrableAtFilter ((Ioo 0 1).indicator fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) (𝓝[Ioi 0] x) volume
state_after: case refine_2.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
⊢ IntegrableAtFilter ((Ioo 0 1).indicator fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) (𝓝[Ioi 0] x) volume

tactic: refine ⟨s, hs, ?_⟩
state_before: case refine_2.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
⊢ IntegrableAtFilter ((Ioo 0 1).indicator fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) (𝓝[Ioi 0] x) volume
state_after: case refine_2.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
⊢ IntegrableOn ((Ioo 0 1).indicator fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume

tactic: rw [IntegrableOn, integrable_indicator_iff measurableSet_Ioo, IntegrableOn,
  Measure.restrict_restrict measurableSet_Ioo, ← IntegrableOn]
state_before: case refine_2.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
⊢ IntegrableOn ((Ioo 0 1).indicator fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
state_after: case refine_2.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
⊢ IntegrableOn (fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioo 0 1 ∩ s) volume

tactic: exact hs'.mono_set Set.inter_subset_right
state_before: case refine_2.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
this : LocallyIntegrableOn (fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioi 0) volume
x : ℝ
hx : x ∈ Ioi 0
s : Set ℝ
hs : s ∈ 𝓝[Ioi 0] x
hs' : IntegrableOn (P.f - fun x => (P.ε * ↑(x ^ (-P.k))) • P.g₀) s volume
⊢ IntegrableOn (fun x => P.f x - (P.ε * ↑(x ^ (-P.k))) • P.g₀) (Ioo 0 1 ∩ s) volume
state_after: no goals