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

[Merged by Bors] - refactor(AlgebraicTopology/SimplicialSet): use the Subpresheaf API #21090

Closed
wants to merge 74 commits into from

Conversation

joelriou
Copy link
Collaborator

@joelriou joelriou commented Jan 26, 2025

Some new API is introduced for subcomplexes of the standard simplex: any S : Finset (Fin (n + 1)) defines a subcomplex face S of Δ[n], and this face is isomorphic to Δ[m] when Fin (m + 1) ≃o S. Then, boundaries and horns are redefined as subcomplexes of the standard simplex and it is shown that they are unions of certain codimension one faces of the standard simplex.


Open in Gitpod

@joelriou joelriou added the t-category-theory Category theory label Jan 26, 2025
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Jan 26, 2025
Copy link

github-actions bot commented Jan 26, 2025

PR summary e025886861

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.AlgebraicTopology.SimplicialSet.Horn 869 876 +7 (+0.81%)
Mathlib.AlgebraicTopology.SimplicialSet.KanComplex 870 877 +7 (+0.80%)
Mathlib.AlgebraicTopology.SimplicialSet.Path 870 877 +7 (+0.80%)
Mathlib.AlgebraicTopology.Quasicategory.Basic 871 878 +7 (+0.80%)
Mathlib.AlgebraicTopology.Quasicategory.StrictSegal 879 886 +7 (+0.80%)
Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex 868 874 +6 (+0.69%)
Mathlib.AlgebraicTopology.SimplicialSet.Boundary 869 875 +6 (+0.69%)
Mathlib.AlgebraicTopology.ExtraDegeneracy 1114 1120 +6 (+0.54%)
Import changes for all files
Files Import difference
10 files Mathlib.Algebra.Homology.AlternatingConst Mathlib.AlgebraicTopology.ExtraDegeneracy Mathlib.AlgebraicTopology.SimplicialSet.Boundary Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex Mathlib.AlgebraicTopology.SingularHomology.Basic Mathlib.RepresentationTheory.GroupCohomology.Basic Mathlib.RepresentationTheory.GroupCohomology.Functoriality Mathlib.RepresentationTheory.GroupCohomology.Hilbert90 Mathlib.RepresentationTheory.GroupCohomology.LowDegree Mathlib.RepresentationTheory.GroupCohomology.Resolution
6
11 files Mathlib.AlgebraicTopology.Quasicategory.Basic Mathlib.AlgebraicTopology.Quasicategory.Nerve Mathlib.AlgebraicTopology.Quasicategory.StrictSegal Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat Mathlib.AlgebraicTopology.SimplicialSet.Horn Mathlib.AlgebraicTopology.SimplicialSet.KanComplex Mathlib.AlgebraicTopology.SimplicialSet.NerveAdjunction Mathlib.AlgebraicTopology.SimplicialSet.Path Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal Mathlib.CategoryTheory.Category.Cat.Colimit
7

Declarations diff

+ Subcomplex.liftPath
+ Subcomplex.map_ι_liftPath
+ asOrderHom
+ boundary_eq_iSup
+ const_val_apply
+ ext
+ faceRepresentableBy
+ face_eq_ofSimplex
+ face_inter_face
+ face_le_horn
+ horn_eq_iSup
+ horn_obj_zero
+ instance (n i : ℕ) : DFunLike (Δ[n] _⦋i⦌) (Fin (i + 1)) (fun _ ↦ Fin (n + 1))
+ isoOfRepresentableBy
+ mem_face_iff
+ mem_ofSimplex_obj
+ objEquiv_symm_apply
+ objEquiv_symm_comp
+ objEquiv_toOrderHom_apply
+ objMk_apply
+ obj₀Equiv
+ ofSimplex
+ ofSimplex_le_iff
+ ofSimplex_yonedaEquiv_δ
+ range_eq_ofSimplex
+ range_δ
+ stdSimplex.spineId_arrow_apply_one
+ stdSimplex.spineId_arrow_apply_zero
+ stdSimplex.spineId_vertex
+ yonedaEquiv_coe
+ yonedaEquiv_comp
+ yonedaEquiv_map
++- face
- id
- id_eq_objEquiv_symm
- objEquiv_id

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).

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Jan 26, 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 Jan 27, 2025
mathlib-bors bot pushed a commit that referenced this pull request Mar 3, 2025
This PR introduces `SSet.Subcomplex` as an abbreviation for `Subpresheaf`. (This is needed because `SSet` is defined as a category of presheaves, but not reducibly so.)

(Part of the purpose of this PR is to shorten the diff of the refactor PR #21090.)



Co-authored-by: Joël Riou <[email protected]>
mathlib-bors bot pushed a commit that referenced this pull request Mar 3, 2025
This PR introduces constant morphisms `X ⟶ Y` of simplicial sets that are given by a `0`-simplex of `Y`.

(This is to make the diff shorter for the refactor PR #21090.)
@joelriou joelriou added WIP Work in progress and removed WIP Work in progress blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) labels Mar 3, 2025
@emilyriehl
Copy link
Collaborator

What explains the reason you need to annotate various simplicial sets as belonging to the type SSet.{u}? Is this to coerce a subcomplex of a simplex to a standard simplicial set?

@joelriou
Copy link
Collaborator Author

joelriou commented Mar 4, 2025

What explains the reason you need to annotate various simplicial sets as belonging to the type SSet.{u}? Is this to coerce a subcomplex of a simplex to a standard simplicial set?

Yes, this is to coerce subcomplexes to simplicial sets. (In some cases, the (_ : SSet.{u}) syntax may not have been absolutely necesary, but this was also a way to clarify in which universe it was.)

Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

bors d+

intro hj
exact Set.range_comp_subset_range _ _ hj⟩
@[simps (config := .lemmasOnly)]
def subcomplexHorn (n : ℕ) (i : Fin (n + 1)) : (Δ[n] : SSet.{u}).Subcomplex where
Copy link
Member

Choose a reason for hiding this comment

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

How about keeping the old name horn?
Anyway, if you decide to stick with the new name, then please update it in the docstring.

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Mar 14, 2025

✌️ joelriou can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@joelriou
Copy link
Collaborator Author

Thanks!

bors merge

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the ready-to-merge This PR has been sent to bors. label Mar 14, 2025
mathlib-bors bot pushed a commit that referenced this pull request Mar 14, 2025
…21090)

Some new API is introduced for subcomplexes of the standard simplex: any `S : Finset (Fin (n + 1))` defines a subcomplex `face S` of `Δ[n]`, and this face is isomorphic to `Δ[m]` when `Fin (m + 1) ≃o S`. Then, boundaries and horns are redefined as subcomplexes of the standard simplex and it is shown that they are unions of certain codimension one faces of the standard simplex.

- [x] depends on: #21543
- [x] depends on: #21540
- [x] depends on: #21542
- [x] depends on: #21303
- [x] depends on: #21047
- [x] depends on: #20840
- [x] depends on: #21096 



Co-authored-by: Joël Riou <[email protected]>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Mar 14, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title refactor(AlgebraicTopology/SimplicialSet): use the Subpresheaf API [Merged by Bors] - refactor(AlgebraicTopology/SimplicialSet): use the Subpresheaf API Mar 14, 2025
@mathlib-bors mathlib-bors bot closed this Mar 14, 2025
@mathlib-bors mathlib-bors bot deleted the sset-redef-horn-boundary branch March 14, 2025 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated ready-to-merge This PR has been sent to bors. t-category-theory Category theory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants