[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have h4f : ContinuousAt (fun x => f x (g x)) x₀ :=
  ContinuousAt.comp_of_eq hf.continuousAt (continuousAt_id.prod hg.continuousAt) rfl
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f : ContinuousAt (fun x => f x (g x)) x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have h4f := h4f.preimage_mem_nhds (extChartAt_source_mem_nhds I' (f x₀ (g x₀)))
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have h3f := contMDiffAt_iff_contMDiffAt_nhds.mp (hf.of_le <| (self_le_add_left 1 m).trans hmn)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have h2f : ∀ᶠ x₂ in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂) :=
  by
  refine' ((continuousAt_id.prod hg.continuousAt).tendsto.eventually h3f).mono fun x hx => _
  exact hx.comp (g x) (contMDiffAt_const.prod_mk contMDiffAt_id)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
⊢ ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
[PROOFSTEP]
refine' ((continuousAt_id.prod hg.continuousAt).tendsto.eventually h3f).mono fun x hx => _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
x : N
hx : ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) (id x, g x)
⊢ ContMDiffAt I I' 1 (f x) (g x)
[PROOFSTEP]
exact hx.comp (g x) (contMDiffAt_const.prod_mk contMDiffAt_id)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have h2g := hg.continuousAt.preimage_mem_nhds (extChartAt_source_mem_nhds I (g x₀))
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜 (extChartAt I' (f x₀ (g x₀)) ∘ f ((extChartAt J x₀).symm x) ∘ (extChartAt I (g x₀)).symm) (range I)
        (extChartAt I (g x₀) (g ((extChartAt J x₀).symm x))))
    (range J) (extChartAt J x₀ x₀) :=
  by
  rw [contMDiffAt_iff] at hf hg
  simp_rw [Function.comp, uncurry, extChartAt_prod, LocalEquiv.prod_coe_symm, ModelWithCorners.range_prod] at hf ⊢
  refine' ContDiffWithinAt.fderivWithin _ hg.2 I.unique_diff hmn (mem_range_self _) _
  · simp_rw [extChartAt_to_inv]; exact hf.2
  · rw [← image_subset_iff]
    rintro _ ⟨x, -, rfl⟩
    exact mem_range_self _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
⊢ ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
[PROOFSTEP]
rw [contMDiffAt_iff] at hf hg
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf :
  ContinuousAt (uncurry f) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (↑(extChartAt I' (uncurry f (x₀, g x₀))) ∘
        uncurry f ∘ ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.prod J I) (x₀, g x₀))))
      (range ↑(ModelWithCorners.prod J I)) (↑(extChartAt (ModelWithCorners.prod J I) (x₀, g x₀)) (x₀, g x₀))
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
⊢ ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
[PROOFSTEP]
simp_rw [Function.comp, uncurry, extChartAt_prod, LocalEquiv.prod_coe_symm, ModelWithCorners.range_prod] at hf ⊢
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
hf :
  ContinuousAt (fun a => f a.fst a.snd) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (fun x =>
        ↑(extChartAt I' (f x₀ (g x₀)))
          (f (↑(LocalEquiv.symm (extChartAt J x₀)) x.fst) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x.snd)))
      (range ↑J ×ˢ range ↑I) (↑(LocalEquiv.prod (extChartAt J x₀) (extChartAt I (g x₀))) (x₀, g x₀))
⊢ ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (fun x_1 =>
          ↑(extChartAt I' (f x₀ (g x₀)))
            (f (↑(LocalEquiv.symm (extChartAt J x₀)) x) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x_1)))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
[PROOFSTEP]
refine' ContDiffWithinAt.fderivWithin _ hg.2 I.unique_diff hmn (mem_range_self _) _
[GOAL]
case refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
hf :
  ContinuousAt (fun a => f a.fst a.snd) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (fun x =>
        ↑(extChartAt I' (f x₀ (g x₀)))
          (f (↑(LocalEquiv.symm (extChartAt J x₀)) x.fst) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x.snd)))
      (range ↑J ×ˢ range ↑I) (↑(LocalEquiv.prod (extChartAt J x₀) (extChartAt I (g x₀))) (x₀, g x₀))
⊢ ContDiffWithinAt 𝕜 n
    (uncurry fun x x_1 =>
      ↑(extChartAt I' (f x₀ (g x₀)))
        (f (↑(LocalEquiv.symm (extChartAt J x₀)) x) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x_1)))
    (range ↑J ×ˢ range ↑I)
    (↑(extChartAt J x₀) x₀, ↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) (↑(extChartAt J x₀) x₀))))
[PROOFSTEP]
simp_rw [extChartAt_to_inv]
[GOAL]
case refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
hf :
  ContinuousAt (fun a => f a.fst a.snd) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (fun x =>
        ↑(extChartAt I' (f x₀ (g x₀)))
          (f (↑(LocalEquiv.symm (extChartAt J x₀)) x.fst) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x.snd)))
      (range ↑J ×ˢ range ↑I) (↑(LocalEquiv.prod (extChartAt J x₀) (extChartAt I (g x₀))) (x₀, g x₀))
⊢ ContDiffWithinAt 𝕜 n
    (uncurry fun x x_1 =>
      ↑(extChartAt I' (f x₀ (g x₀)))
        (f (↑(LocalEquiv.symm (extChartAt J x₀)) x) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x_1)))
    (range ↑J ×ˢ range ↑I) (↑(extChartAt J x₀) x₀, ↑(extChartAt I (g x₀)) (g x₀))
[PROOFSTEP]
exact hf.2
[GOAL]
case refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
hf :
  ContinuousAt (fun a => f a.fst a.snd) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (fun x =>
        ↑(extChartAt I' (f x₀ (g x₀)))
          (f (↑(LocalEquiv.symm (extChartAt J x₀)) x.fst) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x.snd)))
      (range ↑J ×ˢ range ↑I) (↑(LocalEquiv.prod (extChartAt J x₀) (extChartAt I (g x₀))) (x₀, g x₀))
⊢ range ↑J ⊆ (fun x => ↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))) ⁻¹' range ↑I
[PROOFSTEP]
rw [← image_subset_iff]
[GOAL]
case refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
hf :
  ContinuousAt (fun a => f a.fst a.snd) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (fun x =>
        ↑(extChartAt I' (f x₀ (g x₀)))
          (f (↑(LocalEquiv.symm (extChartAt J x₀)) x.fst) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x.snd)))
      (range ↑J ×ˢ range ↑I) (↑(LocalEquiv.prod (extChartAt J x₀) (extChartAt I (g x₀))) (x₀, g x₀))
⊢ (fun x => ↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))) '' range ↑J ⊆ range ↑I
[PROOFSTEP]
rintro _ ⟨x, -, rfl⟩
[GOAL]
case refine'_2.intro.intro
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hg :
  ContinuousAt g x₀ ∧
    ContDiffWithinAt 𝕜 m (↑(extChartAt I (g x₀)) ∘ g ∘ ↑(LocalEquiv.symm (extChartAt J x₀))) (range ↑J)
      (↑(extChartAt J x₀) x₀)
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
hf :
  ContinuousAt (fun a => f a.fst a.snd) (x₀, g x₀) ∧
    ContDiffWithinAt 𝕜 n
      (fun x =>
        ↑(extChartAt I' (f x₀ (g x₀)))
          (f (↑(LocalEquiv.symm (extChartAt J x₀)) x.fst) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x.snd)))
      (range ↑J ×ˢ range ↑I) (↑(LocalEquiv.prod (extChartAt J x₀) (extChartAt I (g x₀))) (x₀, g x₀))
x : F
⊢ (fun x => ↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))) x ∈ range ↑I
[PROOFSTEP]
exact mem_range_self _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (extChartAt I' (f x₀ (g x₀)) ∘ f x ∘ (extChartAt I (g x₀)).symm) (range I)
        (extChartAt I (g x₀) (g x)))
    x₀ :=
  by
  simp_rw [contMDiffAt_iff_source_of_mem_source (mem_chart_source G x₀), contMDiffWithinAt_iff_contDiffWithinAt,
    Function.comp]
  exact this
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
[PROOFSTEP]
simp_rw [contMDiffAt_iff_source_of_mem_source (mem_chart_source G x₀), contMDiffWithinAt_iff_contDiffWithinAt,
  Function.comp]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
⊢ ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (fun x_1 =>
          ↑(extChartAt I' (f x₀ (g x₀)))
            (f (↑(LocalEquiv.symm (extChartAt J x₀)) x) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x_1)))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
