Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: define singular n-manifolds #15906

Open
wants to merge 35 commits into
base: master
Choose a base branch
from
Open

Conversation

grunweg
Copy link
Collaborator

@grunweg grunweg commented Aug 17, 2024

These are used to define bordism groups: the n-bordism group of a topological space X is the space of cobordism classes of all singular n-manifolds on X.


This PR can be seen in context in this branch (old version; more updated version (in progress) is here.

#22059 (still in progress) defines manifolds with smooth boundary; very soon, I'll file a PR depending on this and #22059 for the definition of bordism groups.

Open in Gitpod

@grunweg grunweg added the t-differential-geometry Manifolds etc label Aug 17, 2024
Copy link

github-actions bot commented Aug 17, 2024

PR summary 546982219f

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Geometry.Manifold.Bordisms (new file) 1923

Declarations diff

+ SingularNManifold.{u}
+ comap
+ comap_f
+ empty
+ instIsManifoldModelSpace
+ instance {s : SingularNManifold X k I} : BoundarylessManifold I s.M := s.boundaryless
+ instance {s : SingularNManifold X k I} : ChartedSpace H s.M := s.chartedSpace
+ instance {s : SingularNManifold X k I} : CompactSpace s.M := s.compactSpace
+ instance {s : SingularNManifold X k I} : IsManifold I k s.M := s.isManifold
+ instance {s : SingularNManifold X k I} : TopologicalSpace s.M := s.topSpaceM
+ map
+ map_comp
+ map_f
+ prod
+ refl
+ sum
+ toPUnit
- intIsManifoldModelSpace

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@grunweg grunweg force-pushed the MR-singular-nmanifolds branch from 0a0da6b to 85f4ff6 Compare August 17, 2024 01:21
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Aug 17, 2024
@grunweg
Copy link
Collaborator Author

grunweg commented Aug 18, 2024

Note to self: merge my improvements to the bordism theory branch here, once the dependent PR has landed.
Update: done now, and cleaned up this PR.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Sep 3, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 3, 2024
@grunweg grunweg force-pushed the MR-singular-nmanifolds branch from 85f4ff6 to 01ae66b Compare September 3, 2024 21:09
First constructions done; the itneresting ones will require being awake -:-)
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 3, 2024
Comment on lines 56 to 82
E : Type u
/-- `E` is normed (additive) abelian group -/
[normedAddCommGroup : NormedAddCommGroup E]
/-- `E` is a real normed space -/
[normedSpace: NormedSpace ℝ E]
/-- The smooth manifold `M` of a singular `n`-manifold `(M,f)` -/
M : Type u
/-- The smooth manifold `M` is a topological space -/
[topSpaceM : TopologicalSpace M]
/-- The topological space on which the manifold `M` is modeled -/
H : Type u
/-- `H` is a topological space -/
[topSpaceH : TopologicalSpace H]
/-- The smooth manifold `M` is a charted space over `H` -/
[chartedSpace : ChartedSpace H M]
/-- The model with corners for the manifold `M` -/
model : ModelWithCorners ℝ E H
/-- `M` is a smooth manifold with corners -/
[smoothMfd : SmoothManifoldWithCorners model M]
/-- `M` is compact -/
[compactSpace : CompactSpace M]
/-- `M` is boundaryless -/
[boundaryless: BoundarylessManifold model M]
/-- `M` is finite-dimensional, as its model space `E` is -/
[findim: FiniteDimensional ℝ E]
/-- `M` is `n`-dimensional, as its model space `E` is -/
[dimension : finrank ℝ E = n]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest that you use EuclideanSpace ℝ n and get rid of E and H.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes speaking about products more difficult: when talking about products of bordism classes and the (un)oriented bordism ring, that would be needed. Why would you use euclidean space instead?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have changed my mind again, to parametrising the definition over E and H instead: this allows disjoint unions (which require the same model space) and products (take ModelProd), but does not close the door to using EuclideanSpace R n in applications.

Copy link
Contributor

@sgouezel sgouezel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you sketch a little bit more the maths behind this, which I don't know? (For me, a cobordism between two manifolds M and N is a manifold one dimension higher with two boundary components which are diffeomorphic to M and N respectively, but I don't see how your singular manifolds fit into this picture). Either in the file-level docstring, or in the PR, as you prefer.

