Skip to content

[Merged by Bors] - refactor: removing the old homology API#14569

Closed
joelriou wants to merge 14 commits intomasterfrom
remove-old-homology-api
Closed

[Merged by Bors] - refactor: removing the old homology API#14569
joelriou wants to merge 14 commits intomasterfrom
remove-old-homology-api

Conversation

@joelriou
Copy link
Copy Markdown
Contributor

@joelriou joelriou commented Jul 9, 2024

The now redundant old homology API is removed. (It was already mostly unused.)

The only slightly non-trivial changes are in CategoryTheory.Abelian.Exact where some definitions and proofs have been refactored. The proof that the category of abelian groups satisfies Grothendieck's AB5 axiom had to be moved to a separate file Algebra.Category.Grp.AB5.


Open in Gitpod

@joelriou joelriou added WIP Work in progress t-category-theory Category theory labels Jul 9, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jul 9, 2024

PR summary c321921a2e

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Algebra.Homology.Exact 643 0 -643 (-100.00%)
Mathlib.Algebra.Homology.Homology 654 0 -654 (-100.00%)
Mathlib.Algebra.Homology.ModuleCat 1176 0 -1176 (-100.00%)
Mathlib.CategoryTheory.Abelian.Homology 1026 0 -1026 (-100.00%)
Mathlib.CategoryTheory.Preadditive.Projective 651 522 -129 (-19.82%)
Mathlib.CategoryTheory.Preadditive.Injective 652 523 -129 (-19.79%)
Mathlib.Algebra.Homology.QuasiIso 1045 911 -134 (-12.82%)
Mathlib.Algebra.Homology.Opposite 1038 905 -133 (-12.81%)
Mathlib.CategoryTheory.Preadditive.InjectiveResolution 1046 913 -133 (-12.72%)
Mathlib.CategoryTheory.Preadditive.ProjectiveResolution 1046 913 -133 (-12.72%)
Mathlib.CategoryTheory.Abelian.RightDerived 1053 920 -133 (-12.63%)
Mathlib.CategoryTheory.Abelian.LeftDerived 1056 923 -133 (-12.59%)
Mathlib.Algebra.Homology.ShortComplex.Abelian 693 668 -25 (-3.61%)
Mathlib.Algebra.Homology.ShortComplex.Exact 863 837 -26 (-3.01%)
Mathlib.Algebra.Homology.ShortComplex.ShortExact 864 838 -26 (-3.01%)
Mathlib.Algebra.Category.Grp.Abelian 1153 1120 -33 (-2.86%)
Mathlib.Algebra.Category.ModuleCat.Abelian 1141 1116 -25 (-2.19%)
Mathlib.Algebra.Homology.ShortComplex.Ab 1165 1141 -24 (-2.06%)
Mathlib.CategoryTheory.Abelian.Exact 853 861 +8 (+0.94%)
Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex 911 903 -8 (-0.88%)
Mathlib.Algebra.Homology.SingleHomology 912 904 -8 (-0.88%)
Mathlib.Algebra.Homology.Homotopy 918 910 -8 (-0.87%)
Mathlib.Algebra.Homology.HomotopyCategory 923 915 -8 (-0.87%)
Mathlib.CategoryTheory.Abelian.Pseudoelements 1010 1018 +8 (+0.79%)
Mathlib.CategoryTheory.Abelian.Projective 1149 1158 +9 (+0.78%)
Mathlib.CategoryTheory.Abelian.Injective 1150 1158 +8 (+0.70%)
Mathlib.Algebra.Homology.Additive 684 682 -2 (-0.29%)
Import changes for all files
Files Import difference
Mathlib.Algebra.Homology.ModuleCat -1176
Mathlib.CategoryTheory.Abelian.Homology -1026
Mathlib.Algebra.Homology.Homology -654
Mathlib.Algebra.Homology.Exact -643
Mathlib.Algebra.Homology.HomologySequenceLemmas Mathlib.Algebra.Homology.QuasiIso -134
9 files Mathlib.CategoryTheory.Abelian.RightDerived Mathlib.Algebra.Homology.Opposite Mathlib.CategoryTheory.Abelian.ProjectiveResolution Mathlib.CategoryTheory.Monoidal.Tor Mathlib.Algebra.Homology.Localization Mathlib.CategoryTheory.Preadditive.ProjectiveResolution Mathlib.CategoryTheory.Abelian.InjectiveResolution Mathlib.CategoryTheory.Preadditive.InjectiveResolution Mathlib.CategoryTheory.Abelian.LeftDerived
-133
Mathlib.CategoryTheory.Preadditive.Projective Mathlib.CategoryTheory.Preadditive.Injective -129
Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence -37
9 files Mathlib.Algebra.Homology.DerivedCategory.HomologySequence Mathlib.Algebra.Category.Grp.Abelian Mathlib.Algebra.Homology.DerivedCategory.Ext Mathlib.Algebra.Homology.DerivedCategory.SingleTriangle Mathlib.Algebra.Homology.DerivedCategory.ShortExact Mathlib.Algebra.Category.Grp.Images Mathlib.Algebra.Homology.HomotopyCategory.ShortExact Mathlib.Algebra.Homology.DerivedCategory.Basic Mathlib.Algebra.Homology.DerivedCategory.ExactFunctor
-33
7 files Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four Mathlib.Algebra.Homology.ShortComplex.SnakeLemma Mathlib.CategoryTheory.Abelian.EpiWithInjectiveKernel Mathlib.CategoryTheory.Abelian.Refinements Mathlib.Algebra.Homology.ShortComplex.Exact Mathlib.Algebra.Homology.ExactSequence Mathlib.Algebra.Homology.ShortComplex.ShortExact
-26
4 files Mathlib.Algebra.Category.ModuleCat.Abelian Mathlib.Algebra.Homology.ShortComplex.Abelian Mathlib.Algebra.Category.ModuleCat.Images Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian
-25
Mathlib.Algebra.Homology.ShortComplex.Ab Mathlib.CategoryTheory.Preadditive.Yoneda.Limits -24
Mathlib.CategoryTheory.Triangulated.HomologicalFunctor -23
6 files Mathlib.Algebra.Homology.ShortComplex.ModuleCat Mathlib.Algebra.Category.ModuleCat.Biproducts Mathlib.GroupTheory.FiniteAbelian Mathlib.Algebra.Module.PID Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory Mathlib.Algebra.Category.ModuleCat.Free
-20
15 files Mathlib.CategoryTheory.Preadditive.Yoneda.Projective Mathlib.RingTheory.Flat.Basic Mathlib.RingTheory.Regular.RegularSequence Mathlib.Topology.Category.Profinite.Nobeling Mathlib.RingTheory.Regular.IsSMulRegular Mathlib.Algebra.Category.Grp.EnoughInjectives Mathlib.CategoryTheory.Preadditive.Yoneda.Injective Mathlib.RingTheory.Flat.Algebra Mathlib.Algebra.Module.Injective Mathlib.Algebra.Module.CharacterModule Mathlib.RingTheory.Flat.EquationalCriterion Mathlib.RingTheory.LocalRing.Module Mathlib.Algebra.Category.ModuleCat.Projective Mathlib.RingTheory.Flat.Stability Mathlib.Algebra.Category.Grp.Injective
-19
4 files Mathlib.Topology.Category.Stonean.Adjunctions Mathlib.Topology.Category.CompHaus.Projective Mathlib.Topology.Category.Profinite.Projective Mathlib.Topology.Category.Stonean.Basic
-18
Mathlib.Algebra.Category.ModuleCat.Injective -17
3 files Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves Mathlib.CategoryTheory.Sites.Coherent.RegularTopology
-15
5 files Mathlib.Algebra.Category.ModuleCat.Sheaf.Colimits Mathlib.Algebra.Category.ModuleCat.Sheaf.Free Mathlib.Algebra.Category.ModuleCat.Sheaf.Abelian Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification Mathlib.Topology.Category.Stonean.Limits
-14
9 files Mathlib.AlgebraicGeometry.Modules.Sheaf Mathlib.Topology.Category.Stonean.EffectiveEpi Mathlib.Condensed.Limits Mathlib.Condensed.Module Mathlib.Topology.Category.Profinite.EffectiveEpi Mathlib.Condensed.Solid Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators Mathlib.Condensed.Functors Mathlib.Algebra.Category.ModuleCat.Sheaf.Quasicoherent
-13
5 files Mathlib.Condensed.TopComparison Mathlib.Condensed.Light.Explicit Mathlib.Condensed.Explicit Mathlib.Condensed.Light.TopComparison Mathlib.Condensed.Light.Module
-12
Mathlib.RepresentationTheory.GroupCohomology.Hilbert90 Mathlib.RepresentationTheory.GroupCohomology.LowDegree -10
4 files Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective Mathlib.CategoryTheory.Sites.Coherent.Equivalence Mathlib.CategoryTheory.Sites.Coherent.SheafComparison Mathlib.Algebra.Homology.ConcreteCategory
-9
31 files Mathlib.AlgebraicTopology.DoldKan.EquivalencePseudoabelian Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject Mathlib.CategoryTheory.Abelian.Ext Mathlib.AlgebraicTopology.DoldKan.Homotopies Mathlib.RepresentationTheory.GroupCohomology.Resolution Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex Mathlib.AlgebraicTopology.DoldKan.GammaCompN Mathlib.AlgebraicTopology.DoldKan.EquivalenceAdditive Mathlib.AlgebraicTopology.DoldKan.HomotopyEquivalence Mathlib.Algebra.Homology.Refinements Mathlib.AlgebraicTopology.DoldKan.Normalized Mathlib.AlgebraicTopology.DoldKan.Faces Mathlib.AlgebraicTopology.DoldKan.Equivalence Mathlib.AlgebraicTopology.DoldKan.Decomposition Mathlib.Algebra.Homology.SingleHomology Mathlib.AlgebraicTopology.DoldKan.PInfty Mathlib.AlgebraicTopology.DoldKan.FunctorGamma Mathlib.RepresentationTheory.GroupCohomology.Basic Mathlib.Algebra.Homology.HomologicalComplexAbelian Mathlib.Algebra.Homology.LocalCohomology Mathlib.AlgebraicTopology.DoldKan.NCompGamma Mathlib.AlgebraicTopology.ExtraDegeneracy Mathlib.Algebra.Homology.Homotopy Mathlib.Algebra.Homology.HomotopyCofiber Mathlib.Condensed.Equivalence Mathlib.Algebra.Homology.HomologySequence Mathlib.Algebra.Homology.HomotopyCategory Mathlib.AlgebraicTopology.DoldKan.FunctorN Mathlib.AlgebraicTopology.DoldKan.NReflectsIso Mathlib.AlgebraicTopology.DoldKan.Degeneracies Mathlib.AlgebraicTopology.DoldKan.Projections
-8
Mathlib.Algebra.Homology.Factorizations.Basic -7
12 files Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated Mathlib.Algebra.Homology.HomotopyCategory.HomComplexShift Mathlib.Algebra.Homology.HomotopyCategory.MappingCone Mathlib.Algebra.Homology.TotalComplexShift Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor Mathlib.Algebra.Homology.HomotopyCategory.Triangulated Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors Mathlib.Algebra.Homology.HomotopyCategory.HomComplex Mathlib.Algebra.Homology.HomotopyCategory.Shift Mathlib.Algebra.Homology.BifunctorHomotopy Mathlib.Algebra.Homology.HomotopyCategory.DegreewiseSplit Mathlib.Algebra.Homology.BifunctorShift
-5
8 files Mathlib.CategoryTheory.Abelian.Generator Mathlib.Algebra.Homology.Additive Mathlib.Algebra.Homology.HomologicalComplexBiprod Mathlib.AlgebraicTopology.DoldKan.Notations Mathlib.CategoryTheory.Idempotents.HomologicalComplex Mathlib.Algebra.Homology.Linear Mathlib.Algebra.Homology.Embedding.Restriction Mathlib.AlgebraicTopology.AlternatingFaceMapComplex
-2
3 files Mathlib.CategoryTheory.Abelian.Pseudoelements Mathlib.CategoryTheory.Abelian.Injective Mathlib.CategoryTheory.Abelian.Exact
8
Mathlib.CategoryTheory.Abelian.Projective 9
Mathlib.Algebra.Category.Grp.AB5 1166