[PROOFSTEP]
exact this
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (extChartAt I' (f x₀ (g x₀)) ∘
          (extChartAt I' (f x (g x))).symm ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ extChartAt I (g x) ∘ (extChartAt I (g x₀)).symm)
        (range I) (extChartAt I (g x₀) (g x)))
    x₀ :=
  by
  refine' this.congr_of_eventuallyEq _
  filter_upwards [h2g, h2f]
  intro x₂ hx₂ h2x₂
  have :
    ∀
      x ∈
        (extChartAt I (g x₀)).symm ⁻¹' (extChartAt I (g x₂)).source ∩
          (extChartAt I (g x₀)).symm ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source),
      (extChartAt I' (f x₀ (g x₀)) ∘
            (extChartAt I' (f x₂ (g x₂))).symm ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘ extChartAt I (g x₂) ∘ (extChartAt I (g x₀)).symm)
          x =
        extChartAt I' (f x₀ (g x₀)) (f x₂ ((extChartAt I (g x₀)).symm x)) :=
    by
    rintro x ⟨hx, h2x⟩
    simp_rw [writtenInExtChartAt, Function.comp_apply]
    rw [(extChartAt I (g x₂)).left_inv hx, (extChartAt I' (f x₂ (g x₂))).left_inv h2x]
  refine' Filter.EventuallyEq.fderivWithin_eq_nhds _
  refine' eventually_of_mem (inter_mem _ _) this
  · exact extChartAt_preimage_mem_nhds' _ _ hx₂ (extChartAt_source_mem_nhds I (g x₂))
  refine' extChartAt_preimage_mem_nhds' _ _ hx₂ _
  exact
    h2x₂.continuousAt.preimage_mem_nhds
      (extChartAt_source_mem_nhds _ _)
        /- The conclusion is equal to the following, when unfolding coord_change of
              `tangentBundleCore` -/
          -- Porting note: added
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
[PROOFSTEP]
refine' this.congr_of_eventuallyEq _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
⊢ (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x))) =ᶠ[𝓝 x₀]
    fun x =>
    fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
      (↑(extChartAt I (g x₀)) (g x))
[PROOFSTEP]
filter_upwards [h2g, h2f]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
⊢ ∀ (a : N),
    a ∈ g ⁻¹' (extChartAt I (g x₀)).source →
      ContMDiffAt I I' 1 (f a) (g a) →
        fderivWithin 𝕜
            (↑(extChartAt I' (f x₀ (g x₀))) ∘
              ↑(LocalEquiv.symm (extChartAt I' (f a (g a)))) ∘
                writtenInExtChartAt I I' (g a) (f a) ∘ ↑(extChartAt I (g a)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
            (range ↑I) (↑(extChartAt I (g x₀)) (g a)) =
          fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f a ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g a))
[PROOFSTEP]
intro x₂ hx₂ h2x₂
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x₂ ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
      (↑(extChartAt I (g x₀)) (g x₂))
[PROOFSTEP]
have :
  ∀
    x ∈
      (extChartAt I (g x₀)).symm ⁻¹' (extChartAt I (g x₂)).source ∩
        (extChartAt I (g x₀)).symm ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source),
    (extChartAt I' (f x₀ (g x₀)) ∘
          (extChartAt I' (f x₂ (g x₂))).symm ∘
            writtenInExtChartAt I I' (g x₂) (f x₂) ∘ extChartAt I (g x₂) ∘ (extChartAt I (g x₀)).symm)
        x =
      extChartAt I' (f x₀ (g x₀)) (f x₂ ((extChartAt I (g x₀)).symm x)) :=
  by
  rintro x ⟨hx, h2x⟩
  simp_rw [writtenInExtChartAt, Function.comp_apply]
  rw [(extChartAt I (g x₂)).left_inv hx, (extChartAt I' (f x₂ (g x₂))).left_inv h2x]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
⊢ ∀ (x : E),
    x ∈
        ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∩
          ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) →
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
            ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘
                ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
          x =
        ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
[PROOFSTEP]
rintro x ⟨hx, h2x⟩
[GOAL]
case intro
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
x : E
hx : x ∈ ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source
h2x : x ∈ ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source)
⊢ (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      x =
    ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
[PROOFSTEP]
simp_rw [writtenInExtChartAt, Function.comp_apply]
[GOAL]
case intro
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
x : E
hx : x ∈ ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source
h2x : x ∈ ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source)
⊢ ↑(extChartAt I' (f x₀ (g x₀)))
      (↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))
        (↑(extChartAt I' (f x₂ (g x₂)))
          (f x₂
            (↑(LocalEquiv.symm (extChartAt I (g x₂)))
              (↑(extChartAt I (g x₂)) (↑(LocalEquiv.symm (extChartAt I (g x₀))) x)))))) =
    ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
[PROOFSTEP]
rw [(extChartAt I (g x₂)).left_inv hx, (extChartAt I' (f x₂ (g x₂))).left_inv h2x]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
this :
  ∀ (x : E),
    x ∈
        ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∩
          ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) →
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
            ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘
                ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
          x =
        ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x₂ ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
      (↑(extChartAt I (g x₀)) (g x₂))
[PROOFSTEP]
refine' Filter.EventuallyEq.fderivWithin_eq_nhds _
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
this :
  ∀ (x : E),
    x ∈
        ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∩
          ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) →
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
            ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘
                ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
          x =
        ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
⊢ ↑(extChartAt I' (f x₀ (g x₀))) ∘
      ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
        writtenInExtChartAt I I' (g x₂) (f x₂) ∘
          ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))) =ᶠ[𝓝 (↑(extChartAt I (g x₀)) (g x₂))]
    ↑(extChartAt I' (f x₀ (g x₀))) ∘ f x₂ ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))
[PROOFSTEP]
refine' eventually_of_mem (inter_mem _ _) this
[GOAL]
case h.refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
this :
  ∀ (x : E),
    x ∈
        ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∩
          ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) →
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
            ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘
                ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
          x =
        ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
⊢ ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∈ 𝓝 (↑(extChartAt I (g x₀)) (g x₂))
[PROOFSTEP]
exact extChartAt_preimage_mem_nhds' _ _ hx₂ (extChartAt_source_mem_nhds I (g x₂))
[GOAL]
case h.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
this :
  ∀ (x : E),
    x ∈
        ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∩
          ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) →
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
            ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘
                ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
          x =
        ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
⊢ ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) ∈
    𝓝 (↑(extChartAt I (g x₀)) (g x₂))
[PROOFSTEP]
refine' extChartAt_preimage_mem_nhds' _ _ hx₂ _
[GOAL]
case h.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
this :
  ∀ (x : E),
    x ∈
        ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (extChartAt I (g x₂)).source ∩
          ↑(LocalEquiv.symm (extChartAt I (g x₀))) ⁻¹' (f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source) →
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
            ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
              writtenInExtChartAt I I' (g x₂) (f x₂) ∘
                ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
          x =
        ↑(extChartAt I' (f x₀ (g x₀))) (f x₂ (↑(LocalEquiv.symm (extChartAt I (g x₀))) x))
⊢ f x₂ ⁻¹' (extChartAt I' (f x₂ (g x₂))).source ∈ 𝓝 (g x₂)
[PROOFSTEP]
exact
  h2x₂.continuousAt.preimage_mem_nhds
    (extChartAt_source_mem_nhds _ _)
      /- The conclusion is equal to the following, when unfolding coord_change of
            `tangentBundleCore` -/
        -- Porting note: added
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
letI _inst : ∀ x, NormedAddCommGroup (TangentSpace I (g x)) := fun _ => inferInstanceAs (NormedAddCommGroup E)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
letI _inst : ∀ x, NormedSpace 𝕜 (TangentSpace I (g x)) := fun _ => inferInstanceAs (NormedSpace 𝕜 E)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
have :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      (fderivWithin 𝕜 (extChartAt I' (f x₀ (g x₀)) ∘ (extChartAt I' (f x (g x))).symm) (range I')
            (extChartAt I' (f x (g x)) (f x (g x)))).comp
        ((mfderiv I I' (f x) (g x)).comp
          (fderivWithin 𝕜 (extChartAt I (g x) ∘ (extChartAt I (g x₀)).symm) (range I) (extChartAt I (g x₀) (g x)))))
    x₀ :=
  by
  refine' this.congr_of_eventuallyEq _
  filter_upwards [h2g, h2f, h4f]
  intro x₂ hx₂ h2x₂ h3x₂
  symm
  rw [(h2x₂.mdifferentiableAt le_rfl).mfderiv]
  have hI :=
    (contDiffWithinAt_ext_coord_change I (g x₂) (g x₀) <|
          LocalEquiv.mem_symm_trans_source _ hx₂ <| mem_extChartAt_source I (g x₂)).differentiableWithinAt
      le_top
  have hI' :=
    (contDiffWithinAt_ext_coord_change I' (f x₀ (g x₀)) (f x₂ (g x₂)) <|
          LocalEquiv.mem_symm_trans_source _ (mem_extChartAt_source I' (f x₂ (g x₂))) h3x₂).differentiableWithinAt
      le_top
  have h3f := (h2x₂.mdifferentiableAt le_rfl).2
  refine' fderivWithin.comp₃ _ hI' h3f hI _ _ _ _ (I.unique_diff _ <| mem_range_self _)
  · exact fun x _ => mem_range_self _
  · exact fun x _ => mem_range_self _
  · simp_rw [writtenInExtChartAt, Function.comp_apply, (extChartAt I (g x₂)).left_inv (mem_extChartAt_source I (g x₂))]
  · simp_rw [Function.comp_apply, (extChartAt I (g x₀)).left_inv hx₂]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
[PROOFSTEP]
refine' this.congr_of_eventuallyEq _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
⊢ (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x))))) =ᶠ[𝓝 x₀]
    fun x =>
    fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
          writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x))
[PROOFSTEP]
filter_upwards [h2g, h2f, h4f]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
⊢ ∀ (a : N),
    a ∈ g ⁻¹' (extChartAt I (g x₀)).source →
      ContMDiffAt I I' 1 (f a) (g a) →
        a ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source →
          ContinuousLinearMap.comp
              (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f a (g a)))))
                (range ↑I') (↑(extChartAt I' (f a (g a))) (f a (g a))))
              (ContinuousLinearMap.comp (mfderiv I I' (f a) (g a))
                (fderivWithin 𝕜 (↑(extChartAt I (g a)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
                  (↑(extChartAt I (g x₀)) (g a)))) =
            fderivWithin 𝕜
              (↑(extChartAt I' (f x₀ (g x₀))) ∘
                ↑(LocalEquiv.symm (extChartAt I' (f a (g a)))) ∘
                  writtenInExtChartAt I I' (g a) (f a) ∘
                    ↑(extChartAt I (g a)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
              (range ↑I) (↑(extChartAt I (g x₀)) (g a))
[PROOFSTEP]
intro x₂ hx₂ h2x₂ h3x₂
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))) (range ↑I')
        (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))))
      (ContinuousLinearMap.comp (mfderiv I I' (f x₂) (g x₂))
        (fderivWithin 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x₂)))) =
    fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂))
[PROOFSTEP]
symm
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))) (range ↑I')
        (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))))
      (ContinuousLinearMap.comp (mfderiv I I' (f x₂) (g x₂))
        (fderivWithin 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x₂))))
[PROOFSTEP]
rw [(h2x₂.mdifferentiableAt le_rfl).mfderiv]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))) (range ↑I')
        (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))))
      (ContinuousLinearMap.comp
        (fderivWithin 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂)))
        (fderivWithin 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x₂))))
[PROOFSTEP]
have hI :=
  (contDiffWithinAt_ext_coord_change I (g x₂) (g x₀) <|
        LocalEquiv.mem_symm_trans_source _ hx₂ <| mem_extChartAt_source I (g x₂)).differentiableWithinAt
    le_top
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))) (range ↑I')
        (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))))
      (ContinuousLinearMap.comp
        (fderivWithin 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂)))
        (fderivWithin 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x₂))))
[PROOFSTEP]
have hI' :=
  (contDiffWithinAt_ext_coord_change I' (f x₀ (g x₀)) (f x₂ (g x₂)) <|
        LocalEquiv.mem_symm_trans_source _ (mem_extChartAt_source I' (f x₂ (g x₂))) h3x₂).differentiableWithinAt
    le_top
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
hI' :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))))
    (range ↑I') (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂)))
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))) (range ↑I')
        (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))))
      (ContinuousLinearMap.comp
        (fderivWithin 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂)))
        (fderivWithin 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x₂))))
[PROOFSTEP]
have h3f := (h2x₂.mdifferentiableAt le_rfl).2
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f✝ : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
hI' :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))))
    (range ↑I') (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂)))
h3f : DifferentiableWithinAt 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂))
⊢ fderivWithin 𝕜
      (↑(extChartAt I' (f x₀ (g x₀))) ∘
        ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))) ∘
          writtenInExtChartAt I I' (g x₂) (f x₂) ∘ ↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
      (range ↑I) (↑(extChartAt I (g x₀)) (g x₂)) =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂))))) (range ↑I')
        (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))))
      (ContinuousLinearMap.comp
        (fderivWithin 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂)))
        (fderivWithin 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x₂))))
[PROOFSTEP]
refine' fderivWithin.comp₃ _ hI' h3f hI _ _ _ _ (I.unique_diff _ <| mem_range_self _)
[GOAL]
case h.refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f✝ : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
hI' :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))))
    (range ↑I') (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂)))
h3f : DifferentiableWithinAt 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂))
⊢ MapsTo (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (range ↑I')
[PROOFSTEP]
exact fun x _ => mem_range_self _
[GOAL]
case h.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f✝ : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
hI' :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))))
    (range ↑I') (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂)))
h3f : DifferentiableWithinAt 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂))
⊢ MapsTo (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I) (range ↑I)
[PROOFSTEP]
exact fun x _ => mem_range_self _
[GOAL]
case h.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f✝ : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
hI' :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))))
    (range ↑I') (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂)))
h3f : DifferentiableWithinAt 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂))
⊢ writtenInExtChartAt I I' (g x₂) (f x₂) (↑(extChartAt I (g x₂)) (g x₂)) = ↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂))
[PROOFSTEP]
simp_rw [writtenInExtChartAt, Function.comp_apply, (extChartAt I (g x₂)).left_inv (mem_extChartAt_source I (g x₂))]
[GOAL]
case h.refine'_4
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f✝ : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝¹ :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
x₂ : N
hx₂ : x₂ ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x₂ : ContMDiffAt I I' 1 (f x₂) (g x₂)
h3x₂ : x₂ ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
hI :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
    (↑(extChartAt I (g x₀)) (g x₂))
hI' :
  DifferentiableWithinAt 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x₂ (g x₂)))))
    (range ↑I') (↑(extChartAt I' (f x₂ (g x₂))) (f x₂ (g x₂)))
