Theorem: smoothSheafCommRing.eval_surjective
File: Mathlib/Geometry/Manifold/Sheaf/Smooth.lean

Proof steps:
state_before: 𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
⊢ Function.Surjective ⇑(eval IM I M R x)
state_after: 𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
r : R
⊢ ∃ a, (eval IM I M R x) a = r
tactic: intro r
state_before: 𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
r : R
⊢ ∃ a, (eval IM I M R x) a = r
state_after: case intro
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
y : (smoothSheaf IM I M R).presheaf.stalk x
⊢ ∃ a, (eval IM I M R x) a = smoothSheaf.eval IM I R x y
tactic: obtain ⟨y, rfl⟩ := smoothSheaf.eval_surjective IM I R x r
state_before: case intro
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
y : (smoothSheaf IM I M R).presheaf.stalk x
⊢ ∃ a, (eval IM I M R x) a = smoothSheaf.eval IM I R x y
state_after: case h
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
y : (smoothSheaf IM I M R).presheaf.stalk x
⊢ (eval IM I M R x) ((forgetStalk IM I M R x).inv y) = smoothSheaf.eval IM I R x y
tactic: use (smoothSheafCommRing.forgetStalk IM I M R x).inv y
state_before: case h
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
EM : Type u_2
inst✝²⁰ : NormedAddCommGroup EM
inst✝¹⁹ : NormedSpace 𝕜 EM
HM : Type u_3
inst✝¹⁸ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
E : Type u_4
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_5
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_6
inst✝¹⁴ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E H'
M : Type u
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
N G A A' R : Type u
inst✝¹¹ : TopologicalSpace N
inst✝¹⁰ : ChartedSpace H N
inst✝⁹ : TopologicalSpace G
inst✝⁸ : ChartedSpace H G
inst✝⁷ : TopologicalSpace A
inst✝⁶ : ChartedSpace H A
inst✝⁵ : TopologicalSpace A'
inst✝⁴ : ChartedSpace H' A'
inst✝³ : TopologicalSpace R
inst✝² : ChartedSpace H R
inst✝¹ : CommRing R
inst✝ : SmoothRing I R
x : M
y : (smoothSheaf IM I M R).presheaf.stalk x
⊢ (eval IM I M R x) ((forgetStalk IM I M R x).inv y) = smoothSheaf.eval IM I R x y
state_after: no goals
tactic: apply smoothSheafCommRing.forgetStalk_inv_comp_eval_apply