Declarations diff

+ Abelian.tfae_epi
+ Abelian.tfae_mono
+ CategoryTheory.Functor.map_exact
+ ChainComplex.exactAt_succ_single_obj
+ CochainComplex.exactAt_succ_single_obj
+ Exact.isColimitCoimage
+ Exact.isColimitImage
+ Exact.isLimitImage
+ Exact.isLimitImage'
+ _root_.CategoryTheory.Exact.lift
+ _root_.CategoryTheory.Exact.lift_comp
+ _root_.CategoryTheory.Injective.Exact.comp_desc
+ _root_.CategoryTheory.Injective.Exact.desc
+ exact_iff_epi_imageToKernel
+ exact_iff_epi_imageToKernel'
+ exact_iff_isIso_imageToKernel
+ exact_iff_of_forks
+ instance {J C : Type*} [Category J] [Category C] [HasColimitsOfShape J C] [Preadditive C] :
+ preservesHomologyOfMapExact
+ preservesHomologyOfPreservesEpisAndKernels
+ preservesHomologyOfPreservesMonosAndCokernels
+ preservesHomologyPreadditiveCoyonedaObjOfProjective
+ preservesHomologyPreadditiveYonedaObjOfInjective
+ reflects_exact_of_faithful
++ instance :
- CategoryTheory.Functor.quasiIso'_of_map_quasiIso'
- ChainComplex.homology'SuccIso
- ChainComplex.homology'ZeroIso
- CochainComplex.homology'SuccIso
- CochainComplex.homology'ZeroIso
- Exact
- Exact.comp_desc
- Exact.desc
- Exact.epi_factorThruKernelSubobject
- Exact.epi_kernel_lift
- Exact.lift
- Exact.lift_comp
- Exact.op
- Exact.op_iff
- Exact.unop
- Exact.unop_iff
- IsEquivalence.exact_iff
- Preadditive.exact_iff_exact_of_iso
- Preadditive.exact_iff_homology'_zero
- Preadditive.exact_of_iso_of_exact
- Preadditive.exact_of_iso_of_exact'
- QuasiIso'
- ReflectsExactSequences
- _root_.CategoryTheory.exact_iff_shortComplex_exact
- boundariesFunctor
- boundariesIsoImage
- boundariesToCycles'NatTrans
- boundariesToCycles'_naturality
- boundaries_additive
- boundaries_eq_bot
- boundaries_eq_imageSubobject
- boundaries_le_cycles'
- cokernel.desc.inv
- comp_eq_zero_of_exact
- comp_eq_zero_of_image_eq_kernel
- condition_ι
- condition_π'
- cycles'Functor
- cycles'IsoKernel
- cycles'Map_arrow
- cycles'Map_comp
- cycles'Map_id
- cycles'Map_toCycles'
- cycles'_additive
- cycles'_eq_kernelSubobject
- cycles'_ext
- cycles_eq_top
- desc'
- epi_iff_cokernel_π_eq_zero
- epi_iff_exact_zero_right
- exact_comp_hom_inv_comp
- exact_comp_hom_inv_comp_iff
- exact_comp_inv_hom_comp
- exact_comp_iso
- exact_comp_mono
- exact_comp_mono_iff
- exact_epi_comp
- exact_epi_comp_iff
- exact_epi_zero
- exact_iff'
- exact_iso_comp
- exact_kernelSubobject_arrow
- exact_kernel_ι
- exact_of_exact_map
- exact_of_image_eq_kernel
- exact_of_is_cokernel
- exact_of_is_kernel
- exact_of_zero
- exact_tfae
- exact_zero_left_of_mono
- exact_zero_mono
- fork_ι_comp_cofork_π
- fromSingle₀KernelAtZeroIso
- fromSingle₀KernelAtZeroIso_inv_eq
- from_single₀_exact_at_succ
- from_single₀_exact_f_d_at_zero
- from_single₀_mono_at_zero
- gradedHomology'Functor
- hom_from_ext
- hom_to_ext
- homology'
- homology'.comp_right_eq_comp_left
- homology'.condition
- homology'.congr
- homology'.desc
- homology'.ext
- homology'.map
- homology'.mapIso
- homology'.map_comp
- homology'.map_desc
- homology'.map_id
- homology'.π
- homology'.π_desc
- homology'.π_map
- homology'.π_map_apply
- homology'Factors
- homology'Factors_hom_app
- homology'Factors_inv_app
- homology'Functor0Single₀
- homology'FunctorIso
- homology'Functor_map_factors
- homology'IsoCokernelImageToKernel'
- homology'IsoCokernelLift
- homology'IsoKernelDesc
- homology'OfZeroLeft
- homology'OfZeroRight
- homology'OpDef
- homology'UnopDef
- homology'ZeroZero
- homology'_ext
- homology'_ext'
- homology'_map_eq_of_homotopy
- homologyFunctor0Single₀
- homologyObjIsoOfHomotopyEquiv
- homology_additive
- imageSubobjectMap_comp_imageToKernel
- imageToKernel_as_boundariesToCycles'
- imageToKernel_isIso_of_image_eq_kernel
- instance (priority := 100) quasiIso'_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso' f
- instance (priority := 100) reflectsExactSequencesOfPreservesZeroMorphismsOfFaithful [Faithful F] :
- instance (w : f ≫ g = 0) : IsIso (homologyCToK f g w)
- instance : Epi (homologyCToK f g w) := by
- instance : Mono (homologyCToK f g w) := by
- instance {J : Type u} [SmallCategory J] [IsFiltered J] :
- isColimitCoimage
- isColimitImage
- isColimitOfExactOfEpi
- isIso_cokernel_desc_of_exact_of_epi
- isIso_kernel_lift_of_exact_of_mono
- isLimitImage
- isLimitImage'
- isLimitOfExactOfMono
- kernel.lift.inv
- kernelSubobject_arrow_eq_zero_of_exact_zero_left
- kernel_comp_cokernel
- kernel_ι_eq_zero_of_exact_zero_left
- lift
- lift_ι
- map_eq_desc'_lift_left
- map_eq_desc'_lift_right
- map_eq_lift_desc'_left
- map_eq_lift_desc'_right
- map_exact
- map_ι
- mono_cokernel_desc_of_exact
- mono_iff_exact_zero_left
- mono_iff_kernel_ι_eq_zero
- preservesFiniteColimitsOfMapExact
- preservesFiniteColimitsOfPreservesEpisAndKernels
- preservesFiniteLimitsOfMapExact
- preservesFiniteLimitsOfPreservesMonosAndCokernels
- preservesZeroMorphisms_of_map_exact
- quasiIso'_comp
- quasiIso'_of_comp_left
- quasiIso'_of_comp_right
- tfae_epi
- tfae_mono
- toQuasiIso'
- toQuasiIso'_inv
- toSingle₀CokernelAtZeroIso
- toSingle₀CokernelAtZeroIso_hom_eq
- to_single₀_epi_at_zero
- to_single₀_exact_at_succ
- to_single₀_exact_d_f_at_zero
- ι
- π'
- π'_desc'
- π'_eq_π
- π'_map
- π'_ι
-- exactAt_succ_single_obj
-- homology'Functor
-- homology'FunctorSuccSingle₀
-- homology'Iso
-- homology'IsoHomology
-- homology'Op
-- homology'Unop
--- exact_iff

