l3lab/ntp-mathlib huggingface dataset:
@[simp]
theorem Subalgebra.rank_bot : Module.rank F (⊥ : Subalgebra F E) = 1 :=
  (Subalgebra.toSubmoduleEquiv (⊥ : Subalgebra F E)).symm.rank_eq.trans <| by
    

Proof state:
K : Type u
V : Type v
F : Type u_1
E : Type u_2
inst✝⁵ : CommRing F
inst✝⁴ : Ring E
inst✝³ : Algebra F E
inst✝² : StrongRankCondition F
inst✝¹ : NoZeroSMulDivisors F E
inst✝ : Nontrivial E
⊢ Module.rank F ↥(toSubmodule ⊥) = 1

Next tactic:
rw [Algebra.toSubmodule_bot, one_eq_span, rank_span_set, mk_singleton _]
@[simp]
theorem Subalgebra.rank_bot : Module.rank F (⊥ : Subalgebra F E) = 1 :=
  (Subalgebra.toSubmoduleEquiv (⊥ : Subalgebra F E)).symm.rank_eq.trans <| by
    rw [Algebra.toSubmodule_bot, one_eq_span, rank_span_set, mk_singleton _]
    

Proof state:
K : Type u
V : Type v
F : Type u_1
E : Type u_2
inst✝⁵ : CommRing F
inst✝⁴ : Ring E
inst✝³ : Algebra F E
inst✝² : StrongRankCondition F
inst✝¹ : NoZeroSMulDivisors F E
inst✝ : Nontrivial E
⊢ LinearIndependent F fun (x : ↑{1}) => ↑x

Next tactic:
letI := Module.nontrivial F E
@[simp]
theorem Subalgebra.rank_bot : Module.rank F (⊥ : Subalgebra F E) = 1 :=
  (Subalgebra.toSubmoduleEquiv (⊥ : Subalgebra F E)).symm.rank_eq.trans <| by
    rw [Algebra.toSubmodule_bot, one_eq_span, rank_span_set, mk_singleton _]
    letI := Module.nontrivial F E
    

Proof state:
K : Type u
V : Type v
F : Type u_1
E : Type u_2
inst✝⁵ : CommRing F
inst✝⁴ : Ring E
inst✝³ : Algebra F E
inst✝² : StrongRankCondition F
inst✝¹ : NoZeroSMulDivisors F E
inst✝ : Nontrivial E
this : Nontrivial F := Module.nontrivial F E
⊢ LinearIndependent F fun (x : ↑{1}) => ↑x

Next tactic:
exact linearIndependent_singleton one_ne_zero
@[simp]
theorem Subalgebra.finrank_bot : finrank F (⊥ : Subalgebra F E) = 1 :=
  finrank_eq_of_rank_eq (by 

Proof state:
K : Type u
V : Type v
F : Type u_1
E : Type u_2
inst✝⁵ : CommRing F
inst✝⁴ : Ring E
inst✝³ : Algebra F E
inst✝² : StrongRankCondition F
inst✝¹ : NoZeroSMulDivisors F E
inst✝ : Nontrivial E
⊢ Module.rank F ↥⊥ = ↑1

Next tactic:
simp
instance : FunLike Cₛ^n⟮I; F, V⟯ M V where
  coe := ContMDiffSection.toFun
  coe_injective' := by 

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
⊢ Injective ContMDiffSection.toFun

Next tactic:
rintro ⟨⟩ ⟨⟩ h
instance : FunLike Cₛ^n⟮I; F, V⟯ M V where
  coe := ContMDiffSection.toFun
  coe_injective' := by rintro ⟨⟩ ⟨⟩ h; 

Proof state:
case mk.mk
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
toFun✝¹ : (x : M) → V x
contMDiff_toFun✝¹ : ContMDiff I (ModelWithCorners.prod I 𝓘(𝕜, F)) n fun x => TotalSpace.mk' F x (toFun✝¹ x)
toFun✝ : (x : M) → V x
contMDiff_toFun✝ : ContMDiff I (ModelWithCorners.prod I 𝓘(𝕜, F)) n fun x => TotalSpace.mk' F x (toFun✝ x)
h :
  { toFun := toFun✝¹, contMDiff_toFun := contMDiff_toFun✝¹ }.toFun =
    { toFun := toFun✝, contMDiff_toFun := contMDiff_toFun✝ }.toFun
⊢ { toFun := toFun✝¹, contMDiff_toFun := contMDiff_toFun✝¹ } = { toFun := toFun✝, contMDiff_toFun := contMDiff_toFun✝ }

Next tactic:
congr
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s t : Cₛ^n⟮I; F, V⟯
⊢ Add Cₛ^n⟮I; F, V⟯

Next tactic:
refine' ⟨fun s t => ⟨s + t, _⟩⟩
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
⊢ ContMDiff I (ModelWithCorners.prod I 𝓘(𝕜, F)) n fun x => TotalSpace.mk' F x ((⇑s + ⇑t) x)

Next tactic:
intro x₀
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
⊢ ContMDiffAt I (ModelWithCorners.prod I 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x ((⇑s + ⇑t) x)) x₀

Next tactic:
have hs := s.contMDiff x₀
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
hs : ContMDiffAt I (ModelWithCorners.prod I 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x (s x)) x₀
⊢ ContMDiffAt I (ModelWithCorners.prod I 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x ((⇑s + ⇑t) x)) x₀

Next tactic:
have ht := t.contMDiff x₀
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  have ht := t.contMDiff x₀
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
hs : ContMDiffAt I (ModelWithCorners.prod I 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x (s x)) x₀
ht : ContMDiffAt I (ModelWithCorners.prod I 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x (t x)) x₀
⊢ ContMDiffAt I (ModelWithCorners.prod I 𝓘(𝕜, F)) n (fun x => TotalSpace.mk' F x ((⇑s + ⇑t) x)) x₀

Next tactic:
rw [contMDiffAt_section] at hs ht ⊢
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  have ht := t.contMDiff x₀
  rw [contMDiffAt_section] at hs ht ⊢
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
hs : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F V x₀) { proj := x, snd := s x }).2) x₀
ht : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F V x₀) { proj := x, snd := t x }).2) x₀
⊢ ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑(trivializationAt F V x₀) { proj := x, snd := (⇑s + ⇑t) x }).2) x₀