h3f : DifferentiableWithinAt 𝕜 (writtenInExtChartAt I I' (g x₂) (f x₂)) (range ↑I) (↑(extChartAt I (g x₂)) (g x₂))
⊢ (↑(extChartAt I (g x₂)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (↑(extChartAt I (g x₀)) (g x₂)) =
    ↑(extChartAt I (g x₂)) (g x₂)
[PROOFSTEP]
simp_rw [Function.comp_apply, (extChartAt I (g x₀)).left_inv hx₂]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝² :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝¹ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
⊢ ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀) x₀
[PROOFSTEP]
refine' this.congr_of_eventuallyEq _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝² :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝¹ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
⊢ inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀ =ᶠ[𝓝 x₀] fun x =>
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
        (↑(extChartAt I' (f x (g x))) (f x (g x))))
      (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
        (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x))))
[PROOFSTEP]
filter_upwards [h2g, h4f] with x hx h2x
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝² :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝¹ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
x : N
hx : x ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x : x ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ inTangentCoordinates I I' g (fun x => f x (g x)) (fun x => mfderiv I I' (f x) (g x)) x₀ x =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
        (↑(extChartAt I' (f x (g x))) (f x (g x))))
      (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
        (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x))))
[PROOFSTEP]
rw [inTangentCoordinates_eq]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝² :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝¹ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
x : N
hx : x ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x : x ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ ContinuousLinearMap.comp
      (VectorBundleCore.coordChange (tangentBundleCore I' M') (achart H' (f x (g x))) (achart H' (f x₀ (g x₀)))
        (f x (g x)))
      (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
        (VectorBundleCore.coordChange (tangentBundleCore I M) (achart H (g x₀)) (achart H (g x)) (g x))) =
    ContinuousLinearMap.comp
      (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
        (↑(extChartAt I' (f x (g x))) (f x (g x))))
      (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
        (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
          (↑(extChartAt I (g x₀)) (g x))))
[PROOFSTEP]
rfl
[GOAL]
case h.hx
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝² :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝¹ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
x : N
hx : x ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x : x ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ g x ∈ (chartAt H (g x₀)).toLocalEquiv.source
[PROOFSTEP]
rwa [extChartAt_source] at hx
[GOAL]
case h.hy
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x₀ : N
f : N → M → M'
g : N → M
hf : ContMDiffAt (ModelWithCorners.prod J I) I' n (uncurry f) (x₀, g x₀)
hg : ContMDiffAt J I m g x₀
hmn : m + 1 ≤ n
h4f✝ : ContinuousAt (fun x => f x (g x)) x₀
h4f : (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source ∈ 𝓝 x₀
h3f : ∀ᶠ (x' : N × M) in 𝓝 (x₀, g x₀), ContMDiffAt (ModelWithCorners.prod J I) I' (↑One.one) (uncurry f) x'
h2f : ∀ᶠ (x₂ : N) in 𝓝 x₀, ContMDiffAt I I' 1 (f x₂) (g x₂)
h2g : g ⁻¹' (extChartAt I (g x₀)).source ∈ 𝓝 x₀
this✝² :
  ContDiffWithinAt 𝕜 m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          f (↑(LocalEquiv.symm (extChartAt J x₀)) x) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g (↑(LocalEquiv.symm (extChartAt J x₀)) x))))
    (range ↑J) (↑(extChartAt J x₀) x₀)
this✝¹ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ f x ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
        (↑(extChartAt I (g x₀)) (g x)))
    x₀
this✝ :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      fderivWithin 𝕜
        (↑(extChartAt I' (f x₀ (g x₀))) ∘
          ↑(LocalEquiv.symm (extChartAt I' (f x (g x)))) ∘
            writtenInExtChartAt I I' (g x) (f x) ∘ ↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀))))
        (range ↑I) (↑(extChartAt I (g x₀)) (g x)))
    x₀
_inst✝ : (x : N) → NormedAddCommGroup (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedAddCommGroup E)
_inst : (x : N) → NormedSpace 𝕜 (TangentSpace I (g x)) := fun x => inferInstanceAs (NormedSpace 𝕜 E)
this :
  ContMDiffAt J 𝓘(𝕜, E →L[𝕜] E') m
    (fun x =>
      ContinuousLinearMap.comp
        (fderivWithin 𝕜 (↑(extChartAt I' (f x₀ (g x₀))) ∘ ↑(LocalEquiv.symm (extChartAt I' (f x (g x))))) (range ↑I')
          (↑(extChartAt I' (f x (g x))) (f x (g x))))
        (ContinuousLinearMap.comp (mfderiv I I' (f x) (g x))
          (fderivWithin 𝕜 (↑(extChartAt I (g x)) ∘ ↑(LocalEquiv.symm (extChartAt I (g x₀)))) (range ↑I)
            (↑(extChartAt I (g x₀)) (g x)))))
    x₀
x : N
hx : x ∈ g ⁻¹' (extChartAt I (g x₀)).source
h2x : x ∈ (fun x => f x (g x)) ⁻¹' (extChartAt I' (f x₀ (g x₀))).source
⊢ f x (g x) ∈ (chartAt H' (f x₀ (g x₀))).toLocalEquiv.source
[PROOFSTEP]
rwa [extChartAt_source] at h2x
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
suffices h :
  ContinuousOn
    (fun p : H × E =>
      (f p.fst,
        (fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (I.symm ⁻¹' s ∩ range I) ((extChartAt I p.fst) p.fst) :
            E →L[𝕜] E')
          p.snd))
    (Prod.fst ⁻¹' s)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have A := (tangentBundleModelSpaceHomeomorph H I).continuous
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : Continuous ↑(tangentBundleModelSpaceHomeomorph H I)
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
rw [continuous_iff_continuousOn_univ] at A
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have B := ((tangentBundleModelSpaceHomeomorph H' I').symm.continuous.comp_continuousOn h).comp' A
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s))
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have : univ ∩ tangentBundleModelSpaceHomeomorph H I ⁻¹' (Prod.fst ⁻¹' s) = π E(TangentSpace I) ⁻¹' s := by ext ⟨x, v⟩;
  simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s))
⊢ univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
[PROOFSTEP]
ext ⟨x, v⟩
[GOAL]
case h.mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s))
x : H
v : TangentSpace I x
⊢ { proj := x, snd := v } ∈ univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) ↔
    { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s))
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
rw [this] at B
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
apply B.congr
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
⊢ EqOn (tangentMapWithin I I' f s)
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
rintro ⟨x, v⟩ hx
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ tangentMapWithin I I' f s { proj := x, snd := v } =
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
          (f p.fst,
            ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                  (↑(extChartAt I p.fst) p.fst))
              p.snd)) ∘
        ↑(tangentBundleModelSpaceHomeomorph H I))
      { proj := x, snd := v }
[PROOFSTEP]
dsimp [tangentMapWithin]
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ { proj := f x, snd := ↑(mfderivWithin I I' f s x) v } =
    ↑(TotalSpace.toProd H' E').symm
      (f x,
        ↑(fderivWithin 𝕜
              ((↑I' ∘ ↑(chartAt H' (f x))) ∘ f ∘ ↑(LocalHomeomorph.symm (chartAt H x)) ∘ ↑(ModelWithCorners.symm I))
              (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I (↑(chartAt H x) x)))
          v)
[PROOFSTEP]
ext
[GOAL]
case mk.proj
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ { proj := f x, snd := ↑(mfderivWithin I I' f s x) v }.proj =
    (↑(TotalSpace.toProd H' E').symm
        (f x,
          ↑(fderivWithin 𝕜
                ((↑I' ∘ ↑(chartAt H' (f x))) ∘ f ∘ ↑(LocalHomeomorph.symm (chartAt H x)) ∘ ↑(ModelWithCorners.symm I))
                (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I (↑(chartAt H x) x)))
            v)).proj
[PROOFSTEP]
rfl
[GOAL]
case mk.snd
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ HEq { proj := f x, snd := ↑(mfderivWithin I I' f s x) v }.snd
    (↑(TotalSpace.toProd H' E').symm
        (f x,
          ↑(fderivWithin 𝕜
                ((↑I' ∘ ↑(chartAt H' (f x))) ∘ f ∘ ↑(LocalHomeomorph.symm (chartAt H x)) ∘ ↑(ModelWithCorners.symm I))
                (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I (↑(chartAt H x) x)))
            v)).snd
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
case mk.snd
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ ↑(mfderivWithin I I' f s x) v =
    ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I x)) v
[PROOFSTEP]
apply congr_fun
[GOAL]
case mk.snd.h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ ↑(mfderivWithin I I' f s x) = fun v =>
    ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I x)) v
[PROOFSTEP]
apply congr_arg
[GOAL]
case mk.snd.h.h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ mfderivWithin I I' f s x =
    fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I x)
[PROOFSTEP]
rw [MDifferentiableWithinAt.mfderivWithin (hf.mdifferentiableOn hn x hx)]
[GOAL]
case mk.snd.h.h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
A : ContinuousOn (↑(tangentBundleModelSpaceHomeomorph H I)) univ
B :
  ContinuousOn
    ((↑(Homeomorph.symm (tangentBundleModelSpaceHomeomorph H' I')) ∘ fun p =>
        (f p.fst,
          ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
                (↑(extChartAt I p.fst) p.fst))
            p.snd)) ∘
      ↑(tangentBundleModelSpaceHomeomorph H I))
    (TotalSpace.proj ⁻¹' s)
this : univ ∩ ↑(tangentBundleModelSpaceHomeomorph H I) ⁻¹' (Prod.fst ⁻¹' s) = TotalSpace.proj ⁻¹' s
x : H
v : TangentSpace I x
hx : { proj := x, snd := v } ∈ TotalSpace.proj ⁻¹' s
⊢ fderivWithin 𝕜 (writtenInExtChartAt I I' x f) (↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' s ∩ range ↑I)
      (↑(extChartAt I x) x) =
    fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I x)
[PROOFSTEP]
rfl
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
suffices h :
  ContinuousOn
    (fun p : H × E => (fderivWithin 𝕜 (I' ∘ f ∘ I.symm) (I.symm ⁻¹' s ∩ range I) (I p.fst) : E →L[𝕜] E') p.snd)
    (Prod.fst ⁻¹' s)
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
⊢ ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜 (writtenInExtChartAt I I' p.fst f) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
              (↑(extChartAt I p.fst) p.fst))
          p.snd))
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
dsimp [writtenInExtChartAt, extChartAt]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
⊢ ContinuousOn
    (fun p =>
      (f p.fst,
        ↑(fderivWithin 𝕜
              ((↑I' ∘ ↑(chartAt H' (f p.fst))) ∘
                f ∘ ↑(LocalHomeomorph.symm (chartAt H p.fst)) ∘ ↑(ModelWithCorners.symm I))
              (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I (↑(chartAt H p.fst) p.fst)))
          p.snd))
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
exact (ContinuousOn.comp hf.continuousOn continuous_fst.continuousOn Subset.rfl).prod h
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
suffices h : ContinuousOn (fderivWithin 𝕜 (I' ∘ f ∘ I.symm) (I.symm ⁻¹' s ∩ range I)) (I '' s)
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
⊢ ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
have C := ContinuousOn.comp h I.continuous_toFun.continuousOn Subset.rfl
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
C :
  ContinuousOn
    (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) ∘
      ↑I.toLocalEquiv)
    fun x => (↑I '' s) (↑I.toLocalEquiv x)
⊢ ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
have A : Continuous fun q : (E →L[𝕜] E') × E => q.1 q.2 := isBoundedBilinearMapApply.continuous
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
C :
  ContinuousOn
    (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) ∘
      ↑I.toLocalEquiv)
    fun x => (↑I '' s) (↑I.toLocalEquiv x)
A : Continuous fun q => ↑q.fst q.snd
⊢ ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
have B :
  ContinuousOn (fun p : H × E => (fderivWithin 𝕜 (I' ∘ f ∘ I.symm) (I.symm ⁻¹' s ∩ range I) (I p.1), p.2))
    (Prod.fst ⁻¹' s) :=
  by
  apply ContinuousOn.prod _ continuous_snd.continuousOn
  refine C.comp continuousOn_fst ?_
  exact preimage_mono (subset_preimage_image _ _)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
C :
  ContinuousOn
    (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) ∘
      ↑I.toLocalEquiv)
    fun x => (↑I '' s) (↑I.toLocalEquiv x)
A : Continuous fun q => ↑q.fst q.snd
⊢ ContinuousOn
    (fun p =>
      (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst),
        p.snd))
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
apply ContinuousOn.prod _ continuous_snd.continuousOn
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
C :
  ContinuousOn
    (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) ∘
      ↑I.toLocalEquiv)
    fun x => (↑I '' s) (↑I.toLocalEquiv x)
A : Continuous fun q => ↑q.fst q.snd
⊢ ContinuousOn
    (fun x =>
      fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I x.fst))
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
refine C.comp continuousOn_fst ?_
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
C :
  ContinuousOn
    (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) ∘
      ↑I.toLocalEquiv)
    fun x => (↑I '' s) (↑I.toLocalEquiv x)
A : Continuous fun q => ↑q.fst q.snd
⊢ MapsTo (fun x => x.fst) (Prod.fst ⁻¹' s) fun x => (↑I '' s) (↑I.toLocalEquiv x)
[PROOFSTEP]
exact preimage_mono (subset_preimage_image _ _)
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
h :
  ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
C :
  ContinuousOn
    (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) ∘
      ↑I.toLocalEquiv)
    fun x => (↑I '' s) (↑I.toLocalEquiv x)
A : Continuous fun q => ↑q.fst q.snd
B :
  ContinuousOn
    (fun p =>
      (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst),
        p.snd))
    (Prod.fst ⁻¹' s)
⊢ ContinuousOn
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) (↑I p.fst))
        p.snd)
    (Prod.fst ⁻¹' s)
[PROOFSTEP]
exact A.comp_continuousOn B
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hn : 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
[PROOFSTEP]
rw [contMDiffOn_iff] at hf
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
[PROOFSTEP]
let x : H := I.symm (0 : E)
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
x : H := ↑(ModelWithCorners.symm I) 0
⊢ ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
[PROOFSTEP]
let y : H' := I'.symm (0 : E')
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
x : H := ↑(ModelWithCorners.symm I) 0
y : H' := ↑(ModelWithCorners.symm I') 0
⊢ ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
[PROOFSTEP]
have A := hf.2 x y
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
x : H := ↑(ModelWithCorners.symm I) 0
y : H' := ↑(ModelWithCorners.symm I') 0
A :
  ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
    ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
