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
[Merged by Bors] - feat(algebraic_topology): introduce the simplex category #6173
Conversation
It might not be the best idea, but it's possible to do @[reducible] def simplex_category.mk (n : ℕ) : simplex_category := n
notation `[`n`]` := simplex_category.mk n and then we can write /-- The `i`-th face map from `[n]` to `[n+1]` -/
def δ {n : ℕ} (i : fin (n+2)) : [n] ⟶ [n+1] :=
(fin.succ_above i).to_preorder_hom which is satisfying notation, probably should be |
I'm very dubious about defining notation, even localized, that clashes with list notation. If we move to variant square brackets it becomes much less satisfying, so on balance I'm happy without notation. (But I am generally a notation skeptic, so am happy to be over-ruled here.) |
Reasonable, I'm also happy to be over-ruled. Perhaps there's a middle-ground though, possibly just a named constructor |
I think I've finished dealing with non-terminal simps, and also added the notation Bhavik suggested, but only as a local notation. |
Co-authored-by: Bhavik Mehta <bhavikmehta8@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks 🎉
bors merge
* introduce `simplex_category`, with objects `nat` and morphisms `n ⟶ m` order-preserving maps from `fin (n+1)` to `fin (m+1)`. * prove the simplicial identities * show the category is equivalent to `NonemptyFinLinOrd` This is the start of simplicial sets, moving and completing some of the material from @jcommelin's `sset` branch. Dold-Kan is the obvious objective; apparently we're going to need it for `lean-liquid` at some point. The proofs of the simplicial identities are bad and slow. They involve extravagant use of nonterminal simp (`simp?` doesn't seem to give good answers) and lots of `linarith` bashing. Help welcome, especially if you love playing with inequalities in `nat` involving lots of `-1`s. Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Yakov Pechersky <ffxen158@gmail.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
Pull request successfully merged into master. Build succeeded: |
* introduce `simplex_category`, with objects `nat` and morphisms `n ⟶ m` order-preserving maps from `fin (n+1)` to `fin (m+1)`. * prove the simplicial identities * show the category is equivalent to `NonemptyFinLinOrd` This is the start of simplicial sets, moving and completing some of the material from @jcommelin's `sset` branch. Dold-Kan is the obvious objective; apparently we're going to need it for `lean-liquid` at some point. The proofs of the simplicial identities are bad and slow. They involve extravagant use of nonterminal simp (`simp?` doesn't seem to give good answers) and lots of `linarith` bashing. Help welcome, especially if you love playing with inequalities in `nat` involving lots of `-1`s. Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Yakov Pechersky <ffxen158@gmail.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
simplex_category
, with objectsnat
and morphismsn ⟶ m
order-preserving maps fromfin (n+1)
tofin (m+1)
.NonemptyFinLinOrd
This is the start of simplicial sets, moving and completing some of the material from @jcommelin's
sset
branch. Dold-Kan is the obvious objective; apparently we're going to need it forlean-liquid
at some point.The proofs of the simplicial identities are bad and slow. They involve extravagant use of nonterminal simp (
simp?
doesn't seem to give good answers) and lots oflinarith
bashing. Help welcome, especially if you love playing with inequalities innat
involving lots of-1
s.