Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

homological algebra #1063

Open
6 of 11 tasks
kim-em opened this issue May 20, 2019 · 4 comments
Open
6 of 11 tasks

homological algebra #1063

kim-em opened this issue May 20, 2019 · 4 comments
Labels
feature-request This issue is a feature request, either for mathematics, tactics, or CI roadmap

Comments

@kim-em
Copy link
Collaborator

kim-em commented May 20, 2019

We'd like to have the basics of homological algebra (complexes, chain maps, homotopy equivalences, exact sequences, homology).

There will be some overlap with the theory of simplicial objects: this issue only addresses the pedestrian approach.

I think it is valuable to work quite generally, and use enriched categories (one doesn't want to have to separately prove that if your morphisms form abelian groups, your chain maps form abelian groups, and that if your morphisms form vector spaces, your chains maps form vector spaces). However if enriched categories aren't ready yet, it's reasonable to start on the special cases.

  • In any preadditive category:
  • Chain complexes
  • Chain maps
  • Homotopies
  • Homotopy equivalences
  • Retracts
  • In any additive category:
  • Direct sums of complexes
  • In any monoidal additive category:
  • Tensor products of complexes
  • In an abelian category:
  • Homology
  • Exactness
  • Short exact sequences
  • ... (please feel free to extend these lists!)
@kim-em kim-em added the roadmap label May 20, 2019
@rwbarton
Copy link
Collaborator

Definitely worth checking out https://github.com/cmu-phil/Spectral which goes all the way through spectral sequences, though only for modules over a ring.

@fpvandoorn
Copy link
Member

fpvandoorn commented May 24, 2019

Yes, it it worth checking out what was done in the Lean 2 HoTT library (also e.g. https://github.com/leanprover/lean2/blob/master/hott/homotopy/chain_complex.hlean).

What I would do the same:

Things I would do differently:

  • Work more generally. We had separate notions of chain complexes of pointed sets and chain complexes of modules. This of course leads to code duplication. It would have been much better (but also more work) to do it generally over a (pre)additive category.
  • We can use type classes more in Lean 3. For example, I would make succ_str a typeclass

Comments:

  • In unstable homotopy theory you often have LESs of abelian groups, except that the last 3 terms are pointed sets, and the next 3 terms are just groups. When I just started out, I tried to encode that exact structure as a huge single dependent type, but (to no surprise of any dependent type skeptic) that was a huge mess. In the end I decided to make it a sequence of pointed sets, and then have separate proofs that most of them were groups (and most of the map group homomorphisms): https://github.com/leanprover/lean2/blob/master/hott/homotopy/LES_of_homotopy_groups.hlean#L646-L662
  • In Lean 2 I didn't really encounter this, but it would be nice to have a genuine common generalization of sequences indexed over nat going upwards and those going downwards. That is, sequences
... -> X n -> X (n+1) -> X (n+2) -> ...

and

... -> X (n+2) -> X (n+1) -> X n -> ...

The approach in Lean 2 HoTT was to always use maps X n -> X (S n) where S was any endofunction (like succ or pred), encapsulated in a "successor structure". This gives you mostly what you want, except in the case where you use pred over nat, because then you have a superfluous function X 0 -> X (pred 0), i.e. X 0 -> X 0.

@bryangingechen bryangingechen added the feature-request This issue is a feature request, either for mathematics, tactics, or CI label Mar 30, 2020
@jcommelin
Copy link
Member

@semorrison @TwoFX I guess we have homology and exactness now, right?

@TwoFX
Copy link
Member

TwoFX commented Aug 17, 2020

I guess we have homology and exactness now, right?

The definitions are there, yes, though I would say that the API for both is not yet in a shape where you can actually work with them.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request This issue is a feature request, either for mathematics, tactics, or CI roadmap
Projects
None yet
Development

No branches or pull requests

6 participants