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(AlgebraicTopology/SimplicialSet): refactor StrictSegal via SSet.Truncated #20668

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

Conversation

gio256
Copy link
Collaborator

@gio256 gio256 commented Jan 11, 2025

We refactor the StrictSegal infrastructure, making two notable changes:

  • The StrictSegal class is redefined as a structure, and the class IsStrictSegal X : Prop is added in its place.
  • Path, StrictSegal, and related constructions are defined first for truncated simplicial sets. The respective constructions on SSet are then defined in terms of these canonical truncated definitions.

Open in Gitpod

@gio256 gio256 added WIP Work in progress t-category-theory Category theory labels Jan 11, 2025
@gio256 gio256 changed the title Refactor StrictSegal constructions through SSet.Truncated feat(AlgebraicTopology/SimplicialSet): Refactor StrictSegal constructions through SSet.Truncated Jan 12, 2025
@gio256 gio256 changed the title feat(AlgebraicTopology/SimplicialSet): Refactor StrictSegal constructions through SSet.Truncated feat(AlgebraicTopology/SimplicialSet): refactor StrictSegal via SSet.Truncated Jan 14, 2025
@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 14, 2025
@gio256 gio256 removed the WIP Work in progress label Jan 20, 2025
spineToSimplex_spine {n : ℕ} (Δ : X _[n]) : spineToSimplex (X.spine n Δ) = Δ
/-- A simplicial set `X` is `SSet.StrictSegal` if the `n + 1`-truncation of `X`
is `SSet.Truncated.StrictSegal` for all `n : ℕ`. -/
abbrev StrictSegal := ∀ n : ℕ, truncation (n + 1) |>.obj X |>.StrictSegal
Copy link
Collaborator

Choose a reason for hiding this comment

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

If I'm reading this correct, StrictSegal X is the structure of an (n + 1)-StrictSegal structure on the (n+1)-truncation of X for all n. If this is right, this feels very redundant because we're specifying explicit equivalences for each map X.spine m : X _[m]→Path X m infinitely many times (for each n so that m ≤ n + 1).

The code you've deleted specifies each equivalence exactly once. Is there a way to do this while re-using the truncated versions of the code?

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 also surprises me a bit. One thought is that this redundancy is removed if Truncated.StrictSegal is defined such that an n + 1-truncated simplicial set X is Truncated.StrictSegal when its n + 1-simplices are uniquely determined by their spine (rather than its m-simplices for all m ≤ n + 1). But, this still strikes me as the wrong definition for the truncated case.

Relatedly, I was surprised that I never needed any sort of proof that the StrictSegal data at each truncation level agreed with the data from the lower truncation levels. I will give this all some more thought.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes, I agree that's the wrong definition in the truncated case. Though perhaps Truncated.StrictSegal could be defined such that an n + 1-truncated simplicial set X is Truncated.StrictSegal when its n + 1-simplices are uniquely determined by their spine AND its further n-truncation is Truncated.StrictSegal (inductively now in n).

Copy link
Collaborator

Choose a reason for hiding this comment

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

But let's let @joelriou weigh in.

@gio256 gio256 added the infinity-cosmos This PR is associated with Infinity Cosmos project label Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) infinity-cosmos This PR is associated with Infinity Cosmos project t-category-theory Category theory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants