@@ -128,21 +128,6 @@ structure CovariantDerivative where
128128 smul_const_σ : ∀ (X : Π x : M, TangentSpace I x) (σ : Π x : M, V x) (a : 𝕜),
129129 toFun X (a • σ) = a • toFun X σ
130130
131- variable {I F V}
132- /--
133- A covariant derivative ∇ is called of class `C^k` iff,
134- whenever `X` is a `C^k` section and `σ` a `C^{k+1}` section, the result `∇ X σ` is a `C^k` section.
135- This is a class so typeclass inference can deduce this automatically.
136- -/
137- class IsCkConnection (cov : CovariantDerivative I F V) (k : ℕ∞) where
138- regularity : ∀ (X : Π x : M, TangentSpace I x) (σ : Π x : M, V x),
139- ContMDiff I (I.prod 𝓘(𝕜, F)) (k + 1 ) (T% σ) →
140- -- TODO: this condition does not typecheck!
141- -- ContMDiff I I.tangent k (fun x ↦ (X x : TangentBundle I M)) →
142- ContMDiff I (I.prod 𝓘(𝕜, F)) k (T% (cov.toFun X σ))
143-
144- -- future: if g is a C^k metric, the LC connection is of class C^k ?
145-
146131namespace CovariantDerivative
147132
148133attribute [coe] toFun
@@ -152,6 +137,20 @@ instance : CoeFun (CovariantDerivative I F V)
152137 fun _ ↦ (Π x : M, TangentSpace I x) → (Π x : M, V x) → (Π x : M, V x) :=
153138 ⟨fun e ↦ e.toFun⟩
154139
140+ variable {I F V}
141+ /--
142+ A covariant derivative ∇ is called of class `C^k` iff,
143+ whenever `X` is a `C^k` section and `σ` a `C^{k+1}` section, the result `∇ X σ` is a `C^k` section.
144+ This is a class so typeclass inference can deduce this automatically.
145+ -/
146+ class _root_.IsCkConnection (cov : CovariantDerivative I F V) (k : ℕ∞) [IsManifold I 1 M] where
147+ regularity : ∀ {X : Π x : M, TangentSpace I x} {σ : Π x : M, V x},
148+ ContMDiff I (I.prod 𝓘(𝕜, F)) (k + 1 ) (T% σ) → ContMDiff I (I.prod 𝓘(𝕜, E)) k (T% X) →
149+ ContMDiff I (I.prod 𝓘(𝕜, F)) k (T% (cov X σ))
150+
151+ -- future: if g is a C^k metric on a manifold M, the corresponding Levi-Civita connection
152+ -- is of class C^k (up to off-by-one errors)
153+
155154omit [IsManifold I 0 M] [∀ (x : M), IsTopologicalAddGroup (V x)] [∀ (x : M), ContinuousSMul 𝕜 (V x)]
156155 [VectorBundle 𝕜 F V] in
157156@[simp]
@@ -250,30 +249,30 @@ def convexCombination' {ι : Type*} {s : Finset ι} [Nonempty s]
250249omit [IsManifold I 0 M]
251250 [∀ (x : M), IsTopologicalAddGroup (V x)] [∀ (x : M), ContinuousSMul 𝕜 (V x)] in
252251/-- A convex combination of two `C^k` connections is a `C^k` connection. -/
253- lemma convexCombination_isRegular (cov cov' : CovariantDerivative I F V) {f : M → 𝕜} {n : ℕ∞}
254- (hf : ContMDiff I 𝓘(𝕜) n f)
252+ lemma convexCombination_isRegular [IsManifold I 1 M] (cov cov' : CovariantDerivative I F V)
253+ {f : M → 𝕜} {n : ℕ∞} (hf : ContMDiff I 𝓘(𝕜) n f)
255254 (hcov : IsCkConnection cov n) (hcov' : IsCkConnection cov' n) :
256255 IsCkConnection (convexCombination cov cov' f) n where
257- regularity X σ hX /-hσ-/ := by
256+ regularity { X σ} hX hσ := by
258257 apply contMDiff_add_section
259- · exact contMDiff_smul_section hf <| hcov.regularity X σ hX
260- · exact contMDiff_smul_section (contMDiff_const.sub hf) <| hcov'.regularity X σ hX
258+ · exact contMDiff_smul_section hf <| hcov.regularity hX hσ
259+ · exact contMDiff_smul_section (contMDiff_const.sub hf) <| hcov'.regularity hX hσ
261260
262261omit [IsManifold I 0 M]
263262 [∀ (x : M), IsTopologicalAddGroup (V x)] [∀ (x : M), ContinuousSMul 𝕜 (V x)] in
264263/-- A convex combination of finitely many `C^k` connections is a `C^k` connection. -/
265- lemma convexCombination'_isRegular {ι : Type *} {s : Finset ι} [Nonempty s]
264+ lemma convexCombination'_isRegular [IsManifold I 1 M] {ι : Type *} {s : Finset ι} [Nonempty s]
266265 (cov : ι → CovariantDerivative I F V) {f : ι → M → 𝕜} (hf : ∑ i ∈ s, f i = 1 ) {n : ℕ∞}
267266 (hf' : ∀ i ∈ s, ContMDiff I 𝓘(𝕜) n (f i))
268267 (hcov : ∀ i ∈ s, IsCkConnection (cov i) n) :
269268 IsCkConnection (convexCombination' cov hf) n where
270- regularity X σ hX /-hσ-/ := by
269+ regularity { X σ} hX hσ := by
271270 unfold convexCombination'
272271 dsimp
273272 have ms (i) (hi : i ∈ s) : ContMDiff I (I.prod 𝓘(𝕜, F)) n
274273 (T% (f i • (cov i) X σ)) := by
275274 apply contMDiff_smul_section (hf' i hi)
276- exact IsCkConnection.regularity X σ hX (self := hcov i hi)
275+ exact IsCkConnection.regularity hX hσ (self := hcov i hi)
277276 simp only [Finset.sum_apply, Pi.smul_apply']
278277 exact contMDiff_finsum_section (t := fun i ↦ f i • (cov i) X σ) ms
279278
@@ -306,7 +305,7 @@ noncomputable def trivial : CovariantDerivative 𝓘(𝕜, E) E'
306305
307306/-- The trivial connection on the trivial bundle is smooth -/
308307lemma trivial_isSmooth : IsCkConnection (𝕜 := 𝕜) (trivial E E') (⊤ : ℕ∞) where
309- regularity X σ hX /-hσ-/ := by
308+ regularity { X σ} hX hσ := by
310309 -- except for local trivialisations, contDiff_infty_iff_fderiv covers this well
311310 simp only [trivial]
312311 -- use a local trivialisation
0 commit comments