Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
703 commits
Select commit Hold shift + click to select a range
43dd396
Torsion as a 2-tensor
grunweg Mar 3, 2026
6082ae3
start new approach to levi-civita
hrmacbeth Mar 3, 2026
00b1995
addition theorem for tensor construction
hrmacbeth Mar 3, 2026
c7c2212
finish proof of addition lemma
hrmacbeth Mar 3, 2026
a84d21f
Progress towards LC being a connection
grunweg Mar 3, 2026
410bb87
construct difference of connections using tensoriality constructor
hrmacbeth Mar 3, 2026
876ce4f
tensor apply lemmas
hrmacbeth Mar 3, 2026
f195851
hacky proofs
hrmacbeth Mar 4, 2026
12255d0
make this the definition of levi-civita connection
hrmacbeth Mar 4, 2026
bee9d66
bit of cleanup
hrmacbeth Mar 4, 2026
224be51
Merge branch 'master' into hm-covder-bundled
grunweg Mar 4, 2026
4dd83df
First round of fixes
grunweg Mar 4, 2026
6ac17e7
Further
grunweg Mar 4, 2026
5c96bb7
Further
grunweg Mar 4, 2026
83643af
down to one sorry
hrmacbeth Mar 4, 2026
a19ae15
last sorry in lc file
hrmacbeth Mar 4, 2026
b4d4d12
golf using linear_combination
hrmacbeth Mar 4, 2026
51a8380
golf
hrmacbeth Mar 4, 2026
f357252
Fix the build of LeviCivita
grunweg Mar 4, 2026
58e15e9
Fix Lift
grunweg Mar 4, 2026
32a6e22
Try to catch up
PatrickMassot Mar 4, 2026
20a011e
chore: split out Extend
grunweg Mar 4, 2026
5b94048
chore: move tensor definitions to tensoriality
grunweg Mar 4, 2026
feaaa2b
chore: move torsion lemmas using local frames to a separate file
grunweg Mar 4, 2026
8a1fa83
chore: minimise imports in (Triv)Prelim
grunweg Mar 4, 2026
d22f9af
chore: split material about Ehresmann connections part into a new file
grunweg Mar 4, 2026
3c5af5b
chore: move material about trivial bundles to a separate file
grunweg Mar 4, 2026
1739941
Fix and tweak imports more
grunweg Mar 4, 2026
f6079a3
chore: move mfderiv lemmas we need to a separate file
grunweg Mar 4, 2026
ebd0377
reorganise variables in tensoriality file
hrmacbeth Mar 4, 2026
fc9d99b
mkTensor_eq_extend
hrmacbeth Mar 4, 2026
ff07cba
fixes
hrmacbeth Mar 4, 2026
bcc29b3
adjust implicit/explicit arguments in tensoriality for better inference
hrmacbeth Mar 4, 2026
8d987f6
Refactor Torsion
PatrickMassot Mar 4, 2026
998297c
Tiny fixes
grunweg Mar 4, 2026
01803ff
Merge branch 'master' into hm-covder-bundled
grunweg Mar 4, 2026
3a342e2
chore: fix some unused variable warnings
grunweg Mar 4, 2026
6020d16
Checkpoint: refacoring compatibility of a connection to use a tensor
grunweg Mar 4, 2026
4d61125
Remove one superfluous backwards option
grunweg Mar 4, 2026
64f4d84
fix broken linear_combination proof
hrmacbeth Mar 4, 2026
68c4d66
fix broken proof in compatibility tensor
hrmacbeth Mar 4, 2026
1f4db0d
scalar multiplication proof
hrmacbeth Mar 4, 2026
bc94c87
Small polish
grunweg Mar 5, 2026
9d22180
chore: redefine compatibility using the tensor
grunweg Mar 5, 2026
a8d6bb4
More Heather
grunweg Mar 5, 2026
c177389
Move around prerequisites
PatrickMassot Mar 5, 2026
cd08afc
[pre-commit.ci lite] apply automatic fixes
pre-commit-ci-lite[bot] Mar 5, 2026
fc51f83
Compactify code
grunweg Mar 5, 2026
277a94d
Speed up!
grunweg Mar 5, 2026
f4b0c31
Make f implicit
grunweg Mar 5, 2026
9ad18e1
Last sorry virtually proven
grunweg Mar 5, 2026
c6cfc8a
apply lemma
hrmacbeth Mar 5, 2026
dab702c
chore: smuggle in two more differentiability hypotheses
grunweg Mar 5, 2026
2d36cc9
I'm getting tensor every day
grunweg Mar 5, 2026
9e3f139
Document PR
PatrickMassot Mar 5, 2026
1d61f51
chore: fix the build in LeviCivita
grunweg Mar 5, 2026
86cb325
Fixed the last sorry, by bashing through
grunweg Mar 5, 2026
bf4e330
Did we switch some variables in the metric tensor?
grunweg Mar 5, 2026
4e5b264
Checkpoint towards torsion
grunweg Mar 5, 2026
e0265b3
Gotcha: the argument order in Torsion.lean was flipped; with that fix…
grunweg Mar 5, 2026
1f3bc99
Gotcha: the argument order in Torsion.lean was flipped; with that fix…
grunweg Mar 5, 2026
29266bc
fix: make all code using torsion-freeness work again
grunweg Mar 5, 2026
1ee1a31
Fix compatibility lemma; fix torsion lemma, fix application in aux.
grunweg Mar 5, 2026
9e77a0b
Move delaborators
PatrickMassot Mar 5, 2026
50be730
Towards showing compatibility of LC
grunweg Mar 5, 2026
9430c13
More delaborators
PatrickMassot Mar 5, 2026
e3917c8
Merge branch 'master' into hm-covder-bundled
grunweg Mar 5, 2026
d8cf6e7
Some fixes
grunweg Mar 5, 2026
e6e514a
Sorry one broken proof
grunweg Mar 5, 2026
eaf2185
Fix build
PatrickMassot Mar 5, 2026
0f1fc6c
remove bump functions from "extend" construction
hrmacbeth Mar 5, 2026
cf9632c
use lemma mk2TensorAt_apply_eq_extend
hrmacbeth Mar 5, 2026
44aa8ed
generalize mk2Tensor to different input types
hrmacbeth Mar 5, 2026
3e88f00
Three people walk into a bar. Ouch!
grunweg Mar 5, 2026
ad741cb
Small tweaks and nits
grunweg Mar 5, 2026
10cf130
fill in TODO lemmas for extend
hrmacbeth Mar 5, 2026
856836f
Characterisation of compatibility and progress towards it: enough for…
grunweg Mar 5, 2026
e0639d9
Torsion-freeness is done. (Just one broken proof to fix, erw issues.)
grunweg Mar 6, 2026
15255f5
Comment on naming scheme
grunweg Mar 6, 2026
7b46dfd
chore: move material on metric connections to a new file
grunweg Mar 6, 2026
1ab8a9a
File authors; one better lemma name
grunweg Mar 6, 2026
1be81af
Remove σ from fields and lemma names
PatrickMassot Mar 6, 2026
5e646a5
chore(Metric): better variable management
grunweg Mar 6, 2026
a080f6d
chore(Torsion): better variable management
grunweg Mar 6, 2026
381368e
chore: synchronise naming of apply lemmas between torsion and metric
grunweg Mar 6, 2026
a1b6dc9
chore: add module doc-string (and minor tweaks)
grunweg Mar 6, 2026
8e7fc4e
chore(Torsion): more auxiliary name for torsionFun
grunweg Mar 6, 2026
af5b730
chore(Metric): add detailed module doc-string
grunweg Mar 6, 2026
05b909b
CovariantDerivative.Basic cleanup
PatrickMassot Mar 6, 2026
7676417
[pre-commit.ci lite] apply automatic fixes
pre-commit-ci-lite[bot] Mar 6, 2026
45b7da1
chore: move outdated code about Christoffel symbols to a new file
grunweg Mar 6, 2026
a32e69a
Add missing global operations
PatrickMassot Mar 6, 2026
b2e648c
chore(LeviCivita): small clean-ups
grunweg Mar 6, 2026
94f67dd
refactor tensoriality to generalize codomain
hrmacbeth Mar 6, 2026
85cc2c2
eliminate "omit"
hrmacbeth Mar 6, 2026
a874b31
rename mkTensorAt
hrmacbeth Mar 6, 2026
f350adb
Merge branch 'master' into hm-covder-bundled
hrmacbeth Mar 6, 2026
2f60ee6
merge master
hrmacbeth Mar 6, 2026
075ab00
reorg imports
hrmacbeth Mar 6, 2026
ca18f23
clean up and document tensoriality file
hrmacbeth Mar 6, 2026
0c68f8c
more cleanup in tensoriality
hrmacbeth Mar 6, 2026
821121f
module docstring for tensoriality
hrmacbeth Mar 6, 2026
56e107c
chore: rename metricTensor -> compatibilityTensor
grunweg Mar 6, 2026
93f3000
More documentation in CovariantDerivative.Basic
PatrickMassot Mar 6, 2026
15d3c73
Better doc
PatrickMassot Mar 6, 2026
dc9ba96
wip(LeviCivita): extend documentation
grunweg Mar 6, 2026
0c586f3
chore(Basic): fewer dollars
grunweg Mar 6, 2026
2317efd
chore(Torsion): a few tweaks
grunweg Mar 6, 2026
4410c90
chore: add more bar!
grunweg Mar 6, 2026
9beac34
Reviewed Torsion together
grunweg Mar 6, 2026
65dc2aa
wip: metric changes
grunweg Mar 6, 2026
5aa3e1a
chore: don't need mfderiv_smul and friends just yet
grunweg Mar 6, 2026
fa6e61e
Fixup for torsion changes
grunweg Mar 6, 2026
4cc7969
wip: try to fix errors in Metric.lean
grunweg Mar 6, 2026
f4cf244
fix LeviCivita after defeq abuse adjustments earlier
hrmacbeth Mar 6, 2026
604f71d
chore(LeviCivita): remove a few no longer needed type ascriptions
grunweg Mar 6, 2026
05b22d6
aux1 in Metric.lean is sorry-free again: mfderiv_smul has too much de…
grunweg Mar 6, 2026
95f5ea3
Fix aux4
grunweg Mar 6, 2026
9954493
Minor polish
grunweg Mar 6, 2026
2d3aecd
Merge branch 'master' into hm-covder-bundled
grunweg Mar 6, 2026
db5c01d
chore: add missing bar; and use mfderiv% and mfderiv[s] slightly more
grunweg Mar 6, 2026
e8a2882
Fix build
grunweg Mar 6, 2026
078e3d5
doc(LeviCivita): extend the module doc-string a bit; removed unused a…
grunweg Mar 6, 2026
6a21dcc
chore(LeviCivita): small polish and golf
grunweg Mar 6, 2026
0f48d2d
chore: transplant improvements from PR
grunweg Mar 6, 2026
0643f0c
generalize to a riemannian bundle
hrmacbeth Mar 7, 2026
6977518
update notation after generalisation
hrmacbeth Mar 7, 2026
8a8f4a7
fixes after cherry-pick
hrmacbeth Mar 7, 2026
7a6d61b
move mfderiv_smul
hrmacbeth Mar 7, 2026
9ca3c4e
clean up proofs a bit
hrmacbeth Mar 7, 2026
5a038e0
clean up proofs
hrmacbeth Mar 7, 2026
dcabc20
defer MDifferentiable.inner_bundle issue
hrmacbeth Mar 7, 2026
d2d07e6
docs
hrmacbeth Mar 7, 2026
b6fb0a0
Some cleanup
PatrickMassot Mar 7, 2026
165f4c2
stray #lint
hrmacbeth Mar 7, 2026
f8ff4b7
remove smuls
hrmacbeth Mar 7, 2026
9583463
namespaces
hrmacbeth Mar 7, 2026
8c5cd5c
doc
hrmacbeth Mar 7, 2026
5fd575d
typo
hrmacbeth Mar 7, 2026
b16f681
feat: add sub and neg lemmas for covariant derivatives
grunweg Mar 8, 2026
b1a6f3b
wip: define the curvature tensor
grunweg Mar 8, 2026
d2dfd9f
chore: remove _root_.extend --- it has been moved to FiberBundle
grunweg Mar 8, 2026
1f9cd5e
Clean up curvature proof; additivity in X almost done
grunweg Mar 8, 2026
d198c1f
Further clean-up of additivity proof: extract helper lemma
grunweg Mar 8, 2026
1febf77
chore(Ehresmann): remove obsolete section real
grunweg Mar 9, 2026
0b78020
chore(Basic): use WithTop ENat instead --- forward-ports a review adj…
grunweg Mar 9, 2026
1d5103a
wip(Curvature): indicate how global hypotheses on differentiability a…
grunweg Mar 9, 2026
d39526c
golf(CovariantDerivative): re-use existing result; use fromNormedSpac…
grunweg Mar 14, 2026
5b0d3a9
feat: Relax type class assumption on T% elaborator
PatrickMassot Mar 17, 2026
e7b1409
feat: skeleton for 3-tensors
grunweg Mar 17, 2026
c35486a
feat: skeleton for Ricci and scalar curvature
grunweg Mar 17, 2026
1d2e4de
Merge branch 'master' into hm-covder-bundled
grunweg Mar 17, 2026
66a1324
Revert spurious diff; small tweak
grunweg Mar 17, 2026
e84416a
Fix bad merge in Tensoriality
grunweg Mar 17, 2026
38b6c2b
Fix bad merge in CovariantDerivative/Basic.lean
grunweg Mar 17, 2026
742f637
Fixup LeviCivita
grunweg Mar 17, 2026
dba7b66
Merge branch 'master' into hm-covder-bundled
grunweg Mar 17, 2026
8bf6ea3
chore: trivially generalise extDerivFun to codomain normed spaces
grunweg Mar 17, 2026
bf9e054
Remove bad simp annotation added in merge
grunweg Mar 17, 2026
265dc28
Merge branch 'master' into hm-covder-bundled
grunweg Mar 21, 2026
5ab2c38
Remove check'
grunweg Mar 21, 2026
f4c7992
chore: remove duplicate open
grunweg Mar 21, 2026
536e39f
Merge branch 'master' into hm-covder-bundled
PatrickMassot Mar 24, 2026
a333eb9
Some progress on Ehresmann
PatrickMassot Mar 26, 2026
df0edad
More stupid lemmas
PatrickMassot Mar 26, 2026
5abc695
Finish CovariantDerivative.mem_horiz_iff_exists
PatrickMassot Mar 26, 2026
0ba6600
Recover modifications lost in a bad merge
PatrickMassot Mar 17, 2026
d6e7aa7
A bit more
PatrickMassot Mar 27, 2026
36c96bf
Finish CovariantDerivative.lift_vec_eq
PatrickMassot Mar 27, 2026
a5b21d5
Cleanup and move around
PatrickMassot Mar 27, 2026
a612d0b
[pre-commit.ci lite] apply automatic fixes
pre-commit-ci-lite[bot] Mar 27, 2026
a8d44a7
Merge branch 'master' into hm-covder-bundled
grunweg May 12, 2026
2c0e716
Fix delaborator typo
PatrickMassot May 14, 2026
b74e175
More extDerivFun
PatrickMassot May 14, 2026
36bb197
Start modifying LeviCivita
PatrickMassot May 14, 2026
fb77d06
Fix build
PatrickMassot May 14, 2026
5b9832c
Fixes
PatrickMassot May 14, 2026
4969ab0
remove fromTangentSpace from statements in Metric
hrmacbeth May 14, 2026
4a26654
Minor tweaks
grunweg May 14, 2026
872091f
Remove a sorry
PatrickMassot May 14, 2026
bf94b8e
update metric more
hrmacbeth May 14, 2026
73c2523
fix levi-civita after removing fromTangentSpace
hrmacbeth May 14, 2026
61088af
rw -> simp in Metric
hrmacbeth May 14, 2026
dbeb838
smul arg order
hrmacbeth May 14, 2026
ef3cf96
move `product` api to levicivita
hrmacbeth May 14, 2026
ba1054a
start streamlining levi-civita
hrmacbeth May 15, 2026
0008dbc
bit more
hrmacbeth May 15, 2026
f8b87d6
further streamline lemmas
hrmacbeth May 15, 2026
92e8adb
more
hrmacbeth May 15, 2026
243f1cd
drop `product` def
hrmacbeth May 15, 2026
b9441c8
another cleanup
hrmacbeth May 15, 2026
ceb7169
golf proofs using `simp (disch := assumption)` paradigm
hrmacbeth May 15, 2026
d1b65c4
chore: remove phrasebook comment
grunweg May 15, 2026
43caad7
RFC/refactor(Metric.lean): make use of module system; backward compat…
grunweg May 15, 2026
4b58f22
chore(LeviCivita): small clean-up; just two backcompat issues remaining
grunweg May 15, 2026
606f64b
remove leviCivitaRhs'
hrmacbeth May 15, 2026
1a087de
bit more golf
hrmacbeth May 15, 2026
e02d648
inline a lemma
hrmacbeth May 15, 2026
6426b5f
chore(LeviCivita): document intermediate functions; make private and …
grunweg May 15, 2026
0d7bb77
chore: only expose the definitions we want
grunweg May 15, 2026
38c63f6
RFC: make items private by default; to be discussed!
grunweg May 15, 2026
e5a8df8
chore(LeviCivita): more clean-ups
grunweg May 15, 2026
904d7eb
ext-type results to replace use of `extend`
hrmacbeth May 15, 2026
0be45dc
swap out `extend` in `Metric
hrmacbeth May 15, 2026
88d5e10
Minor tweaks
grunweg May 15, 2026
ef93c67
chore: rename extDerivFun -> mvfderiv
grunweg May 15, 2026
bf67f11
Comment on future generalisation
grunweg May 15, 2026
975e6b0
Remove some if
PatrickMassot May 15, 2026
c2c9107
Some cleanup
PatrickMassot May 15, 2026
b7302d0
Merge branch 'master' into hm-covder-bundled
grunweg May 15, 2026
ca62c70
Fix merge
grunweg May 15, 2026
0436327
cherry-pick #39226: allow fun_prop to infer models with corners also
grunweg May 15, 2026
8cce520
Automate more using fun_prop \o/
grunweg May 15, 2026
964cbb6
Tweak
grunweg May 15, 2026
4374b69
TODO investigate why the following surface adjustment fixes a simp
hrmacbeth May 15, 2026
bd34dc8
remove rhs_aux
hrmacbeth May 15, 2026
75e36c7
bit more cleanup
hrmacbeth May 15, 2026
8953ee0
tweak uniqueness proof
hrmacbeth May 15, 2026
f458683
adjust for case convention
hrmacbeth May 15, 2026
ef2458f
docstring
hrmacbeth May 15, 2026
4871eed
inline arithmetic lemmas for leviCivitaRhs
hrmacbeth May 15, 2026
12da53f
make leviCivitaRhs non-public
hrmacbeth May 16, 2026
d930930
rename leviCivitaRhs to leviCivitaAux
hrmacbeth May 16, 2026
100ad94
use fun_prop throughout
hrmacbeth May 16, 2026
5819753
docs
hrmacbeth May 16, 2026
2536088
adjust curvature file to general bundle
hrmacbeth May 16, 2026
134699a
fix
hrmacbeth May 16, 2026
fc679b6
wip: add mvfderinvWithin with (d)elaborators and corresponding lemmas
grunweg May 15, 2026
6662a03
feat: mfderivWithin_{add,neg,sub}
grunweg May 15, 2026
34ae1ad
Finish proving corresponding mvfderivWithin lemmas
grunweg May 15, 2026
4db8033
chore: name the right lemma to set up fun_prop; comment this
grunweg May 16, 2026
cc51360
Fix one variable warning
grunweg May 16, 2026
e53d7d0
Merge branch 'master' into hm-covder-bundled
grunweg May 16, 2026
f909a6c
More ∇ notation
PatrickMassot May 16, 2026
dfecc14
Random cleanups and move around
PatrickMassot May 16, 2026
3bc62f4
Remove one layer of auxiliary definition
PatrickMassot May 16, 2026
3e5070b
Merge branch 'master' into hm-covder-bundled
grunweg May 16, 2026
f638335
Fixup, mfderivWithin_neg should have f implicit
grunweg May 16, 2026
f005ace
Merge branch 'master' into hm-covder-bundled
grunweg May 17, 2026
11ce3ce
Remove to_fun workaround
grunweg May 17, 2026
317a86a
Merge branch 'master' into hm-covder-bundled
grunweg May 18, 2026
f5bbf82
Remove more to_fun workaround
grunweg May 18, 2026
5dec592
RFC: use notation d% and d[ for mvfderiv(Within)
grunweg May 18, 2026
3dace16
sharpen typeclasses
hrmacbeth May 18, 2026
be8d17d
allow for variant regularity in extensionality lemmas
hrmacbeth May 18, 2026
6e48700
look at curvature file
hrmacbeth May 18, 2026
5295127
chore: sync with in-flight changes in #39513
grunweg May 18, 2026
1e1dc7b
chore: make fromTangentSpace lemmas private
grunweg May 18, 2026
e4d16b8
chore(Curvature): fix two warnings; use T% more
grunweg May 18, 2026
0190b25
experiment: playing with notation for mvfderiv and better hovers
grunweg May 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Mathlib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -4601,6 +4601,7 @@ public import Mathlib.Geometry.Manifold.Notation
public import Mathlib.Geometry.Manifold.PartitionOfUnity
public import Mathlib.Geometry.Manifold.PoincareConjecture
public import Mathlib.Geometry.Manifold.Riemannian.Basic
public import Mathlib.Geometry.Manifold.Riemannian.ExistsRiemannianMetric
public import Mathlib.Geometry.Manifold.Riemannian.PathELength
public import Mathlib.Geometry.Manifold.Sheaf.Basic
public import Mathlib.Geometry.Manifold.Sheaf.LocallyRingedSpace
Expand All @@ -4611,16 +4612,31 @@ public import Mathlib.Geometry.Manifold.StructureGroupoid
public import Mathlib.Geometry.Manifold.VectorBundle.Basic
public import Mathlib.Geometry.Manifold.VectorBundle.ContMDiffSection
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Basic
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.ChristoffelSymbols
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Curvature
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Ehresmann
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Geodesics
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.IntegralCurvePrelim
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.LeviCivita
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Lift
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Metric
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Prelim
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Torsion
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Torsion2
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.TrivPrelim
public import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Trivial
public import Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
public import Mathlib.Geometry.Manifold.VectorBundle.GramSchmidtOrtho
public import Mathlib.Geometry.Manifold.VectorBundle.Hom
public import Mathlib.Geometry.Manifold.VectorBundle.LocalFrame
public import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable
public import Mathlib.Geometry.Manifold.VectorBundle.OrthonormalFrame
public import Mathlib.Geometry.Manifold.VectorBundle.Pullback
public import Mathlib.Geometry.Manifold.VectorBundle.Riemannian
public import Mathlib.Geometry.Manifold.VectorBundle.SmoothSection
public import Mathlib.Geometry.Manifold.VectorBundle.Tangent
public import Mathlib.Geometry.Manifold.VectorBundle.Tensoriality
public import Mathlib.Geometry.Manifold.VectorBundle.Unused
public import Mathlib.Geometry.Manifold.VectorField.LieBracket
public import Mathlib.Geometry.Manifold.VectorField.Pullback
public import Mathlib.Geometry.Manifold.WhitneyEmbedding
Expand Down
130 changes: 130 additions & 0 deletions Mathlib/Geometry/Manifold/CheatSheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
## Differential geometry cheat sheet

How do I say certain basic things in Lean?
For each of them, include a variable block. Can verso do this already?


Let M be a C^k manifold.
```
variable {𝕜 E M H : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E]
[NormedSpace 𝕜 E] [TopologicalSpace H] [TopologicalSpace M] {k : ℕ} -- more general: take k : WithTop ℕ∞, allows smooth and analytic; remove WithTop to exclude analyticity
{I : ModelWithCorners 𝕜 E H} [ChartedSpace H M] [IsManifold I k M]
```

Let M be a smooth manifold
```
variable {𝕜 E M H : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E]
[NormedSpace 𝕜 E] [TopologicalSpace H] [TopologicalSpace M]
{I : ModelWithCorners 𝕜 E H} [ChartedSpace H M] [IsManifold I ∞ M]
```

Let M be a smooth real manifold.
```
variable {E M H : Type*} [NormedAddCommGroup E]
[NormedSpace ℝ E] [TopologicalSpace H] [TopologicalSpace M]
{I : ModelWithCorners ℝ E H} [ChartedSpace H M] [IsManifold I ∞ M] -- test, needs open scoped Manifold??
```

Let M be an analytic manifold
```
open scoped Manifold -- test, necessary?