Next tactic:
set e := trivializationAt F V x₀
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  have ht := t.contMDiff x₀
  rw [contMDiffAt_section] at hs ht ⊢
  set e := trivializationAt F V x₀
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
e : Trivialization F TotalSpace.proj := trivializationAt F V x₀
hs : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := s x }).2) x₀
ht : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := t x }).2) x₀
⊢ ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := (⇑s + ⇑t) x }).2) x₀

Next tactic:
refine' (hs.add ht).congr_of_eventuallyEq _
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  have ht := t.contMDiff x₀
  rw [contMDiffAt_section] at hs ht ⊢
  set e := trivializationAt F V x₀
  refine' (hs.add ht).congr_of_eventuallyEq _
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
e : Trivialization F TotalSpace.proj := trivializationAt F V x₀
hs : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := s x }).2) x₀
ht : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := t x }).2) x₀
⊢ (fun x => (↑e { proj := x, snd := (⇑s + ⇑t) x }).2) =ᶠ[nhds x₀]
    (fun x => (↑e { proj := x, snd := s x }).2) + fun x => (↑e { proj := x, snd := t x }).2

Next tactic:
refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  have ht := t.contMDiff x₀
  rw [contMDiffAt_section] at hs ht ⊢
  set e := trivializationAt F V x₀
  refine' (hs.add ht).congr_of_eventuallyEq _
  refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
e : Trivialization F TotalSpace.proj := trivializationAt F V x₀
hs : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := s x }).2) x₀
ht : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := t x }).2) x₀
⊢ ∀ x ∈ e.baseSet,
    (fun x => (↑e { proj := x, snd := (⇑s + ⇑t) x }).2) x =
      ((fun x => (↑e { proj := x, snd := s x }).2) + fun x => (↑e { proj := x, snd := t x }).2) x

Next tactic:
intro x hx
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s + t, _⟩⟩
  intro x₀
  have hs := s.contMDiff x₀
  have ht := t.contMDiff x₀
  rw [contMDiffAt_section] at hs ht ⊢
  set e := trivializationAt F V x₀
  refine' (hs.add ht).congr_of_eventuallyEq _
  refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
  intro x hx
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
x₀ : M
e : Trivialization F TotalSpace.proj := trivializationAt F V x₀
hs : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := s x }).2) x₀
ht : ContMDiffAt I 𝓘(𝕜, F) n (fun x => (↑e { proj := x, snd := t x }).2) x₀
x : M
hx : x ∈ e.baseSet
⊢ (fun x => (↑e { proj := x, snd := (⇑s + ⇑t) x }).2) x =
    ((fun x => (↑e { proj := x, snd := s x }).2) + fun x => (↑e { proj := x, snd := t x }).2) x

Next tactic:
apply (e.linear 𝕜 hx).1
instance instSub : Sub Cₛ^n⟮I; F, V⟯ := by
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s t : Cₛ^n⟮I; F, V⟯
⊢ Sub Cₛ^n⟮I; F, V⟯

Next tactic:
refine' ⟨fun s t => ⟨s - t, _⟩⟩
instance instSub : Sub Cₛ^n⟮I; F, V⟯ := by
  refine' ⟨fun s t => ⟨s - t, _⟩⟩
  

Proof state:
𝕜 : Type u_1
inst✝²⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁴ : NormedAddCommGroup E
inst✝²³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝²² : NormedAddCommGroup E'
inst✝²¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝²⁰ : TopologicalSpace H
H' : Type u_5
inst✝¹⁹ : TopologicalSpace H'
I : ModelWithCorners 𝕜 E H
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝¹⁸ : TopologicalSpace M
inst✝¹⁷ : ChartedSpace H M
M' : Type u_7
inst✝¹⁶ : TopologicalSpace M'
inst✝¹⁵ : ChartedSpace H' M'
E'' : Type u_8
inst✝¹⁴ : NormedAddCommGroup E''
inst✝¹³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝¹² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝¹¹ : TopologicalSpace M''
inst✝¹⁰ : ChartedSpace H'' M''
inst✝⁹ : SmoothManifoldWithCorners I M
F : Type u_11
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
n : ℕ∞
V : M → Type u_12
inst✝⁶ : TopologicalSpace (TotalSpace F V)
inst✝⁵ : (x : M) → AddCommGroup (V x)
inst✝⁴ : (x : M) → Module 𝕜 (V x)
inst✝³ : (x : M) → TopologicalSpace (V x)
inst✝² : FiberBundle F V
inst✝¹ : VectorBundle 𝕜 F V
inst✝ : SmoothVectorBundle F V I
s✝ t✝ s t : Cₛ^n⟮I; F, V⟯
⊢ ContMDiff I (ModelWithCorners.prod I 𝓘(𝕜, F)) n fun x => TotalSpace.mk' F x ((⇑s - ⇑t) x)

Next tactic:
intro x₀