I think it would help me a lot to see a theorem which is proved with this formalism (the proof of the pudding is in the eating). Do you have a working branch with a specific theorem you could point me to, so that I get a better grasp of where you want to go? (Ideally you could even open a PR with a work in progress branch, for easier discussion there)

Co-authored-by: sgouezel <[email protected]>
Co-authored-by: Yaël Dillies <[email protected]>
@YaelDillies
Copy link
Collaborator

Do you have a working branch with a specific theorem you could point me to, so that I get a better grasp of where you want to go?

The PR description links to master...MR-bordism-theory

@grunweg
Copy link
Collaborator Author

grunweg commented Nov 2, 2024

Thanks for the review! I agree that not everything is self-explanatory; let me expand on the background.

About bordisms: the first time I heard about cobordisms, it was the definition you mentioned. The general definition involves an additional map: two singular n-manifolds (M,f:M\to X) and (N,g:N\to X) are cobordant if there's a cobordism between them --- which is a compact (n+1)-manifold W together with a map F\to X such that

  • the boundary of W is diffeomorphic to the disjoint union of M and N, and
  • under this diffeomorphism, the map F restricts to f resp. g.

In particular, if X is a one-point space, one arrives at the definition you give.

References. I learned this from my advisor's course (see these notes, week 14). I'm just formalising parts of the first page... as formalisation takes more time and space so far.
Dan Freed's lecture notes (https://web.ma.utexas.edu/users/dafr/bordism.pdf) are also supposed to be pretty good.
The manifold atlas page http://www.map.mpim-bonn.mpg.de/B-Bordism#Piecewise_linear_and_topological_bordism has much more generality. Mathlib is not ready for that yet, not even close.