variable {𝕜 E M H : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E]
[NormedSpace 𝕜 E] [TopologicalSpace H] [TopologicalSpace M]
{I : ModelWithCorners 𝕜 E H} [ChartedSpace H M] [IsManifold I ω M]
```

Differentiability of functions between manifolds
```
import Mathlib.Geometry.Manifold.MFDeriv.Defs
import Mathlib.Geometry.Manifold.ContMDiff.Defs

variable
-- Given a non-trivially normed field 𝕜
{𝕜 : Type*} [NontriviallyNormedField 𝕜]
-- A manifold M over 𝕜
{E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E]
{H : Type*} [TopologicalSpace H] (I : ModelWithCorners 𝕜 E H)
{M : Type*} [TopologicalSpace M] [ChartedSpace H M]
-- A manifold M' over 𝕜
{E' : Type*} [NormedAddCommGroup E'] [NormedSpace 𝕜 E']
{H' : Type*} [TopologicalSpace H'] (I' : ModelWithCorners 𝕜 E' H')
{M' : Type*} [TopologicalSpace M'] [ChartedSpace H' M']
-- A function from M to M' and x in M
(f : M → M') (x : M)

variable (x : M) in
-- f is differentiable at x
#check MDifferentiableAt I I' f x

variable (n : WithTop ℕ∞) in -- A natural number or ∞ or ω
#check ContMDiff I I' n f


variable
{F : Type*} [NormedAddCommGroup F] [NormedSpace 𝕜 F]
(g : M → F) in
open scoped Manifold in
#check ContMDiff I 𝓘(𝕜, F) n g -- g is n times continuously differentiable
```

Consider the product manifold M \times N.


Let \phi be the preferred chart at x\in M.

Let \phi be any (compatible) chart on M.

--------

Let E\to M be a topological vector bundle.

Let E\to M be a smooth vector bundle.

Let s be a section of E.
```
variable (s : Π x : M, V x)
```
Let X be a vector field on `M`
```
(X : Π x : M, TangentSpace I x)
```

Let s be a C^k section of E. / The section s of E is C^k.
```
ContMDiff I (I.prod 𝓘(𝕜, F)) (k + 1) (fun x ↦ TotalSpace.mk' F x (σ x))
```

Let `X` be a C^k vector field on M.
```
variable {X : Π x : M, TangentSpace I x}
-- TODO: this doesn't work!
-- variable (___hX: ContMDiff I I.tangent 2 (fun x ↦ (X x : TangentBundle I M)))
```

Let \phi be the preferred local trivialisation at x\in E.
Let \phi be any compatible trivialisation on M.

Consider the tangent bundle TM of M.

Let X be a C^k vector field on M.

explain TotalSpace.mk' somewhere in here...


-- Let `cov` be a covariant derivative on `V`.



**Basic API lemmas**
- testing smoothness of a map in charts: the standard charts; any charts

- testing smoothness of a section in trivialisations: the standard charts; any charts


**constructions**
- product manifold (tricky!)
- disjoint union

- product bundle (how difficult?)
- Lie bracket of vector fields
Loading
Loading