Zulip Chat Archive
Stream: Is there code for X?
Topic: The simplex category
Kevin Buzzard (May 29 2021 at 20:04):
def simplicial_sigma {i j : ℕ} (hij : j = i + 1) (k : ℕ) (t : fin i) : fin j :=
⟨if htk : t.1 < k then t.1 else t.1.succ, sorry⟩
Do we have this function in Lean already? I need to know some API for it for an experimental version of group cohomology, which I am trying to make a concrete model of in Lean 3 to see just how far we can get nowadays. I think it would be interesting to pit Lean 4 against Lean 3 for a definition of group cohomology. We mathematicians seem to be getting a good understanding of how to encode our ideas in your type theory and a Lean 3 definition of group cohomology could be regarded as a blueprint for a port to Lean 4.
Adam Topaz (May 29 2021 at 20:05):
This is docs#fin.succ_above (I think)
Kevin Buzzard (May 29 2021 at 20:05):
What tools do we need in Lean 4 to get a spectral sequence for group cohomology?
Adam Topaz (May 29 2021 at 20:07):
Adam Topaz said:
This is docs#fin.succ_above (I think)
maybe upto composition with a cast
Kevin Buzzard (May 29 2021 at 20:59):
Why the heck is there an assumption p \le n in docs#fin.succ_above ? Why can't p just be a nat?
/-- `succ_above' rfl p` is the embedding `fin i ↪o fin i.succ` with a hole around `min p i`.
In other words, it sends t to t if t < p and t.succ otherwise. -/
def fin.succ_above' {i j : ℕ} (hij : j = i.succ) (p : ℕ) : fin i ↪o fin j :=
let this : fin i ↪o fin i.succ := fin.succ_above (if hp : p ≤ i
then ⟨p, nat.lt_succ_iff.mpr hp⟩
else ⟨i, lt_add_one i⟩) in begin
subst hij,
exact this,
end
Isn't my variant a more flexible object? What is all this cast_succ nonsense?
Kevin Buzzard (May 29 2021 at 21:06):
We are imagining that this will range through the i+1 inclusions "leave a hole at p : fin i.succ but if we model the map as "if you pass the _ < p test I will leave you alone, otherwise I will apply succ" then there is no clear reason to me why the fact that all these tests give the same answer the moment is relevant.
Adam Topaz (May 29 2021 at 22:03):
Kevin, is your goal to define group cohomology with homogeneous cocycles? If so, you could write down the classifying space of a group as a simplicial set, and use the existing simplicial machinery... (This is all talking about lean 3 with current mathlib, of course)
Adam Topaz (May 29 2021 at 22:04):
We'll port the alternating coface complex from LTE to mathlib soon, and then you can get group cohomology "for free"
Adam Topaz (May 29 2021 at 22:05):
If you make the classifying space construction functorial as well, then you get the change of group operations easily as well
Adam Topaz (May 29 2021 at 22:06):
(well, except for corestriction)
Adam Topaz (May 29 2021 at 22:17):
One of the major annoyances I had with the simplicial stuff in lean 3 is the fact that fin n is not universe polymorphic. I wonder if we can have a universe polymorphic fin n right from the start in lean 4 without ulift nonsense
Last updated: May 02 2025 at 03:31 UTC