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: Dec 20 2023 at 11:08 UTC