[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝⁶ : TopologicalSpace F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
HB : Type u_7
inst✝³ : TopologicalSpace HB
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ chartAt (ModelProd HB F) x =
    (trivializationAt F E x.proj).toLocalHomeomorph ≫ₕ LocalHomeomorph.prod (chartAt HB x.proj) (LocalHomeomorph.refl F)
[PROOFSTEP]
dsimp only [chartAt_comp, prodChartedSpace_chartAt, FiberBundle.chartedSpace'_chartAt, chartAt_self_eq]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝⁶ : TopologicalSpace F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
HB : Type u_7
inst✝³ : TopologicalSpace HB
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ (trivializationAt F E x.proj).toLocalHomeomorph ≫ₕ
      LocalHomeomorph.prod (chartAt HB (↑(trivializationAt F E x.proj).toLocalHomeomorph x).fst)
        (LocalHomeomorph.refl F) =
    (trivializationAt F E x.proj).toLocalHomeomorph ≫ₕ LocalHomeomorph.prod (chartAt HB x.proj) (LocalHomeomorph.refl F)
[PROOFSTEP]
rw [Trivialization.coe_coe, Trivialization.coe_fst' _ (mem_baseSet_trivializationAt F E x.proj)]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝⁶ : TopologicalSpace F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
HB : Type u_7
inst✝³ : TopologicalSpace HB
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
y : ModelProd HB F
hy : y ∈ (chartAt (ModelProd HB F) x).toLocalEquiv.target
⊢ (↑(LocalHomeomorph.symm (chartAt (ModelProd HB F) x)) y).proj = ↑(LocalHomeomorph.symm (chartAt HB x.proj)) y.fst
[PROOFSTEP]
simp only [FiberBundle.chartedSpace_chartAt, mfld_simps] at hy ⊢
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝⁶ : TopologicalSpace F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
HB : Type u_7
inst✝³ : TopologicalSpace HB
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
y : ModelProd HB F
hy :
  y ∈ (chartAt HB x.proj).toLocalEquiv.target ×ˢ univ ∧
    ↑(LocalEquiv.symm (LocalEquiv.prod (chartAt HB x.proj).toLocalEquiv (LocalEquiv.refl F))) y ∈
      (trivializationAt F E x.proj).toLocalHomeomorph.toLocalEquiv.target
⊢ (↑(LocalHomeomorph.symm (trivializationAt F E x.proj).toLocalHomeomorph)
        (↑(LocalHomeomorph.symm (LocalHomeomorph.prod (chartAt HB x.proj) (LocalHomeomorph.refl F))) y)).proj =
    ↑(LocalHomeomorph.symm (chartAt HB x.proj)) y.fst
[PROOFSTEP]
exact (trivializationAt F E x.proj).proj_symm_apply hy.2
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ extChartAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) x =
    (trivializationAt F E x.proj).toLocalHomeomorph.toLocalEquiv ≫
      LocalEquiv.prod (extChartAt IB x.proj) (LocalEquiv.refl F)
[PROOFSTEP]
simp_rw [extChartAt, FiberBundle.chartedSpace_chartAt, extend]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ ((trivializationAt F E x.proj).toLocalHomeomorph ≫ₕ
          LocalHomeomorph.prod (chartAt HB x.proj) (LocalHomeomorph.refl F)).toLocalEquiv ≫
      (ModelWithCorners.prod IB 𝓘(𝕜, F)).toLocalEquiv =
    (trivializationAt F E x.proj).toLocalHomeomorph.toLocalEquiv ≫
      LocalEquiv.prod ((chartAt HB x.proj).toLocalEquiv ≫ IB.toLocalEquiv) (LocalEquiv.refl F)
[PROOFSTEP]
simp only [LocalEquiv.trans_assoc, mfld_simps]
  -- porting note: should not be needed
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ (trivializationAt F E x.proj).toLocalHomeomorph.toLocalEquiv ≫
      LocalEquiv.prod (chartAt HB x.proj).toLocalEquiv (LocalEquiv.refl F) ≫
        LocalEquiv.prod IB.toLocalEquiv (LocalEquiv.refl F) =
    (trivializationAt F E x.proj).toLocalHomeomorph.toLocalEquiv ≫
      LocalEquiv.prod ((chartAt HB x.proj).toLocalEquiv ≫ IB.toLocalEquiv) (LocalEquiv.refl F)
[PROOFSTEP]
rw [LocalEquiv.prod_trans, LocalEquiv.refl_trans]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ (extChartAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) x).target =
    ((extChartAt IB x.proj).target ∩
        ↑(LocalEquiv.symm (extChartAt IB x.proj)) ⁻¹' (trivializationAt F E x.proj).baseSet) ×ˢ
      univ
[PROOFSTEP]
rw [FiberBundle.extChartAt, LocalEquiv.trans_target, Trivialization.target_eq, inter_prod]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ (LocalEquiv.prod (extChartAt IB x.proj) (LocalEquiv.refl F)).target ∩
      ↑(LocalEquiv.symm (LocalEquiv.prod (extChartAt IB x.proj) (LocalEquiv.refl F))) ⁻¹'
        (trivializationAt F E x.proj).baseSet ×ˢ univ =
    (extChartAt IB x.proj).target ×ˢ univ ∩
      (↑(LocalEquiv.symm (extChartAt IB x.proj)) ⁻¹' (trivializationAt F E x.proj).baseSet) ×ˢ univ
[PROOFSTEP]
rfl
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
⊢ ContMDiffWithinAt IM (ModelWithCorners.prod IB 𝓘(𝕜, F)) n f s x₀ ↔
    ContMDiffWithinAt IM IB n (fun x => (f x).proj) s x₀ ∧
      ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E (f x₀).proj) (f x)).snd) s x₀
[PROOFSTEP]
simp (config := { singlePass := true }) only [contMDiffWithinAt_iff_target]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
⊢ ContinuousWithinAt f s x₀ ∧
      ContMDiffWithinAt IM 𝓘(𝕜, EB × F) n (↑(extChartAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) (f x₀)) ∘ f) s x₀ ↔
    (ContinuousWithinAt (fun x => (f x).proj) s x₀ ∧
        ContMDiffWithinAt IM 𝓘(𝕜, EB) n (↑(extChartAt IB (f x₀).proj) ∘ fun x => (f x).proj) s x₀) ∧
      ContinuousWithinAt (fun x => (↑(trivializationAt F E (f x₀).proj) (f x)).snd) s x₀ ∧
        ContMDiffWithinAt IM 𝓘(𝕜, F) n
          (↑(extChartAt 𝓘(𝕜, F) (↑(trivializationAt F E (f x₀).proj) (f x₀)).snd) ∘ fun x =>
            (↑(trivializationAt F E (f x₀).proj) (f x)).snd)
          s x₀
[PROOFSTEP]
rw [and_and_and_comm, ← FiberBundle.continuousWithinAt_totalSpace, and_congr_right_iff]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
⊢ ContinuousWithinAt f s x₀ →
    (ContMDiffWithinAt IM 𝓘(𝕜, EB × F) n (↑(extChartAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) (f x₀)) ∘ f) s x₀ ↔
      ContMDiffWithinAt IM 𝓘(𝕜, EB) n (↑(extChartAt IB (f x₀).proj) ∘ fun x => (f x).proj) s x₀ ∧
        ContMDiffWithinAt IM 𝓘(𝕜, F) n
          (↑(extChartAt 𝓘(𝕜, F) (↑(trivializationAt F E (f x₀).proj) (f x₀)).snd) ∘ fun x =>
            (↑(trivializationAt F E (f x₀).proj) (f x)).snd)
          s x₀)
[PROOFSTEP]
intro hf
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
⊢ ContMDiffWithinAt IM 𝓘(𝕜, EB × F) n (↑(extChartAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) (f x₀)) ∘ f) s x₀ ↔
    ContMDiffWithinAt IM 𝓘(𝕜, EB) n (↑(extChartAt IB (f x₀).proj) ∘ fun x => (f x).proj) s x₀ ∧
      ContMDiffWithinAt IM 𝓘(𝕜, F) n
        (↑(extChartAt 𝓘(𝕜, F) (↑(trivializationAt F E (f x₀).proj) (f x₀)).snd) ∘ fun x =>
          (↑(trivializationAt F E (f x₀).proj) (f x)).snd)
        s x₀
[PROOFSTEP]
simp_rw [modelWithCornersSelf_prod, FiberBundle.extChartAt, Function.comp, LocalEquiv.trans_apply, LocalEquiv.prod_coe,
  LocalEquiv.refl_coe, extChartAt_self_apply, modelWithCornersSelf_coe, id_def]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
⊢ ContMDiffWithinAt IM (ModelWithCorners.prod 𝓘(𝕜, EB) 𝓘(𝕜, F)) n
      (fun x =>
        (↑(extChartAt IB (f x₀).proj) (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).fst,
          (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).snd))
      s x₀ ↔
    ContMDiffWithinAt IM 𝓘(𝕜, EB) n (fun x => ↑(extChartAt IB (f x₀).proj) (f x).proj) s x₀ ∧
      ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E (f x₀).proj) (f x)).snd) s x₀
[PROOFSTEP]
refine (contMDiffWithinAt_prod_iff _).trans (and_congr ?_ Iff.rfl)
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
⊢ ContMDiffWithinAt IM 𝓘(𝕜, EB) n
      (Prod.fst ∘ fun x =>
        (↑(extChartAt IB (f x₀).proj) (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).fst,
          (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).snd))
      s x₀ ↔
    ContMDiffWithinAt IM 𝓘(𝕜, EB) n (fun x => ↑(extChartAt IB (f x₀).proj) (f x).proj) s x₀
[PROOFSTEP]
have h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀ :=
  ((FiberBundle.continuous_proj F E).continuousWithinAt.comp hf (mapsTo_image f s))
    ((Trivialization.open_baseSet _).mem_nhds (mem_baseSet_trivializationAt F E _))
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀
⊢ ContMDiffWithinAt IM 𝓘(𝕜, EB) n
      (Prod.fst ∘ fun x =>
        (↑(extChartAt IB (f x₀).proj) (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).fst,
          (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).snd))
      s x₀ ↔
    ContMDiffWithinAt IM 𝓘(𝕜, EB) n (fun x => ↑(extChartAt IB (f x₀).proj) (f x).proj) s x₀
[PROOFSTEP]
refine EventuallyEq.contMDiffWithinAt_iff (eventually_of_mem h1 fun x hx => ?_) ?_
[GOAL]
case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀
x : M
hx : x ∈ (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet
⊢ (Prod.fst ∘ fun x =>
        (↑(extChartAt IB (f x₀).proj) (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).fst,
          (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).snd))
      x =
    (fun x => ↑(extChartAt IB (f x₀).proj) (f x).proj) x
[PROOFSTEP]
simp_rw [Function.comp, LocalHomeomorph.coe_coe, Trivialization.coe_coe]
[GOAL]
case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀
x : M
hx : x ∈ (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet
⊢ ↑(extChartAt IB (f x₀).proj) (↑(trivializationAt F E (f x₀).proj) (f x)).fst = ↑(extChartAt IB (f x₀).proj) (f x).proj
[PROOFSTEP]
rw [Trivialization.coe_fst']
[GOAL]
case refine_1.ex
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀
x : M
hx : x ∈ (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet
⊢ (f x).proj ∈ (trivializationAt F E (f x₀).proj).baseSet
[PROOFSTEP]
exact hx
[GOAL]
case refine_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
s : Set M
x₀ : M
hf : ContinuousWithinAt f s x₀
h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀
⊢ (Prod.fst ∘ fun x =>
        (↑(extChartAt IB (f x₀).proj) (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).fst,
          (↑(trivializationAt F E (f x₀).proj).toLocalHomeomorph.toLocalEquiv (f x)).snd))
      x₀ =
    ↑(extChartAt IB (f x₀).proj) (f x₀).proj
[PROOFSTEP]
simp only [mfld_simps]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
x₀ : M
⊢ ContMDiffAt IM (ModelWithCorners.prod IB 𝓘(𝕜, F)) n f x₀ ↔
    ContMDiffAt IM IB n (fun x => (f x).proj) x₀ ∧
      ContMDiffAt IM 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E (f x₀).proj) (f x)).snd) x₀
[PROOFSTEP]
simp_rw [← contMDiffWithinAt_univ]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
f : M → TotalSpace F E
x₀ : M
⊢ ContMDiffWithinAt IM (ModelWithCorners.prod IB 𝓘(𝕜, F)) n f univ x₀ ↔
    ContMDiffWithinAt IM IB n (fun x => (f x).proj) univ x₀ ∧
      ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E (f x₀).proj) (f x)).snd) univ x₀
[PROOFSTEP]
exact contMDiffWithinAt_totalSpace f
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
s : (x : B) → E x
x₀ : B
⊢ ContMDiffAt IB (ModelWithCorners.prod IB 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x (s x)) x₀ ↔
    ContMDiffAt IB 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E x₀) { proj := x, snd := s x }).snd) x₀
[PROOFSTEP]
simp_rw [contMDiffAt_totalSpace, and_iff_right_iff_imp]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
s : (x : B) → E x
x₀ : B
⊢ ContMDiffAt IB 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E x₀) (TotalSpace.mk' F x (s x))).snd) x₀ →
    ContMDiffAt IB IB n (fun x => x) x₀
[PROOFSTEP]
intro
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
s : (x : B) → E x
x₀ : B
a✝ : ContMDiffAt IB 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F E x₀) (TotalSpace.mk' F x (s x))).snd) x₀
⊢ ContMDiffAt IB IB n (fun x => x) x₀
[PROOFSTEP]
exact contMDiffAt_id
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
⊢ ContMDiffAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) IB n TotalSpace.proj x
[PROOFSTEP]
have : ContMDiffAt (IB.prod 𝓘(𝕜, F)) (IB.prod 𝓘(𝕜, F)) n id x := contMDiffAt_id
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
this : ContMDiffAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) n id x
⊢ ContMDiffAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) IB n TotalSpace.proj x
[PROOFSTEP]
rw [contMDiffAt_totalSpace] at this 
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
inst✝¹⁵ : NormedAddCommGroup F
inst✝¹⁴ : NormedSpace 𝕜 F
inst✝¹³ : TopologicalSpace (TotalSpace F E)
inst✝¹² : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹¹ : NormedAddCommGroup EB
inst✝¹⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝⁸ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝⁷ : NormedAddCommGroup EM
inst✝⁶ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁵ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁴ : TopologicalSpace M
inst✝³ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝² : TopologicalSpace B
inst✝¹ : ChartedSpace HB B
inst✝ : FiberBundle F E
x : TotalSpace F E
this :
  ContMDiffAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) IB n (fun x => (id x).proj) x ∧
    ContMDiffAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) 𝓘(𝕜, F) n
      (fun x_1 => (↑(trivializationAt F E (id x).proj) (id x_1)).snd) x
