geometry.manifold.cont_mdiff_map
⟷
Mathlib.Geometry.Manifold.ContMDiffMap
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)
(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 © 2020 Nicolò Cavalleri. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
-/
-import Geometry.Manifold.ContMdiff
+import Geometry.Manifold.ContMDiff.Defs
import Topology.ContinuousFunction.Basic
#align_import geometry.manifold.cont_mdiff_map from "leanprover-community/mathlib"@"30faa0c3618ce1472bf6305ae0e3fa56affa3f95"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -57,12 +57,12 @@ namespace ContMDiffMap
variable {I} {I'} {M} {M'} {n}
-#print ContMDiffMap.instDFunLike /-
-instance instDFunLike : DFunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
+#print ContMDiffMap.instFunLike /-
+instance instFunLike : DFunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
where
coe := Subtype.val
coe_injective' := Subtype.coe_injective
-#align cont_mdiff_map.fun_like ContMDiffMap.instDFunLike
+#align cont_mdiff_map.fun_like ContMDiffMap.instFunLike
-/
#print ContMDiffMap.contMDiff /-
@@ -80,7 +80,7 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
⟨fun f => ⟨f, f.ContMDiff.Continuous⟩⟩
-attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instDFunLike
+attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instFunLike
ContMDiffMap.ContinuousMap.hasCoe
variable {f g : C^n⟮I, M; I', M'⟯}
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -57,12 +57,12 @@ namespace ContMDiffMap
variable {I} {I'} {M} {M'} {n}
-#print ContMDiffMap.funLike /-
-instance funLike : FunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
+#print ContMDiffMap.instDFunLike /-
+instance instDFunLike : DFunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
where
coe := Subtype.val
coe_injective' := Subtype.coe_injective
-#align cont_mdiff_map.fun_like ContMDiffMap.funLike
+#align cont_mdiff_map.fun_like ContMDiffMap.instDFunLike
-/
#print ContMDiffMap.contMDiff /-
@@ -80,7 +80,7 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
⟨fun f => ⟨f, f.ContMDiff.Continuous⟩⟩
-attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.funLike
+attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instDFunLike
ContMDiffMap.ContinuousMap.hasCoe
variable {f g : C^n⟮I, M; I', M'⟯}
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright © 2020 Nicolò Cavalleri. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
-/
-import Mathbin.Geometry.Manifold.ContMdiff
-import Mathbin.Topology.ContinuousFunction.Basic
+import Geometry.Manifold.ContMdiff
+import Topology.ContinuousFunction.Basic
#align_import geometry.manifold.cont_mdiff_map from "leanprover-community/mathlib"@"30faa0c3618ce1472bf6305ae0e3fa56affa3f95"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright © 2020 Nicolò Cavalleri. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
-
-! This file was ported from Lean 3 source module geometry.manifold.cont_mdiff_map
-! leanprover-community/mathlib commit 30faa0c3618ce1472bf6305ae0e3fa56affa3f95
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Geometry.Manifold.ContMdiff
import Mathbin.Topology.ContinuousFunction.Basic
+#align_import geometry.manifold.cont_mdiff_map from "leanprover-community/mathlib"@"30faa0c3618ce1472bf6305ae0e3fa56affa3f95"
+
/-!
# Smooth bundled map
mathlib commit https://github.com/leanprover-community/mathlib/commit/8b981918a93bc45a8600de608cde7944a80d92b9
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
! This file was ported from Lean 3 source module geometry.manifold.cont_mdiff_map
-! leanprover-community/mathlib commit 86c29aefdba50b3f33e86e52e3b2f51a0d8f0282
+! leanprover-community/mathlib commit 30faa0c3618ce1472bf6305ae0e3fa56affa3f95
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.Topology.ContinuousFunction.Basic
/-!
# Smooth bundled map
+> 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_map` of `n` times continuously differentiable
bundled maps.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/93f880918cb51905fd51b76add8273cbc27718ab
@@ -31,115 +31,147 @@ variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddC
[NormedAddCommGroup F] [NormedSpace 𝕜 F] {G : Type _} [TopologicalSpace G]
{J : ModelWithCorners 𝕜 F G} {N : Type _} [TopologicalSpace N] [ChartedSpace G N] (n : ℕ∞)
+#print ContMDiffMap /-
/-- Bundled `n` times continuously differentiable maps. -/
-def ContMdiffMap :=
+def ContMDiffMap :=
{ f : M → M' // ContMDiff I I' n f }
-#align cont_mdiff_map ContMdiffMap
+#align cont_mdiff_map ContMDiffMap
+-/
+#print SmoothMap /-
/-- Bundled smooth maps. -/
@[reducible]
def SmoothMap :=
- ContMdiffMap I I' M M' ⊤
+ ContMDiffMap I I' M M' ⊤
#align smooth_map SmoothMap
+-/
-scoped[Manifold] notation "C^" n "⟮" I ", " M "; " I' ", " M' "⟯" => ContMdiffMap I I' M M' n
+scoped[Manifold] notation "C^" n "⟮" I ", " M "; " I' ", " M' "⟯" => ContMDiffMap I I' M M' n
scoped[Manifold]
- notation "C^" n "⟮" I ", " M "; " k "⟯" => ContMdiffMap I (modelWithCornersSelf k k) M k n
+ notation "C^" n "⟮" I ", " M "; " k "⟯" => ContMDiffMap I (modelWithCornersSelf k k) M k n
open scoped Manifold
-namespace ContMdiffMap
+namespace ContMDiffMap
variable {I} {I'} {M} {M'} {n}
+#print ContMDiffMap.funLike /-
instance funLike : FunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
where
coe := Subtype.val
coe_injective' := Subtype.coe_injective
-#align cont_mdiff_map.fun_like ContMdiffMap.funLike
+#align cont_mdiff_map.fun_like ContMDiffMap.funLike
+-/
+#print ContMDiffMap.contMDiff /-
protected theorem contMDiff (f : C^n⟮I, M; I', M'⟯) : ContMDiff I I' n f :=
f.Prop
-#align cont_mdiff_map.cont_mdiff ContMdiffMap.contMDiff
+#align cont_mdiff_map.cont_mdiff ContMDiffMap.contMDiff
+-/
+#print ContMDiffMap.smooth /-
protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
f.Prop
-#align cont_mdiff_map.smooth ContMdiffMap.smooth
+#align cont_mdiff_map.smooth ContMDiffMap.smooth
+-/
instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
⟨fun f => ⟨f, f.ContMDiff.Continuous⟩⟩
-attribute [to_additive_ignore_args 21] ContMdiffMap ContMdiffMap.funLike
- ContMdiffMap.ContinuousMap.hasCoe
+attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.funLike
+ ContMDiffMap.ContinuousMap.hasCoe
variable {f g : C^n⟮I, M; I', M'⟯}
+#print ContMDiffMap.coeFn_mk /-
@[simp]
theorem coeFn_mk (f : M → M') (hf : ContMDiff I I' n f) :
((Subtype.mk f hf : C^n⟮I, M; I', M'⟯) : M → M') = f :=
rfl
-#align cont_mdiff_map.coe_fn_mk ContMdiffMap.coeFn_mk
+#align cont_mdiff_map.coe_fn_mk ContMDiffMap.coeFn_mk
+-/
-theorem coe_inj ⦃f g : C^n⟮I, M; I', M'⟯⦄ (h : (f : M → M') = g) : f = g := by
+#print ContMDiffMap.coe_injective /-
+theorem coe_injective ⦃f g : C^n⟮I, M; I', M'⟯⦄ (h : (f : M → M') = g) : f = g := by
cases f <;> cases g <;> cases h <;> rfl
-#align cont_mdiff_map.coe_inj ContMdiffMap.coe_inj
+#align cont_mdiff_map.coe_inj ContMDiffMap.coe_injective
+-/
+#print ContMDiffMap.ext /-
@[ext]
theorem ext (h : ∀ x, f x = g x) : f = g := by cases f <;> cases g <;> congr <;> exact funext h
-#align cont_mdiff_map.ext ContMdiffMap.ext
+#align cont_mdiff_map.ext ContMDiffMap.ext
+-/
instance : ContinuousMapClass C^n⟮I, M; I', M'⟯ M M'
where
coe f := ⇑f
- coe_injective' := coe_inj
+ coe_injective' := coe_injective
map_continuous f := f.ContMDiff.Continuous
+#print ContMDiffMap.id /-
/-- The identity as a smooth map. -/
def id : C^n⟮I, M; I, M⟯ :=
⟨id, contMDiff_id⟩
-#align cont_mdiff_map.id ContMdiffMap.id
+#align cont_mdiff_map.id ContMDiffMap.id
+-/
+#print ContMDiffMap.comp /-
/-- The composition of smooth maps, as a smooth map. -/
def comp (f : C^n⟮I', M'; I'', M''⟯) (g : C^n⟮I, M; I', M'⟯) : C^n⟮I, M; I'', M''⟯
where
val a := f (g a)
property := f.ContMDiff.comp g.ContMDiff
-#align cont_mdiff_map.comp ContMdiffMap.comp
+#align cont_mdiff_map.comp ContMDiffMap.comp
+-/
+#print ContMDiffMap.comp_apply /-
@[simp]
theorem comp_apply (f : C^n⟮I', M'; I'', M''⟯) (g : C^n⟮I, M; I', M'⟯) (x : M) :
f.comp g x = f (g x) :=
rfl
-#align cont_mdiff_map.comp_apply ContMdiffMap.comp_apply
+#align cont_mdiff_map.comp_apply ContMDiffMap.comp_apply
+-/
instance [Inhabited M'] : Inhabited C^n⟮I, M; I', M'⟯ :=
⟨⟨fun _ => default, contMDiff_const⟩⟩
+#print ContMDiffMap.const /-
/-- Constant map as a smooth map -/
def const (y : M') : C^n⟮I, M; I', M'⟯ :=
⟨fun x => y, contMDiff_const⟩
-#align cont_mdiff_map.const ContMdiffMap.const
+#align cont_mdiff_map.const ContMDiffMap.const
+-/
+#print ContMDiffMap.fst /-
/-- The first projection of a product, as a smooth map. -/
def fst : C^n⟮I.Prod I', M × M'; I, M⟯ :=
⟨Prod.fst, contMDiff_fst⟩
-#align cont_mdiff_map.fst ContMdiffMap.fst
+#align cont_mdiff_map.fst ContMDiffMap.fst
+-/
+#print ContMDiffMap.snd /-
/-- The second projection of a product, as a smooth map. -/
def snd : C^n⟮I.Prod I', M × M'; I', M'⟯ :=
⟨Prod.snd, contMDiff_snd⟩
-#align cont_mdiff_map.snd ContMdiffMap.snd
+#align cont_mdiff_map.snd ContMDiffMap.snd
+-/
+#print ContMDiffMap.prodMk /-
/-- Given two smooth maps `f` and `g`, this is the smooth map `x ↦ (f x, g x)`. -/
def prodMk (f : C^n⟮J, N; I, M⟯) (g : C^n⟮J, N; I', M'⟯) : C^n⟮J, N; I.Prod I', M × M'⟯ :=
⟨fun x => (f x, g x), f.2.prod_mk g.2⟩
-#align cont_mdiff_map.prod_mk ContMdiffMap.prodMk
+#align cont_mdiff_map.prod_mk ContMDiffMap.prodMk
+-/
-end ContMdiffMap
+end ContMDiffMap
-instance ContinuousLinearMap.hasCoeToContMdiffMap :
+#print ContinuousLinearMap.hasCoeToContMDiffMap /-
+instance ContinuousLinearMap.hasCoeToContMDiffMap :
Coe (E →L[𝕜] E') C^n⟮𝓘(𝕜, E), E; 𝓘(𝕜, E'), E'⟯ :=
⟨fun f => ⟨f.toFun, f.ContMDiff⟩⟩
-#align continuous_linear_map.has_coe_to_cont_mdiff_map ContinuousLinearMap.hasCoeToContMdiffMap
+#align continuous_linear_map.has_coe_to_cont_mdiff_map ContinuousLinearMap.hasCoeToContMDiffMap
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/93f880918cb51905fd51b76add8273cbc27718ab
@@ -33,7 +33,7 @@ variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddC
/-- Bundled `n` times continuously differentiable maps. -/
def ContMdiffMap :=
- { f : M → M' // ContMdiff I I' n f }
+ { f : M → M' // ContMDiff I I' n f }
#align cont_mdiff_map ContMdiffMap
/-- Bundled smooth maps. -/
@@ -59,16 +59,16 @@ instance funLike : FunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
coe_injective' := Subtype.coe_injective
#align cont_mdiff_map.fun_like ContMdiffMap.funLike
-protected theorem contMdiff (f : C^n⟮I, M; I', M'⟯) : ContMdiff I I' n f :=
+protected theorem contMDiff (f : C^n⟮I, M; I', M'⟯) : ContMDiff I I' n f :=
f.Prop
-#align cont_mdiff_map.cont_mdiff ContMdiffMap.contMdiff
+#align cont_mdiff_map.cont_mdiff ContMdiffMap.contMDiff
protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
f.Prop
#align cont_mdiff_map.smooth ContMdiffMap.smooth
instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
- ⟨fun f => ⟨f, f.ContMdiff.Continuous⟩⟩
+ ⟨fun f => ⟨f, f.ContMDiff.Continuous⟩⟩
attribute [to_additive_ignore_args 21] ContMdiffMap ContMdiffMap.funLike
ContMdiffMap.ContinuousMap.hasCoe
@@ -76,7 +76,7 @@ attribute [to_additive_ignore_args 21] ContMdiffMap ContMdiffMap.funLike
variable {f g : C^n⟮I, M; I', M'⟯}
@[simp]
-theorem coeFn_mk (f : M → M') (hf : ContMdiff I I' n f) :
+theorem coeFn_mk (f : M → M') (hf : ContMDiff I I' n f) :
((Subtype.mk f hf : C^n⟮I, M; I', M'⟯) : M → M') = f :=
rfl
#align cont_mdiff_map.coe_fn_mk ContMdiffMap.coeFn_mk
@@ -93,18 +93,18 @@ instance : ContinuousMapClass C^n⟮I, M; I', M'⟯ M M'
where
coe f := ⇑f
coe_injective' := coe_inj
- map_continuous f := f.ContMdiff.Continuous
+ map_continuous f := f.ContMDiff.Continuous
/-- The identity as a smooth map. -/
def id : C^n⟮I, M; I, M⟯ :=
- ⟨id, contMdiff_id⟩
+ ⟨id, contMDiff_id⟩
#align cont_mdiff_map.id ContMdiffMap.id
/-- The composition of smooth maps, as a smooth map. -/
def comp (f : C^n⟮I', M'; I'', M''⟯) (g : C^n⟮I, M; I', M'⟯) : C^n⟮I, M; I'', M''⟯
where
val a := f (g a)
- property := f.ContMdiff.comp g.ContMdiff
+ property := f.ContMDiff.comp g.ContMDiff
#align cont_mdiff_map.comp ContMdiffMap.comp
@[simp]
@@ -114,21 +114,21 @@ theorem comp_apply (f : C^n⟮I', M'; I'', M''⟯) (g : C^n⟮I, M; I', M'⟯) (
#align cont_mdiff_map.comp_apply ContMdiffMap.comp_apply
instance [Inhabited M'] : Inhabited C^n⟮I, M; I', M'⟯ :=
- ⟨⟨fun _ => default, contMdiff_const⟩⟩
+ ⟨⟨fun _ => default, contMDiff_const⟩⟩
/-- Constant map as a smooth map -/
def const (y : M') : C^n⟮I, M; I', M'⟯ :=
- ⟨fun x => y, contMdiff_const⟩
+ ⟨fun x => y, contMDiff_const⟩
#align cont_mdiff_map.const ContMdiffMap.const
/-- The first projection of a product, as a smooth map. -/
def fst : C^n⟮I.Prod I', M × M'; I, M⟯ :=
- ⟨Prod.fst, contMdiff_fst⟩
+ ⟨Prod.fst, contMDiff_fst⟩
#align cont_mdiff_map.fst ContMdiffMap.fst
/-- The second projection of a product, as a smooth map. -/
def snd : C^n⟮I.Prod I', M × M'; I', M'⟯ :=
- ⟨Prod.snd, contMdiff_snd⟩
+ ⟨Prod.snd, contMDiff_snd⟩
#align cont_mdiff_map.snd ContMdiffMap.snd
/-- Given two smooth maps `f` and `g`, this is the smooth map `x ↦ (f x, g x)`. -/
@@ -140,6 +140,6 @@ end ContMdiffMap
instance ContinuousLinearMap.hasCoeToContMdiffMap :
Coe (E →L[𝕜] E') C^n⟮𝓘(𝕜, E), E; 𝓘(𝕜, E'), E'⟯ :=
- ⟨fun f => ⟨f.toFun, f.ContMdiff⟩⟩
+ ⟨fun f => ⟨f.toFun, f.ContMDiff⟩⟩
#align continuous_linear_map.has_coe_to_cont_mdiff_map ContinuousLinearMap.hasCoeToContMdiffMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/f2ad3645af9effcdb587637dc28a6074edc813f9
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
! This file was ported from Lean 3 source module geometry.manifold.cont_mdiff_map
-! leanprover-community/mathlib commit e354e865255654389cc46e6032160238df2e0f40
+! leanprover-community/mathlib commit 86c29aefdba50b3f33e86e52e3b2f51a0d8f0282
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -32,10 +32,8 @@ variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddC
{J : ModelWithCorners 𝕜 F G} {N : Type _} [TopologicalSpace N] [ChartedSpace G N] (n : ℕ∞)
/-- Bundled `n` times continuously differentiable maps. -/
-@[protect_proj]
-structure ContMdiffMap where
- toFun : M → M'
- contMdiff_toFun : ContMdiff I I' n to_fun
+def ContMdiffMap :=
+ { f : M → M' // ContMdiff I I' n f }
#align cont_mdiff_map ContMdiffMap
/-- Bundled smooth maps. -/
@@ -55,30 +53,34 @@ namespace ContMdiffMap
variable {I} {I'} {M} {M'} {n}
-instance : CoeFun C^n⟮I, M; I', M'⟯ fun _ => M → M' :=
- ⟨ContMdiffMap.toFun⟩
+instance funLike : FunLike C^n⟮I, M; I', M'⟯ M fun _ => M'
+ where
+ coe := Subtype.val
+ coe_injective' := Subtype.coe_injective
+#align cont_mdiff_map.fun_like ContMdiffMap.funLike
+
+protected theorem contMdiff (f : C^n⟮I, M; I', M'⟯) : ContMdiff I I' n f :=
+ f.Prop
+#align cont_mdiff_map.cont_mdiff ContMdiffMap.contMdiff
+
+protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
+ f.Prop
+#align cont_mdiff_map.smooth ContMdiffMap.smooth
instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
- ⟨fun f => ⟨f, f.contMdiff_toFun.Continuous⟩⟩
+ ⟨fun f => ⟨f, f.ContMdiff.Continuous⟩⟩
-attribute [to_additive_ignore_args 21] ContMdiffMap ContMdiffMap.hasCoeToFun
+attribute [to_additive_ignore_args 21] ContMdiffMap ContMdiffMap.funLike
ContMdiffMap.ContinuousMap.hasCoe
variable {f g : C^n⟮I, M; I', M'⟯}
@[simp]
-theorem coeFn_mk (f : M → M') (hf : ContMdiff I I' n f) : (mk f hf : M → M') = f :=
+theorem coeFn_mk (f : M → M') (hf : ContMdiff I I' n f) :
+ ((Subtype.mk f hf : C^n⟮I, M; I', M'⟯) : M → M') = f :=
rfl
#align cont_mdiff_map.coe_fn_mk ContMdiffMap.coeFn_mk
-protected theorem contMdiff (f : C^n⟮I, M; I', M'⟯) : ContMdiff I I' n f :=
- f.contMdiff_toFun
-#align cont_mdiff_map.cont_mdiff ContMdiffMap.contMdiff
-
-protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
- f.contMdiff_toFun
-#align cont_mdiff_map.smooth ContMdiffMap.smooth
-
theorem coe_inj ⦃f g : C^n⟮I, M; I', M'⟯⦄ (h : (f : M → M') = g) : f = g := by
cases f <;> cases g <;> cases h <;> rfl
#align cont_mdiff_map.coe_inj ContMdiffMap.coe_inj
@@ -101,8 +103,8 @@ def id : C^n⟮I, M; I, M⟯ :=
/-- The composition of smooth maps, as a smooth map. -/
def comp (f : C^n⟮I', M'; I'', M''⟯) (g : C^n⟮I, M; I', M'⟯) : C^n⟮I, M; I'', M''⟯
where
- toFun a := f (g a)
- contMdiff_toFun := f.contMdiff_toFun.comp g.contMdiff_toFun
+ val a := f (g a)
+ property := f.ContMdiff.comp g.ContMdiff
#align cont_mdiff_map.comp ContMdiffMap.comp
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -44,10 +44,8 @@ def SmoothMap :=
ContMdiffMap I I' M M' ⊤
#align smooth_map SmoothMap
--- mathport name: cont_mdiff_map
scoped[Manifold] notation "C^" n "⟮" I ", " M "; " I' ", " M' "⟯" => ContMdiffMap I I' M M' n
--- mathport name: cont_mdiff_map.self
scoped[Manifold]
notation "C^" n "⟮" I ", " M "; " k "⟯" => ContMdiffMap I (modelWithCornersSelf k k) M k n
mathlib commit https://github.com/leanprover-community/mathlib/commit/31c24aa72e7b3e5ed97a8412470e904f82b81004
@@ -4,11 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
! This file was ported from Lean 3 source module geometry.manifold.cont_mdiff_map
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit e354e865255654389cc46e6032160238df2e0f40
! 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.Geometry.Manifold.ContMdiff
import Mathbin.Topology.ContinuousFunction.Basic
/-!
@@ -25,7 +25,11 @@ variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] {E : Type _} [NormedAddC
(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''] (n : ℕ∞)
+ {M'' : Type _} [TopologicalSpace M''] [ChartedSpace H'' M'']
+ -- declare a manifold `N` over the pair `(F, G)`.
+ {F : Type _}
+ [NormedAddCommGroup F] [NormedSpace 𝕜 F] {G : Type _} [TopologicalSpace G]
+ {J : ModelWithCorners 𝕜 F G} {N : Type _} [TopologicalSpace N] [ChartedSpace G N] (n : ℕ∞)
/-- Bundled `n` times continuously differentiable maps. -/
@[protect_proj]
@@ -77,18 +81,6 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
f.contMdiff_toFun
#align cont_mdiff_map.smooth ContMdiffMap.smooth
-protected theorem mdifferentiable' (f : C^n⟮I, M; I', M'⟯) (hn : 1 ≤ n) : Mdifferentiable I I' f :=
- f.ContMdiff.Mdifferentiable hn
-#align cont_mdiff_map.mdifferentiable' ContMdiffMap.mdifferentiable'
-
-protected theorem mdifferentiable (f : C^∞⟮I, M; I', M'⟯) : Mdifferentiable I I' f :=
- f.ContMdiff.Mdifferentiable le_top
-#align cont_mdiff_map.mdifferentiable ContMdiffMap.mdifferentiable
-
-protected theorem mdifferentiableAt (f : C^∞⟮I, M; I', M'⟯) {x} : MdifferentiableAt I I' f x :=
- f.Mdifferentiable x
-#align cont_mdiff_map.mdifferentiable_at ContMdiffMap.mdifferentiableAt
-
theorem coe_inj ⦃f g : C^n⟮I, M; I', M'⟯⦄ (h : (f : M → M') = g) : f = g := by
cases f <;> cases g <;> cases h <;> rfl
#align cont_mdiff_map.coe_inj ContMdiffMap.coe_inj
@@ -129,6 +121,21 @@ def const (y : M') : C^n⟮I, M; I', M'⟯ :=
⟨fun x => y, contMdiff_const⟩
#align cont_mdiff_map.const ContMdiffMap.const
+/-- The first projection of a product, as a smooth map. -/
+def fst : C^n⟮I.Prod I', M × M'; I, M⟯ :=
+ ⟨Prod.fst, contMdiff_fst⟩
+#align cont_mdiff_map.fst ContMdiffMap.fst
+
+/-- The second projection of a product, as a smooth map. -/
+def snd : C^n⟮I.Prod I', M × M'; I', M'⟯ :=
+ ⟨Prod.snd, contMdiff_snd⟩
+#align cont_mdiff_map.snd ContMdiffMap.snd
+
+/-- Given two smooth maps `f` and `g`, this is the smooth map `x ↦ (f x, g x)`. -/
+def prodMk (f : C^n⟮J, N; I, M⟯) (g : C^n⟮J, N; I', M'⟯) : C^n⟮J, N; I.Prod I', M × M'⟯ :=
+ ⟨fun x => (f x, g x), f.2.prod_mk g.2⟩
+#align cont_mdiff_map.prod_mk ContMdiffMap.prodMk
+
end ContMdiffMap
instance ContinuousLinearMap.hasCoeToContMdiffMap :
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -59,8 +59,8 @@ instance : CoeFun C^n⟮I, M; I', M'⟯ fun _ => M → M' :=
instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
⟨fun f => ⟨f, f.contMdiff_toFun.Continuous⟩⟩
-attribute [to_additive_ignore_args 21]
- ContMdiffMap ContMdiffMap.hasCoeToFun ContMdiffMap.ContinuousMap.hasCoe
+attribute [to_additive_ignore_args 21] ContMdiffMap ContMdiffMap.hasCoeToFun
+ ContMdiffMap.ContinuousMap.hasCoe
variable {f g : C^n⟮I, M; I', M'⟯}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,7 +47,7 @@ scoped[Manifold] notation "C^" n "⟮" I ", " M "; " I' ", " M' "⟯" => ContMdi
scoped[Manifold]
notation "C^" n "⟮" I ", " M "; " k "⟯" => ContMdiffMap I (modelWithCornersSelf k k) M k n
-open Manifold
+open scoped Manifold
namespace ContMdiffMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
! This file was ported from Lean 3 source module geometry.manifold.cont_mdiff_map
-! leanprover-community/mathlib commit 2b69cd5eca1cc3c5f4a754abe7dab71111959a9d
+! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -97,6 +97,12 @@ theorem coe_inj ⦃f g : C^n⟮I, M; I', M'⟯⦄ (h : (f : M → M') = g) : f =
theorem ext (h : ∀ x, f x = g x) : f = g := by cases f <;> cases g <;> congr <;> exact funext h
#align cont_mdiff_map.ext ContMdiffMap.ext
+instance : ContinuousMapClass C^n⟮I, M; I', M'⟯ M M'
+ where
+ coe f := ⇑f
+ coe_injective' := coe_inj
+ map_continuous f := f.ContMdiff.Continuous
+
/-- The identity as a smooth map. -/
def id : C^n⟮I, M; I, M⟯ :=
⟨id, contMdiff_id⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -63,7 +63,7 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
f.prop
#align cont_mdiff_map.smooth ContMDiffMap.smooth
--- porting note: use generic instance instead
+-- Porting note: use generic instance instead
-- instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
-- ⟨fun f => ⟨f, f.contMDiff.continuous⟩⟩
@[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.
@@ -37,8 +37,10 @@ def SmoothMap :=
ContMDiffMap I I' M M' ⊤
#align smooth_map SmoothMap
+@[inherit_doc]
scoped[Manifold] notation "C^" n "⟮" I ", " M "; " I' ", " M' "⟯" => ContMDiffMap I I' M M' n
+@[inherit_doc]
scoped[Manifold]
notation "C^" n "⟮" I ", " M "; " k "⟯" => ContMDiffMap I (modelWithCornersSelf k k) M k n
FunLike
(#9833)
This follows up from #9785, which renamed FunLike
to DFunLike
, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β)
, to make the non-dependent use of FunLike
easier.
I searched for the pattern DFunLike.*fun
and DFunLike.*λ
in all files to replace expressions of the form DFunLike F α (fun _ => β)
with FunLike F α β
. I did this everywhere except for extends
clauses for two reasons: it would conflict with #8386, and more importantly extends
must directly refer to a structure with no unfolding of def
s or abbrev
s.
@@ -48,10 +48,10 @@ namespace ContMDiffMap
variable {I} {I'} {M} {M'} {n}
-instance instDFunLike : DFunLike C^n⟮I, M; I', M'⟯ M fun _ => M' where
+instance instFunLike : FunLike C^n⟮I, M; I', M'⟯ M M' where
coe := Subtype.val
coe_injective' := Subtype.coe_injective
-#align cont_mdiff_map.fun_like ContMDiffMap.instDFunLike
+#align cont_mdiff_map.fun_like ContMDiffMap.instFunLike
protected theorem contMDiff (f : C^n⟮I, M; I', M'⟯) : ContMDiff I I' n f :=
f.prop
@@ -65,7 +65,7 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
-- instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
-- ⟨fun f => ⟨f, f.contMDiff.continuous⟩⟩
-attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instDFunLike
+attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instFunLike
variable {f g : C^n⟮I, M; I', M'⟯}
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>
@@ -48,10 +48,10 @@ namespace ContMDiffMap
variable {I} {I'} {M} {M'} {n}
-instance funLike : FunLike C^n⟮I, M; I', M'⟯ M fun _ => M' where
+instance instDFunLike : DFunLike C^n⟮I, M; I', M'⟯ M fun _ => M' where
coe := Subtype.val
coe_injective' := Subtype.coe_injective
-#align cont_mdiff_map.fun_like ContMDiffMap.funLike
+#align cont_mdiff_map.fun_like ContMDiffMap.instDFunLike
protected theorem contMDiff (f : C^n⟮I, M; I', M'⟯) : ContMDiff I I' n f :=
f.prop
@@ -65,22 +65,22 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
-- instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
-- ⟨fun f => ⟨f, f.contMDiff.continuous⟩⟩
-attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.funLike
+attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instDFunLike
variable {f g : C^n⟮I, M; I', M'⟯}
@[simp]
theorem coeFn_mk (f : M → M') (hf : ContMDiff I I' n f) :
- FunLike.coe (F := C^n⟮I, M; I', M'⟯) ⟨f, hf⟩ = f :=
+ DFunLike.coe (F := C^n⟮I, M; I', M'⟯) ⟨f, hf⟩ = f :=
rfl
#align cont_mdiff_map.coe_fn_mk ContMDiffMap.coeFn_mk
theorem coe_injective ⦃f g : C^n⟮I, M; I', M'⟯⦄ (h : (f : M → M') = g) : f = g :=
- FunLike.ext' h
+ DFunLike.ext' h
#align cont_mdiff_map.coe_inj ContMDiffMap.coe_injective
@[ext]
-theorem ext (h : ∀ x, f x = g x) : f = g := FunLike.ext _ _ h
+theorem ext (h : ∀ x, f x = g x) : f = g := DFunLike.ext _ _ h
#align cont_mdiff_map.ext ContMDiffMap.ext
instance : ContinuousMapClass C^n⟮I, M; I', M'⟯ M M' where
At about 2200 lines, this is currently the longest file in the Geometry/Manifolds.
(It also moves the slowly compiling proof of ContMDiffWithinAt.cle_arrowCongr
out of a common recompilation path.)
@@ -3,8 +3,7 @@ Copyright © 2020 Nicolò Cavalleri. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
-/
-import Mathlib.Geometry.Manifold.ContMDiff
-import Mathlib.Topology.ContinuousFunction.Basic
+import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace
#align_import geometry.manifold.cont_mdiff_map from "leanprover-community/mathlib"@"86c29aefdba50b3f33e86e52e3b2f51a0d8f0282"
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -15,17 +15,17 @@ In this file we define the type `ContMDiffMap` of `n` times continuously differe
bundled maps.
-/
-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'']
+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'']
-- declare a manifold `N` over the pair `(F, G)`.
- {F : Type _}
- [NormedAddCommGroup F] [NormedSpace 𝕜 F] {G : Type _} [TopologicalSpace G]
- {J : ModelWithCorners 𝕜 F G} {N : Type _} [TopologicalSpace N] [ChartedSpace G N] (n : ℕ∞)
+ {F : Type*}
+ [NormedAddCommGroup F] [NormedSpace 𝕜 F] {G : Type*} [TopologicalSpace G]
+ {J : ModelWithCorners 𝕜 F G} {N : Type*} [TopologicalSpace N] [ChartedSpace G N] (n : ℕ∞)
/-- Bundled `n` times continuously differentiable maps. -/
def ContMDiffMap :=
@@ -2,15 +2,12 @@
Copyright © 2020 Nicolò Cavalleri. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nicolò Cavalleri
-
-! This file was ported from Lean 3 source module geometry.manifold.cont_mdiff_map
-! leanprover-community/mathlib commit 86c29aefdba50b3f33e86e52e3b2f51a0d8f0282
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Geometry.Manifold.ContMDiff
import Mathlib.Topology.ContinuousFunction.Basic
+#align_import geometry.manifold.cont_mdiff_map from "leanprover-community/mathlib"@"86c29aefdba50b3f33e86e52e3b2f51a0d8f0282"
+
/-!
# Smooth bundled map
@@ -14,7 +14,7 @@ import Mathlib.Topology.ContinuousFunction.Basic
/-!
# Smooth bundled map
-In this file we define the type `cont_mdiff_map` of `n` times continuously differentiable
+In this file we define the type `ContMDiffMap` of `n` times continuously differentiable
bundled maps.
-/
@@ -69,8 +69,7 @@ protected theorem smooth (f : C^∞⟮I, M; I', M'⟯) : Smooth I I' f :=
-- instance : Coe C^n⟮I, M; I', M'⟯ C(M, M') :=
-- ⟨fun f => ⟨f, f.contMDiff.continuous⟩⟩
--- attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.funLike
--- ContMDiffMap.ContinuousMap.hasCoe
+attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.funLike
variable {f g : C^n⟮I, M; I', M'⟯}
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