⊢ ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑I '' s)
[PROOFSTEP]
simp only [I.image_eq, inter_comm, mfld_simps] at A ⊢
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
x : H := ↑(ModelWithCorners.symm I) 0
y : H' := ↑(ModelWithCorners.symm I') 0
A : ContDiffOn 𝕜 n (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
⊢ ContinuousOn (fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I))
    (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
[PROOFSTEP]
apply A.continuousOn_fderivWithin _ hn
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
x : H := ↑(ModelWithCorners.symm I) 0
y : H' := ↑(ModelWithCorners.symm I') 0
A : ContDiffOn 𝕜 n (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
⊢ UniqueDiffOn 𝕜 (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
[PROOFSTEP]
convert hs.uniqueDiffOn_target_inter x using 1
[GOAL]
case h.e'_7
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hn : 1 ≤ n
hs : UniqueMDiffOn I s
x : H := ↑(ModelWithCorners.symm I) 0
y : H' := ↑(ModelWithCorners.symm I') 0
A : ContDiffOn 𝕜 n (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I)
⊢ ↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I = (extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' s
[PROOFSTEP]
simp only [inter_comm, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have m_le_n : m ≤ n := (le_add_right le_rfl).trans hmn
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have one_le_n : 1 ≤ n := (le_add_left le_rfl).trans hmn
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have U' : UniqueDiffOn 𝕜 (range I ∩ I.symm ⁻¹' s) := fun y hy ↦ by
  simpa only [UniqueMDiffOn, UniqueMDiffWithinAt, hy.1, inter_comm, mfld_simps] using hs (I.symm y) hy.2
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
y : E
hy : y ∈ range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s
⊢ UniqueDiffWithinAt 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) y
[PROOFSTEP]
simpa only [UniqueMDiffOn, UniqueMDiffWithinAt, hy.1, inter_comm, mfld_simps] using hs (I.symm y) hy.2
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
rw [contMDiffOn_iff]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
⊢ ContinuousOn (tangentMapWithin I I' f s) (TotalSpace.proj ⁻¹' s) ∧
    ∀ (x : TangentBundle I H) (y : TangentBundle I' H'),
      ContDiffOn 𝕜 m
        (↑(extChartAt (ModelWithCorners.tangent I') y) ∘
          tangentMapWithin I I' f s ∘ ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) x)))
        ((extChartAt (ModelWithCorners.tangent I) x).target ∩
          ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) x)) ⁻¹'
            (TotalSpace.proj ⁻¹' s ∩ tangentMapWithin I I' f s ⁻¹' (extChartAt (ModelWithCorners.tangent I') y).source))
[PROOFSTEP]
refine' ⟨hf.continuousOn_tangentMapWithin_aux one_le_n hs, fun p q => _⟩
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
⊢ ContDiffOn 𝕜 m
    (↑(extChartAt (ModelWithCorners.tangent I') q) ∘
      tangentMapWithin I I' f s ∘ ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)))
    ((extChartAt (ModelWithCorners.tangent I) p).target ∩
      ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)) ⁻¹'
        (TotalSpace.proj ⁻¹' s ∩ tangentMapWithin I I' f s ⁻¹' (extChartAt (ModelWithCorners.tangent I') q).source))
