Theorem: MeasureTheory.integral_eq_zero_of_hasDerivAt_of_integrable
File: Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean

tactic: by_cases hE : CompleteSpace E
state_before: E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
⊢ ∫ (x : ℝ), f' x = 0
state_after: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0

case neg
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : ¬CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0

tactic: swap
state_before: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0

case neg
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : ¬CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0
state_after: case neg
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : ¬CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0

case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0

tactic: have A : Tendsto f atBot (𝓝 0) :=
  tendsto_zero_of_hasDerivAt_of_integrableOn_Iic (a := 0) (fun x _hx ↦ hderiv x)
    hf'.integrableOn hf.integrableOn
state_before: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0
state_after: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
A : Tendsto f atBot (𝓝 0)
⊢ ∫ (x : ℝ), f' x = 0

tactic: have B : Tendsto f atTop (𝓝 0) :=
  tendsto_zero_of_hasDerivAt_of_integrableOn_Ioi (a := 0) (fun x _hx ↦ hderiv x)
    hf'.integrableOn hf.integrableOn
state_before: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
A : Tendsto f atBot (𝓝 0)
⊢ ∫ (x : ℝ), f' x = 0
state_after: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
A : Tendsto f atBot (𝓝 0)
B : Tendsto f atTop (𝓝 0)
⊢ ∫ (x : ℝ), f' x = 0

tactic: simpa using integral_of_hasDerivAt_of_tendsto hderiv hf' A B
state_before: case pos
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : CompleteSpace E
A : Tendsto f atBot (𝓝 0)
B : Tendsto f atTop (𝓝 0)
⊢ ∫ (x : ℝ), f' x = 0
state_after: no goals

tactic: simp [integral, hE]
state_before: case neg
E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m n : E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
hderiv : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : Integrable f' volume
hf : Integrable f volume
hE : ¬CompleteSpace E
⊢ ∫ (x : ℝ), f' x = 0
state_after: no goals