Theorem: isIntegralCurveAt_eventuallyEq_of_contMDiffAt
File: Mathlib/Geometry/Manifold/IntegralCurve.lean

tactic: set v' : E → E := fun x ↦
  tangentCoordChange I ((extChartAt I (γ t₀)).symm x) (γ t₀) ((extChartAt I (γ t₀)).symm x)
    (v ((extChartAt I (γ t₀)).symm x)) with hv'
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hv : ContMDiffAt I I.tangent 1 (fun x => { proj := x, snd := v x }) (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hv : ContMDiffAt I I.tangent 1 (fun x => { proj := x, snd := v x }) (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: rw [contMDiffAt_iff] at hv
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hv : ContMDiffAt I I.tangent 1 (fun x => { proj := x, snd := v x }) (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hv :
  ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀) ∧
    ContDiffWithinAt ℝ 1
      (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
        (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
      (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: obtain ⟨_, hv⟩ := hv
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hv :
  ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀) ∧
    ContDiffWithinAt ℝ 1
      (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
        (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
      (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: obtain ⟨K, s, hs, hlip⟩ : ∃ K, ∃ s ∈ 𝓝 _, LipschitzOnWith K v' s :=
  (hv.contDiffAt (range_mem_nhds_isInteriorPoint hγt₀)).snd.exists_lipschitzOnWith
state_before: case intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip : LipschitzOnWith K v' s
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: have hlip (t : ℝ) : LipschitzOnWith K ((fun _ ↦ v') t) ((fun _ ↦ s) t) := hlip
state_before: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip : LipschitzOnWith K v' s
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: have hsrc {g} (hg : IsIntegralCurveAt g v t₀) :
  ∀ᶠ t in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t := eventually_mem_nhds.mpr <|
    continuousAt_def.mp hg.continuousAt _ <| extChartAt_source_mem_nhds I (g t₀)
state_before: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: have hmem {g : ℝ → M} {t} (ht : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t) :
  g t ∈ (extChartAt I (g t₀)).source := mem_preimage.mp <| mem_of_mem_nhds ht
state_before: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: have heq {g} (hg : IsIntegralCurveAt g v t₀) :
  g =ᶠ[𝓝 t₀] (extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g := by
  apply (hsrc hg).mono
  intros t ht
  rw [Function.comp_apply, Function.comp_apply, PartialEquiv.left_inv _ (hmem ht)]
state_before: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
heq : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → g =ᶠ[𝓝 t₀] ↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g
⊢ γ =ᶠ[𝓝 t₀] γ'

tactic: suffices (extChartAt I (γ t₀)) ∘ γ =ᶠ[𝓝 t₀] (extChartAt I (γ' t₀)) ∘ γ' from
  (heq hγ).trans <| (this.fun_comp (extChartAt I (γ t₀)).symm).trans (h ▸ (heq hγ').symm)
state_before: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
heq : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → g =ᶠ[𝓝 t₀] ↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g
⊢ γ =ᶠ[𝓝 t₀] γ'
state_after: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
heq : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → g =ᶠ[𝓝 t₀] ↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g
⊢ ↑(extChartAt I (γ t₀)) ∘ γ =ᶠ[𝓝 t₀] ↑(extChartAt I (γ' t₀)) ∘ γ'

tactic: exact ODE_solution_unique_of_eventually hlip
  (hdrv hγ rfl) (hdrv hγ' h) (by rw [Function.comp_apply, Function.comp_apply, h])
state_before: case intro.intro.intro.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
heq : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → g =ᶠ[𝓝 t₀] ↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g
⊢ ↑(extChartAt I (γ t₀)) ∘ γ =ᶠ[𝓝 t₀] ↑(extChartAt I (γ' t₀)) ∘ γ'
state_after: no goals

tactic: apply Filter.Eventually.and
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ᶠ (t : ℝ) in 𝓝 t₀,
    HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
      (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
state_after: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ᶠ (x : ℝ) in 𝓝 t₀, HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') x ((↑(extChartAt I (g t₀)) ∘ g) x)) x

case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ᶠ (x : ℝ) in 𝓝 t₀, (↑(extChartAt I (g t₀)) ∘ g) x ∈ (fun x => s) x

tactic: apply (hsrc hg |>.and hg.eventually_hasDerivAt).mono
state_before: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ᶠ (x : ℝ) in 𝓝 t₀, HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') x ((↑(extChartAt I (g t₀)) ∘ g) x)) x
state_after: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ (x : ℝ),
    g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 x ∧
        HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g x) (g t₀) (g x)) (v (g x))) x →
      HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') x ((↑(extChartAt I (g t₀)) ∘ g) x)) x

tactic: rintro t ⟨ht1, ht2⟩
state_before: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ (x : ℝ),
    g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 x ∧
        HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g x) (g t₀) (g x)) (v (g x))) x →
      HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') x ((↑(extChartAt I (g t₀)) ∘ g) x)) x
state_after: case a.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
t : ℝ
ht1 : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
ht2 : HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g t) (g t₀) (g t)) (v (g t))) t
⊢ HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t

tactic: rw [hv', h']
state_before: case a.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
t : ℝ
ht1 : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
ht2 : HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g t) (g t₀) (g t)) (v (g t))) t
⊢ HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t
state_after: case a.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
t : ℝ
ht1 : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
ht2 : HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g t) (g t₀) (g t)) (v (g t))) t
⊢ HasDerivAt (↑(extChartAt I (g t₀)) ∘ g)
    ((fun x x =>
        (tangentCoordChange I (↑(extChartAt I (g t₀)).symm x) (g t₀) (↑(extChartAt I (g t₀)).symm x))
          (v (↑(extChartAt I (g t₀)).symm x)))
      t ((↑(extChartAt I (g t₀)) ∘ g) t))
    t

tactic: apply ht2.congr_deriv
state_before: case a.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
t : ℝ
ht1 : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
ht2 : HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g t) (g t₀) (g t)) (v (g t))) t
⊢ HasDerivAt (↑(extChartAt I (g t₀)) ∘ g)
    ((fun x x =>
        (tangentCoordChange I (↑(extChartAt I (g t₀)).symm x) (g t₀) (↑(extChartAt I (g t₀)).symm x))
          (v (↑(extChartAt I (g t₀)).symm x)))
      t ((↑(extChartAt I (g t₀)) ∘ g) t))
    t
state_after: case a.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
t : ℝ
ht1 : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
ht2 : HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g t) (g t₀) (g t)) (v (g t))) t
⊢ (tangentCoordChange I (g t) (g t₀) (g t)) (v (g t)) =
    (fun x x =>
        (tangentCoordChange I (↑(extChartAt I (g t₀)).symm x) (g t₀) (↑(extChartAt I (g t₀)).symm x))
          (v (↑(extChartAt I (g t₀)).symm x)))
      t ((↑(extChartAt I (g t₀)) ∘ g) t)