Bigger picture for this PR. As Yael mentioned, this branch has my overall work so far, leading up to defining the unoriented bordism groups. At the end, I realised I needed to change the design of singular n-manifolds (to the current one); I haven't gone through and adapted all of that branch yet. When I do, it shouldn't be too hard to prover that the unordered bordism group is a group.
There are a number of sorries, most of which are missing pre-requisites like "the disjoint union of two n-dimensional manifolds is an n-manifold". Doable, should be in mathlib, but someone needs to do it. (And I'm supposed to work on e.g. the Carleson project now.)

@sgouezel sgouezel added the awaiting-author A reviewer has asked the author a question or requested changes label Nov 18, 2024
@grunweg
Copy link
Collaborator Author

grunweg commented Feb 17, 2025

I have just adapted this PR to latest master, and also

  • generalised the definition to C^n manifolds: while smooth bordism groups are the most classical ones, and the basis for e.g. the continuous case as well, the definition of singular n-manifolds generalises to the continuous setting, and is also used there.

  • thought about the model space question: it would surely be nice if we could just use R^n, but I don't think it's that simple. Medium-term, we'd like to perform two constructions with singular n-manifolds: take the direct sum (to define bordism groups), and take the product (for the bordism ring).
    Taking products means we'll have to take ModelProd as a model space, and using R^n and R^m becomes painful to impossible to use here: we have to do something else. On the other hand, the direct sum construction requires the same model space for now. However, that step is more flexible: if we have an equivalence of the model to a common model, we can translate the charted space structures are still reach our goal.
    This yields the eventual definition I chose: model singular n-manifolds on some space H, but keep a homeomorphism to R^n around (which is used for the direct sum).

  • I am not sure about the universes: the checkUnivs linter still complains if I change them as you say.

There are three sorries remaining, but none of them is mathematically problematic (nor interesting).

@grunweg
Copy link
Collaborator Author

grunweg commented Feb 17, 2025

Actually, the other sorry is interesting. I'll think about it more and update this PR accordingly.

TODO: this PR was updated, write a comment here explaining my choices. Perhaps after polishing the boundary PR and submitting the definition of bordism groups.

@grunweg grunweg force-pushed the MR-singular-nmanifolds branch from c0bc00d to 88bd5f4 Compare February 18, 2025 18:20
@grunweg grunweg removed the awaiting-author A reviewer has asked the author a question or requested changes label Feb 18, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 19, 2025
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 19, 2025

- **SingularNManifold**: a singular `n`-manifold on a topological space `X`, for `n ∈ ℕ`, is a pair
`(M, f)` of a closed `n`-dimensional smooth manifold `M` together with a continuous map `M → X`.
We don't assume `M` to be modelled on `ℝ^n` (nor to be using with the standard model),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We don't assume `M` to be modelled on `ℝ^n` (nor to be using with the standard model),
We don't assume `M` to be modelled on `ℝ^n` (nor to be using with the standard model),

I'm not sure I understand the parenthesis here. Could you clarify?

Currently, this file only contains the definition of *singular *n*-manifolds*:
bordism classes are the equivalence classes of singular n-manifolds w.r.t. the (co)bordism relation
and will be added in a future PR, as well as the definition of the (unoriented) bordism groups.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you expand a little bit the docstring here, to explain what singular n manifolds are: it's not manifolds where you allow some singularities (which is what the name seems to indicate), it's rather a smooth manifold enriched with a continuous map to a topological space X. Also explain that, for X = a point, you just get manifolds in the usual sense. And maybe sketch an example of something that can be done with this formalism but which can not be done using manifolds in the usual sense?

Note that wikipedia, for instance, only defines bordism in the usual sense (where two manifolds are cobordant if they are the boundaries of a one-dimensional higher manifold), so it's a little bit surprising to say that you are doing "the beginnings of bordism" and go directly to a slightly exotic setting. So I think this deserves big warnings, and motivation in the docstring.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will expand this doc-string (thanks for providing some hints). However, let me say that your claim about wikipedia is not fully correct: it mentions bordism groups as an extraordinary cohomology theory https://en.wikipedia.org/wiki/Cobordism#Cobordism_as_an_extraordinary_cohomology_theory. There are absolute and relative bordism groups; wikipedia only hints at this fact (and mostly mentions the absolute ones).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're absolutely right! What got me is that I looked for the word "singular" in the wikipedia page and didn't find it. Is the terminology "singular manifold" for a manifold together with a map to X completely standard?

simp [Function.comp_def]
rfl

-- Let M' and W be real C^k manifolds.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see W below

Comment on lines 191 to 196
/-- The disjoint union of two singular `n`-manifolds on `X` is a singular `n`-manifold on `X`. -/
-- We need to choose a model space for the disjoint union (as a priori `s` and `t` could be
-- modelled on very different spaces: for simplicity, we choose `ℝ^n`; all real work is contained
-- in the two instances above.
def sum {n : ℕ} (s t : SingularNManifold X n k I) [finrank: Fact (finrank ℝ E = n)] :
SingularNManifold X n k I where
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am confused by the design and the comment here. One you fix I, you are fixing the model space, so by definition s and t have the same model space, and there is nothing special to do: just use I also for the disjoint union. On the other hand, it makes me realize that the parameter n is completely useless in all the story, as it is also determined by I (it's the dimension of the target space of I). So why not just remove it completely from the definition of SingularNManifold (and from the whole file)?

@sgouezel sgouezel added the awaiting-author A reviewer has asked the author a question or requested changes label Feb 25, 2025
grunweg and others added 8 commits February 25, 2025 20:01
Co-authored-by: Sebastien Gouezel <[email protected]>
This dimension condition *is* important when defining bordism groups, but
I'd have to think (and, presumably, experiment with the different possible
designs) to if/how that condition is necessary.

Maybe, n-bordism groups are parametrised on a model with corners (and a
proof that I has n-dimensional model space) --- so the standard bordism groups
are just with respect to modelWithCornersSelf, and one would prove that
equivalent models yield isomorphic groups?

Or we do want n as a type parameter? I am not sure yet, need to think!!
@grunweg
Copy link
Collaborator Author

grunweg commented Feb 25, 2025

Thanks for the review comments! I responded to some of your comments/addressed the easier ones (which were very helpful). This PR will require some more polish on my parts - leaving as awaiting-author until I've had the time to address them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-author A reviewer has asked the author a question or requested changes t-differential-geometry Manifolds etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants