geometry.manifold.vector_bundle.smooth_section
⟷
Mathlib.Geometry.Manifold.VectorBundle.SmoothSection
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)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright © 2023 Heather Macbeth. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Heather Macbeth, Floris van Doorn
-/
-import Geometry.Manifold.ContMdiffMfderiv
+import Geometry.Manifold.ContMDiffMFDeriv
import Topology.ContinuousFunction.Basic
import Geometry.Manifold.Algebra.LieGroup
@@ -255,7 +255,7 @@ theorem coe_nsmul (s : Cₛ^n⟮I; F, V⟯) (k : ℕ) : ⇑(k • s : Cₛ^n⟮I
by
induction' k with k ih
· simp_rw [zero_smul]; rfl
- simp_rw [succ_nsmul, ← ih]; rfl
+ simp_rw [succ_nsmul', ← ih]; rfl
#align cont_mdiff_section.coe_nsmul ContMDiffSection.coe_nsmul
-/
@@ -271,7 +271,7 @@ theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I
by
cases' z with n n
refine' (coe_nsmul s n).trans _
- simp only [Int.ofNat_eq_coe, coe_nat_zsmul]
+ simp only [Int.ofNat_eq_coe, natCast_zsmul]
refine' (congr_arg Neg.neg (coe_nsmul s (n + 1))).trans _
simp only [negSucc_zsmul, neg_inj]
#align cont_mdiff_section.coe_zsmul ContMDiffSection.coe_zsmul
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright © 2023 Heather Macbeth. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Heather Macbeth, Floris van Doorn
-/
-import Mathbin.Geometry.Manifold.ContMdiffMfderiv
-import Mathbin.Topology.ContinuousFunction.Basic
-import Mathbin.Geometry.Manifold.Algebra.LieGroup
+import Geometry.Manifold.ContMdiffMfderiv
+import Topology.ContinuousFunction.Basic
+import Geometry.Manifold.Algebra.LieGroup
#align_import geometry.manifold.vector_bundle.smooth_section from "leanprover-community/mathlib"@"1a51edf13debfcbe223fa06b1cb353b9ed9751cc"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -133,8 +133,8 @@ theorem ext (h : ∀ x, s x = t x) : s = t := by cases s <;> cases t <;> congr <
#align cont_mdiff_section.ext ContMDiffSection.ext
-/
-#print ContMDiffSection.hasAdd /-
-instance hasAdd : Add Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instAdd /-
+instance instAdd : Add Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun s t => ⟨s + t, _⟩⟩
intro x₀
@@ -146,7 +146,7 @@ instance hasAdd : Add Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).1
-#align cont_mdiff_section.has_add ContMDiffSection.hasAdd
+#align cont_mdiff_section.has_add ContMDiffSection.instAdd
-/
#print ContMDiffSection.coe_add /-
@@ -156,8 +156,8 @@ theorem coe_add (s t : Cₛ^n⟮I; F, V⟯) : ⇑(s + t) = s + t :=
#align cont_mdiff_section.coe_add ContMDiffSection.coe_add
-/
-#print ContMDiffSection.hasSub /-
-instance hasSub : Sub Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instSub /-
+instance instSub : Sub Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun s t => ⟨s - t, _⟩⟩
intro x₀
@@ -169,7 +169,7 @@ instance hasSub : Sub Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).map_sub
-#align cont_mdiff_section.has_sub ContMDiffSection.hasSub
+#align cont_mdiff_section.has_sub ContMDiffSection.instSub
-/
#print ContMDiffSection.coe_sub /-
@@ -179,10 +179,10 @@ theorem coe_sub (s t : Cₛ^n⟮I; F, V⟯) : ⇑(s - t) = s - t :=
#align cont_mdiff_section.coe_sub ContMDiffSection.coe_sub
-/
-#print ContMDiffSection.hasZero /-
-instance hasZero : Zero Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instZero /-
+instance instZero : Zero Cₛ^n⟮I; F, V⟯ :=
⟨⟨fun x => 0, (smooth_zeroSection 𝕜 V).of_le le_top⟩⟩
-#align cont_mdiff_section.has_zero ContMDiffSection.hasZero
+#align cont_mdiff_section.has_zero ContMDiffSection.instZero
-/
#print ContMDiffSection.inhabited /-
@@ -198,8 +198,8 @@ theorem coe_zero : ⇑(0 : Cₛ^n⟮I; F, V⟯) = 0 :=
#align cont_mdiff_section.coe_zero ContMDiffSection.coe_zero
-/
-#print ContMDiffSection.hasSmul /-
-instance hasSmul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instSMul /-
+instance instSMul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun c s => ⟨c • s, _⟩⟩
intro x₀
@@ -211,7 +211,7 @@ instance hasSmul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).2
-#align cont_mdiff_section.has_smul ContMDiffSection.hasSmul
+#align cont_mdiff_section.has_smul ContMDiffSection.instSMul
-/
#print ContMDiffSection.coe_smul /-
@@ -221,8 +221,8 @@ theorem coe_smul (r : 𝕜) (s : Cₛ^n⟮I; F, V⟯) : ⇑(r • s : Cₛ^n⟮I
#align cont_mdiff_section.coe_smul ContMDiffSection.coe_smul
-/
-#print ContMDiffSection.hasNeg /-
-instance hasNeg : Neg Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instNeg /-
+instance instNeg : Neg Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun s => ⟨-s, _⟩⟩
intro x₀
@@ -233,7 +233,7 @@ instance hasNeg : Neg Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).map_neg
-#align cont_mdiff_section.has_neg ContMDiffSection.hasNeg
+#align cont_mdiff_section.has_neg ContMDiffSection.instNeg
-/
#print ContMDiffSection.coe_neg /-
@@ -243,10 +243,10 @@ theorem coe_neg (s : Cₛ^n⟮I; F, V⟯) : ⇑(-s : Cₛ^n⟮I; F, V⟯) = -s :
#align cont_mdiff_section.coe_neg ContMDiffSection.coe_neg
-/
-#print ContMDiffSection.hasNsmul /-
-instance hasNsmul : SMul ℕ Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instNSMul /-
+instance instNSMul : SMul ℕ Cₛ^n⟮I; F, V⟯ :=
⟨nsmulRec⟩
-#align cont_mdiff_section.has_nsmul ContMDiffSection.hasNsmul
+#align cont_mdiff_section.has_nsmul ContMDiffSection.instNSMul
-/
#print ContMDiffSection.coe_nsmul /-
@@ -259,10 +259,10 @@ theorem coe_nsmul (s : Cₛ^n⟮I; F, V⟯) (k : ℕ) : ⇑(k • s : Cₛ^n⟮I
#align cont_mdiff_section.coe_nsmul ContMDiffSection.coe_nsmul
-/
-#print ContMDiffSection.hasZsmul /-
-instance hasZsmul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instZSMul /-
+instance instZSMul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
⟨zsmulRec⟩
-#align cont_mdiff_section.has_zsmul ContMDiffSection.hasZsmul
+#align cont_mdiff_section.has_zsmul ContMDiffSection.instZSMul
-/
#print ContMDiffSection.coe_zsmul /-
@@ -277,10 +277,10 @@ theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I
#align cont_mdiff_section.coe_zsmul ContMDiffSection.coe_zsmul
-/
-#print ContMDiffSection.addCommGroup /-
-instance addCommGroup : AddCommGroup Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instAddCommGroup /-
+instance instAddCommGroup : AddCommGroup Cₛ^n⟮I; F, V⟯ :=
coe_injective.AddCommGroup _ coe_zero coe_add coe_neg coe_sub coe_nsmul coe_zsmul
-#align cont_mdiff_section.add_comm_group ContMDiffSection.addCommGroup
+#align cont_mdiff_section.add_comm_group ContMDiffSection.instAddCommGroup
-/
variable (I F V n)
@@ -297,10 +297,10 @@ def coeAddHom : Cₛ^n⟮I; F, V⟯ →+ ∀ x, V x
variable {I F V n}
-#print ContMDiffSection.module /-
-instance module : Module 𝕜 Cₛ^n⟮I; F, V⟯ :=
+#print ContMDiffSection.instModule /-
+instance instModule : Module 𝕜 Cₛ^n⟮I; F, V⟯ :=
coe_injective.Module 𝕜 (coeAddHom I F n V) coe_smul
-#align cont_mdiff_section.module ContMDiffSection.module
+#align cont_mdiff_section.module ContMDiffSection.instModule
-/
end ContMDiffSection
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright © 2023 Heather Macbeth. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Heather Macbeth, Floris van Doorn
-
-! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.smooth_section
-! leanprover-community/mathlib commit 1a51edf13debfcbe223fa06b1cb353b9ed9751cc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Geometry.Manifold.ContMdiffMfderiv
import Mathbin.Topology.ContinuousFunction.Basic
import Mathbin.Geometry.Manifold.Algebra.LieGroup
+#align_import geometry.manifold.vector_bundle.smooth_section from "leanprover-community/mathlib"@"1a51edf13debfcbe223fa06b1cb353b9ed9751cc"
+
/-!
# Smooth sections
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a51edf13debfcbe223fa06b1cb353b9ed9751cc
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Heather Macbeth, Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.smooth_section
-! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
+! leanprover-community/mathlib commit 1a51edf13debfcbe223fa06b1cb353b9ed9751cc
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Geometry.Manifold.Algebra.LieGroup
/-!
# Smooth sections
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
In this file we define the type `cont_mdiff_section` of `n` times continuously differentiable
sections of a smooth vector bundle over a manifold `M` and prove that it's a module.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/5dc6092d09e5e489106865241986f7f2ad28d4c8
@@ -43,74 +43,97 @@ variable (F : Type _) [NormedAddCommGroup F] [NormedSpace 𝕜 F]
variable [∀ x : M, TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V]
[SmoothVectorBundle F V I]
+#print ContMDiffSection /-
/-- Bundled `n` times continuously differentiable sections of a vector bundle. -/
@[protect_proj]
-structure ContMdiffSection where
+structure ContMDiffSection where
toFun : ∀ x, V x
contMDiff_toFun : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => (total_space.mk' F) x (to_fun x)
-#align cont_mdiff_section ContMdiffSection
+#align cont_mdiff_section ContMDiffSection
+-/
+#print SmoothSection /-
/-- Bundled smooth sections of a vector bundle. -/
@[reducible]
def SmoothSection :=
- ContMdiffSection I F ⊤ V
+ ContMDiffSection I F ⊤ V
#align smooth_section SmoothSection
+-/
-scoped[Manifold] notation "Cₛ^" n "⟮" I "; " F ", " V "⟯" => ContMdiffSection I F n V
+scoped[Manifold] notation "Cₛ^" n "⟮" I "; " F ", " V "⟯" => ContMDiffSection I F n V
-namespace ContMdiffSection
+namespace ContMDiffSection
variable {I} {I'} {n} {F} {V}
instance : CoeFun Cₛ^n⟮I; F, V⟯ fun s => ∀ x, V x :=
- ⟨ContMdiffSection.toFun⟩
+ ⟨ContMDiffSection.toFun⟩
variable {s t : Cₛ^n⟮I; F, V⟯}
+#print ContMDiffSection.coeFn_mk /-
@[simp]
theorem coeFn_mk (s : ∀ x, V x)
(hs : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => TotalSpace.mk x (s x)) :
(mk s hs : ∀ x, V x) = s :=
rfl
-#align cont_mdiff_section.coe_fn_mk ContMdiffSection.coeFn_mk
+#align cont_mdiff_section.coe_fn_mk ContMDiffSection.coeFn_mk
+-/
+#print ContMDiffSection.contMDiff /-
protected theorem contMDiff (s : Cₛ^n⟮I; F, V⟯) :
ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => (total_space.mk' F) x (s x : V x) :=
s.contMDiff_toFun
-#align cont_mdiff_section.cont_mdiff ContMdiffSection.contMDiff
+#align cont_mdiff_section.cont_mdiff ContMDiffSection.contMDiff
+-/
+#print ContMDiffSection.smooth /-
protected theorem smooth (s : Cₛ^∞⟮I; F, V⟯) :
Smooth I (I.Prod 𝓘(𝕜, F)) fun x => (total_space.mk' F) x (s x : V x) :=
s.contMDiff_toFun
-#align cont_mdiff_section.smooth ContMdiffSection.smooth
+#align cont_mdiff_section.smooth ContMDiffSection.smooth
+-/
+#print ContMDiffSection.mdifferentiable' /-
protected theorem mdifferentiable' (s : Cₛ^n⟮I; F, V⟯) (hn : 1 ≤ n) :
MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => (total_space.mk' F) x (s x : V x) :=
s.ContMDiff.MDifferentiable hn
-#align cont_mdiff_section.mdifferentiable' ContMdiffSection.mdifferentiable'
+#align cont_mdiff_section.mdifferentiable' ContMDiffSection.mdifferentiable'
+-/
-protected theorem mDifferentiable (s : Cₛ^∞⟮I; F, V⟯) :
+#print ContMDiffSection.mdifferentiable /-
+protected theorem mdifferentiable (s : Cₛ^∞⟮I; F, V⟯) :
MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => (total_space.mk' F) x (s x : V x) :=
s.ContMDiff.MDifferentiable le_top
-#align cont_mdiff_section.mdifferentiable ContMdiffSection.mDifferentiable
+#align cont_mdiff_section.mdifferentiable ContMDiffSection.mdifferentiable
+-/
-protected theorem mDifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
+#print ContMDiffSection.mdifferentiableAt /-
+protected theorem mdifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
MDifferentiableAt I (I.Prod 𝓘(𝕜, F)) (fun x => (total_space.mk' F) x (s x : V x)) x :=
s.MDifferentiable x
-#align cont_mdiff_section.mdifferentiable_at ContMdiffSection.mDifferentiableAt
+#align cont_mdiff_section.mdifferentiable_at ContMDiffSection.mdifferentiableAt
+-/
+#print ContMDiffSection.coe_inj /-
theorem coe_inj ⦃s t : Cₛ^n⟮I; F, V⟯⦄ (h : (s : ∀ x, V x) = t) : s = t := by
cases s <;> cases t <;> cases h <;> rfl
-#align cont_mdiff_section.coe_inj ContMdiffSection.coe_inj
+#align cont_mdiff_section.coe_inj ContMDiffSection.coe_inj
+-/
+#print ContMDiffSection.coe_injective /-
theorem coe_injective : Injective (coeFn : Cₛ^n⟮I; F, V⟯ → ∀ x, V x) :=
coe_inj
-#align cont_mdiff_section.coe_injective ContMdiffSection.coe_injective
+#align cont_mdiff_section.coe_injective ContMDiffSection.coe_injective
+-/
+#print ContMDiffSection.ext /-
@[ext]
theorem ext (h : ∀ x, s x = t x) : s = t := by cases s <;> cases t <;> congr <;> exact funext h
-#align cont_mdiff_section.ext ContMdiffSection.ext
+#align cont_mdiff_section.ext ContMDiffSection.ext
+-/
+#print ContMDiffSection.hasAdd /-
instance hasAdd : Add Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun s t => ⟨s + t, _⟩⟩
@@ -123,13 +146,17 @@ instance hasAdd : Add Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).1
-#align cont_mdiff_section.has_add ContMdiffSection.hasAdd
+#align cont_mdiff_section.has_add ContMDiffSection.hasAdd
+-/
+#print ContMDiffSection.coe_add /-
@[simp]
theorem coe_add (s t : Cₛ^n⟮I; F, V⟯) : ⇑(s + t) = s + t :=
rfl
-#align cont_mdiff_section.coe_add ContMdiffSection.coe_add
+#align cont_mdiff_section.coe_add ContMDiffSection.coe_add
+-/
+#print ContMDiffSection.hasSub /-
instance hasSub : Sub Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun s t => ⟨s - t, _⟩⟩
@@ -142,26 +169,36 @@ instance hasSub : Sub Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).map_sub
-#align cont_mdiff_section.has_sub ContMdiffSection.hasSub
+#align cont_mdiff_section.has_sub ContMDiffSection.hasSub
+-/
+#print ContMDiffSection.coe_sub /-
@[simp]
theorem coe_sub (s t : Cₛ^n⟮I; F, V⟯) : ⇑(s - t) = s - t :=
rfl
-#align cont_mdiff_section.coe_sub ContMdiffSection.coe_sub
+#align cont_mdiff_section.coe_sub ContMDiffSection.coe_sub
+-/
+#print ContMDiffSection.hasZero /-
instance hasZero : Zero Cₛ^n⟮I; F, V⟯ :=
⟨⟨fun x => 0, (smooth_zeroSection 𝕜 V).of_le le_top⟩⟩
-#align cont_mdiff_section.has_zero ContMdiffSection.hasZero
+#align cont_mdiff_section.has_zero ContMDiffSection.hasZero
+-/
+#print ContMDiffSection.inhabited /-
instance inhabited : Inhabited Cₛ^n⟮I; F, V⟯ :=
⟨0⟩
-#align cont_mdiff_section.inhabited ContMdiffSection.inhabited
+#align cont_mdiff_section.inhabited ContMDiffSection.inhabited
+-/
+#print ContMDiffSection.coe_zero /-
@[simp]
theorem coe_zero : ⇑(0 : Cₛ^n⟮I; F, V⟯) = 0 :=
rfl
-#align cont_mdiff_section.coe_zero ContMdiffSection.coe_zero
+#align cont_mdiff_section.coe_zero ContMDiffSection.coe_zero
+-/
+#print ContMDiffSection.hasSmul /-
instance hasSmul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun c s => ⟨c • s, _⟩⟩
@@ -174,13 +211,17 @@ instance hasSmul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).2
-#align cont_mdiff_section.has_smul ContMdiffSection.hasSmul
+#align cont_mdiff_section.has_smul ContMDiffSection.hasSmul
+-/
+#print ContMDiffSection.coe_smul /-
@[simp]
theorem coe_smul (r : 𝕜) (s : Cₛ^n⟮I; F, V⟯) : ⇑(r • s : Cₛ^n⟮I; F, V⟯) = r • s :=
rfl
-#align cont_mdiff_section.coe_smul ContMdiffSection.coe_smul
+#align cont_mdiff_section.coe_smul ContMDiffSection.coe_smul
+-/
+#print ContMDiffSection.hasNeg /-
instance hasNeg : Neg Cₛ^n⟮I; F, V⟯ :=
by
refine' ⟨fun s => ⟨-s, _⟩⟩
@@ -192,29 +233,39 @@ instance hasNeg : Neg Cₛ^n⟮I; F, V⟯ :=
refine' eventually_of_mem (e.open_base_set.mem_nhds <| mem_base_set_trivialization_at F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).map_neg
-#align cont_mdiff_section.has_neg ContMdiffSection.hasNeg
+#align cont_mdiff_section.has_neg ContMDiffSection.hasNeg
+-/
+#print ContMDiffSection.coe_neg /-
@[simp]
theorem coe_neg (s : Cₛ^n⟮I; F, V⟯) : ⇑(-s : Cₛ^n⟮I; F, V⟯) = -s :=
rfl
-#align cont_mdiff_section.coe_neg ContMdiffSection.coe_neg
+#align cont_mdiff_section.coe_neg ContMDiffSection.coe_neg
+-/
+#print ContMDiffSection.hasNsmul /-
instance hasNsmul : SMul ℕ Cₛ^n⟮I; F, V⟯ :=
⟨nsmulRec⟩
-#align cont_mdiff_section.has_nsmul ContMdiffSection.hasNsmul
+#align cont_mdiff_section.has_nsmul ContMDiffSection.hasNsmul
+-/
+#print ContMDiffSection.coe_nsmul /-
@[simp]
theorem coe_nsmul (s : Cₛ^n⟮I; F, V⟯) (k : ℕ) : ⇑(k • s : Cₛ^n⟮I; F, V⟯) = k • s :=
by
induction' k with k ih
· simp_rw [zero_smul]; rfl
simp_rw [succ_nsmul, ← ih]; rfl
-#align cont_mdiff_section.coe_nsmul ContMdiffSection.coe_nsmul
+#align cont_mdiff_section.coe_nsmul ContMDiffSection.coe_nsmul
+-/
+#print ContMDiffSection.hasZsmul /-
instance hasZsmul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
⟨zsmulRec⟩
-#align cont_mdiff_section.has_zsmul ContMdiffSection.hasZsmul
+#align cont_mdiff_section.has_zsmul ContMDiffSection.hasZsmul
+-/
+#print ContMDiffSection.coe_zsmul /-
@[simp]
theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I; F, V⟯) = z • s :=
by
@@ -223,27 +274,34 @@ theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I
simp only [Int.ofNat_eq_coe, coe_nat_zsmul]
refine' (congr_arg Neg.neg (coe_nsmul s (n + 1))).trans _
simp only [negSucc_zsmul, neg_inj]
-#align cont_mdiff_section.coe_zsmul ContMdiffSection.coe_zsmul
+#align cont_mdiff_section.coe_zsmul ContMDiffSection.coe_zsmul
+-/
+#print ContMDiffSection.addCommGroup /-
instance addCommGroup : AddCommGroup Cₛ^n⟮I; F, V⟯ :=
coe_injective.AddCommGroup _ coe_zero coe_add coe_neg coe_sub coe_nsmul coe_zsmul
-#align cont_mdiff_section.add_comm_group ContMdiffSection.addCommGroup
+#align cont_mdiff_section.add_comm_group ContMDiffSection.addCommGroup
+-/
variable (I F V n)
+#print ContMDiffSection.coeAddHom /-
/-- The additive morphism from smooth sections to dependent maps. -/
def coeAddHom : Cₛ^n⟮I; F, V⟯ →+ ∀ x, V x
where
toFun := coeFn
map_zero' := coe_zero
map_add' := coe_add
-#align cont_mdiff_section.coe_add_hom ContMdiffSection.coeAddHom
+#align cont_mdiff_section.coe_add_hom ContMDiffSection.coeAddHom
+-/
variable {I F V n}
+#print ContMDiffSection.module /-
instance module : Module 𝕜 Cₛ^n⟮I; F, V⟯ :=
coe_injective.Module 𝕜 (coeAddHom I F n V) coe_smul
-#align cont_mdiff_section.module ContMdiffSection.module
+#align cont_mdiff_section.module ContMDiffSection.module
+-/
-end ContMdiffSection
+end ContMDiffSection
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: Heather Macbeth, Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.smooth_section
-! leanprover-community/mathlib commit f9ec187127cc5b381dfcf5f4a22dacca4c20b63d
+! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -22,7 +22,7 @@ sections of a smooth vector bundle over a manifold `M` and prove that it's a mod
open Bundle Filter Function
-open scoped Manifold
+open scoped Bundle Manifold
variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddCommGroup E]
[NormedSpace 𝕜 E] {E' : Type _} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {H : Type _}
@@ -35,7 +35,7 @@ variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddC
variable (F : Type _) [NormedAddCommGroup F] [NormedSpace 𝕜 F]
-- `F` model fiber
(n : ℕ∞)
- (V : M → Type _) [TopologicalSpace (TotalSpace V)]
+ (V : M → Type _) [TopologicalSpace (TotalSpace F V)]
-- `V` vector bundle
[∀ x, AddCommGroup (V x)]
[∀ x, Module 𝕜 (V x)]
@@ -47,7 +47,7 @@ variable [∀ x : M, TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle
@[protect_proj]
structure ContMdiffSection where
toFun : ∀ x, V x
- contMDiff_toFun : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (to_fun x)
+ contMDiff_toFun : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => (total_space.mk' F) x (to_fun x)
#align cont_mdiff_section ContMdiffSection
/-- Bundled smooth sections of a vector bundle. -/
@@ -69,33 +69,33 @@ variable {s t : Cₛ^n⟮I; F, V⟯}
@[simp]
theorem coeFn_mk (s : ∀ x, V x)
- (hs : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (s x)) :
+ (hs : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => TotalSpace.mk x (s x)) :
(mk s hs : ∀ x, V x) = s :=
rfl
#align cont_mdiff_section.coe_fn_mk ContMdiffSection.coeFn_mk
protected theorem contMDiff (s : Cₛ^n⟮I; F, V⟯) :
- ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (s x : V x) :=
+ ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => (total_space.mk' F) x (s x : V x) :=
s.contMDiff_toFun
#align cont_mdiff_section.cont_mdiff ContMdiffSection.contMDiff
protected theorem smooth (s : Cₛ^∞⟮I; F, V⟯) :
- Smooth I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
+ Smooth I (I.Prod 𝓘(𝕜, F)) fun x => (total_space.mk' F) x (s x : V x) :=
s.contMDiff_toFun
#align cont_mdiff_section.smooth ContMdiffSection.smooth
protected theorem mdifferentiable' (s : Cₛ^n⟮I; F, V⟯) (hn : 1 ≤ n) :
- MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
+ MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => (total_space.mk' F) x (s x : V x) :=
s.ContMDiff.MDifferentiable hn
#align cont_mdiff_section.mdifferentiable' ContMdiffSection.mdifferentiable'
protected theorem mDifferentiable (s : Cₛ^∞⟮I; F, V⟯) :
- MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
+ MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => (total_space.mk' F) x (s x : V x) :=
s.ContMDiff.MDifferentiable le_top
#align cont_mdiff_section.mdifferentiable ContMdiffSection.mDifferentiable
protected theorem mDifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
- MDifferentiableAt I (I.Prod 𝓘(𝕜, F)) (fun x => totalSpaceMk x (s x : V x)) x :=
+ MDifferentiableAt I (I.Prod 𝓘(𝕜, F)) (fun x => (total_space.mk' F) x (s x : V x)) x :=
s.MDifferentiable x
#align cont_mdiff_section.mdifferentiable_at ContMdiffSection.mDifferentiableAt
mathlib commit https://github.com/leanprover-community/mathlib/commit/fdc286cc6967a012f41b87f76dcd2797b53152af
@@ -85,19 +85,19 @@ protected theorem smooth (s : Cₛ^∞⟮I; F, V⟯) :
#align cont_mdiff_section.smooth ContMdiffSection.smooth
protected theorem mdifferentiable' (s : Cₛ^n⟮I; F, V⟯) (hn : 1 ≤ n) :
- Mdifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
- s.ContMDiff.Mdifferentiable hn
+ MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
+ s.ContMDiff.MDifferentiable hn
#align cont_mdiff_section.mdifferentiable' ContMdiffSection.mdifferentiable'
-protected theorem mdifferentiable (s : Cₛ^∞⟮I; F, V⟯) :
- Mdifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
- s.ContMDiff.Mdifferentiable le_top
-#align cont_mdiff_section.mdifferentiable ContMdiffSection.mdifferentiable
+protected theorem mDifferentiable (s : Cₛ^∞⟮I; F, V⟯) :
+ MDifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
+ s.ContMDiff.MDifferentiable le_top
+#align cont_mdiff_section.mdifferentiable ContMdiffSection.mDifferentiable
-protected theorem mdifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
- MdifferentiableAt I (I.Prod 𝓘(𝕜, F)) (fun x => totalSpaceMk x (s x : V x)) x :=
- s.Mdifferentiable x
-#align cont_mdiff_section.mdifferentiable_at ContMdiffSection.mdifferentiableAt
+protected theorem mDifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
+ MDifferentiableAt I (I.Prod 𝓘(𝕜, F)) (fun x => totalSpaceMk x (s x : V x)) x :=
+ s.MDifferentiable x
+#align cont_mdiff_section.mdifferentiable_at ContMdiffSection.mDifferentiableAt
theorem coe_inj ⦃s t : Cₛ^n⟮I; F, V⟯⦄ (h : (s : ∀ x, V x) = t) : s = t := by
cases s <;> cases t <;> cases h <;> rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/93f880918cb51905fd51b76add8273cbc27718ab
@@ -47,7 +47,7 @@ variable [∀ x : M, TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle
@[protect_proj]
structure ContMdiffSection where
toFun : ∀ x, V x
- contMdiff_toFun : ContMdiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (to_fun x)
+ contMDiff_toFun : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (to_fun x)
#align cont_mdiff_section ContMdiffSection
/-- Bundled smooth sections of a vector bundle. -/
@@ -69,29 +69,29 @@ variable {s t : Cₛ^n⟮I; F, V⟯}
@[simp]
theorem coeFn_mk (s : ∀ x, V x)
- (hs : ContMdiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (s x)) :
+ (hs : ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (s x)) :
(mk s hs : ∀ x, V x) = s :=
rfl
#align cont_mdiff_section.coe_fn_mk ContMdiffSection.coeFn_mk
-protected theorem contMdiff (s : Cₛ^n⟮I; F, V⟯) :
- ContMdiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (s x : V x) :=
- s.contMdiff_toFun
-#align cont_mdiff_section.cont_mdiff ContMdiffSection.contMdiff
+protected theorem contMDiff (s : Cₛ^n⟮I; F, V⟯) :
+ ContMDiff I (I.Prod 𝓘(𝕜, F)) n fun x => totalSpaceMk x (s x : V x) :=
+ s.contMDiff_toFun
+#align cont_mdiff_section.cont_mdiff ContMdiffSection.contMDiff
protected theorem smooth (s : Cₛ^∞⟮I; F, V⟯) :
Smooth I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
- s.contMdiff_toFun
+ s.contMDiff_toFun
#align cont_mdiff_section.smooth ContMdiffSection.smooth
protected theorem mdifferentiable' (s : Cₛ^n⟮I; F, V⟯) (hn : 1 ≤ n) :
Mdifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
- s.ContMdiff.Mdifferentiable hn
+ s.ContMDiff.Mdifferentiable hn
#align cont_mdiff_section.mdifferentiable' ContMdiffSection.mdifferentiable'
protected theorem mdifferentiable (s : Cₛ^∞⟮I; F, V⟯) :
Mdifferentiable I (I.Prod 𝓘(𝕜, F)) fun x => totalSpaceMk x (s x : V x) :=
- s.ContMdiff.Mdifferentiable le_top
+ s.ContMDiff.Mdifferentiable le_top
#align cont_mdiff_section.mdifferentiable ContMdiffSection.mdifferentiable
protected theorem mdifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
mathlib commit https://github.com/leanprover-community/mathlib/commit/9f55d0d4363ae59948c33864cbc52e0b12e0e8ce
@@ -211,10 +211,10 @@ instance instZSMul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
@[simp]
theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I; F, V⟯) = z • ⇑s := by
cases' z with n n
- refine' (coe_nsmul s n).trans _
- simp only [Int.ofNat_eq_coe, natCast_zsmul]
- refine' (congr_arg Neg.neg (coe_nsmul s (n + 1))).trans _
- simp only [negSucc_zsmul, neg_inj]
+ · refine' (coe_nsmul s n).trans _
+ simp only [Int.ofNat_eq_coe, natCast_zsmul]
+ · refine' (congr_arg Neg.neg (coe_nsmul s (n + 1))).trans _
+ simp only [negSucc_zsmul, neg_inj]
#align cont_mdiff_section.coe_zsmul ContMDiffSection.coe_zsmul
instance instAddCommGroup : AddCommGroup Cₛ^n⟮I; F, V⟯ :=
zpow_coe_nat
to zpow_natCast
(#11528)
... and add a deprecated alias for the old name. This is mostly just me discovering the power of F2
@@ -212,7 +212,7 @@ instance instZSMul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I; F, V⟯) = z • ⇑s := by
cases' z with n n
refine' (coe_nsmul s n).trans _
- simp only [Int.ofNat_eq_coe, coe_nat_zsmul]
+ simp only [Int.ofNat_eq_coe, natCast_zsmul]
refine' (congr_arg Neg.neg (coe_nsmul s (n + 1))).trans _
simp only [negSucc_zsmul, neg_inj]
#align cont_mdiff_section.coe_zsmul ContMDiffSection.coe_zsmul
@[inherit_doc]
on notations (#9942)
Make all the notations that unambiguously should inherit the docstring of their definition actually inherit it.
Also write a few docstrings by hand. I only wrote the ones I was competent to write and which I was sure of. Some docstrings come from mathlib3 as they were lost during the early port.
This PR is only intended as a first pass There are many more docstrings to add.
@@ -53,7 +53,7 @@ def SmoothSection :=
ContMDiffSection I F ⊤ V
#align smooth_section SmoothSection
-scoped[Manifold] notation "Cₛ^" n "⟮" I "; " F ", " V "⟯" => ContMDiffSection I F n V
+@[inherit_doc] scoped[Manifold] notation "Cₛ^" n "⟮" I "; " F ", " V "⟯" => ContMDiffSection I F n V
namespace ContMDiffSection
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -59,7 +59,7 @@ namespace ContMDiffSection
variable {I} {I'} {n} {F} {V}
-instance : FunLike Cₛ^n⟮I; F, V⟯ M V where
+instance : DFunLike Cₛ^n⟮I; F, V⟯ M V where
coe := ContMDiffSection.toFun
coe_injective' := by rintro ⟨⟩ ⟨⟩ h; congr
@@ -98,7 +98,7 @@ protected theorem mdifferentiableAt (s : Cₛ^∞⟮I; F, V⟯) {x} :
#align cont_mdiff_section.mdifferentiable_at ContMDiffSection.mdifferentiableAt
theorem coe_inj ⦃s t : Cₛ^n⟮I; F, V⟯⦄ (h : (s : ∀ x, V x) = t) : s = t :=
- FunLike.ext' h
+ DFunLike.ext' h
#align cont_mdiff_section.coe_inj ContMDiffSection.coe_inj
theorem coe_injective : Injective ((↑) : Cₛ^n⟮I; F, V⟯ → ∀ x, V x) :=
@@ -106,7 +106,7 @@ theorem coe_injective : Injective ((↑) : Cₛ^n⟮I; F, V⟯ → ∀ x, V x) :
#align cont_mdiff_section.coe_injective ContMDiffSection.coe_injective
@[ext]
-theorem ext (h : ∀ x, s x = t x) : s = t := FunLike.ext _ _ h
+theorem ext (h : ∀ x, s x = t x) : s = t := DFunLike.ext _ _ h
#align cont_mdiff_section.ext ContMDiffSection.ext
instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
@@ -3,7 +3,7 @@ Copyright © 2023 Heather Macbeth. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Heather Macbeth, Floris van Doorn
-/
-import Mathlib.Geometry.Manifold.MFDeriv
+import Mathlib.Geometry.Manifold.MFDeriv.Basic
import Mathlib.Topology.ContinuousFunction.Basic
import Mathlib.Geometry.Manifold.Algebra.LieGroup
@@ -109,7 +109,7 @@ theorem coe_injective : Injective ((↑) : Cₛ^n⟮I; F, V⟯ → ∀ x, V x) :
theorem ext (h : ∀ x, s x = t x) : s = t := FunLike.ext _ _ h
#align cont_mdiff_section.ext ContMDiffSection.ext
-instance hasAdd : Add Cₛ^n⟮I; F, V⟯ := by
+instance instAdd : Add Cₛ^n⟮I; F, V⟯ := by
refine' ⟨fun s t => ⟨s + t, _⟩⟩
intro x₀
have hs := s.contMDiff x₀
@@ -120,14 +120,14 @@ instance hasAdd : Add Cₛ^n⟮I; F, V⟯ := by
refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).1
-#align cont_mdiff_section.has_add ContMDiffSection.hasAdd
+#align cont_mdiff_section.has_add ContMDiffSection.instAdd
@[simp]
theorem coe_add (s t : Cₛ^n⟮I; F, V⟯) : ⇑(s + t) = ⇑s + t :=
rfl
#align cont_mdiff_section.coe_add ContMDiffSection.coe_add
-instance hasSub : Sub Cₛ^n⟮I; F, V⟯ := by
+instance instSub : Sub Cₛ^n⟮I; F, V⟯ := by
refine' ⟨fun s t => ⟨s - t, _⟩⟩
intro x₀
have hs := s.contMDiff x₀
@@ -138,16 +138,16 @@ instance hasSub : Sub Cₛ^n⟮I; F, V⟯ := by
refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).map_sub
-#align cont_mdiff_section.has_sub ContMDiffSection.hasSub
+#align cont_mdiff_section.has_sub ContMDiffSection.instSub
@[simp]
theorem coe_sub (s t : Cₛ^n⟮I; F, V⟯) : ⇑(s - t) = s - t :=
rfl
#align cont_mdiff_section.coe_sub ContMDiffSection.coe_sub
-instance hasZero : Zero Cₛ^n⟮I; F, V⟯ :=
+instance instZero : Zero Cₛ^n⟮I; F, V⟯ :=
⟨⟨fun _ => 0, (smooth_zeroSection 𝕜 V).of_le le_top⟩⟩
-#align cont_mdiff_section.has_zero ContMDiffSection.hasZero
+#align cont_mdiff_section.has_zero ContMDiffSection.instZero
instance inhabited : Inhabited Cₛ^n⟮I; F, V⟯ :=
⟨0⟩
@@ -158,7 +158,7 @@ theorem coe_zero : ⇑(0 : Cₛ^n⟮I; F, V⟯) = 0 :=
rfl
#align cont_mdiff_section.coe_zero ContMDiffSection.coe_zero
-instance hasSmul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ := by
+instance instSMul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ := by
refine' ⟨fun c s => ⟨c • ⇑s, _⟩⟩
intro x₀
have hs := s.contMDiff x₀
@@ -169,14 +169,14 @@ instance hasSmul : SMul 𝕜 Cₛ^n⟮I; F, V⟯ := by
refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).2
-#align cont_mdiff_section.has_smul ContMDiffSection.hasSmul
+#align cont_mdiff_section.has_smul ContMDiffSection.instSMul
@[simp]
theorem coe_smul (r : 𝕜) (s : Cₛ^n⟮I; F, V⟯) : ⇑(r • s : Cₛ^n⟮I; F, V⟯) = r • ⇑s :=
rfl
#align cont_mdiff_section.coe_smul ContMDiffSection.coe_smul
-instance hasNeg : Neg Cₛ^n⟮I; F, V⟯ := by
+instance instNeg : Neg Cₛ^n⟮I; F, V⟯ := by
refine' ⟨fun s => ⟨-s, _⟩⟩
intro x₀
have hs := s.contMDiff x₀
@@ -186,16 +186,16 @@ instance hasNeg : Neg Cₛ^n⟮I; F, V⟯ := by
refine' eventually_of_mem (e.open_baseSet.mem_nhds <| mem_baseSet_trivializationAt F V x₀) _
intro x hx
apply (e.linear 𝕜 hx).map_neg
-#align cont_mdiff_section.has_neg ContMDiffSection.hasNeg
+#align cont_mdiff_section.has_neg ContMDiffSection.instNeg
@[simp]
theorem coe_neg (s : Cₛ^n⟮I; F, V⟯) : ⇑(-s : Cₛ^n⟮I; F, V⟯) = -s :=
rfl
#align cont_mdiff_section.coe_neg ContMDiffSection.coe_neg
-instance hasNsmul : SMul ℕ Cₛ^n⟮I; F, V⟯ :=
+instance instNSMul : SMul ℕ Cₛ^n⟮I; F, V⟯ :=
⟨nsmulRec⟩
-#align cont_mdiff_section.has_nsmul ContMDiffSection.hasNsmul
+#align cont_mdiff_section.has_nsmul ContMDiffSection.instNSMul
@[simp]
theorem coe_nsmul (s : Cₛ^n⟮I; F, V⟯) (k : ℕ) : ⇑(k • s : Cₛ^n⟮I; F, V⟯) = k • ⇑s := by
@@ -204,9 +204,9 @@ theorem coe_nsmul (s : Cₛ^n⟮I; F, V⟯) (k : ℕ) : ⇑(k • s : Cₛ^n⟮I
simp_rw [succ_nsmul, ← ih]; rfl
#align cont_mdiff_section.coe_nsmul ContMDiffSection.coe_nsmul
-instance hasZsmul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
+instance instZSMul : SMul ℤ Cₛ^n⟮I; F, V⟯ :=
⟨zsmulRec⟩
-#align cont_mdiff_section.has_zsmul ContMDiffSection.hasZsmul
+#align cont_mdiff_section.has_zsmul ContMDiffSection.instZSMul
@[simp]
theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I; F, V⟯) = z • ⇑s := by
@@ -217,9 +217,9 @@ theorem coe_zsmul (s : Cₛ^n⟮I; F, V⟯) (z : ℤ) : ⇑(z • s : Cₛ^n⟮I
simp only [negSucc_zsmul, neg_inj]
#align cont_mdiff_section.coe_zsmul ContMDiffSection.coe_zsmul
-instance addCommGroup : AddCommGroup Cₛ^n⟮I; F, V⟯ :=
+instance instAddCommGroup : AddCommGroup Cₛ^n⟮I; F, V⟯ :=
coe_injective.addCommGroup _ coe_zero coe_add coe_neg coe_sub coe_nsmul coe_zsmul
-#align cont_mdiff_section.add_comm_group ContMDiffSection.addCommGroup
+#align cont_mdiff_section.add_comm_group ContMDiffSection.instAddCommGroup
variable (I F V n)
@@ -232,9 +232,8 @@ def coeAddHom : Cₛ^n⟮I; F, V⟯ →+ ∀ x, V x where
variable {I F V n}
-instance module : Module 𝕜 Cₛ^n⟮I; F, V⟯ :=
+instance instModule : Module 𝕜 Cₛ^n⟮I; F, V⟯ :=
coe_injective.module 𝕜 (coeAddHom I F n V) coe_smul
-#align cont_mdiff_section.module ContMDiffSection.module
+#align cont_mdiff_section.module ContMDiffSection.instModule
end ContMDiffSection
-
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -21,18 +21,18 @@ open Bundle Filter Function
open scoped Bundle Manifold
-variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddCommGroup E]
- [NormedSpace 𝕜 E] {E' : Type _} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {H : Type _}
- [TopologicalSpace H] {H' : Type _} [TopologicalSpace H'] (I : ModelWithCorners 𝕜 E H)
- (I' : ModelWithCorners 𝕜 E' H') {M : Type _} [TopologicalSpace M] [ChartedSpace H M] {M' : Type _}
- [TopologicalSpace M'] [ChartedSpace H' M'] {E'' : Type _} [NormedAddCommGroup E'']
- [NormedSpace 𝕜 E''] {H'' : Type _} [TopologicalSpace H''] {I'' : ModelWithCorners 𝕜 E'' H''}
- {M'' : Type _} [TopologicalSpace M''] [ChartedSpace H'' M''] [SmoothManifoldWithCorners I M]
-
-variable (F : Type _) [NormedAddCommGroup F] [NormedSpace 𝕜 F]
+variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E]
+ [NormedSpace 𝕜 E] {E' : Type*} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {H : Type*}
+ [TopologicalSpace H] {H' : Type*} [TopologicalSpace H'] (I : ModelWithCorners 𝕜 E H)
+ (I' : ModelWithCorners 𝕜 E' H') {M : Type*} [TopologicalSpace M] [ChartedSpace H M] {M' : Type*}
+ [TopologicalSpace M'] [ChartedSpace H' M'] {E'' : Type*} [NormedAddCommGroup E'']
+ [NormedSpace 𝕜 E''] {H'' : Type*} [TopologicalSpace H''] {I'' : ModelWithCorners 𝕜 E'' H''}
+ {M'' : Type*} [TopologicalSpace M''] [ChartedSpace H'' M''] [SmoothManifoldWithCorners I M]
+
+variable (F : Type*) [NormedAddCommGroup F] [NormedSpace 𝕜 F]
-- `F` model fiber
(n : ℕ∞)
- (V : M → Type _) [TopologicalSpace (TotalSpace F V)]
+ (V : M → Type*) [TopologicalSpace (TotalSpace F V)]
-- `V` vector bundle
[∀ x, AddCommGroup (V x)]
[∀ x, Module 𝕜 (V x)]
@@ -2,16 +2,13 @@
Copyright © 2023 Heather Macbeth. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Heather Macbeth, Floris van Doorn
-
-! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.smooth_section
-! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Geometry.Manifold.MFDeriv
import Mathlib.Topology.ContinuousFunction.Basic
import Mathlib.Geometry.Manifold.Algebra.LieGroup
+#align_import geometry.manifold.vector_bundle.smooth_section from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
+
/-!
# Smooth sections
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