⊢ ContMDiffAt (ModelWithCorners.prod IB 𝓘(𝕜, F)) IB n TotalSpace.proj x
[PROOFSTEP]
exact this.1
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁹ : NontriviallyNormedField 𝕜
inst✝¹⁸ : NormedAddCommGroup F
inst✝¹⁷ : NormedSpace 𝕜 F
inst✝¹⁶ : TopologicalSpace (TotalSpace F E)
inst✝¹⁵ : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹⁴ : NormedAddCommGroup EB
inst✝¹³ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹² : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝¹¹ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝¹⁰ : NormedAddCommGroup EM
inst✝⁹ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁵ : TopologicalSpace B
inst✝⁴ : ChartedSpace HB B
inst✝³ : FiberBundle F E
inst✝² : (x : B) → AddCommMonoid (E x)
inst✝¹ : (x : B) → Module 𝕜 (E x)
inst✝ : VectorBundle 𝕜 F E
x : B
⊢ ContMDiffAt IB (ModelWithCorners.prod IB 𝓘(𝕜, F)) ⊤ (zeroSection F E) x
[PROOFSTEP]
unfold zeroSection
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁹ : NontriviallyNormedField 𝕜
inst✝¹⁸ : NormedAddCommGroup F
inst✝¹⁷ : NormedSpace 𝕜 F
inst✝¹⁶ : TopologicalSpace (TotalSpace F E)
inst✝¹⁵ : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹⁴ : NormedAddCommGroup EB
inst✝¹³ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹² : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝¹¹ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝¹⁰ : NormedAddCommGroup EM
inst✝⁹ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁵ : TopologicalSpace B
inst✝⁴ : ChartedSpace HB B
inst✝³ : FiberBundle F E
inst✝² : (x : B) → AddCommMonoid (E x)
inst✝¹ : (x : B) → Module 𝕜 (E x)
inst✝ : VectorBundle 𝕜 F E
x : B
⊢ ContMDiffAt IB (ModelWithCorners.prod IB 𝓘(𝕜, F)) ⊤ (fun x => { proj := x, snd := 0 }) x
[PROOFSTEP]
rw [Bundle.contMDiffAt_section]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁹ : NontriviallyNormedField 𝕜
inst✝¹⁸ : NormedAddCommGroup F
inst✝¹⁷ : NormedSpace 𝕜 F
inst✝¹⁶ : TopologicalSpace (TotalSpace F E)
inst✝¹⁵ : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹⁴ : NormedAddCommGroup EB
inst✝¹³ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹² : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝¹¹ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝¹⁰ : NormedAddCommGroup EM
inst✝⁹ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁵ : TopologicalSpace B
inst✝⁴ : ChartedSpace HB B
inst✝³ : FiberBundle F E
inst✝² : (x : B) → AddCommMonoid (E x)
inst✝¹ : (x : B) → Module 𝕜 (E x)
inst✝ : VectorBundle 𝕜 F E
x : B
⊢ ContMDiffAt IB 𝓘(𝕜, F) ⊤ (fun x_1 => (↑(trivializationAt F E x) { proj := x_1, snd := 0 }).snd) x
[PROOFSTEP]
apply (contMDiffAt_const (c := 0)).congr_of_eventuallyEq
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁹ : NontriviallyNormedField 𝕜
inst✝¹⁸ : NormedAddCommGroup F
inst✝¹⁷ : NormedSpace 𝕜 F
inst✝¹⁶ : TopologicalSpace (TotalSpace F E)
inst✝¹⁵ : (x : B) → TopologicalSpace (E x)
EB : Type u_7
inst✝¹⁴ : NormedAddCommGroup EB
inst✝¹³ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹² : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
E' : B → Type u_9
inst✝¹¹ : (x : B) → Zero (E' x)
EM : Type u_10
inst✝¹⁰ : NormedAddCommGroup EM
inst✝⁹ : NormedSpace 𝕜 EM
HM : Type u_11
inst✝⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁵ : TopologicalSpace B
inst✝⁴ : ChartedSpace HB B
inst✝³ : FiberBundle F E
inst✝² : (x : B) → AddCommMonoid (E x)
inst✝¹ : (x : B) → Module 𝕜 (E x)
inst✝ : VectorBundle 𝕜 F E
x : B
⊢ (fun x_1 => (↑(trivializationAt F E x) { proj := x_1, snd := 0 }).snd) =ᶠ[𝓝 x] fun x => 0
[PROOFSTEP]
filter_upwards [(trivializationAt F E x).open_baseSet.mem_nhds (mem_baseSet_trivializationAt F E x)] with y hy using
  congr_arg Prod.snd <| (trivializationAt F E x).zeroSection 𝕜 hy
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' b)))
    (e.baseSet ∩ e'.baseSet)
[PROOFSTEP]
rw [inter_comm]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' b)))
    (e'.baseSet ∩ e.baseSet)
[PROOFSTEP]
refine (SmoothVectorBundle.smoothOn_coordChangeL e' e).congr fun b hb ↦ ?_
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
b : B
hb : b ∈ e'.baseSet ∩ e.baseSet
⊢ ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' b)) = ↑(Trivialization.coordChangeL 𝕜 e' e b)
[PROOFSTEP]
rw [e.symm_coordChangeL e' hb]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → B
g : M → F
hf : ContMDiffWithinAt IM IB n f s x
hg : ContMDiffWithinAt IM 𝓘(𝕜, F) n g s x
he : f x ∈ e.baseSet
he' : f x ∈ e'.baseSet
⊢ ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => Trivialization.coordChange e e' (f y) (g y)) s x
[PROOFSTEP]
refine ((hf.coordChangeL he he').clm_apply hg).congr_of_eventuallyEq ?_ ?_
[GOAL]
case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → B
g : M → F
hf : ContMDiffWithinAt IM IB n f s x
hg : ContMDiffWithinAt IM 𝓘(𝕜, F) n g s x
he : f x ∈ e.baseSet
he' : f x ∈ e'.baseSet
⊢ (fun y => Trivialization.coordChange e e' (f y) (g y)) =ᶠ[𝓝[s] x] fun x =>
    ↑↑(Trivialization.coordChangeL 𝕜 e e' (f x)) (g x)
[PROOFSTEP]
have : e.baseSet ∩ e'.baseSet ∈ 𝓝 (f x) := (e.open_baseSet.inter e'.open_baseSet).mem_nhds ⟨he, he'⟩
[GOAL]
case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → B
g : M → F
hf : ContMDiffWithinAt IM IB n f s x
hg : ContMDiffWithinAt IM 𝓘(𝕜, F) n g s x
he : f x ∈ e.baseSet
he' : f x ∈ e'.baseSet
this : e.baseSet ∩ e'.baseSet ∈ 𝓝 (f x)
⊢ (fun y => Trivialization.coordChange e e' (f y) (g y)) =ᶠ[𝓝[s] x] fun x =>
    ↑↑(Trivialization.coordChangeL 𝕜 e e' (f x)) (g x)
[PROOFSTEP]
filter_upwards [hf.continuousWithinAt this] with y hy
[GOAL]
case h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → B
g : M → F
hf : ContMDiffWithinAt IM IB n f s x
hg : ContMDiffWithinAt IM 𝓘(𝕜, F) n g s x
he : f x ∈ e.baseSet
he' : f x ∈ e'.baseSet
this : e.baseSet ∩ e'.baseSet ∈ 𝓝 (f x)
y : M
hy : y ∈ f ⁻¹' (e.baseSet ∩ e'.baseSet)
⊢ Trivialization.coordChange e e' (f y) (g y) = ↑↑(Trivialization.coordChangeL 𝕜 e e' (f y)) (g y)
[PROOFSTEP]
exact (Trivialization.coordChangeL_apply' e e' hy (g y)).symm
[GOAL]
case refine_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → B
g : M → F
hf : ContMDiffWithinAt IM IB n f s x
hg : ContMDiffWithinAt IM 𝓘(𝕜, F) n g s x
he : f x ∈ e.baseSet
he' : f x ∈ e'.baseSet
⊢ Trivialization.coordChange e e' (f x) (g x) = ↑↑(Trivialization.coordChangeL 𝕜 e e' (f x)) (g x)
[PROOFSTEP]
exact (Trivialization.coordChangeL_apply' e e' ⟨he, he'⟩ (g x)).symm
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) n
    (↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph)) (e.target ∩ e'.target)
[PROOFSTEP]
have Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) (e.baseSet ∩ e'.baseSet) := fun x hx ↦
  ⟨e.mem_target.1 hx.1, e'.mem_target.1 hx.2⟩
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) (e.baseSet ∩ e'.baseSet)
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) n
    (↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph)) (e.target ∩ e'.target)
[PROOFSTEP]
rw [mapsTo_inter] at Hmaps 
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) e.baseSet ∧ MapsTo Prod.fst (e.target ∩ e'.target) e'.baseSet
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) n
    (↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph)) (e.target ∩ e'.target)
[PROOFSTEP]
refine (contMDiffOn_fst.prod_mk (contMDiffOn_fst.coordChange contMDiffOn_snd Hmaps.1 Hmaps.2)).congr ?_
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) e.baseSet ∧ MapsTo Prod.fst (e.target ∩ e'.target) e'.baseSet
⊢ ∀ (y : B × F),
    y ∈ e.target ∩ e'.target →
      ↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph) y = (y.fst, coordChange e e' y.fst y.snd)
[PROOFSTEP]
rintro ⟨b, x⟩ hb
[GOAL]
case mk
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) e.baseSet ∧ MapsTo Prod.fst (e.target ∩ e'.target) e'.baseSet
b : B
x : F
hb : (b, x) ∈ e.target ∩ e'.target
⊢ ↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph) (b, x) =
    ((b, x).fst, coordChange e e' (b, x).fst (b, x).snd)
[PROOFSTEP]
refine Prod.ext ?_ rfl
[GOAL]
case mk
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) e.baseSet ∧ MapsTo Prod.fst (e.target ∩ e'.target) e'.baseSet
b : B
x : F
hb : (b, x) ∈ e.target ∩ e'.target
⊢ (↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph) (b, x)).fst =
    ((b, x).fst, coordChange e e' (b, x).fst (b, x).snd).fst
[PROOFSTEP]
have : (e.toLocalHomeomorph.symm (b, x)).1 ∈ e'.baseSet
[GOAL]
case this
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) e.baseSet ∧ MapsTo Prod.fst (e.target ∩ e'.target) e'.baseSet
b : B
x : F
hb : (b, x) ∈ e.target ∩ e'.target
⊢ (↑(LocalHomeomorph.symm e.toLocalHomeomorph) (b, x)).proj ∈ e'.baseSet
[PROOFSTEP]
simp_all only [Trivialization.mem_target, mfld_simps]
[GOAL]
case mk
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
Hmaps : MapsTo Prod.fst (e.target ∩ e'.target) e.baseSet ∧ MapsTo Prod.fst (e.target ∩ e'.target) e'.baseSet
b : B
x : F
hb : (b, x) ∈ e.target ∩ e'.target
this : (↑(LocalHomeomorph.symm e.toLocalHomeomorph) (b, x)).proj ∈ e'.baseSet
⊢ (↑(LocalHomeomorph.symm e.toLocalHomeomorph ≫ₕ e'.toLocalHomeomorph) (b, x)).fst =
    ((b, x).fst, coordChange e e' (b, x).fst (b, x).snd).fst
[PROOFSTEP]
exact (e'.coe_fst' this).trans (e.proj_symm_apply hb.1)
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).snd) s x
he : f x ∈ e.source
he' : f x ∈ e'.source
⊢ ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e' (f y)).snd) s x
[PROOFSTEP]
rw [Trivialization.mem_source] at he he' 
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).snd) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e' (f y)).snd) s x
[PROOFSTEP]
refine (hp.coordChange hf he he').congr_of_eventuallyEq ?_ ?_
[GOAL]
case refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).snd) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ (fun y => (↑e' (f y)).snd) =ᶠ[𝓝[s] x] fun y =>
    Trivialization.coordChange e e' ((TotalSpace.proj ∘ f) y) (↑e (f y)).snd
[PROOFSTEP]
filter_upwards [hp.continuousWithinAt (e.open_baseSet.mem_nhds he)] with y hy
[GOAL]
case h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).snd) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
y : M
hy : y ∈ TotalSpace.proj ∘ f ⁻¹' e.baseSet
⊢ (↑e' (f y)).snd = Trivialization.coordChange e e' ((TotalSpace.proj ∘ f) y) (↑e (f y)).snd
[PROOFSTEP]
rw [Function.comp_apply, e.coordChange_apply_snd _ hy]
[GOAL]
case refine_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
s : Set M
x : M
f : M → TotalSpace F E
hp : ContMDiffWithinAt IM IB n (TotalSpace.proj ∘ f) s x
hf : ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun y => (↑e (f y)).snd) s x
he : (f x).proj ∈ e.baseSet
he' : (f x).proj ∈ e'.baseSet
⊢ (↑e' (f x)).snd = Trivialization.coordChange e e' ((TotalSpace.proj ∘ f) x) (↑e (f x)).snd
[PROOFSTEP]
rw [Function.comp_apply, e.coordChange_apply_snd _ he]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
⊢ ∀ {e e' : LocalHomeomorph (TotalSpace F E) (B × F)},
    e ∈ atlas (B × F) (TotalSpace F E) →
      e' ∈ atlas (B × F) (TotalSpace F E) → LocalHomeomorph.symm e ≫ₕ e' ∈ smoothFiberwiseLinear B F IB
[PROOFSTEP]
rintro _ _ ⟨e, he, rfl⟩ ⟨e', he', rfl⟩
[GOAL]
case intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
⊢ LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e' ∈
    smoothFiberwiseLinear B F IB
[PROOFSTEP]
haveI : MemTrivializationAtlas e := ⟨he⟩
[GOAL]
case intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this : MemTrivializationAtlas e
⊢ LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e' ∈
    smoothFiberwiseLinear B F IB
[PROOFSTEP]
haveI : MemTrivializationAtlas e' := ⟨he'⟩
[GOAL]
case intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this✝ : MemTrivializationAtlas e
this : MemTrivializationAtlas e'
⊢ LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e' ∈
    smoothFiberwiseLinear B F IB
[PROOFSTEP]
rw [mem_smoothFiberwiseLinear_iff]
[GOAL]
case intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this✝ : MemTrivializationAtlas e
this : MemTrivializationAtlas e'
⊢ ∃ φ U hU hφ h2φ,
    EqOnSource (LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e')
      (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
        (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
[PROOFSTEP]
refine'
  ⟨_, _, e.open_baseSet.inter e'.open_baseSet, smoothOn_coordChangeL IB e e', smoothOn_symm_coordChangeL IB e e', _⟩
[GOAL]
case intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this✝ : MemTrivializationAtlas e
this : MemTrivializationAtlas e'
⊢ EqOnSource (LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e')
    (FiberwiseLinear.localHomeomorph (fun x => Trivialization.coordChangeL 𝕜 e e' x)
      (_ : IsOpen (e.baseSet ∩ e'.baseSet))
      (_ : ContinuousOn (fun x => ↑(Trivialization.coordChangeL 𝕜 e e' x)) (e.baseSet ∩ e'.baseSet))
      (_ :
        ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' x)))
          (e.baseSet ∩ e'.baseSet)))
[PROOFSTEP]
refine LocalHomeomorph.eqOnSourceSetoid.symm ⟨?_, ?_⟩
[GOAL]
case intro.intro.intro.intro.refine_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this✝ : MemTrivializationAtlas e
this : MemTrivializationAtlas e'
⊢ (FiberwiseLinear.localHomeomorph (fun x => Trivialization.coordChangeL 𝕜 e e' x) (_ : IsOpen (e.baseSet ∩ e'.baseSet))
          (_ : ContinuousOn (fun x => ↑(Trivialization.coordChangeL 𝕜 e e' x)) (e.baseSet ∩ e'.baseSet))
          (_ :
            ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' x)))
              (e.baseSet ∩ e'.baseSet))).toLocalEquiv.source =
    (LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e').toLocalEquiv.source
[PROOFSTEP]
simp only [e.symm_trans_source_eq e', FiberwiseLinear.localHomeomorph, trans_toLocalEquiv, symm_toLocalEquiv]
[GOAL]
case intro.intro.intro.intro.refine_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this✝ : MemTrivializationAtlas e
this : MemTrivializationAtlas e'
⊢ EqOn
    (↑(FiberwiseLinear.localHomeomorph (fun x => Trivialization.coordChangeL 𝕜 e e' x)
        (_ : IsOpen (e.baseSet ∩ e'.baseSet))
        (_ : ContinuousOn (fun x => ↑(Trivialization.coordChangeL 𝕜 e e' x)) (e.baseSet ∩ e'.baseSet))
        (_ :
          ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' x)))
            (e.baseSet ∩ e'.baseSet))))
    (↑(LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e'))
    (FiberwiseLinear.localHomeomorph (fun x => Trivialization.coordChangeL 𝕜 e e' x)
          (_ : IsOpen (e.baseSet ∩ e'.baseSet))
          (_ : ContinuousOn (fun x => ↑(Trivialization.coordChangeL 𝕜 e e' x)) (e.baseSet ∩ e'.baseSet))
          (_ :
            ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' x)))
              (e.baseSet ∩ e'.baseSet))).toLocalEquiv.source
[PROOFSTEP]
rintro ⟨b, v⟩ hb
[GOAL]
case intro.intro.intro.intro.refine_2.mk
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : Trivialization F TotalSpace.proj
he : e ∈ trivializationAtlas F E
e' : Trivialization F TotalSpace.proj
he' : e' ∈ trivializationAtlas F E
this✝ : MemTrivializationAtlas e
this : MemTrivializationAtlas e'
b : B
v : F
hb :
  (b, v) ∈
    (FiberwiseLinear.localHomeomorph (fun x => Trivialization.coordChangeL 𝕜 e e' x)
          (_ : IsOpen (e.baseSet ∩ e'.baseSet))
          (_ : ContinuousOn (fun x => ↑(Trivialization.coordChangeL 𝕜 e e' x)) (e.baseSet ∩ e'.baseSet))
          (_ :
            ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' x)))
              (e.baseSet ∩ e'.baseSet))).toLocalEquiv.source
⊢ ↑(FiberwiseLinear.localHomeomorph (fun x => Trivialization.coordChangeL 𝕜 e e' x)
          (_ : IsOpen (e.baseSet ∩ e'.baseSet))
          (_ : ContinuousOn (fun x => ↑(Trivialization.coordChangeL 𝕜 e e' x)) (e.baseSet ∩ e'.baseSet))
          (_ :
            ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (Trivialization.coordChangeL 𝕜 e e' x)))
              (e.baseSet ∩ e'.baseSet)))
      (b, v) =
    ↑(LocalHomeomorph.symm ((fun e => e.toLocalHomeomorph) e) ≫ₕ (fun e => e.toLocalHomeomorph) e') (b, v)
[PROOFSTEP]
exact (e.apply_symm_apply_eq_coordChangeL e' hb.1 v).symm
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
⊢ SmoothManifoldWithCorners (ModelWithCorners.prod IB 𝓘(𝕜, F)) (TotalSpace F E)
[PROOFSTEP]
refine' { StructureGroupoid.HasGroupoid.comp (smoothFiberwiseLinear B F IB) _ with }
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
⊢ ∀ (e : LocalHomeomorph (B × F) (B × F)),
    e ∈ smoothFiberwiseLinear B F IB →
      ChartedSpace.LiftPropOn
        (StructureGroupoid.IsLocalStructomorphWithinAt (contDiffGroupoid ⊤ (ModelWithCorners.prod IB 𝓘(𝕜, F)))) (↑e)
        e.source
[PROOFSTEP]
intro e he
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
he : e ∈ smoothFiberwiseLinear B F IB
⊢ ChartedSpace.LiftPropOn
    (StructureGroupoid.IsLocalStructomorphWithinAt (contDiffGroupoid ⊤ (ModelWithCorners.prod IB 𝓘(𝕜, F)))) (↑e)
    e.source
[PROOFSTEP]
rw [mem_smoothFiberwiseLinear_iff] at he 
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
he :
  ∃ φ U hU hφ h2φ,
    EqOnSource e
      (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
        (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ ChartedSpace.LiftPropOn
    (StructureGroupoid.IsLocalStructomorphWithinAt (contDiffGroupoid ⊤ (ModelWithCorners.prod IB 𝓘(𝕜, F)))) (↑e)
    e.source
[PROOFSTEP]
obtain ⟨φ, U, hU, hφ, h2φ, heφ⟩ := he
[GOAL]
case intro.intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ ChartedSpace.LiftPropOn
    (StructureGroupoid.IsLocalStructomorphWithinAt (contDiffGroupoid ⊤ (ModelWithCorners.prod IB 𝓘(𝕜, F)))) (↑e)
    e.source
[PROOFSTEP]
rw [isLocalStructomorphOn_contDiffGroupoid_iff]
[GOAL]
case intro.intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) (↑e) e.source ∧
    SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) (↑(LocalHomeomorph.symm e)) e.target
[PROOFSTEP]
refine' ⟨ContMDiffOn.congr _ (EqOnSource.eqOn heφ), ContMDiffOn.congr _ (EqOnSource.eqOn (EqOnSource.symm' heφ))⟩
[GOAL]
case intro.intro.intro.intro.intro.refine'_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) ⊤
    (fun y =>
      ↑(FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
            (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
        y)
    e.source
[PROOFSTEP]
rw [EqOnSource.source_eq heφ]
[GOAL]
case intro.intro.intro.intro.intro.refine'_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) ⊤
    (fun y =>
      ↑(FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
            (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
        y)
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
          (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U)).toLocalEquiv.source
[PROOFSTEP]
apply smoothOn_fst.prod_mk
[GOAL]
case intro.intro.intro.intro.intro.refine'_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) 𝓘(𝕜, F) (fun x => ↑(φ x.fst) x.snd)
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
          (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U)).toLocalEquiv.source
[PROOFSTEP]
exact (hφ.comp contMDiffOn_fst <| prod_subset_preimage_fst _ _).clm_apply contMDiffOn_snd
[GOAL]
case intro.intro.intro.intro.intro.refine'_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) ⊤
    (fun y =>
      ↑(LocalHomeomorph.symm
            (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
              (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U)))
        y)
    e.target
[PROOFSTEP]
rw [EqOnSource.target_eq heφ]
[GOAL]
case intro.intro.intro.intro.intro.refine'_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ ContMDiffOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) ⊤
    (fun y =>
      ↑(LocalHomeomorph.symm
            (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
              (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U)))
        y)
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
          (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U)).toLocalEquiv.target
[PROOFSTEP]
apply smoothOn_fst.prod_mk
[GOAL]
case intro.intro.intro.intro.intro.refine'_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e : LocalHomeomorph (B × F) (B × F)
φ : B → F ≃L[𝕜] F
U : Set B
hU : IsOpen U
hφ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(φ x)) U
h2φ : SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
heφ :
  EqOnSource e
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
      (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U))
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) 𝓘(𝕜, F) (fun x => ↑(ContinuousLinearEquiv.symm (φ x.fst)) x.snd)
    (FiberwiseLinear.localHomeomorph φ hU (_ : ContinuousOn (fun x => ↑(φ x)) U)
          (_ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U)).toLocalEquiv.target
[PROOFSTEP]
exact (h2φ.comp contMDiffOn_fst <| prod_subset_preimage_fst _ _).clm_apply contMDiffOn_snd
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
f : M → TotalSpace F E
s : Set M
he : MapsTo f s e.source
⊢ ContMDiffOn IM (ModelWithCorners.prod IB 𝓘(𝕜, F)) n f s ↔
    ContMDiffOn IM IB n (fun x => (f x).proj) s ∧ ContMDiffOn IM 𝓘(𝕜, F) n (fun x => (↑e (f x)).snd) s
[PROOFSTEP]
simp only [ContMDiffOn, ← forall_and]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²² : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²¹ : NormedAddCommGroup EB
inst✝²⁰ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁹ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁸ : TopologicalSpace B
inst✝¹⁷ : ChartedSpace HB B
inst✝¹⁶ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁵ : NormedAddCommGroup EM
inst✝¹⁴ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹³ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹² : TopologicalSpace M
inst✝¹¹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹⁰ : (x : B) → AddCommMonoid (E x)
inst✝⁹ : (x : B) → Module 𝕜 (E x)
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : TopologicalSpace (TotalSpace F E)
inst✝⁵ : (x : B) → TopologicalSpace (E x)
inst✝⁴ : FiberBundle F E
inst✝³ : VectorBundle 𝕜 F E
inst✝² : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
inst✝¹ : MemTrivializationAtlas e
inst✝ : MemTrivializationAtlas e'
f : M → TotalSpace F E
s : Set M
he : MapsTo f s e.source
⊢ (∀ (x : M), x ∈ s → ContMDiffWithinAt IM (ModelWithCorners.prod IB 𝓘(𝕜, F)) n f s x) ↔
    ∀ (x : M),
      x ∈ s →
        ContMDiffWithinAt IM IB n (fun x => (f x).proj) s x ∧
          ContMDiffWithinAt IM 𝓘(𝕜, F) n (fun x => (↑e (f x)).snd) s x
[PROOFSTEP]
exact forall₂_congr fun x hx ↦ e.contMDiffWithinAt_iff IB (he hx)
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) (↑e) e.source
[PROOFSTEP]
have : SmoothOn (IB.prod 𝓘(𝕜, F)) (IB.prod 𝓘(𝕜, F)) id e.source := smoothOn_id
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
this : SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) id e.source
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) (↑e) e.source
[PROOFSTEP]
rw [e.smoothOn_iff IB (mapsTo_id _)] at this 
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
this :
  SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) IB (fun x => (id x).proj) e.source ∧
    SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) 𝓘(𝕜, F) (fun x => (↑e (id x)).snd) e.source
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F)) (↑e) e.source
[PROOFSTEP]
exact (this.1.prod_mk this.2).congr fun x hx ↦ (e.mk_proj_snd hx).symm
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) (ModelWithCorners.prod IB 𝓘(𝕜, F))
    (↑(LocalHomeomorph.symm e.toLocalHomeomorph)) e.target
[PROOFSTEP]
rw [e.smoothOn_iff IB e.toLocalHomeomorph.symm_mapsTo]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
⊢ SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) IB (fun x => (↑(LocalHomeomorph.symm e.toLocalHomeomorph) x).proj)
      e.target ∧
    SmoothOn (ModelWithCorners.prod IB 𝓘(𝕜, F)) 𝓘(𝕜, F)
      (fun x => (↑e (↑(LocalHomeomorph.symm e.toLocalHomeomorph) x)).snd) e.target
[PROOFSTEP]
refine ⟨smoothOn_fst.congr fun x hx ↦ e.proj_symm_apply hx, smoothOn_snd.congr fun x hx ↦ ?_⟩
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
x : B × F
hx : x ∈ e.target
⊢ (↑e (↑(LocalHomeomorph.symm e.toLocalHomeomorph) x)).snd = x.snd
[PROOFSTEP]
rw [e.apply_symm_apply hx]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²¹ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²⁰ : NormedAddCommGroup EB
inst✝¹⁹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁸ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁷ : TopologicalSpace B
inst✝¹⁶ : ChartedSpace HB B
inst✝¹⁵ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁴ : NormedAddCommGroup EM
inst✝¹³ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹¹ : TopologicalSpace M
inst✝¹⁰ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁹ : (x : B) → AddCommMonoid (E x)
inst✝⁸ : (x : B) → Module 𝕜 (E x)
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
inst✝³ : FiberBundle F E
inst✝² : VectorBundle 𝕜 F E
inst✝¹ : SmoothVectorBundle F E IB
ι : Type u_11
Z : VectorBundleCore 𝕜 B F ι
inst✝ : IsSmooth Z IB
⊢ ∀ (e e' : Trivialization F TotalSpace.proj) [inst : MemTrivializationAtlas e] [inst_1 : MemTrivializationAtlas e'],
    SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(Trivialization.coordChangeL 𝕜 e e' b)) (e.baseSet ∩ e'.baseSet)
[PROOFSTEP]
rintro - - ⟨i, rfl⟩
  ⟨i', rfl⟩
      -- Porting note: Originally `Z.smoothOn_coordChange IB i i'`
[GOAL]
case mk.intro.mk.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²¹ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²⁰ : NormedAddCommGroup EB
inst✝¹⁹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁸ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁷ : TopologicalSpace B
inst✝¹⁶ : ChartedSpace HB B
inst✝¹⁵ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁴ : NormedAddCommGroup EM
inst✝¹³ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹¹ : TopologicalSpace M
inst✝¹⁰ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁹ : (x : B) → AddCommMonoid (E x)
inst✝⁸ : (x : B) → Module 𝕜 (E x)
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
inst✝³ : FiberBundle F E
inst✝² : VectorBundle 𝕜 F E
inst✝¹ : SmoothVectorBundle F E IB
ι : Type u_11
Z : VectorBundleCore 𝕜 B F ι
inst✝ : IsSmooth Z IB
i i' : ι
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F)
    (fun b =>
      ↑(Trivialization.coordChangeL 𝕜 (FiberBundleCore.localTriv (toFiberBundleCore Z) i)
          (FiberBundleCore.localTriv (toFiberBundleCore Z) i') b))
    ((FiberBundleCore.localTriv (toFiberBundleCore Z) i).baseSet ∩
      (FiberBundleCore.localTriv (toFiberBundleCore Z) i').baseSet)
[PROOFSTEP]
refine' (VectorBundleCore.IsSmooth.smoothOn_coordChange (Z := Z) (IB := IB) i i').congr fun b hb => _
[GOAL]
case mk.intro.mk.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²¹ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²⁰ : NormedAddCommGroup EB
inst✝¹⁹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁸ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁷ : TopologicalSpace B
inst✝¹⁶ : ChartedSpace HB B
inst✝¹⁵ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁴ : NormedAddCommGroup EM
inst✝¹³ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹¹ : TopologicalSpace M
inst✝¹⁰ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁹ : (x : B) → AddCommMonoid (E x)
inst✝⁸ : (x : B) → Module 𝕜 (E x)
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
inst✝³ : FiberBundle F E
inst✝² : VectorBundle 𝕜 F E
inst✝¹ : SmoothVectorBundle F E IB
ι : Type u_11
Z : VectorBundleCore 𝕜 B F ι
inst✝ : IsSmooth Z IB
i i' : ι
b : B
hb : b ∈ baseSet Z i ∩ baseSet Z i'
⊢ ↑(Trivialization.coordChangeL 𝕜 (FiberBundleCore.localTriv (toFiberBundleCore Z) i)
        (FiberBundleCore.localTriv (toFiberBundleCore Z) i') b) =
    coordChange Z i i' b
[PROOFSTEP]
ext v
[GOAL]
case mk.intro.mk.intro.h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²¹ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²⁰ : NormedAddCommGroup EB
inst✝¹⁹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁸ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁷ : TopologicalSpace B
inst✝¹⁶ : ChartedSpace HB B
inst✝¹⁵ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁴ : NormedAddCommGroup EM
inst✝¹³ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹¹ : TopologicalSpace M
inst✝¹⁰ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁹ : (x : B) → AddCommMonoid (E x)
inst✝⁸ : (x : B) → Module 𝕜 (E x)
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : TopologicalSpace (TotalSpace F E)
inst✝⁴ : (x : B) → TopologicalSpace (E x)
inst✝³ : FiberBundle F E
inst✝² : VectorBundle 𝕜 F E
inst✝¹ : SmoothVectorBundle F E IB
ι : Type u_11
Z : VectorBundleCore 𝕜 B F ι
inst✝ : IsSmooth Z IB
i i' : ι
b : B
hb : b ∈ baseSet Z i ∩ baseSet Z i'
v : F
⊢ ↑↑(Trivialization.coordChangeL 𝕜 (FiberBundleCore.localTriv (toFiberBundleCore Z) i)
            (FiberBundleCore.localTriv (toFiberBundleCore Z) i') b)
      v =
    ↑(coordChange Z i i' b) v
[PROOFSTEP]
exact Z.localTriv_coordChange_eq i i' hb v
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
⊢ ∀ (e e' : Trivialization F TotalSpace.proj) [inst : MemTrivializationAtlas e] [inst_1 : MemTrivializationAtlas e'],
    SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(Trivialization.coordChangeL 𝕜 e e' b)) (e.baseSet ∩ e'.baseSet)
[PROOFSTEP]
intro e e' he he'
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e e' : Trivialization F TotalSpace.proj
he : MemTrivializationAtlas e
he' : MemTrivializationAtlas e'
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(Trivialization.coordChangeL 𝕜 e e' b)) (e.baseSet ∩ e'.baseSet)
[PROOFSTEP]
obtain rfl := Bundle.Trivial.eq_trivialization B F e
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
e' : Trivialization F TotalSpace.proj
he' : MemTrivializationAtlas e'
he : MemTrivializationAtlas (trivialization B F)
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(Trivialization.coordChangeL 𝕜 (trivialization B F) e' b))
    ((trivialization B F).baseSet ∩ e'.baseSet)
[PROOFSTEP]
obtain rfl := Bundle.Trivial.eq_trivialization B F e'
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
he he' : MemTrivializationAtlas (trivialization B F)
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(Trivialization.coordChangeL 𝕜 (trivialization B F) (trivialization B F) b))
    ((trivialization B F).baseSet ∩ (trivialization B F).baseSet)
[PROOFSTEP]
simp_rw [Bundle.Trivial.trivialization.coordChangeL]
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²⁰ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁹ : NormedAddCommGroup EB
inst✝¹⁸ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹⁷ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁶ : TopologicalSpace B
inst✝¹⁵ : ChartedSpace HB B
inst✝¹⁴ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹³ : NormedAddCommGroup EM
inst✝¹² : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹¹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹⁰ : TopologicalSpace M
inst✝⁹ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁸ : (x : B) → AddCommMonoid (E x)
inst✝⁷ : (x : B) → Module 𝕜 (E x)
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : TopologicalSpace (TotalSpace F E)
inst✝³ : (x : B) → TopologicalSpace (E x)
inst✝² : FiberBundle F E
inst✝¹ : VectorBundle 𝕜 F E
inst✝ : SmoothVectorBundle F E IB
he he' : MemTrivializationAtlas (trivialization B F)
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(ContinuousLinearEquiv.refl 𝕜 F))
    ((trivialization B F).baseSet ∩ (trivialization B F).baseSet)
[PROOFSTEP]
exact smooth_const.smoothOn
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
⊢ ∀ (e e' : Trivialization (F₁ × F₂) TotalSpace.proj) [inst : MemTrivializationAtlas e]
    [inst_1 : MemTrivializationAtlas e'],
    SmoothOn IB 𝓘(𝕜, F₁ × F₂ →L[𝕜] F₁ × F₂) (fun b => ↑(Trivialization.coordChangeL 𝕜 e e' b)) (e.baseSet ∩ e'.baseSet)
[PROOFSTEP]
rintro _ _ ⟨e₁, e₂, i₁, i₂, rfl⟩ ⟨e₁', e₂', i₁', i₂', rfl⟩
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ SmoothOn IB 𝓘(𝕜, F₁ × F₂ →L[𝕜] F₁ × F₂)
    (fun b => ↑(Trivialization.coordChangeL 𝕜 (Trivialization.prod e₁ e₂) (Trivialization.prod e₁' e₂') b))
    ((Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet)
[PROOFSTEP]
rw [SmoothOn]
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ ContMDiffOn IB 𝓘(𝕜, F₁ × F₂ →L[𝕜] F₁ × F₂) ⊤
    (fun b => ↑(Trivialization.coordChangeL 𝕜 (Trivialization.prod e₁ e₂) (Trivialization.prod e₁' e₂') b))
    ((Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet)
[PROOFSTEP]
refine' ContMDiffOn.congr _ (e₁.coordChangeL_prod 𝕜 e₁' e₂ e₂')
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ ContMDiffOn IB 𝓘(𝕜, F₁ × F₂ →L[𝕜] F₁ × F₂) ⊤
    (fun y =>
      ContinuousLinearMap.prodMap ↑(Trivialization.coordChangeL 𝕜 e₁ e₁' y) ↑(Trivialization.coordChangeL 𝕜 e₂ e₂' y))
    ((Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet)
[PROOFSTEP]
refine' ContMDiffOn.clm_prodMap _ _
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro.refine'_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ ContMDiffOn IB 𝓘(𝕜, F₁ →L[𝕜] F₁) ⊤ (fun y => ↑(Trivialization.coordChangeL 𝕜 e₁ e₁' y))
    ((Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet)
[PROOFSTEP]
refine' (smoothOn_coordChangeL IB e₁ e₁').mono _
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro.refine'_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ (Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet ⊆ e₁.baseSet ∩ e₁'.baseSet
[PROOFSTEP]
simp only [Trivialization.baseSet_prod, mfld_simps]
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro.refine'_1
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ e₁.baseSet ∩ e₂.baseSet ∩ (e₁'.baseSet ∩ e₂'.baseSet) ⊆ e₁.baseSet ∩ e₁'.baseSet
[PROOFSTEP]
mfld_set_tac
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro.refine'_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ ContMDiffOn IB 𝓘(𝕜, F₂ →L[𝕜] F₂) ⊤ (fun y => ↑(Trivialization.coordChangeL 𝕜 e₂ e₂' y))
    ((Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet)
[PROOFSTEP]
refine' (smoothOn_coordChangeL IB e₂ e₂').mono _
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro.refine'_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ (Trivialization.prod e₁ e₂).baseSet ∩ (Trivialization.prod e₁' e₂').baseSet ⊆ e₂.baseSet ∩ e₂'.baseSet
[PROOFSTEP]
simp only [Trivialization.baseSet_prod, mfld_simps]
[GOAL]
case mk.intro.intro.intro.intro.mk.intro.intro.intro.intro.refine'_2
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝³⁸ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝³⁷ : NormedAddCommGroup EB
inst✝³⁶ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝³⁵ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝³⁴ : TopologicalSpace B
inst✝³³ : ChartedSpace HB B
inst✝³² : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝³¹ : NormedAddCommGroup EM
inst✝³⁰ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝²⁹ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝²⁶ : (x : B) → AddCommMonoid (E x)
inst✝²⁵ : (x : B) → Module 𝕜 (E x)
inst✝²⁴ : NormedAddCommGroup F
inst✝²³ : NormedSpace 𝕜 F
inst✝²² : TopologicalSpace (TotalSpace F E)
inst✝²¹ : (x : B) → TopologicalSpace (E x)
inst✝²⁰ : FiberBundle F E
inst✝¹⁹ : VectorBundle 𝕜 F E
inst✝¹⁸ : SmoothVectorBundle F E IB
F₁ : Type u_11
inst✝¹⁷ : NormedAddCommGroup F₁
inst✝¹⁶ : NormedSpace 𝕜 F₁
E₁ : B → Type u_12
inst✝¹⁵ : TopologicalSpace (TotalSpace F₁ E₁)
inst✝¹⁴ : (x : B) → AddCommMonoid (E₁ x)
inst✝¹³ : (x : B) → Module 𝕜 (E₁ x)
F₂ : Type u_13
inst✝¹² : NormedAddCommGroup F₂
inst✝¹¹ : NormedSpace 𝕜 F₂
E₂ : B → Type u_14
inst✝¹⁰ : TopologicalSpace (TotalSpace F₂ E₂)
inst✝⁹ : (x : B) → AddCommMonoid (E₂ x)
inst✝⁸ : (x : B) → Module 𝕜 (E₂ x)
inst✝⁷ : (x : B) → TopologicalSpace (E₁ x)
inst✝⁶ : (x : B) → TopologicalSpace (E₂ x)
inst✝⁵ : FiberBundle F₁ E₁
inst✝⁴ : FiberBundle F₂ E₂
inst✝³ : VectorBundle 𝕜 F₁ E₁
inst✝² : VectorBundle 𝕜 F₂ E₂
inst✝¹ : SmoothVectorBundle F₁ E₁ IB
inst✝ : SmoothVectorBundle F₂ E₂ IB
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
i₁ : MemTrivializationAtlas e₁
i₂ : MemTrivializationAtlas e₂
e₁' : Trivialization F₁ TotalSpace.proj
e₂' : Trivialization F₂ TotalSpace.proj
i₁' : MemTrivializationAtlas e₁'
i₂' : MemTrivializationAtlas e₂'
⊢ e₁.baseSet ∩ e₂.baseSet ∩ (e₁'.baseSet ∩ e₂'.baseSet) ⊆ e₂.baseSet ∩ e₂'.baseSet
[PROOFSTEP]
mfld_set_tac
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e e' : Pretrivialization F TotalSpace.proj
he : e ∈ a.pretrivializationAtlas
he' : e' ∈ a.pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ (b, ↑(smoothCoordChange IB a he he' b) v) = ↑e' { proj := b, snd := Pretrivialization.symm e b v }
[PROOFSTEP]
ext
[GOAL]
case h₁
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e e' : Pretrivialization F TotalSpace.proj
he : e ∈ a.pretrivializationAtlas
he' : e' ∈ a.pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ (b, ↑(smoothCoordChange IB a he he' b) v).fst = (↑e' { proj := b, snd := Pretrivialization.symm e b v }).fst
[PROOFSTEP]
rw [e.mk_symm hb.1 v, e'.coe_fst', e.proj_symm_apply' hb.1]
[GOAL]
case h₁
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e e' : Pretrivialization F TotalSpace.proj
he : e ∈ a.pretrivializationAtlas
he' : e' ∈ a.pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ (↑(LocalEquiv.symm e.toLocalEquiv) (b, v)).proj ∈ e'.baseSet
[PROOFSTEP]
rw [e.proj_symm_apply' hb.1]
[GOAL]
case h₁
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e e' : Pretrivialization F TotalSpace.proj
he : e ∈ a.pretrivializationAtlas
he' : e' ∈ a.pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ b ∈ e'.baseSet
[PROOFSTEP]
exact hb.2
[GOAL]
case h₂
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e e' : Pretrivialization F TotalSpace.proj
he : e ∈ a.pretrivializationAtlas
he' : e' ∈ a.pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ (b, ↑(smoothCoordChange IB a he he' b) v).snd = (↑e' { proj := b, snd := Pretrivialization.symm e b v }).snd
[PROOFSTEP]
exact a.smoothCoordChange_apply he he' hb v
[GOAL]
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e e' : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
⊢ ∀ (e e' : Trivialization F TotalSpace.proj) [inst : MemTrivializationAtlas e] [inst_1 : MemTrivializationAtlas e'],
    SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b => ↑(Trivialization.coordChangeL 𝕜 e e' b)) (e.baseSet ∩ e'.baseSet)
[PROOFSTEP]
rintro _ _ ⟨e, he, rfl⟩ ⟨e', he', rfl⟩
[GOAL]
case mk.intro.intro.mk.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e✝ e'✝ : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
⊢ SmoothOn IB 𝓘(𝕜, F →L[𝕜] F)
    (fun b =>
      ↑(Trivialization.coordChangeL 𝕜 (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
          (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b))
    ((FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he).baseSet ∩
      (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he').baseSet)
[PROOFSTEP]
refine' (a.smoothOn_smoothCoordChange he he').congr _
[GOAL]
case mk.intro.intro.mk.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e✝ e'✝ : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
⊢ ∀ (y : B),
    y ∈ e.baseSet ∩ e'.baseSet →
      ↑(Trivialization.coordChangeL 𝕜 (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
            (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') y) =
        smoothCoordChange IB a he he' y
[PROOFSTEP]
intro b hb
[GOAL]
case mk.intro.intro.mk.intro.intro
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e✝ e'✝ : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
⊢ ↑(Trivialization.coordChangeL 𝕜 (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
        (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b) =
    smoothCoordChange IB a he he' b
[PROOFSTEP]
ext v
[GOAL]
case mk.intro.intro.mk.intro.intro.h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e✝ e'✝ : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ ↑↑(Trivialization.coordChangeL 𝕜 (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
            (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b)
      v =
    ↑(smoothCoordChange IB a he he' b) v
[PROOFSTEP]
rw [a.smoothCoordChange_apply he he' hb v, ContinuousLinearEquiv.coe_coe, Trivialization.coordChangeL_apply]
[GOAL]
case mk.intro.intro.mk.intro.intro.h
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e✝ e'✝ : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ (↑(FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he')
        { proj := b,
          snd :=
            Trivialization.symm (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he) b
              v }).snd =
    (↑e' { proj := b, snd := Pretrivialization.symm e b v }).snd
case mk.intro.intro.mk.intro.intro.h.hb
𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝¹⁶ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝¹⁵ : NormedAddCommGroup EB
inst✝¹⁴ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝¹³ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹² : TopologicalSpace B
inst✝¹¹ : ChartedSpace HB B
inst✝¹⁰ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝⁹ : NormedAddCommGroup EM
inst✝⁸ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝⁷ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝⁴ : (x : B) → AddCommMonoid (E x)
inst✝³ : (x : B) → Module 𝕜 (E x)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle 𝕜 F E
ha : IsSmooth IB a
e✝ e'✝ : Pretrivialization F TotalSpace.proj
this✝¹ : TopologicalSpace (TotalSpace F E) := totalSpaceTopology a
this✝ : FiberBundle F E := toFiberBundle a
this : VectorBundle 𝕜 F E := toVectorBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ b ∈
    (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he).baseSet ∩
      (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he').baseSet
[PROOFSTEP]
exacts [rfl, hb]