tactic: congr <;>
rw [Function.comp_apply, PartialEquiv.left_inv _ (hmem ht1)]
state_before: case a.intro
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
t : ℝ
ht1 : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
ht2 : HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((tangentCoordChange I (g t) (g t₀) (g t)) (v (g t))) t
⊢ (tangentCoordChange I (g t) (g t₀) (g t)) (v (g t)) =
    (fun x x =>
        (tangentCoordChange I (↑(extChartAt I (g t₀)).symm x) (g t₀) (↑(extChartAt I (g t₀)).symm x))
          (v (↑(extChartAt I (g t₀)).symm x)))
      t ((↑(extChartAt I (g t₀)) ∘ g) t)
state_after: no goals

tactic: apply ((continuousAt_extChartAt I (g t₀)).comp hg.continuousAt).preimage_mem_nhds
state_before: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ ∀ᶠ (x : ℝ) in 𝓝 t₀, (↑(extChartAt I (g t₀)) ∘ g) x ∈ (fun x => s) x
state_after: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ s ∈ 𝓝 ((↑(extChartAt I (g t₀)) ∘ g) t₀)

tactic: rw [Function.comp_apply, ← h']
state_before: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ s ∈ 𝓝 ((↑(extChartAt I (g t₀)) ∘ g) t₀)
state_after: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))

