geometry.manifold.vector_bundle.hom
⟷
Mathlib.Geometry.Manifold.VectorBundle.Hom
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
arrow_congrSL
introduced in #19107 (#19128)
I added more general definitions precomp
and postcomp
for expressing that (pre/post)-composing by a fixed continuous linear maps is continuous. These were planned about a year ago when I defined the strong topology and follow from uniform_on_fun.precomp_uniform_continuous and uniform_on_fun.postcomp_uniform_continuous.
The proof of continuity of arrow_congrSL
is a direct consequence of these, so we don't have to do it by hand.
This is not really a "golf" since I added more lines than I removed, but these more general constructions will be needed at some point anyway (my use case was distribution theory) so I'm doing some proactive golfing :smile:.
@@ -70,7 +70,7 @@ begin
simp only [continuous_linear_map_coord_change, continuous_linear_equiv.coe_coe,
continuous_linear_equiv.arrow_congrSL_apply, comp_apply, function.comp, compL_apply,
flip_apply, continuous_linear_equiv.symm_symm, linear_equiv.to_fun_eq_coe,
- continuous_linear_equiv.arrow_congrₛₗ_apply, continuous_linear_map.coe_comp'] },
+ continuous_linear_map.coe_comp'] },
end
include _i₁ _i₂
(no changes)
(no changes)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -23,7 +23,7 @@ To do it for semilinear maps, we would need to generalize `continuous_linear_map
noncomputable section
-open Bundle Set LocalHomeomorph ContinuousLinearMap Pretrivialization
+open Bundle Set PartialHomeomorph ContinuousLinearMap Pretrivialization
open scoped Manifold Bundle
@@ -74,8 +74,9 @@ theorem hom_chart (y₀ y : LE₁E₂) :
chartAt (ModelProd HB (F₁ →L[𝕜] F₂)) y₀ y =
(chartAt HB y₀.1 y.1, inCoordinates F₁ E₁ F₂ E₂ y₀.1 y.1 y₀.1 y.1 y.2) :=
by
- simp_rw [FiberBundle.chartedSpace_chartAt, trans_apply, LocalHomeomorph.prod_apply,
- Trivialization.coe_coe, LocalHomeomorph.refl_apply, Function.id_def, hom_trivializationAt_apply]
+ simp_rw [FiberBundle.chartedSpace_chartAt, trans_apply, PartialHomeomorph.prod_apply,
+ Trivialization.coe_coe, PartialHomeomorph.refl_apply, Function.id_def,
+ hom_trivializationAt_apply]
#align hom_chart hom_chart
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
-/
-import Mathbin.Geometry.Manifold.VectorBundle.Basic
-import Mathbin.Topology.VectorBundle.Hom
+import Geometry.Manifold.VectorBundle.Basic
+import Topology.VectorBundle.Hom
#align_import geometry.manifold.vector_bundle.hom from "leanprover-community/mathlib"@"2fe465deb81bcd7ccafa065bb686888a82f15372"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2022 Floris van Doorn. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
-
-! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit 2fe465deb81bcd7ccafa065bb686888a82f15372
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Geometry.Manifold.VectorBundle.Basic
import Mathbin.Topology.VectorBundle.Hom
+#align_import geometry.manifold.vector_bundle.hom from "leanprover-community/mathlib"@"2fe465deb81bcd7ccafa065bb686888a82f15372"
+
/-! # Homs of smooth vector bundles over the same base space
> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2fe465deb81bcd7ccafa065bb686888a82f15372
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit 8905e5ed90859939681a725b00f6063e65096d95
+! leanprover-community/mathlib commit 2fe465deb81bcd7ccafa065bb686888a82f15372
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.Topology.VectorBundle.Hom
/-! # Homs of smooth vector bundles over the same base space
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
Here we show that `bundle.continuous_linear_map` is a smooth vector bundle.
Note that we only do this for bundles of linear maps, not for bundles of arbitrary semilinear maps.
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a51edf13debfcbe223fa06b1cb353b9ed9751cc
@@ -45,6 +45,7 @@ variable {𝕜 B F F₁ F₂ M M₁ M₂ : Type _} {E : B → Type _} {E₁ : B
local notation "LE₁E₂" => TotalSpace (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) E₁ E₂)
+#print smoothOn_continuousLinearMapCoordChange /-
-- This proof is slow, especially the `simp only` and the elaboration of `h₂`.
theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
[SmoothVectorBundle F₁ E₁ IB] [SmoothVectorBundle F₂ E₂ IB] [MemTrivializationAtlas e₁]
@@ -66,7 +67,9 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
ContinuousLinearEquiv.arrowCongrSL_apply, comp_apply, Function.comp, compL_apply, flip_apply,
ContinuousLinearEquiv.symm_symm, LinearEquiv.toFun_eq_coe, ContinuousLinearMap.coe_comp']
#align smooth_on_continuous_linear_map_coord_change smoothOn_continuousLinearMapCoordChange
+-/
+#print hom_chart /-
theorem hom_chart (y₀ y : LE₁E₂) :
chartAt (ModelProd HB (F₁ →L[𝕜] F₂)) y₀ y =
(chartAt HB y₀.1 y.1, inCoordinates F₁ E₁ F₂ E₂ y₀.1 y.1 y₀.1 y.1 y.2) :=
@@ -74,9 +77,11 @@ theorem hom_chart (y₀ y : LE₁E₂) :
simp_rw [FiberBundle.chartedSpace_chartAt, trans_apply, LocalHomeomorph.prod_apply,
Trivialization.coe_coe, LocalHomeomorph.refl_apply, Function.id_def, hom_trivializationAt_apply]
#align hom_chart hom_chart
+-/
variable {IB}
+#print contMDiffAt_hom_bundle /-
theorem contMDiffAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} {n : ℕ∞} :
ContMDiffAt IM (IB.Prod 𝓘(𝕜, F₁ →L[𝕜] F₂)) n f x₀ ↔
ContMDiffAt IM IB n (fun x => (f x).1) x₀ ∧
@@ -84,7 +89,9 @@ theorem contMDiffAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} {n : ℕ∞} :
(fun x => inCoordinates F₁ E₁ F₂ E₂ (f x₀).1 (f x).1 (f x₀).1 (f x).1 (f x).2) x₀ :=
by apply cont_mdiff_at_total_space
#align cont_mdiff_at_hom_bundle contMDiffAt_hom_bundle
+-/
+#print smoothAt_hom_bundle /-
theorem smoothAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} :
SmoothAt IM (IB.Prod 𝓘(𝕜, F₁ →L[𝕜] F₂)) f x₀ ↔
SmoothAt IM IB (fun x => (f x).1) x₀ ∧
@@ -92,10 +99,12 @@ theorem smoothAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} :
(fun x => inCoordinates F₁ E₁ F₂ E₂ (f x₀).1 (f x).1 (f x₀).1 (f x).1 (f x).2) x₀ :=
contMDiffAt_hom_bundle f
#align smooth_at_hom_bundle smoothAt_hom_bundle
+-/
variable [SmoothManifoldWithCorners IB B] [SmoothVectorBundle F₁ E₁ IB]
[SmoothVectorBundle F₂ E₂ IB]
+#print Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth /-
instance Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth :
(Bundle.ContinuousLinearMap.vectorPrebundle (RingHom.id 𝕜) F₁ E₁ F₂ E₂).IsSmooth IB
where exists_smooth_coord_change :=
@@ -107,9 +116,12 @@ instance Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth :
smoothOn_continuousLinearMapCoordChange IB,
continuous_linear_map_coord_change_apply (RingHom.id 𝕜) e₁ e₁' e₂ e₂'⟩
#align bundle.continuous_linear_map.vector_prebundle.is_smooth Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth
+-/
+#print SmoothVectorBundle.continuousLinearMap /-
instance SmoothVectorBundle.continuousLinearMap :
SmoothVectorBundle (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) E₁ E₂) IB :=
(Bundle.ContinuousLinearMap.vectorPrebundle (RingHom.id 𝕜) F₁ E₁ F₂ E₂).SmoothVectorBundle IB
#align smooth_vector_bundle.continuous_linear_map SmoothVectorBundle.continuousLinearMap
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8905e5ed90859939681a725b00f6063e65096d95
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
+! leanprover-community/mathlib commit 8905e5ed90859939681a725b00f6063e65096d95
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -64,8 +64,7 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
· intro b hb; ext L v
simp only [continuous_linear_map_coord_change, ContinuousLinearEquiv.coe_coe,
ContinuousLinearEquiv.arrowCongrSL_apply, comp_apply, Function.comp, compL_apply, flip_apply,
- ContinuousLinearEquiv.symm_symm, LinearEquiv.toFun_eq_coe,
- ContinuousLinearEquiv.arrowCongrₛₗ_apply, ContinuousLinearMap.coe_comp']
+ ContinuousLinearEquiv.symm_symm, LinearEquiv.toFun_eq_coe, ContinuousLinearMap.coe_comp']
#align smooth_on_continuous_linear_map_coord_change smoothOn_continuousLinearMapCoordChange
theorem hom_chart (y₀ y : LE₁E₂) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/728ef9dbb281241906f25cbeb30f90d83e0bb451
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
+! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -29,21 +29,21 @@ open scoped Manifold Bundle
variable {𝕜 B F F₁ F₂ M M₁ M₂ : Type _} {E : B → Type _} {E₁ : B → Type _} {E₂ : B → Type _}
[NontriviallyNormedField 𝕜] [∀ x, AddCommGroup (E x)] [∀ x, Module 𝕜 (E x)] [NormedAddCommGroup F]
- [NormedSpace 𝕜 F] [TopologicalSpace (TotalSpace E)] [∀ x, TopologicalSpace (E x)]
+ [NormedSpace 𝕜 F] [TopologicalSpace (TotalSpace F E)] [∀ x, TopologicalSpace (E x)]
[∀ x, AddCommGroup (E₁ x)] [∀ x, Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁]
- [TopologicalSpace (TotalSpace E₁)] [∀ x, TopologicalSpace (E₁ x)] [∀ x, AddCommGroup (E₂ x)]
+ [TopologicalSpace (TotalSpace F₁ E₁)] [∀ x, TopologicalSpace (E₁ x)] [∀ x, AddCommGroup (E₂ x)]
[∀ x, Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂]
- [TopologicalSpace (TotalSpace E₂)] [∀ x, TopologicalSpace (E₂ x)]
+ [TopologicalSpace (TotalSpace F₂ E₂)] [∀ x, TopologicalSpace (E₂ x)]
[_i₁ : ∀ x, TopologicalAddGroup (E₂ x)] [_i₂ : ∀ x, ContinuousSMul 𝕜 (E₂ x)] {EB : Type _}
[NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type _} [TopologicalSpace HB]
(IB : ModelWithCorners 𝕜 EB HB) [TopologicalSpace B] [ChartedSpace HB B] {EM : Type _}
[NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type _} [TopologicalSpace HM]
{IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M]
[Is : SmoothManifoldWithCorners IM M] {n : ℕ∞} [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁]
- [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {e₁ e₁' : Trivialization F₁ (π E₁)}
- {e₂ e₂' : Trivialization F₂ (π E₂)}
+ [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {e₁ e₁' : Trivialization F₁ (π F₁ E₁)}
+ {e₂ e₂' : Trivialization F₂ (π F₂ E₂)}
-local notation "LE₁E₂" => TotalSpace (Bundle.ContinuousLinearMap (RingHom.id 𝕜) F₁ E₁ F₂ E₂)
+local notation "LE₁E₂" => TotalSpace (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) E₁ E₂)
-- This proof is slow, especially the `simp only` and the elaboration of `h₂`.
theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
@@ -110,7 +110,7 @@ instance Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth :
#align bundle.continuous_linear_map.vector_prebundle.is_smooth Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth
instance SmoothVectorBundle.continuousLinearMap :
- SmoothVectorBundle (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) F₁ E₁ F₂ E₂) IB :=
+ SmoothVectorBundle (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) E₁ E₂) IB :=
(Bundle.ContinuousLinearMap.vectorPrebundle (RingHom.id 𝕜) F₁ E₁ F₂ E₂).SmoothVectorBundle IB
#align smooth_vector_bundle.continuous_linear_map SmoothVectorBundle.continuousLinearMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/93f880918cb51905fd51b76add8273cbc27718ab
@@ -55,7 +55,7 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
by
let L₁ := compL 𝕜 F₁ F₂ F₂
have h₁ : Smooth _ _ _ := L₁.cont_mdiff
- have h₂ : Smooth _ _ _ := (ContinuousLinearMap.flip (compL 𝕜 F₁ F₁ F₂)).ContMdiff
+ have h₂ : Smooth _ _ _ := (ContinuousLinearMap.flip (compL 𝕜 F₁ F₁ F₂)).ContMDiff
have h₃ : SmoothOn IB _ _ _ := smooth_on_coord_change e₁' e₁
have h₄ : SmoothOn IB _ _ _ := smooth_on_coord_change e₂ e₂'
refine' ((h₁.comp_smooth_on (h₄.mono _)).clm_comp (h₂.comp_smooth_on (h₃.mono _))).congr _
@@ -78,20 +78,20 @@ theorem hom_chart (y₀ y : LE₁E₂) :
variable {IB}
-theorem contMdiffAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} {n : ℕ∞} :
- ContMdiffAt IM (IB.Prod 𝓘(𝕜, F₁ →L[𝕜] F₂)) n f x₀ ↔
- ContMdiffAt IM IB n (fun x => (f x).1) x₀ ∧
- ContMdiffAt IM 𝓘(𝕜, F₁ →L[𝕜] F₂) n
+theorem contMDiffAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} {n : ℕ∞} :
+ ContMDiffAt IM (IB.Prod 𝓘(𝕜, F₁ →L[𝕜] F₂)) n f x₀ ↔
+ ContMDiffAt IM IB n (fun x => (f x).1) x₀ ∧
+ ContMDiffAt IM 𝓘(𝕜, F₁ →L[𝕜] F₂) n
(fun x => inCoordinates F₁ E₁ F₂ E₂ (f x₀).1 (f x).1 (f x₀).1 (f x).1 (f x).2) x₀ :=
by apply cont_mdiff_at_total_space
-#align cont_mdiff_at_hom_bundle contMdiffAt_hom_bundle
+#align cont_mdiff_at_hom_bundle contMDiffAt_hom_bundle
theorem smoothAt_hom_bundle (f : M → LE₁E₂) {x₀ : M} :
SmoothAt IM (IB.Prod 𝓘(𝕜, F₁ →L[𝕜] F₂)) f x₀ ↔
SmoothAt IM IB (fun x => (f x).1) x₀ ∧
SmoothAt IM 𝓘(𝕜, F₁ →L[𝕜] F₂)
(fun x => inCoordinates F₁ E₁ F₂ E₂ (f x₀).1 (f x).1 (f x₀).1 (f x).1 (f x).2) x₀ :=
- contMdiffAt_hom_bundle f
+ contMDiffAt_hom_bundle f
#align smooth_at_hom_bundle smoothAt_hom_bundle
variable [SmoothManifoldWithCorners IB B] [SmoothVectorBundle F₁ E₁ IB]
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -61,7 +61,7 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
refine' ((h₁.comp_smooth_on (h₄.mono _)).clm_comp (h₂.comp_smooth_on (h₃.mono _))).congr _
· mfld_set_tac
· mfld_set_tac
- · intro b hb; ext (L v)
+ · intro b hb; ext L v
simp only [continuous_linear_map_coord_change, ContinuousLinearEquiv.coe_coe,
ContinuousLinearEquiv.arrowCongrSL_apply, comp_apply, Function.comp, compL_apply, flip_apply,
ContinuousLinearEquiv.symm_symm, LinearEquiv.toFun_eq_coe,
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -43,7 +43,6 @@ variable {𝕜 B F F₁ F₂ M M₁ M₂ : Type _} {E : B → Type _} {E₁ : B
[FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {e₁ e₁' : Trivialization F₁ (π E₁)}
{e₂ e₂' : Trivialization F₂ (π E₂)}
--- mathport name: exprLE₁E₂
local notation "LE₁E₂" => TotalSpace (Bundle.ContinuousLinearMap (RingHom.id 𝕜) F₁ E₁ F₂ E₂)
-- This proof is slow, especially the `simp only` and the elaboration of `h₂`.
@@ -69,8 +68,6 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
ContinuousLinearEquiv.arrowCongrₛₗ_apply, ContinuousLinearMap.coe_comp']
#align smooth_on_continuous_linear_map_coord_change smoothOn_continuousLinearMapCoordChange
-include _i₁ _i₂
-
theorem hom_chart (y₀ y : LE₁E₂) :
chartAt (ModelProd HB (F₁ →L[𝕜] F₂)) y₀ y =
(chartAt HB y₀.1 y.1, inCoordinates F₁ E₁ F₂ E₂ y₀.1 y.1 y₀.1 y.1 y.2) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/88a563b158f59f2983cfad685664da95502e8cdd
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit c89fe2d59ae06402c3f55f978016d1ada444f57e
+! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -28,16 +28,17 @@ open Bundle Set LocalHomeomorph ContinuousLinearMap Pretrivialization
open scoped Manifold Bundle
variable {𝕜 B F F₁ F₂ M M₁ M₂ : Type _} {E : B → Type _} {E₁ : B → Type _} {E₂ : B → Type _}
- [NontriviallyNormedField 𝕜] [∀ x, AddCommMonoid (E x)] [∀ x, Module 𝕜 (E x)]
- [NormedAddCommGroup F] [NormedSpace 𝕜 F] [TopologicalSpace (TotalSpace E)]
- [∀ x, TopologicalSpace (E x)] [∀ x, AddCommMonoid (E₁ x)] [∀ x, Module 𝕜 (E₁ x)]
- [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [TopologicalSpace (TotalSpace E₁)]
- [∀ x, TopologicalSpace (E₁ x)] [∀ x, AddCommMonoid (E₂ x)] [∀ x, Module 𝕜 (E₂ x)]
- [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [TopologicalSpace (TotalSpace E₂)]
- [∀ x, TopologicalSpace (E₂ x)] {EB : Type _} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB]
- {HB : Type _} [TopologicalSpace HB] (IB : ModelWithCorners 𝕜 EB HB) [TopologicalSpace B]
- [ChartedSpace HB B] {EM : Type _} [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type _}
- [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M]
+ [NontriviallyNormedField 𝕜] [∀ x, AddCommGroup (E x)] [∀ x, Module 𝕜 (E x)] [NormedAddCommGroup F]
+ [NormedSpace 𝕜 F] [TopologicalSpace (TotalSpace E)] [∀ x, TopologicalSpace (E x)]
+ [∀ x, AddCommGroup (E₁ x)] [∀ x, Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁]
+ [TopologicalSpace (TotalSpace E₁)] [∀ x, TopologicalSpace (E₁ x)] [∀ x, AddCommGroup (E₂ x)]
+ [∀ x, Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂]
+ [TopologicalSpace (TotalSpace E₂)] [∀ x, TopologicalSpace (E₂ x)]
+ [_i₁ : ∀ x, TopologicalAddGroup (E₂ x)] [_i₂ : ∀ x, ContinuousSMul 𝕜 (E₂ x)] {EB : Type _}
+ [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type _} [TopologicalSpace HB]
+ (IB : ModelWithCorners 𝕜 EB HB) [TopologicalSpace B] [ChartedSpace HB B] {EM : Type _}
+ [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type _} [TopologicalSpace HM]
+ {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M]
[Is : SmoothManifoldWithCorners IM M] {n : ℕ∞} [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁]
[FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {e₁ e₁' : Trivialization F₁ (π E₁)}
{e₂ e₂' : Trivialization F₂ (π E₂)}
@@ -64,10 +65,11 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
· intro b hb; ext (L v)
simp only [continuous_linear_map_coord_change, ContinuousLinearEquiv.coe_coe,
ContinuousLinearEquiv.arrowCongrSL_apply, comp_apply, Function.comp, compL_apply, flip_apply,
- ContinuousLinearEquiv.symm_symm]
+ ContinuousLinearEquiv.symm_symm, LinearEquiv.toFun_eq_coe,
+ ContinuousLinearEquiv.arrowCongrₛₗ_apply, ContinuousLinearMap.coe_comp']
#align smooth_on_continuous_linear_map_coord_change smoothOn_continuousLinearMapCoordChange
-variable [∀ x, ContinuousAdd (E₂ x)] [∀ x, ContinuousSMul 𝕜 (E₂ x)]
+include _i₁ _i₂
theorem hom_chart (y₀ y : LE₁E₂) :
chartAt (ModelProd HB (F₁ →L[𝕜] F₂)) y₀ y =
@@ -110,16 +112,6 @@ instance Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth :
continuous_linear_map_coord_change_apply (RingHom.id 𝕜) e₁ e₁' e₂ e₂'⟩
#align bundle.continuous_linear_map.vector_prebundle.is_smooth Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth
-/-- Todo: remove this definition. It is probably needed because of the type-class pi bug
-https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/vector.20bundles.20--.20typeclass.20inference.20issue
--/
-@[reducible]
-def SmoothVectorBundle.ContinuousLinearMap.aux (x) :
- TopologicalSpace (Bundle.ContinuousLinearMap (RingHom.id 𝕜) F₁ E₁ F₂ E₂ x) := by infer_instance
-#align smooth_vector_bundle.continuous_linear_map.aux SmoothVectorBundle.ContinuousLinearMap.aux
-
-attribute [local instance 1] SmoothVectorBundle.ContinuousLinearMap.aux
-
instance SmoothVectorBundle.continuousLinearMap :
SmoothVectorBundle (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) F₁ E₁ F₂ E₂) IB :=
(Bundle.ContinuousLinearMap.vectorPrebundle (RingHom.id 𝕜) F₁ E₁ F₂ E₂).SmoothVectorBundle IB
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -25,7 +25,7 @@ noncomputable section
open Bundle Set LocalHomeomorph ContinuousLinearMap Pretrivialization
-open Manifold Bundle
+open scoped Manifold Bundle
variable {𝕜 B F F₁ F₂ M M₁ M₂ : Type _} {E : B → Type _} {E₁ : B → Type _} {E₂ : B → Type _}
[NontriviallyNormedField 𝕜] [∀ x, AddCommMonoid (E x)] [∀ x, Module 𝕜 (E x)]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -61,8 +61,7 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
refine' ((h₁.comp_smooth_on (h₄.mono _)).clm_comp (h₂.comp_smooth_on (h₃.mono _))).congr _
· mfld_set_tac
· mfld_set_tac
- · intro b hb
- ext (L v)
+ · intro b hb; ext (L v)
simp only [continuous_linear_map_coord_change, ContinuousLinearEquiv.coe_coe,
ContinuousLinearEquiv.arrowCongrSL_apply, comp_apply, Function.comp, compL_apply, flip_apply,
ContinuousLinearEquiv.symm_symm]
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
slow / slower
porting notes (#11084)
Classifies by adding issue number #11083 to porting notes claiming anything semantically equivalent to:
attribute
because it caused extremely slow tactic
"@@ -40,7 +40,7 @@ variable {𝕜 B F₁ F₂ M : Type*} {E₁ : B → Type*} {E₂ : B → Type*}
local notation "LE₁E₂" => TotalSpace (F₁ →L[𝕜] F₂) (Bundle.ContinuousLinearMap (RingHom.id 𝕜) E₁ E₂)
--- Porting note: moved slow parts to separate lemmas
+-- Porting note (#11083): moved slow parts to separate lemmas
theorem smoothOn_continuousLinearMapCoordChange
[SmoothVectorBundle F₁ E₁ IB] [SmoothVectorBundle F₂ E₂ IB] [MemTrivializationAtlas e₁]
[MemTrivializationAtlas e₁'] [MemTrivializationAtlas e₂] [MemTrivializationAtlas e₂'] :
LocalHomeomorph
evokes a "local homeomorphism": this is not what this means.
Instead, this is a homeomorphism on an open set of the domain (extended to the whole space, by the junk value pattern). Hence, partial homeomorphism is more appropriate, and avoids confusion with IsLocallyHomeomorph
.
A future PR will rename LocalEquiv
to PartialEquiv
.
@@ -20,7 +20,7 @@ To do it for semilinear maps, we would need to generalize `ContinuousLinearMap.c
noncomputable section
-open Bundle Set LocalHomeomorph ContinuousLinearMap Pretrivialization
+open Bundle Set PartialHomeomorph ContinuousLinearMap Pretrivialization
open scoped Manifold Bundle
@@ -55,8 +55,9 @@ theorem smoothOn_continuousLinearMapCoordChange
theorem hom_chart (y₀ y : LE₁E₂) :
chartAt (ModelProd HB (F₁ →L[𝕜] F₂)) y₀ y =
(chartAt HB y₀.1 y.1, inCoordinates F₁ E₁ F₂ E₂ y₀.1 y.1 y₀.1 y.1 y.2) := by
- rw [FiberBundle.chartedSpace_chartAt, trans_apply, LocalHomeomorph.prod_apply,
- Trivialization.coe_coe, LocalHomeomorph.refl_apply, Function.id_def, hom_trivializationAt_apply]
+ rw [FiberBundle.chartedSpace_chartAt, trans_apply, PartialHomeomorph.prod_apply,
+ Trivialization.coe_coe, PartialHomeomorph.refl_apply, Function.id_def,
+ hom_trivializationAt_apply]
#align hom_chart hom_chart
variable {IB}
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -24,15 +24,15 @@ open Bundle Set LocalHomeomorph ContinuousLinearMap Pretrivialization
open scoped Manifold Bundle
-variable {𝕜 B F₁ F₂ M : Type _} {E₁ : B → Type _} {E₂ : B → Type _} [NontriviallyNormedField 𝕜]
+variable {𝕜 B F₁ F₂ M : Type*} {E₁ : B → Type*} {E₂ : B → Type*} [NontriviallyNormedField 𝕜]
[∀ x, AddCommGroup (E₁ x)] [∀ x, Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁]
[TopologicalSpace (TotalSpace F₁ E₁)] [∀ x, TopologicalSpace (E₁ x)] [∀ x, AddCommGroup (E₂ x)]
[∀ x, Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂]
[TopologicalSpace (TotalSpace F₂ E₂)] [∀ x, TopologicalSpace (E₂ x)]
- [∀ x, TopologicalAddGroup (E₂ x)] [∀ x, ContinuousSMul 𝕜 (E₂ x)] {EB : Type _}
- [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type _} [TopologicalSpace HB]
- (IB : ModelWithCorners 𝕜 EB HB) [TopologicalSpace B] [ChartedSpace HB B] {EM : Type _}
- [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type _} [TopologicalSpace HM]
+ [∀ x, TopologicalAddGroup (E₂ x)] [∀ x, ContinuousSMul 𝕜 (E₂ x)] {EB : Type*}
+ [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type*} [TopologicalSpace HB]
+ (IB : ModelWithCorners 𝕜 EB HB) [TopologicalSpace B] [ChartedSpace HB B] {EM : Type*}
+ [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type*} [TopologicalSpace HM]
{IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M]
[SmoothManifoldWithCorners IM M] {n : ℕ∞} [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁]
[FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {e₁ e₁' : Trivialization F₁ (π F₁ E₁)}
@@ -2,15 +2,12 @@
Copyright (c) 2022 Floris van Doorn. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
-
-! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit 8905e5ed90859939681a725b00f6063e65096d95
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Geometry.Manifold.VectorBundle.Basic
import Mathlib.Topology.VectorBundle.Hom
+#align_import geometry.manifold.vector_bundle.hom from "leanprover-community/mathlib"@"8905e5ed90859939681a725b00f6063e65096d95"
+
/-! # Homs of smooth vector bundles over the same base space
Here we show that `Bundle.ContinuousLinearMap` is a smooth vector bundle.
The changed proof was rewritten completely.
There appears to have been a race between #5791 and #5727 that caused the commit hash to be out of date.
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
-! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
+! leanprover-community/mathlib commit 8905e5ed90859939681a725b00f6063e65096d95
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file