Theorem: intervalIntegral.integral_hasFDerivWithinAt_of_tendsto_ae
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

tactic: rw [HasFDerivWithinAt, nhdsWithin_prod_eq]
state_before: ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
⊢ HasFDerivWithinAt (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) (smulRight (snd ℝ ℝ ℝ) cb - smulRight (fst ℝ ℝ ℝ) ca)
    (s ×ˢ t) (a, b)

tactic: have :=
  integral_sub_integral_sub_linear_isLittleO_of_tendsto_ae hf hmeas_a hmeas_b ha hb
    (tendsto_const_pure.mono_right FTCFilter.pure_le : Tendsto _ _ (𝓝[s] a)) tendsto_fst
    (tendsto_const_pure.mono_right FTCFilter.pure_le : Tendsto _ _ (𝓝[t] b)) tendsto_snd
state_before: ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
⊢ HasFDerivAtFilter (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) (smulRight (snd ℝ ℝ ℝ) cb - smulRight (fst ℝ ℝ ℝ) ca)
    (a, b) (𝓝[s] a ×ˢ 𝓝[t] b)

tactic: refine' (this.congr_left _).trans_isBigO _
state_before: ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
this :
  (fun t =>
      ((∫ (x : ℝ) in t.fst..t.snd, f x) - ∫ (x : ℝ) in a..b, f x) -
        ((t.snd - b) • cb - (t.fst - a) • ca)) =o[𝓝[s] a ×ˢ 𝓝[t] b]
    fun t => ‖t.fst - a‖ + ‖t.snd - b‖
⊢ HasFDerivAtFilter (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) (smulRight (snd ℝ ℝ ℝ) cb - smulRight (fst ℝ ℝ ℝ) ca)
    (a, b) (𝓝[s] a ×ˢ 𝓝[t] b)

tactic: intro x
state_before: case refine'_1
ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
this :
  (fun t =>
      ((∫ (x : ℝ) in t.fst..t.snd, f x) - ∫ (x : ℝ) in a..b, f x) -
        ((t.snd - b) • cb - (t.fst - a) • ca)) =o[𝓝[s] a ×ˢ 𝓝[t] b]
    fun t => ‖t.fst - a‖ + ‖t.snd - b‖
⊢ ∀ (x : ℝ × ℝ),
    ((∫ (x : ℝ) in x.fst..x.snd, f x) - ∫ (x : ℝ) in a..b, f x) - ((x.snd - b) • cb - (x.fst - a) • ca) =
      (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) x - (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) (a, b) -
        ↑(smulRight (snd ℝ ℝ ℝ) cb - smulRight (fst ℝ ℝ ℝ) ca) (x - (a, b))

tactic: simp [sub_smul]
state_before: case refine'_1
ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
this :
  (fun t =>
      ((∫ (x : ℝ) in t.fst..t.snd, f x) - ∫ (x : ℝ) in a..b, f x) -
        ((t.snd - b) • cb - (t.fst - a) • ca)) =o[𝓝[s] a ×ˢ 𝓝[t] b]
    fun t => ‖t.fst - a‖ + ‖t.snd - b‖
x : ℝ × ℝ
⊢ ((∫ (x : ℝ) in x.fst..x.snd, f x) - ∫ (x : ℝ) in a..b, f x) - ((x.snd - b) • cb - (x.fst - a) • ca) =
    (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) x - (fun p => ∫ (x : ℝ) in p.fst..p.snd, f x) (a, b) -
      ↑(smulRight (snd ℝ ℝ ℝ) cb - smulRight (fst ℝ ℝ ℝ) ca) (x - (a, b))

tactic: abel
state_before: case refine'_1
ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
this :
  (fun t =>
      ((∫ (x : ℝ) in t.fst..t.snd, f x) - ∫ (x : ℝ) in a..b, f x) -
        ((t.snd - b) • cb - (t.fst - a) • ca)) =o[𝓝[s] a ×ˢ 𝓝[t] b]
    fun t => ‖t.fst - a‖ + ‖t.snd - b‖
x : ℝ × ℝ
⊢ x.snd • cb - b • cb - (x.fst • ca - a • ca) = x.snd • cb - x.fst • ca - (b • cb - a • ca)

tactic: exact isBigO_fst_prod.norm_left.add isBigO_snd_prod.norm_left
state_before: case refine'_2
ι : Type ?u.1718694
𝕜 : Type ?u.1718697
E : Type u_1
F : Type ?u.1718703
A : Type ?u.1718706
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : CompleteSpace E
inst✝⁴ : NormedSpace ℝ E
f : ℝ → E
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
a b z : ℝ
u v ua ub va vb : ι → ℝ
inst✝³ : FTCFilter a la la'
inst✝² : FTCFilter b lb lb'
hf : IntervalIntegrable f volume a b
s t : Set ℝ
inst✝¹ : FTCFilter a (𝓝[s] a) la
inst✝ : FTCFilter b (𝓝[t] b) lb
hmeas_a : StronglyMeasurableAtFilter f la
hmeas_b : StronglyMeasurableAtFilter f lb
ha : Tendsto f (la ⊓ Measure.ae volume) (𝓝 ca)
hb : Tendsto f (lb ⊓ Measure.ae volume) (𝓝 cb)
this :
  (fun t =>
      ((∫ (x : ℝ) in t.fst..t.snd, f x) - ∫ (x : ℝ) in a..b, f x) -
        ((t.snd - b) • cb - (t.fst - a) • ca)) =o[𝓝[s] a ×ˢ 𝓝[t] b]
    fun t => ‖t.fst - a‖ + ‖t.snd - b‖
⊢ (fun t => ‖t.fst - a‖ + ‖t.snd - b‖) =O[𝓝[s] a ×ˢ 𝓝[t] b] fun x' => x' - (a, b)