Theorem: ContMDiffWithinAt.change_section_trivialization
File: Mathlib/Geometry/Manifold/VectorBundle/Basic.lean

tactic: rw [Trivialization.mem_source] at he he'
state_before: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : f x ∈ e.source
he' : f x ∈ e'.source
⊢ ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e' (f y)).2) s x
state_after: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e' (f y)).2) s x

tactic: refine (hp.coordChange hf he he').congr_of_eventuallyEq ?_ ?_
state_before: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e' (f y)).2) s x
state_after: case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ (fun y => (↑e' (f y)).2) =ᶠ[𝓝[s] x] fun y => e.coordChange e' ((TotalSpace.proj ∘ f) y) (↑e (f y)).2

case refine_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ (↑e' (f x)).2 = e.coordChange e' ((TotalSpace.proj ∘ f) x) (↑e (f x)).2

tactic: filter_upwards [hp.continuousWithinAt (e.open_baseSet.mem_nhds he)] with y hy
state_before: case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ (fun y => (↑e' (f y)).2) =ᶠ[𝓝[s] x] fun y => e.coordChange e' ((TotalSpace.proj ∘ f) y) (↑e (f y)).2
state_after: case h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
y : M
hy : y ∈ TotalSpace.proj ∘ f ⁻¹' e.baseSet
⊢ (↑e' (f y)).2 = e.coordChange e' ((TotalSpace.proj ∘ f) y) (↑e (f y)).2

tactic: rw [Function.comp_apply, e.coordChange_apply_snd _ hy]
state_before: case h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
y : M
hy : y ∈ TotalSpace.proj ∘ f ⁻¹' e.baseSet
⊢ (↑e' (f y)).2 = e.coordChange e' ((TotalSpace.proj ∘ f) y) (↑e (f y)).2
state_after: no goals

tactic: rw [Function.comp_apply, e.coordChange_apply_snd _ he]
state_before: case refine_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
f✝ : M → B
g : M → F
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).2) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ (↑e' (f x)).2 = e.coordChange e' ((TotalSpace.proj ∘ f) x) (↑e (f x)).2
state_after: no goals