You can run this locally as follows
## summary with just the declaration names:
./scripts/no_lost_declarations.sh short <optional_commit>

## more verbose report:
./scripts/no_lost_declarations.sh <optional_commit>

@joelriou joelriou added awaiting-CI This PR does not pass CI yet. This label is automatically removed once it does. and removed WIP Work in progress labels Jul 9, 2024
@github-actions github-actions bot removed the awaiting-CI This PR does not pass CI yet. This label is automatically removed once it does. label Jul 9, 2024
@erdOne
Copy link
Copy Markdown
Member

erdOne commented Jul 9, 2024

Thanks!
maintainer merge

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jul 9, 2024

🚀 Pull request has been placed on the maintainer queue by erdOne.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Jul 9, 2024
@riccardobrasca
Copy link
Copy Markdown
Member

-2400 is really wonderful, thanks a lot!!

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Jul 9, 2024
@riccardobrasca
Copy link
Copy Markdown
Member

bors r-

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jul 9, 2024

Canceled.

@riccardobrasca
Copy link
Copy Markdown
Member

Can this TODO be removed now?

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jul 9, 2024

✌️ joelriou can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@github-actions github-actions bot added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Jul 9, 2024
@joelriou
Copy link
Copy Markdown
Contributor Author

joelriou commented Jul 9, 2024

Retrying...

bors merge

mathlib-bors bot pushed a commit that referenced this pull request Jul 9, 2024
The now redundant old homology API is removed. (It was already mostly unused.)

The only slightly non-trivial changes are in `CategoryTheory.Abelian.Exact` where some definitions and proofs have been refactored. The proof that the category of abelian groups satisfies Grothendieck's AB5 axiom had to be moved to a separate file `Algebra.Category.Grp.AB5`.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jul 9, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title refactor: removing the old homology API [Merged by Bors] - refactor: removing the old homology API Jul 9, 2024
@mathlib-bors mathlib-bors bot closed this Jul 9, 2024
@mathlib-bors mathlib-bors bot deleted the remove-old-homology-api branch July 9, 2024 19:36
@adomani adomani mentioned this pull request Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. ready-to-merge This PR has been sent to bors. t-category-theory Category theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants