diff --git a/SphereEversion/Global/OneJetBundle.lean b/SphereEversion/Global/OneJetBundle.lean index a3ff1705..64b37d89 100644 --- a/SphereEversion/Global/OneJetBundle.lean +++ b/SphereEversion/Global/OneJetBundle.lean @@ -155,8 +155,6 @@ instance (x : M ร— M') : Module ๐•œ (FJยนMM' x) := end -set_option backward.isDefEq.respectTransparency false in -set_option backward.isDefEq.respectTransparency.instanceSearchTypes false in instance : TopologicalSpace JยนMM' := by delta OneJetSpace OneJetBundle infer_instance @@ -181,6 +179,10 @@ set_option backward.isDefEq.respectTransparency false in set_option backward.isDefEq.respectTransparency.instanceSearchTypes false in instance : ChartedSpace HJ JยนMM' := by delta OneJetSpace OneJetBundle + -- Making `FiberBundle.chartedSpace` apply here means unfolding the `TopologicalSpace JยนMM'` + -- instance above, which unification during instance synthesis will not do. + -- One potential fix is naming the instance: + -- exact FiberBundle.chartedSpace .. infer_instance set_option backward.isDefEq.respectTransparency false in diff --git a/SphereEversion/ToMathlib/Geometry/Manifold/VectorBundle/Misc.lean b/SphereEversion/ToMathlib/Geometry/Manifold/VectorBundle/Misc.lean index 08cea64e..26a8887b 100644 --- a/SphereEversion/ToMathlib/Geometry/Manifold/VectorBundle/Misc.lean +++ b/SphereEversion/ToMathlib/Geometry/Manifold/VectorBundle/Misc.lean @@ -121,12 +121,26 @@ end Hom section Pullback -/-- We need some instances like this to work with negation on pullbacks -/ instance {B B'} {E : B โ†’ Type*} {f : B' โ†’ B} {x : B'} [โˆ€ x', AddCommGroup (E x')] : - AddCommGroup ((f *แต– E) x) := by delta Bundle.Pullback; infer_instance + AddCommGroup ((f *แต– E) x) := + inferInstanceAs <| AddCommGroup (E (f x)) -instance {B B'} {E : B โ†’ Type*} {f : B' โ†’ B} {x : B'} [โˆ€ x', Zero (E x')] : Zero ((f *แต– E) x) := by - delta Bundle.Pullback; infer_instance +instance {B B'} {E : B โ†’ Type*} {f : B' โ†’ B} {x : B'} [โˆ€ x', Zero (E x')] : Zero ((f *แต– E) x) := + inferInstanceAs <| Zero (E (f x)) + +instance {B B'} {E : B โ†’ Type*} {f : B' โ†’ B} {x : B'} [โˆ€ x', TopologicalSpace (E x')] + [โˆ€ x', AddCommMonoid (E x')] [โˆ€ x', ContinuousAdd (E x')] : ContinuousAdd ((f *แต– E) x) := + inferInstanceAs <| ContinuousAdd (E (f x)) + +instance {B B'} {E : B โ†’ Type*} {f : B' โ†’ B} {x : B'} [โˆ€ x', TopologicalSpace (E x')] + [โˆ€ x', AddCommGroup (E x')] [โˆ€ x', IsTopologicalAddGroup (E x')] : + IsTopologicalAddGroup ((f *แต– E) x) := + inferInstanceAs <| IsTopologicalAddGroup (E (f x)) + +instance {R B B'} [Semiring R] [TopologicalSpace R] {E : B โ†’ Type*} {f : B' โ†’ B} {x : B'} + [โˆ€ x', TopologicalSpace (E x')] [โˆ€ x', AddCommMonoid (E x')] [โˆ€ x', Module R (E x')] + [โˆ€ x', ContinuousSMul R (E x')] : ContinuousSMul R ((f *แต– E) x) := + inferInstanceAs <| ContinuousSMul R (E (f x)) variable {B F B' K : Type*} {E : B โ†’ Type*} {f : K} [TopologicalSpace B'] [TopologicalSpace (TotalSpace F E)] [TopologicalSpace F] [TopologicalSpace B] [โˆ€ b, Zero (E b)] diff --git a/lean-toolchain b/lean-toolchain index 9d74fe15..f0e00b33 100644 --- a/lean-toolchain +++ b/lean-toolchain @@ -1 +1 @@ -leanprover/lean4:v4.35.0-rc3 \ No newline at end of file +leanprover/lean4:v4.35.0-rc3