tactic: exact hs
state_before: case a
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
h' : γ t₀ = g t₀
⊢ s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
state_after: no goals

tactic: apply (hsrc hg).mono
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
⊢ g =ᶠ[𝓝 t₀] ↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g
state_after: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
⊢ ∀ (x : ℝ),
    g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 x → g x = (↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g) x

tactic: intros t ht
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
⊢ ∀ (x : ℝ),
    g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 x → g x = (↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g) x
state_after: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
t : ℝ
ht : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
⊢ g t = (↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g) t

tactic: rw [Function.comp_apply, Function.comp_apply, PartialEquiv.left_inv _ (hmem ht)]
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
g : ℝ → M
hg : IsIntegralCurveAt g v t₀
t : ℝ
ht : g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
⊢ g t = (↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g) t
state_after: no goals

tactic: rw [Function.comp_apply, Function.comp_apply, h]
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s✝ s' : Set ℝ
t₀ : ℝ
x₀ : M
hγt₀ : I.IsInteriorPoint (γ t₀)
hγ : IsIntegralCurveAt γ v t₀
hγ' : IsIntegralCurveAt γ' v t₀
h : γ t₀ = γ' t₀
v' : E → E :=
  fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
hv' :
  v' = fun x =>
    (tangentCoordChange I (↑(extChartAt I (γ t₀)).symm x) (γ t₀) (↑(extChartAt I (γ t₀)).symm x))
      (v (↑(extChartAt I (γ t₀)).symm x))
left✝ : ContinuousAt (fun x => { proj := x, snd := v x }) (γ t₀)
hv :
  ContDiffWithinAt ℝ 1
    (↑(extChartAt I.tangent { proj := γ t₀, snd := v (γ t₀) }) ∘
      (fun x => { proj := x, snd := v x }) ∘ ↑(extChartAt I (γ t₀)).symm)
    (range ↑I) (↑(extChartAt I (γ t₀)) (γ t₀))
K : NNReal
s : Set E
hs : s ∈ 𝓝 (↑(extChartAt I (γ t₀)) (γ t₀))
hlip✝ : LipschitzOnWith K v' s
hlip : ∀ (t : ℝ), LipschitzOnWith K ((fun x => v') t) ((fun x => s) t)
hsrc : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → ∀ᶠ (t : ℝ) in 𝓝 t₀, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t
hmem : ∀ {g : ℝ → M} {t : ℝ}, g ⁻¹' (extChartAt I (g t₀)).source ∈ 𝓝 t → g t ∈ (extChartAt I (g t₀)).source
hdrv :
  ∀ {g : ℝ → M},
    IsIntegralCurveAt g v t₀ →
      γ t₀ = g t₀ →
        ∀ᶠ (t : ℝ) in 𝓝 t₀,
          HasDerivAt (↑(extChartAt I (g t₀)) ∘ g) ((fun x => v') t ((↑(extChartAt I (g t₀)) ∘ g) t)) t ∧
            (↑(extChartAt I (g t₀)) ∘ g) t ∈ (fun x => s) t
heq : ∀ {g : ℝ → M}, IsIntegralCurveAt g v t₀ → g =ᶠ[𝓝 t₀] ↑(extChartAt I (g t₀)).symm ∘ ↑(extChartAt I (g t₀)) ∘ g
⊢ (↑(extChartAt I (γ t₀)) ∘ γ) t₀ = (↑(extChartAt I (γ' t₀)) ∘ γ') t₀
state_after: no goals