-
Notifications
You must be signed in to change notification settings - Fork 367
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
base: master
Are you sure you want to change the base?
Conversation
This PR/issue depends on: |
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 |
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.
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?
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.
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.
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.
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
).
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.
But let's let @joelriou weigh in.
We refactor the
StrictSegal
infrastructure, making two notable changes:StrictSegal
class is redefined as a structure, and the classIsStrictSegal X : Prop
is added in its place.Path
,StrictSegal
, and related constructions are defined first for truncated simplicial sets. The respective constructions onSSet
are then defined in terms of these canonical truncated definitions.