[PROOFSTEP]
suffices h :
  ContDiffOn 𝕜 m
    (((fun p : H' × E' => (I' p.fst, p.snd)) ∘ TotalSpace.toProd H' E') ∘
      tangentMapWithin I I' f s ∘ (TotalSpace.toProd H E).symm ∘ fun p : E × E => (I.symm p.fst, p.snd))
    ((range I ∩ I.symm ⁻¹' s) ×ˢ univ)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 m
    (↑(extChartAt (ModelWithCorners.tangent I') q) ∘
      tangentMapWithin I I' f s ∘ ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)))
    ((extChartAt (ModelWithCorners.tangent I) p).target ∩
      ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)) ⁻¹'
        (TotalSpace.proj ⁻¹' s ∩ tangentMapWithin I I' f s ⁻¹' (extChartAt (ModelWithCorners.tangent I') q).source))
[PROOFSTEP]
convert h using 1
[GOAL]
case h.e'_10
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ↑(extChartAt (ModelWithCorners.tangent I') q) ∘
      tangentMapWithin I I' f s ∘ ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)) =
    ((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd)
[PROOFSTEP]
ext1 ⟨x, y⟩
[GOAL]
case h.e'_10.h.mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
x y : E
⊢ (↑(extChartAt (ModelWithCorners.tangent I') q) ∘
        tangentMapWithin I I' f s ∘ ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)))
      (x, y) =
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
        tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
      (x, y)
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
case h.e'_10.h.mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x✝ : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
x y : E
⊢ (↑I'
        (↑(TotalSpace.toProd H' E')
            (tangentMapWithin I I' f s
              (↑(TotalSpace.toProd H E).symm
                (↑(LocalEquiv.symm (LocalEquiv.prod I.toLocalEquiv (LocalEquiv.refl E))) (x, y))))).fst,
      (↑(TotalSpace.toProd H' E')
          (tangentMapWithin I I' f s
            (↑(TotalSpace.toProd H E).symm
              (↑(LocalEquiv.symm (LocalEquiv.prod I.toLocalEquiv (LocalEquiv.refl E))) (x, y))))).snd) =
    (↑I' (f (↑(ModelWithCorners.symm I) x)),
      (tangentMapWithin I I' f s (↑(TotalSpace.toProd H E).symm (↑(ModelWithCorners.symm I) x, y))).snd)
[PROOFSTEP]
rfl
[GOAL]
case h.e'_11
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ (extChartAt (ModelWithCorners.tangent I) p).target ∩
      ↑(LocalEquiv.symm (extChartAt (ModelWithCorners.tangent I) p)) ⁻¹'
        (TotalSpace.proj ⁻¹' s ∩ tangentMapWithin I I' f s ⁻¹' (extChartAt (ModelWithCorners.tangent I') q).source) =
    (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
case h.e'_11
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ range ↑I ×ˢ univ ∩
      ↑(TotalSpace.toProd H E).symm ∘ ↑(LocalEquiv.symm (LocalEquiv.prod I.toLocalEquiv (LocalEquiv.refl E))) ⁻¹'
        (TotalSpace.proj ⁻¹' s) =
    (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ
[PROOFSTEP]
rw [inter_prod, prod_univ, prod_univ]
[GOAL]
case h.e'_11
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
h :
  ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ Prod.fst ⁻¹' range ↑I ∩
      ↑(TotalSpace.toProd H E).symm ∘ ↑(LocalEquiv.symm (LocalEquiv.prod I.toLocalEquiv (LocalEquiv.refl E))) ⁻¹'
        (TotalSpace.proj ⁻¹' s) =
    Prod.fst ⁻¹' range ↑I ∩ Prod.fst ⁻¹' (↑(ModelWithCorners.symm I) ⁻¹' s)
[PROOFSTEP]
rfl
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
⊢ ContDiffOn 𝕜 m
    (((fun p => (↑I' p.fst, p.snd)) ∘ ↑(TotalSpace.toProd H' E')) ∘
      tangentMapWithin I I' f s ∘ ↑(TotalSpace.toProd H E).symm ∘ fun p => (↑(ModelWithCorners.symm I) p.fst, p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
change
  ContDiffOn 𝕜 m
    (fun p : E × E => ((I' (f (I.symm p.fst)), (mfderivWithin I I' f s (I.symm p.fst) : E → E') p.snd) : E' × E'))
    ((range I ∩ I.symm ⁻¹' s) ×ˢ univ)
      -- check that all bits in this formula are `C^n`
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
⊢ ContDiffOn 𝕜 m
    (fun p =>
      (↑I' (f (↑(ModelWithCorners.symm I) p.fst)), ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
have hf' := contMDiffOn_iff.1 hf
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
⊢ ContDiffOn 𝕜 m
    (fun p =>
      (↑I' (f (↑(ModelWithCorners.symm I) p.fst)), ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
have A : ContDiffOn 𝕜 m (I' ∘ f ∘ I.symm) (range I ∩ I.symm ⁻¹' s) := by
  simpa only [mfld_simps] using (hf'.2 (I.symm 0) (I'.symm 0)).of_le m_le_n
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
⊢ ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
[PROOFSTEP]
simpa only [mfld_simps] using (hf'.2 (I.symm 0) (I'.symm 0)).of_le m_le_n
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
⊢ ContDiffOn 𝕜 m
    (fun p =>
      (↑I' (f (↑(ModelWithCorners.symm I) p.fst)), ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
have B : ContDiffOn 𝕜 m ((I' ∘ f ∘ I.symm) ∘ Prod.fst) ((range I ∩ I.symm ⁻¹' s) ×ˢ (univ : Set E)) :=
  A.comp contDiff_fst.contDiffOn (prod_subset_preimage_fst _ _)
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 m
    (fun p =>
      (↑I' (f (↑(ModelWithCorners.symm I) p.fst)), ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
suffices C :
  ContDiffOn 𝕜 m (fun p : E × E => (fderivWithin 𝕜 (I' ∘ f ∘ I.symm) (I.symm ⁻¹' s ∩ range I) p.1 : _) p.2)
    ((range I ∩ I.symm ⁻¹' s) ×ˢ (univ : Set E))
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
C :
  ContDiffOn 𝕜 m
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
        p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 m
    (fun p =>
      (↑I' (f (↑(ModelWithCorners.symm I) p.fst)), ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd))
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
refine ContDiffOn.prod B ?_
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
C :
  ContDiffOn 𝕜 m
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
        p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 m (fun p => ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
refine C.congr fun p hp => ?_
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p✝ : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
C :
  ContDiffOn 𝕜 m
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
        p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
p : E × E
hp : p ∈ (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ
⊢ ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd =
    ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst) p.snd
[PROOFSTEP]
simp only [mfld_simps] at hp
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p✝ : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
C :
  ContDiffOn 𝕜 m
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
        p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
p : E × E
hp : p.fst ∈ range ↑I ∧ ↑(ModelWithCorners.symm I) p.fst ∈ s
⊢ ↑(mfderivWithin I I' f s (↑(ModelWithCorners.symm I) p.fst)) p.snd =
    ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst) p.snd
[PROOFSTEP]
simp only [mfderivWithin, hf.mdifferentiableOn one_le_n _ hp.2, hp.1, if_pos, mfld_simps]
[GOAL]
case C
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 m
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
        p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
have D :
  ContDiffOn 𝕜 m (fun x => fderivWithin 𝕜 (I' ∘ f ∘ I.symm) (I.symm ⁻¹' s ∩ range I) x) (range I ∩ I.symm ⁻¹' s) :=
  by
  have : ContDiffOn 𝕜 n (I' ∘ f ∘ I.symm) (range I ∩ I.symm ⁻¹' s) := by
    simpa only [mfld_simps] using hf'.2 (I.symm 0) (I'.symm 0)
  simpa only [inter_comm] using this.fderivWithin U' hmn
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 m
    (fun x => fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) x)
    (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
[PROOFSTEP]
have : ContDiffOn 𝕜 n (I' ∘ f ∘ I.symm) (range I ∩ I.symm ⁻¹' s) := by
  simpa only [mfld_simps] using hf'.2 (I.symm 0) (I'.symm 0)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
⊢ ContDiffOn 𝕜 n (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
[PROOFSTEP]
simpa only [mfld_simps] using hf'.2 (I.symm 0) (I'.symm 0)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
this : ContDiffOn 𝕜 n (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
⊢ ContDiffOn 𝕜 m
    (fun x => fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) x)
    (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
[PROOFSTEP]
simpa only [inter_comm] using this.fderivWithin U' hmn
[GOAL]
case C
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
D :
  ContDiffOn 𝕜 m
    (fun x => fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) x)
    (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
⊢ ContDiffOn 𝕜 m
    (fun p =>
      ↑(fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
        p.snd)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
refine ContDiffOn.clm_apply ?_ contDiffOn_snd
[GOAL]
case C
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f✝ f₁ : M → M'
s✝ s₁ t : Set M
x : M
m n : ℕ∞
f : H → H'
s : Set H
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
m_le_n : m ≤ n
one_le_n : 1 ≤ n
U' : UniqueDiffOn 𝕜 (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
p : TangentBundle I H
q : TangentBundle I' H'
hf' :
  ContinuousOn f s ∧
    ∀ (x : H) (y : H'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
A : ContDiffOn 𝕜 m (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
B :
  ContDiffOn 𝕜 m ((↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) ∘ Prod.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
D :
  ContDiffOn 𝕜 m
    (fun x => fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) x)
    (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s)
⊢ ContDiffOn 𝕜 m
    (fun p => fderivWithin 𝕜 (↑I' ∘ f ∘ ↑(ModelWithCorners.symm I)) (↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I) p.fst)
    ((range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' s) ×ˢ univ)
[PROOFSTEP]
exact D.comp contDiff_fst.contDiffOn (prod_subset_preimage_fst _ _)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
have one_le_n : 1 ≤ n := (le_add_left le_rfl).trans hmn
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s)
[PROOFSTEP]
refine' contMDiffOn_of_locally_contMDiffOn fun p hp => _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hp : p ∈ TotalSpace.proj ⁻¹' s
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
have hf' := contMDiffOn_iff.1 hf
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hp : p ∈ TotalSpace.proj ⁻¹' s
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
simp only [mfld_simps] at hp
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let l := chartAt H p.proj
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
set Dl := chartAt (ModelProd H E) p with hDl
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let r := chartAt H' (f p.proj)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let Dr := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let il := chartAt (ModelProd H E) (tangentMap I I l p)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let ir := chartAt (ModelProd H' E') (tangentMap I I' (r ∘ f) p)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let s' := f ⁻¹' r.source ∩ s ∩ l.source
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let s'_lift := π E(TangentSpace I) ⁻¹' s'
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let s'l := l.target ∩ l.symm ⁻¹' s'
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
let s'l_lift := π E(TangentSpace I) ⁻¹' s'l
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
rcases continuousOn_iff'.1 hf'.1 r.source r.open_source with ⟨o, o_open, ho⟩
[GOAL]
case intro.intro
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
suffices h : ContMDiffOn I.tangent I'.tangent m (tangentMapWithin I I' f s) s'_lift
[GOAL]
case intro.intro
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ ∃ u,
    IsOpen u ∧
      p ∈ u ∧
        ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
          (TotalSpace.proj ⁻¹' s ∩ u)
[PROOFSTEP]
refine' ⟨π E(TangentSpace I) ⁻¹' (o ∩ l.source), _, _, _⟩
[GOAL]
case intro.intro.refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ IsOpen (TotalSpace.proj ⁻¹' (o ∩ l.source))
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ p ∈ TotalSpace.proj ⁻¹' (o ∩ l.source)
case intro.intro.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source))
[PROOFSTEP]
show IsOpen (π E(TangentSpace I) ⁻¹' (o ∩ l.source))
[GOAL]
case intro.intro.refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ IsOpen (TotalSpace.proj ⁻¹' (o ∩ l.source))
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ p ∈ TotalSpace.proj ⁻¹' (o ∩ l.source)
case intro.intro.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source))
[PROOFSTEP]
exact (IsOpen.inter o_open l.open_source).preimage (FiberBundle.continuous_proj E _)
[GOAL]
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ p ∈ TotalSpace.proj ⁻¹' (o ∩ l.source)
case intro.intro.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source))
[PROOFSTEP]
show p ∈ π E(TangentSpace I) ⁻¹' (o ∩ l.source)
[GOAL]
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ p ∈ TotalSpace.proj ⁻¹' (o ∩ l.source)
[PROOFSTEP]
simp
[GOAL]
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ p.proj ∈ o
[PROOFSTEP]
have : p.proj ∈ f ⁻¹' r.source ∩ s := by simp [hp]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ p.proj ∈ f ⁻¹' r.source ∩ s
[PROOFSTEP]
simp [hp]
[GOAL]
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
this : p.proj ∈ f ⁻¹' r.source ∩ s
⊢ p.proj ∈ o
[PROOFSTEP]
rw [ho] at this
[GOAL]
case intro.intro.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
this : p.proj ∈ o ∩ s
⊢ p.proj ∈ o
[PROOFSTEP]
exact this.1
[GOAL]
case intro.intro.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source))
[PROOFSTEP]
have : π E(TangentSpace I) ⁻¹' s ∩ π E(TangentSpace I) ⁻¹' (o ∩ l.source) = s'_lift := by dsimp only; rw [ho];
  mfld_set_tac
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source) = s'_lift
[PROOFSTEP]
dsimp only
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ (chartAt H p.proj).toLocalEquiv.source) =
    TotalSpace.proj ⁻¹' (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source)
[PROOFSTEP]
rw [ho]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
⊢ TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ (chartAt H p.proj).toLocalEquiv.source) =
    TotalSpace.proj ⁻¹' (o ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source)
[PROOFSTEP]
mfld_set_tac
[GOAL]
case intro.intro.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
this : TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source) = s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s)
    (TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source))
[PROOFSTEP]
rw [this]
[GOAL]
case intro.intro.refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
h : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
this : TotalSpace.proj ⁻¹' s ∩ TotalSpace.proj ⁻¹' (o ∩ l.source) = s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
exact h
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have U' : UniqueMDiffOn I s' := by
  apply UniqueMDiffOn.inter _ l.open_source
  rw [ho, inter_comm]
  exact hs.inter o_open
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
⊢ UniqueMDiffOn I s'
[PROOFSTEP]
apply UniqueMDiffOn.inter _ l.open_source
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
⊢ UniqueMDiffOn I (f ⁻¹' r.source ∩ s)
[PROOFSTEP]
rw [ho, inter_comm]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
⊢ UniqueMDiffOn I (s ∩ o)
[PROOFSTEP]
exact hs.inter o_open
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have U'l : UniqueMDiffOn I s'l := U'.uniqueMDiffOn_preimage (mdifferentiable_chart _ _)
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_f : ContMDiffOn I I' n f s' := hf.mono (by mfld_set_tac)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
⊢ s' ⊆ s
[PROOFSTEP]
mfld_set_tac
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_r : ContMDiffOn I' I' n r r.source := contMDiffOn_chart
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_rf : ContMDiffOn I I' n (r ∘ f) s' :=
  by
  refine ContMDiffOn.comp diff_r diff_f fun x hx => ?_
  simp only [mfld_simps] at hx ; simp only [hx, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
⊢ ContMDiffOn I I' n (↑r ∘ f) s'
[PROOFSTEP]
refine ContMDiffOn.comp diff_r diff_f fun x hx => ?_
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
x : M
hx : x ∈ s'
⊢ x ∈ f ⁻¹' r.source
[PROOFSTEP]
simp only [mfld_simps] at hx
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
x : M
hx : (f x ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ x ∈ s) ∧ x ∈ (chartAt H p.proj).toLocalEquiv.source
⊢ x ∈ f ⁻¹' r.source
[PROOFSTEP]
simp only [hx, mfld_simps]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_l : ContMDiffOn I I n l.symm s'l :=
  haveI A : ContMDiffOn I I n l.symm l.target := contMDiffOn_chart_symm
  A.mono (by mfld_set_tac)
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
A : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) l.target
⊢ s'l ⊆ l.target
[PROOFSTEP]
mfld_set_tac
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_rfl : ContMDiffOn I I' n (r ∘ f ∘ l.symm) s'l :=
  by
  apply ContMDiffOn.comp diff_rf diff_l
  mfld_set_tac
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
⊢ ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
[PROOFSTEP]
apply ContMDiffOn.comp diff_rf diff_l
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
⊢ s'l ⊆ ↑(LocalHomeomorph.symm l) ⁻¹' s'
[PROOFSTEP]
mfld_set_tac
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_rfl_lift : ContMDiffOn I.tangent I'.tangent m (tangentMapWithin I I' (r ∘ f ∘ l.symm) s'l) s'l_lift :=
  diff_rfl.contMDiffOn_tangentMapWithin_aux hmn U'l
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_irrfl_lift : ContMDiffOn I.tangent I'.tangent m (ir ∘ tangentMapWithin I I' (r ∘ f ∘ l.symm) s'l) s'l_lift :=
  haveI A : ContMDiffOn I'.tangent I'.tangent m ir ir.source := contMDiffOn_chart
  ContMDiffOn.comp A diff_rfl_lift fun p _ => by simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I') (ModelWithCorners.tangent I') m (↑ir) ir.source
p : TangentBundle I H
x✝ : p ∈ s'l_lift
⊢ p ∈ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ⁻¹' ir.source
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_Drirrfl_lift :
  ContMDiffOn I.tangent I'.tangent m (Dr.symm ∘ ir ∘ tangentMapWithin I I' (r ∘ f ∘ l.symm) s'l) s'l_lift :=
  by
  have A : ContMDiffOn I'.tangent I'.tangent m Dr.symm Dr.target := contMDiffOn_chart_symm
  refine ContMDiffOn.comp A diff_irrfl_lift fun p hp => ?_
  simp only [mfld_simps] at hp
  rw [mem_preimage, TangentBundle.mem_chart_target_iff]
  simp only [hp, mfld_simps]
    -- conclusion of this step: the composition of all the maps above is smooth
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
[PROOFSTEP]
have A : ContMDiffOn I'.tangent I'.tangent m Dr.symm Dr.target := contMDiffOn_chart_symm
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I') (ModelWithCorners.tangent I') m (↑(LocalHomeomorph.symm Dr)) Dr.target
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
[PROOFSTEP]
refine ContMDiffOn.comp A diff_irrfl_lift fun p hp => ?_
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I') (ModelWithCorners.tangent I') m (↑(LocalHomeomorph.symm Dr)) Dr.target
p : TangentBundle I H
hp : p ∈ s'l_lift
⊢ p ∈ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ⁻¹' Dr.target
[PROOFSTEP]
simp only [mfld_simps] at hp
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I') (ModelWithCorners.tangent I') m (↑(LocalHomeomorph.symm Dr)) Dr.target
p : TangentBundle I H
hp :
  p.proj ∈ (chartAt H p✝.proj).toLocalEquiv.target ∧
    (f (↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p.proj) ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧
        ↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p.proj ∈ s) ∧
      ↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p.proj ∈ (chartAt H p✝.proj).toLocalEquiv.source
⊢ p ∈ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ⁻¹' Dr.target
[PROOFSTEP]
rw [mem_preimage, TangentBundle.mem_chart_target_iff]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I') (ModelWithCorners.tangent I') m (↑(LocalHomeomorph.symm Dr)) Dr.target
p : TangentBundle I H
hp :
  p.proj ∈ (chartAt H p✝.proj).toLocalEquiv.target ∧
    (f (↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p.proj) ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧
        ↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p.proj ∈ s) ∧
      ↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p.proj ∈ (chartAt H p✝.proj).toLocalEquiv.source
⊢ ((↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) p).fst ∈
    (chartAt H' (tangentMapWithin I I' f s p✝).proj).toLocalEquiv.target
[PROOFSTEP]
simp only [hp, mfld_simps]
  -- conclusion of this step: the composition of all the maps above is smooth
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have diff_DrirrflilDl :
  ContMDiffOn I.tangent I'.tangent m (Dr.symm ∘ (ir ∘ tangentMapWithin I I' (r ∘ f ∘ l.symm) s'l) ∘ il.symm ∘ Dl)
    s'_lift :=
  by
  have A : ContMDiffOn I.tangent I.tangent m Dl Dl.source := contMDiffOn_chart
  have A' : ContMDiffOn I.tangent I.tangent m Dl s'_lift :=
    by
    refine A.mono fun p hp => ?_
    simp only [mfld_simps] at hp
    simp only [hp, mfld_simps]
  have B : ContMDiffOn I.tangent I.tangent m il.symm il.target := contMDiffOn_chart_symm
  have C : ContMDiffOn I.tangent I.tangent m (il.symm ∘ Dl) s'_lift :=
    ContMDiffOn.comp B A' fun p _ => by simp only [mfld_simps]
  refine diff_Drirrfl_lift.comp C fun p hp => ?_
  simp only [mfld_simps] at hp
  simp only [hp, TotalSpace.proj, mfld_simps]
    /- Third step: check that the composition of all the maps indeed coincides with the derivative we
        are looking for -/
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
[PROOFSTEP]
have A : ContMDiffOn I.tangent I.tangent m Dl Dl.source := contMDiffOn_chart
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
[PROOFSTEP]
have A' : ContMDiffOn I.tangent I.tangent m Dl s'_lift :=
  by
  refine A.mono fun p hp => ?_
  simp only [mfld_simps] at hp
  simp only [hp, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
[PROOFSTEP]
refine A.mono fun p hp => ?_
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
p : TangentBundle I M
hp : p ∈ s'_lift
⊢ p ∈ Dl.source
[PROOFSTEP]
simp only [mfld_simps] at hp
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
p : TangentBundle I M
hp :
  (f p.proj ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧ p.proj ∈ s) ∧
    p.proj ∈ (chartAt H p✝.proj).toLocalEquiv.source
⊢ p ∈ Dl.source
[PROOFSTEP]
simp only [hp, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
A' : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
[PROOFSTEP]
have B : ContMDiffOn I.tangent I.tangent m il.symm il.target := contMDiffOn_chart_symm
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
A' : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
B : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il)) il.target
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
[PROOFSTEP]
have C : ContMDiffOn I.tangent I.tangent m (il.symm ∘ Dl) s'_lift :=
  ContMDiffOn.comp B A' fun p _ => by simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
A' : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
B : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il)) il.target
p : TangentBundle I M
x✝ : p ∈ s'_lift
⊢ p ∈ ↑Dl ⁻¹' il.target
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
A' : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
B : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il)) il.target
C : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il) ∘ ↑Dl) s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
[PROOFSTEP]
refine diff_Drirrfl_lift.comp C fun p hp => ?_
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
A' : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
B : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il)) il.target
C : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il) ∘ ↑Dl) s'_lift
p : TangentBundle I M
hp : p ∈ s'_lift
⊢ p ∈ (fun x => (↑(LocalHomeomorph.symm il) ∘ ↑Dl) x) ⁻¹' s'l_lift
[PROOFSTEP]
simp only [mfld_simps] at hp
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
A : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) Dl.source
A' : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑Dl) s'_lift
B : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il)) il.target
C : ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I) m (↑(LocalHomeomorph.symm il) ∘ ↑Dl) s'_lift
p : TangentBundle I M
hp :
  (f p.proj ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧ p.proj ∈ s) ∧
    p.proj ∈ (chartAt H p✝.proj).toLocalEquiv.source
⊢ p ∈ (fun x => (↑(LocalHomeomorph.symm il) ∘ ↑Dl) x) ⁻¹' s'l_lift
[PROOFSTEP]
simp only [hp, TotalSpace.proj, mfld_simps]
  /- Third step: check that the composition of all the maps indeed coincides with the derivative we
      are looking for -/
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
have eq_comp :
  ∀ q ∈ s'_lift,
    tangentMapWithin I I' f s q = (Dr.symm ∘ ir ∘ tangentMapWithin I I' (r ∘ f ∘ l.symm) s'l ∘ il.symm ∘ Dl) q :=
  by
  intro q hq
  simp only [mfld_simps] at hq
  have U'q : UniqueMDiffWithinAt I s' q.1 := by apply U'; simp only [hq, mfld_simps]
  have U'lq : UniqueMDiffWithinAt I s'l (Dl q).1 := by apply U'l; simp only [hq, mfld_simps]
  have A :
    tangentMapWithin I I' ((r ∘ f) ∘ l.symm) s'l (il.symm (Dl q)) =
      tangentMapWithin I I' (r ∘ f) s' (tangentMapWithin I I l.symm s'l (il.symm (Dl q))) :=
    by
    refine' tangentMapWithin_comp_at (il.symm (Dl q)) _ _ (fun p hp => _) U'lq
    · apply diff_rf.mdifferentiableOn one_le_n
      simp only [hq, mfld_simps]
    · apply diff_l.mdifferentiableOn one_le_n
      simp only [hq, mfld_simps]
    · simp only [mfld_simps] at hp ; simp only [hp, mfld_simps]
  have B : tangentMapWithin I I l.symm s'l (il.symm (Dl q)) = q :=
    by
    have : tangentMapWithin I I l.symm s'l (il.symm (Dl q)) = tangentMap I I l.symm (il.symm (Dl q))
    · refine'
        tangentMapWithin_eq_tangentMap U'lq
          _
            -- Porting note: the arguments below were underscores.
      refine' mdifferentiableAt_atlas_symm I (chart_mem_atlas H (TotalSpace.proj p)) _
      simp only [hq, mfld_simps]
    rw [this, tangentMap_chart_symm, hDl]
    · simp only [hq, mfld_simps]
      have : q ∈ (chartAt (ModelProd H E) p).source := by simp only [hq, mfld_simps]
      exact (chartAt (ModelProd H E) p).left_inv this
    · simp only [hq, mfld_simps]
  have C : tangentMapWithin I I' (r ∘ f) s' q = tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q) :=
    by
    refine' tangentMapWithin_comp_at q _ _ (fun r hr => _) U'q
    · apply diff_r.mdifferentiableOn one_le_n
      simp only [hq, mfld_simps]
    · apply diff_f.mdifferentiableOn one_le_n
      simp only [hq, mfld_simps]
    · simp only [mfld_simps] at hr
      simp only [hr, mfld_simps]
  have D :
    Dr.symm (ir (tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q))) = tangentMapWithin I I' f s' q :=
    by
    have A :
      tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q) =
        tangentMap I' I' r (tangentMapWithin I I' f s' q) :=
      by
      apply tangentMapWithin_eq_tangentMap
      · apply IsOpen.uniqueMDiffWithinAt _ r.open_source; simp [hq]
      · exact mdifferentiableAt_atlas I' (chart_mem_atlas H' (f p.proj)) hq.1.1
    have : f p.proj = (tangentMapWithin I I' f s p).1 := rfl
    rw [A]
    dsimp
    rw [this, tangentMap_chart]
    · simp only [hq, mfld_simps]
      have : tangentMapWithin I I' f s' q ∈ (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).source := by
        simp only [hq, mfld_simps]
      exact (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).left_inv this
    · simp only [hq, mfld_simps]
  have E : tangentMapWithin I I' f s' q = tangentMapWithin I I' f s q :=
    by
    refine' tangentMapWithin_subset (by mfld_set_tac) U'q _
    apply hf.mdifferentiableOn one_le_n
    simp only [hq, mfld_simps]
  dsimp only [(· ∘ ·)] at A B C D E ⊢
  simp only [A, B, C, D, ← E]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
⊢ ∀ (q : TotalSpace E (TangentSpace I)),
    q ∈ s'_lift →
      tangentMapWithin I I' f s q =
        (↑(LocalHomeomorph.symm Dr) ∘
            ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
          q
[PROOFSTEP]
intro q hq
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq : q ∈ s'_lift
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
simp only [mfld_simps] at hq
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have U'q : UniqueMDiffWithinAt I s' q.1 := by apply U'; simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
⊢ UniqueMDiffWithinAt I s' q.proj
[PROOFSTEP]
apply U'
[GOAL]
case a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
⊢ q.proj ∈ s'
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have U'lq : UniqueMDiffWithinAt I s'l (Dl q).1 := by apply U'l; simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
⊢ UniqueMDiffWithinAt I s'l (↑Dl q).fst
[PROOFSTEP]
apply U'l
[GOAL]
case a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
⊢ (↑Dl q).fst ∈ s'l
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have A :
  tangentMapWithin I I' ((r ∘ f) ∘ l.symm) s'l (il.symm (Dl q)) =
    tangentMapWithin I I' (r ∘ f) s' (tangentMapWithin I I l.symm s'l (il.symm (Dl q))) :=
  by
  refine' tangentMapWithin_comp_at (il.symm (Dl q)) _ _ (fun p hp => _) U'lq
  · apply diff_rf.mdifferentiableOn one_le_n
    simp only [hq, mfld_simps]
  · apply diff_l.mdifferentiableOn one_le_n
    simp only [hq, mfld_simps]
  · simp only [mfld_simps] at hp ; simp only [hp, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
⊢ tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
[PROOFSTEP]
refine' tangentMapWithin_comp_at (il.symm (Dl q)) _ _ (fun p hp => _) U'lq
[GOAL]
case refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
⊢ MDifferentiableWithinAt I I' (↑r ∘ f) s' (↑(LocalHomeomorph.symm l) (↑(LocalHomeomorph.symm il) (↑Dl q)).proj)
[PROOFSTEP]
apply diff_rf.mdifferentiableOn one_le_n
[GOAL]
case refine'_1.a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
⊢ ↑(LocalHomeomorph.symm l) (↑(LocalHomeomorph.symm il) (↑Dl q)).proj ∈ s'
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
case refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
⊢ MDifferentiableWithinAt I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)).proj
[PROOFSTEP]
apply diff_l.mdifferentiableOn one_le_n
[GOAL]
case refine'_2.a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
⊢ (↑(LocalHomeomorph.symm il) (↑Dl q)).proj ∈ s'l
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
case refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p✝.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
p : H
hp : p ∈ s'l
⊢ p ∈ ↑(LocalHomeomorph.symm l) ⁻¹' s'
[PROOFSTEP]
simp only [mfld_simps] at hp
[GOAL]
case refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p✝ : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp✝ : p✝.proj ∈ s
l : LocalHomeomorph M H := chartAt H p✝.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p✝
hDl : Dl = chartAt (ModelProd H E) p✝
r : LocalHomeomorph M' H' := chartAt H' (f p✝.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p✝)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p✝)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p✝)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p✝.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
p : H
hp :
  p ∈ (chartAt H p✝.proj).toLocalEquiv.target ∧
    (f (↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p) ∈ (chartAt H' (f p✝.proj)).toLocalEquiv.source ∧
        ↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p ∈ s) ∧
      ↑(LocalHomeomorph.symm (chartAt H p✝.proj)) p ∈ (chartAt H p✝.proj).toLocalEquiv.source
⊢ p ∈ ↑(LocalHomeomorph.symm l) ⁻¹' s'
[PROOFSTEP]
simp only [hp, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have B : tangentMapWithin I I l.symm s'l (il.symm (Dl q)) = q :=
  by
  have : tangentMapWithin I I l.symm s'l (il.symm (Dl q)) = tangentMap I I l.symm (il.symm (Dl q))
  · refine'
      tangentMapWithin_eq_tangentMap U'lq
        _
          -- Porting note: the arguments below were underscores.
    refine' mdifferentiableAt_atlas_symm I (chart_mem_atlas H (TotalSpace.proj p)) _
    simp only [hq, mfld_simps]
  rw [this, tangentMap_chart_symm, hDl]
  · simp only [hq, mfld_simps]
    have : q ∈ (chartAt (ModelProd H E) p).source := by simp only [hq, mfld_simps]
    exact (chartAt (ModelProd H E) p).left_inv this
  · simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
⊢ tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
[PROOFSTEP]
have : tangentMapWithin I I l.symm s'l (il.symm (Dl q)) = tangentMap I I l.symm (il.symm (Dl q))
[GOAL]
case this
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
⊢ tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
[PROOFSTEP]
refine'
  tangentMapWithin_eq_tangentMap U'lq
    _
      -- Porting note: the arguments below were underscores.
[GOAL]
case this
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
⊢ MDifferentiableAt I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q)).proj
[PROOFSTEP]
refine' mdifferentiableAt_atlas_symm I (chart_mem_atlas H (TotalSpace.proj p)) _
[GOAL]
case this
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
⊢ (↑(LocalHomeomorph.symm il) (↑Dl q)).proj ∈ (chartAt H p.proj).toLocalEquiv.target
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
this :
  tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
⊢ tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
[PROOFSTEP]
rw [this, tangentMap_chart_symm, hDl]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
this :
  tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H E) p))
      (↑(TotalSpace.toProd H E) (↑(LocalHomeomorph.symm il) (↑(chartAt (ModelProd H E) p) q))) =
    q
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
this :
  tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H E) p))
      (↑(chartAt H p.proj) q.proj, (↑(chartAt (ModelProd H E) p) q).snd) =
    q
[PROOFSTEP]
have : q ∈ (chartAt (ModelProd H E) p).source := by simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
this :
  tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
⊢ q ∈ (chartAt (ModelProd H E) p).toLocalEquiv.source
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
this✝ :
  tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
this : q ∈ (chartAt (ModelProd H E) p).toLocalEquiv.source
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H E) p))
      (↑(chartAt H p.proj) q.proj, (↑(chartAt (ModelProd H E) p) q).snd) =
    q
[PROOFSTEP]
exact (chartAt (ModelProd H E) p).left_inv this
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
this :
  tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMap I I (↑(LocalHomeomorph.symm l)) (↑(LocalHomeomorph.symm il) (↑Dl q))
⊢ (↑(LocalHomeomorph.symm il) (↑Dl q)).proj ∈ (chartAt H p.proj).toLocalEquiv.target
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have C : tangentMapWithin I I' (r ∘ f) s' q = tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q) :=
  by
  refine' tangentMapWithin_comp_at q _ _ (fun r hr => _) U'q
  · apply diff_r.mdifferentiableOn one_le_n
    simp only [hq, mfld_simps]
  · apply diff_f.mdifferentiableOn one_le_n
    simp only [hq, mfld_simps]
  · simp only [mfld_simps] at hr
    simp only [hr, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
⊢ tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
[PROOFSTEP]
refine' tangentMapWithin_comp_at q _ _ (fun r hr => _) U'q
[GOAL]
case refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
⊢ MDifferentiableWithinAt I' I' (↑r) r.source (f q.proj)
[PROOFSTEP]
apply diff_r.mdifferentiableOn one_le_n
[GOAL]
case refine'_1.a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
⊢ f q.proj ∈ r.source
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
case refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
⊢ MDifferentiableWithinAt I I' f s' q.proj
[PROOFSTEP]
apply diff_f.mdifferentiableOn one_le_n
[GOAL]
case refine'_2.a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
⊢ q.proj ∈ s'
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
case refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r✝ : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r✝ ∘ f) p)
s' : Set M := f ⁻¹' r✝.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r✝.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r✝) r✝.source
diff_rf : ContMDiffOn I I' n (↑r✝ ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r✝ ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r✝ ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
r : M
hr : r ∈ s'
⊢ r ∈ f ⁻¹' r✝.source
[PROOFSTEP]
simp only [mfld_simps] at hr
[GOAL]
case refine'_3
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r✝ : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r✝ ∘ f) p)
s' : Set M := f ⁻¹' r✝.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r✝.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r✝) r✝.source
diff_rf : ContMDiffOn I I' n (↑r✝ ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r✝ ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r✝ ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r✝ ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
r : M
hr : (f r ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ r ∈ s) ∧ r ∈ (chartAt H p.proj).toLocalEquiv.source
⊢ r ∈ f ⁻¹' r✝.source
[PROOFSTEP]
simp only [hr, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have D :
  Dr.symm (ir (tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q))) = tangentMapWithin I I' f s' q :=
  by
  have A :
    tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q) =
      tangentMap I' I' r (tangentMapWithin I I' f s' q) :=
    by
    apply tangentMapWithin_eq_tangentMap
    · apply IsOpen.uniqueMDiffWithinAt _ r.open_source; simp [hq]
    · exact mdifferentiableAt_atlas I' (chart_mem_atlas H' (f p.proj)) hq.1.1
  have : f p.proj = (tangentMapWithin I I' f s p).1 := rfl
  rw [A]
  dsimp
  rw [this, tangentMap_chart]
  · simp only [hq, mfld_simps]
    have : tangentMapWithin I I' f s' q ∈ (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).source := by
      simp only [hq, mfld_simps]
    exact (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).left_inv this
  · simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
⊢ ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
[PROOFSTEP]
have A :
  tangentMapWithin I' I' r r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' r (tangentMapWithin I I' f s' q) :=
  by
  apply tangentMapWithin_eq_tangentMap
  · apply IsOpen.uniqueMDiffWithinAt _ r.open_source; simp [hq]
  · exact mdifferentiableAt_atlas I' (chart_mem_atlas H' (f p.proj)) hq.1.1
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
⊢ tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
[PROOFSTEP]
apply tangentMapWithin_eq_tangentMap
[GOAL]
case hs
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
⊢ UniqueMDiffWithinAt I' r.source (tangentMapWithin I I' f s' q).proj
[PROOFSTEP]
apply IsOpen.uniqueMDiffWithinAt _ r.open_source
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
⊢ (tangentMapWithin I I' f s' q).proj ∈ r.source
[PROOFSTEP]
simp [hq]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
⊢ MDifferentiableAt I' I' (↑r) (tangentMapWithin I I' f s' q).proj
[PROOFSTEP]
exact mdifferentiableAt_atlas I' (chart_mem_atlas H' (f p.proj)) hq.1.1
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
⊢ ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
[PROOFSTEP]
have : f p.proj = (tangentMapWithin I I' f s p).1 := rfl
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
[PROOFSTEP]
rw [A]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q))) = tangentMapWithin I I' f s' q
[PROOFSTEP]
dsimp
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)))
      (↑(chartAt (ModelProd H' E') (tangentMap I I' (↑(chartAt H' (f p.proj)) ∘ f) p))
        (tangentMap I' I' (↑(chartAt H' (f p.proj)))
          (tangentMapWithin I I' f
            (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q))) =
    tangentMapWithin I I' f
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q
[PROOFSTEP]
rw [this, tangentMap_chart]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)))
      (↑(chartAt (ModelProd H' E') (tangentMap I I' (↑(chartAt H' (tangentMapWithin I I' f s p).proj) ∘ f) p))
        (↑(TotalSpace.toProd H' E').symm
          (↑(chartAt (ModelProd H' E') (tangentMapWithin I I' f s p))
            (tangentMapWithin I I' f
              (f ⁻¹' (chartAt H' (tangentMapWithin I I' f s p).proj).toLocalEquiv.source ∩ s ∩
                (chartAt H p.proj).toLocalEquiv.source)
              q)))) =
    tangentMapWithin I I' f
      (f ⁻¹' (chartAt H' (tangentMapWithin I I' f s p).proj).toLocalEquiv.source ∩ s ∩
        (chartAt H p.proj).toLocalEquiv.source)
      q
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)))
      (↑(chartAt H' (f p.proj)) (f q.proj),
        (↑(chartAt (ModelProd H' E') (tangentMapWithin I I' f s p))
            (tangentMapWithin I I' f
              (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source)
              q)).snd) =
    tangentMapWithin I I' f
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q
[PROOFSTEP]
have : tangentMapWithin I I' f s' q ∈ (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).source := by
  simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ tangentMapWithin I I' f s' q ∈ (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).toLocalEquiv.source
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this✝ : f p.proj = (tangentMapWithin I I' f s p).proj
this : tangentMapWithin I I' f s' q ∈ (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).toLocalEquiv.source
⊢ ↑(LocalHomeomorph.symm (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)))
      (↑(chartAt H' (f p.proj)) (f q.proj),
        (↑(chartAt (ModelProd H' E') (tangentMapWithin I I' f s p))
            (tangentMapWithin I I' f
              (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source)
              q)).snd) =
    tangentMapWithin I I' f
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q
[PROOFSTEP]
exact (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)).left_inv this
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A✝ :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
A :
  tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q) =
    tangentMap I' I' (↑r) (tangentMapWithin I I' f s' q)
this : f p.proj = (tangentMapWithin I I' f s p).proj
⊢ (tangentMapWithin I I' f
        (f ⁻¹' (chartAt H' (tangentMapWithin I I' f s p).proj).toLocalEquiv.source ∩ s ∩
          (chartAt H p.proj).toLocalEquiv.source)
        q).proj ∈
    (chartAt H' (tangentMapWithin I I' f s p).proj).toLocalEquiv.source
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
D :
  ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
have E : tangentMapWithin I I' f s' q = tangentMapWithin I I' f s q :=
  by
  refine' tangentMapWithin_subset (by mfld_set_tac) U'q _
  apply hf.mdifferentiableOn one_le_n
  simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
D :
  ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
⊢ tangentMapWithin I I' f s' q = tangentMapWithin I I' f s q
[PROOFSTEP]
refine' tangentMapWithin_subset (by mfld_set_tac) U'q _
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
D :
  ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
⊢ s' ⊆ s
[PROOFSTEP]
mfld_set_tac
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
D :
  ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
⊢ MDifferentiableWithinAt I I' f s q.proj
[PROOFSTEP]
apply hf.mdifferentiableOn one_le_n
[GOAL]
case a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
D :
  ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
⊢ q.proj ∈ s
[PROOFSTEP]
simp only [hq, mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E✝ : Type u_2
inst✝²³ : NormedAddCommGroup E✝
inst✝²² : NormedSpace 𝕜 E✝
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E✝ H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E✝) := chartAt (ModelProd H E✝) p
hDl : Dl = chartAt (ModelProd H E✝) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E✝) := chartAt (ModelProd H E✝) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E✝ (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E✝ (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E✝ (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' ((↑r ∘ f) ∘ ↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) =
    tangentMapWithin I I' (↑r ∘ f) s'
      (tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)))
B : tangentMapWithin I I (↑(LocalHomeomorph.symm l)) s'l (↑(LocalHomeomorph.symm il) (↑Dl q)) = q
C : tangentMapWithin I I' (↑r ∘ f) s' q = tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q)
D :
  ↑(LocalHomeomorph.symm Dr) (↑ir (tangentMapWithin I' I' (↑r) r.source (tangentMapWithin I I' f s' q))) =
    tangentMapWithin I I' f s' q
E : tangentMapWithin I I' f s' q = tangentMapWithin I I' f s q
⊢ tangentMapWithin I I' f s q =
    (↑(LocalHomeomorph.symm Dr) ∘
        ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
      q
[PROOFSTEP]
dsimp only [(· ∘ ·)] at A B C D E ⊢
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E✝ : Type u_2
inst✝²³ : NormedAddCommGroup E✝
inst✝²² : NormedSpace 𝕜 E✝
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E✝ H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E✝) := chartAt (ModelProd H E✝) p
hDl : Dl = chartAt (ModelProd H E✝) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E✝) := chartAt (ModelProd H E✝) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E✝ (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E✝ (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
q : TotalSpace E✝ (TangentSpace I)
hq :
  (f q.proj ∈ (chartAt H' (f p.proj)).toLocalEquiv.source ∧ q.proj ∈ s) ∧
    q.proj ∈ (chartAt H p.proj).toLocalEquiv.source
U'q : UniqueMDiffWithinAt I s' q.proj
U'lq : UniqueMDiffWithinAt I s'l (↑Dl q).fst
A :
  tangentMapWithin I I' (fun x => ↑(chartAt H' (f p.proj)) (f (↑(LocalHomeomorph.symm (chartAt H p.proj)) x)))
      ((chartAt H p.proj).toLocalEquiv.target ∩
        ↑(LocalHomeomorph.symm (chartAt H p.proj)) ⁻¹'
          (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source))
      (↑(LocalHomeomorph.symm (chartAt (ModelProd H E✝) (tangentMap I I (↑(chartAt H p.proj)) p)))
        (↑(chartAt (ModelProd H E✝) p) q)) =
    tangentMapWithin I I' (fun x => ↑(chartAt H' (f p.proj)) (f x))
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source)
      (tangentMapWithin I I (↑(LocalHomeomorph.symm (chartAt H p.proj)))
        ((chartAt H p.proj).toLocalEquiv.target ∩
          ↑(LocalHomeomorph.symm (chartAt H p.proj)) ⁻¹'
            (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source))
        (↑(LocalHomeomorph.symm (chartAt (ModelProd H E✝) (tangentMap I I (↑(chartAt H p.proj)) p)))
          (↑(chartAt (ModelProd H E✝) p) q)))
B :
  tangentMapWithin I I (↑(LocalHomeomorph.symm (chartAt H p.proj)))
      ((chartAt H p.proj).toLocalEquiv.target ∩
        ↑(LocalHomeomorph.symm (chartAt H p.proj)) ⁻¹'
          (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source))
      (↑(LocalHomeomorph.symm (chartAt (ModelProd H E✝) (tangentMap I I (↑(chartAt H p.proj)) p)))
        (↑(chartAt (ModelProd H E✝) p) q)) =
    q
C :
  tangentMapWithin I I' (fun x => ↑(chartAt H' (f p.proj)) (f x))
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q =
    tangentMapWithin I' I' (↑(chartAt H' (f p.proj))) (chartAt H' (f p.proj)).toLocalEquiv.source
      (tangentMapWithin I I' f
        (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q)
D :
  ↑(LocalHomeomorph.symm (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)))
      (↑(chartAt (ModelProd H' E') (tangentMap I I' (fun x => ↑(chartAt H' (f p.proj)) (f x)) p))
        (tangentMapWithin I' I' (↑(chartAt H' (f p.proj))) (chartAt H' (f p.proj)).toLocalEquiv.source
          (tangentMapWithin I I' f
            (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q))) =
    tangentMapWithin I I' f
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q
E :
  tangentMapWithin I I' f
      (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source) q =
    tangentMapWithin I I' f s q
⊢ tangentMapWithin I I' f s q =
    ↑(LocalHomeomorph.symm (chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)))
      (↑(chartAt (ModelProd H' E') (tangentMap I I' (fun x => ↑(chartAt H' (f p.proj)) (f x)) p))
        (tangentMapWithin I I' (fun x => ↑(chartAt H' (f p.proj)) (f (↑(LocalHomeomorph.symm (chartAt H p.proj)) x)))
          ((chartAt H p.proj).toLocalEquiv.target ∩
            ↑(LocalHomeomorph.symm (chartAt H p.proj)) ⁻¹'
              (f ⁻¹' (chartAt H' (f p.proj)).toLocalEquiv.source ∩ s ∩ (chartAt H p.proj).toLocalEquiv.source))
          (↑(LocalHomeomorph.symm (chartAt (ModelProd H E✝) (tangentMap I I (↑(chartAt H p.proj)) p)))
            (↑(chartAt (ModelProd H E✝) p) q))))
[PROOFSTEP]
simp only [A, B, C, D, ← E]
[GOAL]
case h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f s
hmn : m + 1 ≤ n
hs : UniqueMDiffOn I s
one_le_n : 1 ≤ n
p : TangentBundle I M
hf' :
  ContinuousOn f s ∧
    ∀ (x : M) (y : M'),
      ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(LocalEquiv.symm (extChartAt I x)))
        ((extChartAt I x).target ∩ ↑(LocalEquiv.symm (extChartAt I x)) ⁻¹' (s ∩ f ⁻¹' (extChartAt I' y).source))
hp : p.proj ∈ s
l : LocalHomeomorph M H := chartAt H p.proj
Dl : LocalHomeomorph (TangentBundle I M) (ModelProd H E) := chartAt (ModelProd H E) p
hDl : Dl = chartAt (ModelProd H E) p
r : LocalHomeomorph M' H' := chartAt H' (f p.proj)
Dr : LocalHomeomorph (TangentBundle I' M') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMapWithin I I' f s p)
il : LocalHomeomorph (TangentBundle I H) (ModelProd H E) := chartAt (ModelProd H E) (tangentMap I I (↑l) p)
ir : LocalHomeomorph (TangentBundle I' H') (ModelProd H' E') := chartAt (ModelProd H' E') (tangentMap I I' (↑r ∘ f) p)
s' : Set M := f ⁻¹' r.source ∩ s ∩ l.source
s'_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'
s'l : Set H := l.target ∩ ↑(LocalHomeomorph.symm l) ⁻¹' s'
s'l_lift : Set (TotalSpace E (TangentSpace I)) := TotalSpace.proj ⁻¹' s'l
o : Set M
o_open : IsOpen o
ho : f ⁻¹' r.source ∩ s = o ∩ s
U' : UniqueMDiffOn I s'
U'l : UniqueMDiffOn I s'l
diff_f : ContMDiffOn I I' n f s'
diff_r : ContMDiffOn I' I' n (↑r) r.source
diff_rf : ContMDiffOn I I' n (↑r ∘ f) s'
diff_l : ContMDiffOn I I n (↑(LocalHomeomorph.symm l)) s'l
diff_rfl : ContMDiffOn I I' n (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l
diff_rfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_irrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_Drirrfl_lift :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘ ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) s'l_lift
diff_DrirrflilDl :
  ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m
    (↑(LocalHomeomorph.symm Dr) ∘
      (↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l) ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
    s'_lift
eq_comp :
  ∀ (q : TotalSpace E (TangentSpace I)),
    q ∈ s'_lift →
      tangentMapWithin I I' f s q =
        (↑(LocalHomeomorph.symm Dr) ∘
            ↑ir ∘ tangentMapWithin I I' (↑r ∘ f ∘ ↑(LocalHomeomorph.symm l)) s'l ∘ ↑(LocalHomeomorph.symm il) ∘ ↑Dl)
          q
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMapWithin I I' f s) s'_lift
[PROOFSTEP]
exact diff_DrirrflilDl.congr eq_comp
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiff I I' n f
hmn : m + 1 ≤ n
⊢ ContMDiff (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMap I I' f)
[PROOFSTEP]
rw [← contMDiffOn_univ] at hf ⊢
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f univ
hmn : m + 1 ≤ n
⊢ ContMDiffOn (ModelWithCorners.tangent I) (ModelWithCorners.tangent I') m (tangentMap I I' f) univ
[PROOFSTEP]
convert hf.contMDiffOn_tangentMapWithin hmn uniqueMDiffOn_univ
[GOAL]
case h.e'_22
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f univ
hmn : m + 1 ≤ n
⊢ tangentMap I I' f = tangentMapWithin I I' f univ
[PROOFSTEP]
rw [tangentMapWithin_univ]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiff I I' n f
hmn : 1 ≤ n
⊢ Continuous (tangentMap I I' f)
[PROOFSTEP]
rw [← contMDiffOn_univ] at hf
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f univ
hmn : 1 ≤ n
⊢ Continuous (tangentMap I I' f)
[PROOFSTEP]
rw [continuous_iff_continuousOn_univ]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f univ
hmn : 1 ≤ n
⊢ ContinuousOn (tangentMap I I' f) univ
[PROOFSTEP]
convert hf.continuousOn_tangentMapWithin hmn uniqueMDiffOn_univ
[GOAL]
case h.e'_5
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
hf : ContMDiffOn I I' n f univ
hmn : 1 ≤ n
⊢ tangentMap I I' f = tangentMapWithin I I' f univ
[PROOFSTEP]
rw [tangentMapWithin_univ]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
p : TangentBundle I M
⊢ tangentMap I (ModelWithCorners.tangent I) (zeroSection E (TangentSpace I)) p =
    { proj := { proj := p.proj, snd := 0 }, snd := (p.snd, 0) }
[PROOFSTEP]
rcases p with ⟨x, v⟩
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
⊢ tangentMap I (ModelWithCorners.tangent I) (zeroSection E (TangentSpace I)) { proj := x, snd := v } =
    { proj := { proj := { proj := x, snd := v }.proj, snd := 0 }, snd := ({ proj := x, snd := v }.snd, 0) }
[PROOFSTEP]
have N : I.symm ⁻¹' (chartAt H x).target ∈ 𝓝 (I ((chartAt H x) x)) :=
  by
  apply IsOpen.mem_nhds
  apply (LocalHomeomorph.open_target _).preimage I.continuous_invFun
  simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
⊢ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
[PROOFSTEP]
apply IsOpen.mem_nhds
[GOAL]
case hs
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
⊢ IsOpen (↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
case ha
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
⊢ ↑I (↑(chartAt H x) x) ∈ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target
[PROOFSTEP]
apply (LocalHomeomorph.open_target _).preimage I.continuous_invFun
[GOAL]
case ha
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace G N
Js : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
⊢ ↑I (↑(chartAt H x) x) ∈ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
⊢ tangentMap I (ModelWithCorners.tangent I) (zeroSection E (TangentSpace I)) { proj := x, snd := v } =
    { proj := { proj := { proj := x, snd := v }.proj, snd := 0 }, snd := ({ proj := x, snd := v }.snd, 0) }
[PROOFSTEP]
have A : MDifferentiableAt I I.tangent (fun x => @TotalSpace.mk M E (TangentSpace I) x 0) x :=
  haveI : Smooth I (I.prod 𝓘(𝕜, E)) (zeroSection E (TangentSpace I : M → Type _)) :=
    Bundle.smooth_zeroSection 𝕜 (TangentSpace I : M → Type _)
  this.mdifferentiableAt
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ tangentMap I (ModelWithCorners.tangent I) (zeroSection E (TangentSpace I)) { proj := x, snd := v } =
    { proj := { proj := { proj := x, snd := v }.proj, snd := 0 }, snd := ({ proj := x, snd := v }.snd, 0) }
[PROOFSTEP]
have B : fderivWithin 𝕜 (fun x' : E => (x', (0 : E))) (Set.range I) (I ((chartAt H x) x)) v = (v, 0)
[GOAL]
case B
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I) (↑I (↑(chartAt H x) x))) v = (v, 0)
[PROOFSTEP]
rw [fderivWithin_eq_fderiv, DifferentiableAt.fderiv_prod]
[GOAL]
case B
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ ↑(ContinuousLinearMap.prod (fderiv 𝕜 (fun x' => x') (↑I (↑(chartAt H x) x)))
          (fderiv 𝕜 (fun x' => 0) (↑I (↑(chartAt H x) x))))
      v =
    (v, 0)
[PROOFSTEP]
simp
[GOAL]
case B.hf₁
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ DifferentiableAt 𝕜 (fun x' => x') (↑I (↑(chartAt H x) x))
[PROOFSTEP]
exact differentiableAt_id'
[GOAL]
case B.hf₂
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ DifferentiableAt 𝕜 (fun x' => 0) (↑I (↑(chartAt H x) x))
[PROOFSTEP]
exact differentiableAt_const _
[GOAL]
case B.hs
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ UniqueDiffWithinAt 𝕜 (range ↑I) (↑I (↑(chartAt H x) x))
[PROOFSTEP]
exact ModelWithCorners.unique_diff_at_image I
[GOAL]
case B.h
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
⊢ DifferentiableAt 𝕜 (fun x' => (x', 0)) (↑I (↑(chartAt H x) x))
[PROOFSTEP]
exact differentiableAt_id'.prod (differentiableAt_const _)
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B : ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I) (↑I (↑(chartAt H x) x))) v = (v, 0)
⊢ tangentMap I (ModelWithCorners.tangent I) (zeroSection E (TangentSpace I)) { proj := x, snd := v } =
    { proj := { proj := { proj := x, snd := v }.proj, snd := 0 }, snd := ({ proj := x, snd := v }.snd, 0) }
[PROOFSTEP]
simp only [Bundle.zeroSection, tangentMap, mfderiv, A, if_pos, chartAt, FiberBundle.chartedSpace_chartAt,
  TangentBundle.trivializationAt_apply, tangentBundleCore, Function.comp, ContinuousLinearMap.map_zero, mfld_simps]
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B : ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I) (↑I (↑(chartAt H x) x))) v = (v, 0)
⊢ ↑(fderivWithin 𝕜
          (fun x_1 =>
            (↑I
                (↑(ChartedSpace.chartAt x)
                  (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) x_1))),
              0))
          (range ↑I) (↑I (↑(ChartedSpace.chartAt x) x)))
      v =
    (v, 0)
[PROOFSTEP]
rw [← fderivWithin_inter N] at B
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B :
  ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v =
    (v, 0)
⊢ ↑(fderivWithin 𝕜
          (fun x_1 =>
            (↑I
                (↑(ChartedSpace.chartAt x)
                  (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) x_1))),
              0))
          (range ↑I) (↑I (↑(ChartedSpace.chartAt x) x)))
      v =
    (v, 0)
[PROOFSTEP]
rw [← fderivWithin_inter N, ← B]
[GOAL]
case mk
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B :
  ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v =
    (v, 0)
⊢ ↑(fderivWithin 𝕜
          (fun x_1 =>
            (↑I
                (↑(ChartedSpace.chartAt x)
                  (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) x_1))),
              0))
          (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target) (↑I (↑(chartAt H x) x)))
      v =
    ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v
[PROOFSTEP]
congr 1
[GOAL]
case mk.e_a
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B :
  ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v =
    (v, 0)
⊢ fderivWithin 𝕜
      (fun x_1 =>
        (↑I
            (↑(ChartedSpace.chartAt x)
              (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) x_1))),
          0))
      (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target) (↑I (↑(chartAt H x) x)) =
    fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
      (↑I (↑(chartAt H x) x))
[PROOFSTEP]
refine' fderivWithin_congr (fun y hy => _) _
[GOAL]
case mk.e_a.refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B :
  ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v =
    (v, 0)
y : E
hy : y ∈ range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target
⊢ (↑I (↑(ChartedSpace.chartAt x) (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) y))),
      0) =
    (y, 0)
[PROOFSTEP]
simp only [mfld_simps] at hy
[GOAL]
case mk.e_a.refine'_1
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B :
  ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v =
    (v, 0)
y : E
hy : y ∈ range ↑I ∧ ↑(ModelWithCorners.symm I) y ∈ (chartAt H x).toLocalEquiv.target
⊢ (↑I (↑(ChartedSpace.chartAt x) (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) y))),
      0) =
    (y, 0)
[PROOFSTEP]
simp only [hy, Prod.mk.inj_iff, mfld_simps]
[GOAL]
case mk.e_a.refine'_2
𝕜 : Type u_1
inst✝²⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²³ : NormedAddCommGroup E
inst✝²² : NormedSpace 𝕜 E
H : Type u_3
inst✝²¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁰ : TopologicalSpace M
inst✝¹⁹ : ChartedSpace H M
Is : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝¹⁶ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝¹⁵ : TopologicalSpace M'
inst✝¹⁴ : ChartedSpace H' M'
I's : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedSpace 𝕜 F
G : Type u_9
inst✝¹¹ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N✝ : Type u_10
inst✝¹⁰ : TopologicalSpace N✝
inst✝⁹ : ChartedSpace G N✝
Js : SmoothManifoldWithCorners J N✝
F' : Type u_11
inst✝⁸ : NormedAddCommGroup F'
inst✝⁷ : NormedSpace 𝕜 F'
G' : Type u_12
inst✝⁶ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace G' N'
J's : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝³ : NormedAddCommGroup F₁
inst✝² : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝¹ : NormedAddCommGroup F₂
inst✝ : NormedSpace 𝕜 F₂
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
v : TangentSpace I x
N : ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target ∈ 𝓝 (↑I (↑(chartAt H x) x))
A : MDifferentiableAt I (ModelWithCorners.tangent I) (fun x => { proj := x, snd := 0 }) x
B :
  ↑(fderivWithin 𝕜 (fun x' => (x', 0)) (range ↑I ∩ ↑(ModelWithCorners.symm I) ⁻¹' (chartAt H x).toLocalEquiv.target)
          (↑I (↑(chartAt H x) x)))
      v =
    (v, 0)
⊢ (↑I
        (↑(ChartedSpace.chartAt x)
          (↑(LocalHomeomorph.symm (ChartedSpace.chartAt x)) (↑(ModelWithCorners.symm I) (↑I (↑(chartAt H x) x))))),
      0) =
    (↑I (↑(chartAt H x) x), 0)
[PROOFSTEP]
simp only [Prod.mk.inj_iff, mfld_simps]