Skip to content

[Merged by Bors] - feat(Algebra/Category): ConcreteCategory instance for ModuleCat#21125

Closed
Vierkantor wants to merge 5 commits intomasterfrom
concreteify-ModuleCat
Closed

[Merged by Bors] - feat(Algebra/Category): ConcreteCategory instance for ModuleCat#21125
Vierkantor wants to merge 5 commits intomasterfrom
concreteify-ModuleCat

Conversation

@Vierkantor
Copy link
Copy Markdown
Contributor

This is a step towards a concrete category redesign, as outlined in this Zulip post: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Concrete.20category.20class.20redesign/near/493903980

This PR adds a ConcreteCategory instance for ModuleCat. It also replaces the Hom.hom structure projection with an alias for ConcreteCategory.hom. Sadly ModuleCat.restrictScalars and PresheafOfModules do not appreciate subtle changes in elaboration/defeq, and quite a few declarations need subtle fixes. Maybe a more structural fix exists?

I have not tried to look for code that can be cleaned up now, only at what broke. I want to get started on cleanup when the other concrete category instances are in.


Open in Gitpod

This is a step towards a concrete category redesign, as outlined in this Zulip post: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Concrete.20category.20class.20redesign/near/493903980

This PR adds a `ConcreteCategory` instance for `ModuleCat`. It also replaces the `Hom.hom` structure projection with an alias for `ConcreteCategory.hom`. Sadly `ModuleCat.restrictScalars` and `PresheafOfModules` do not appreciate subtle changes in elaboration/defeq, and quite a few declarations need subtle fixes. Maybe a more structural fix exists?

I have not tried to look for code that can be cleaned up now, only at what broke. I want to get started on cleanup when the other concrete category instances are in.
@Vierkantor Vierkantor added help-wanted The author needs attention to resolve issues t-category-theory Category theory t-algebra Algebra (groups, rings, fields, etc) awaiting-bench This PR needs to be benchmarked before merging labels Jan 27, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 27, 2025

PR summary 560ea7a8ea

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ Hom.Simps.hom
+ Hom.hom
+ instance : ConcreteCategory (ModuleCat.{v} R) (· →ₗ[R] ·)
- instance {M N : ModuleCat.{v} R} : CoeFun (M ⟶ N) (fun _ ↦ M → N)

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

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

The doc-module for script/declarations_diff.sh contains some details about this script.


Increase in tech debt: (relative, absolute) = (1.00, 0.08)
Current number Change Type
1416 1 erw
12 1 maxHeartBeats modifications

Current commit 560ea7a8ea
Reference commit 12422efb2d

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

dsimp [tensorObjMap]
simp)
simp
rfl) -- `ModuleCat.restrictScalarsId'App_inv_apply` doesn't get picked up due to type mismatch
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file definitely gets worse off. Haven't figured out a way to make simp use ModuleCat.restrictScalarsId'App_inv_apply: replacing rfl with erw [ModuleCat.restrictScalarsId'App_inv_apply, ModuleCat.restrictScalarsId'App_inv_apply] also solves the goal.

dsimp [map]
rw [tensorObj_map_tmul]
-- Need `erw` because of the type mismatch in `map` and the tensor product.
erw [ModuleCat.MonoidalCategory.tensorHom_tmul, tensorObj_map_tmul]
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar story here: there's a type mismatch and we need erw to deal with it.


variable (F : C ⥤ D)

set_option maxHeartbeats 400000 in -- Seems to be a timeout in type checking the definition
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On my machine, type checking the definition costs 2,5 seconds, about a third of total elaboration time. I haven't been able to trace where all the extra time goes...

obtain ⟨j', i, h⟩ := Concrete.colimit_rep_eq_zero (hx := hx)
obtain ⟨j'', H⟩ := H
simpa [elementwise_of% (colimit.w F), this, map_zero] using congr(colimit.ι F _
simpa [elementwise_of% (colimit.w F), this, map_zero] using congr(colimit.ι F _
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flipping the direction of this rewrite actually means getting rid of a few HasForget.instFunLikes!

@Vierkantor
Copy link
Copy Markdown
Contributor Author

!bench

@mattrobball
Copy link
Copy Markdown
Contributor

Would this potentially improve with #20815 and/or #21121 landing?

@Vierkantor
Copy link
Copy Markdown
Contributor Author

I'm not sure, since those only provide instances, and don't change general lemmas from HasForget to ConcreteCategory (which presumably would be the biggest source of improvements).

@Vierkantor
Copy link
Copy Markdown
Contributor Author

But I'll try merging once both are in master.

@leanprover-bot
Copy link
Copy Markdown
Collaborator

Here are the benchmark results for commit b81670f.
There were significant changes against commit 36e9a27:

  Benchmark                                                  Metric         Change
  ================================================================================
+ ~Mathlib.Algebra.Category.ModuleCat.Biproducts             instructions   -41.4%
- ~Mathlib.Algebra.Category.ModuleCat.ChangeOfRings          instructions     4.2%
+ ~Mathlib.Algebra.Category.ModuleCat.Kernels                instructions   -48.7%
- ~Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed        instructions    27.3%
- ~Mathlib.Algebra.Category.ModuleCat.Presheaf               instructions    18.7%
- ~Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward   instructions     9.5%
+ ~Mathlib.Algebra.Category.ModuleCat.Products               instructions   -51.1%
+ ~Mathlib.Algebra.Homology.ShortComplex.ModuleCat           instructions   -32.0%
+ ~Mathlib.AlgebraicGeometry.Modules.Tilde                   instructions    -9.8%

@github-actions
Copy link
Copy Markdown

File Instructions %
build +20.274⬝10⁹ (+0.01%)
lint +3.61⬝10⁹ (+0.04%)
Mathlib.Algebra.Category.ModuleCat.Presheaf +39.601⬝10⁹ (+18.68%)
Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed +19.327⬝10⁹ (+27.31%)
Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +12.674⬝10⁹ (+4.20%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward +11.17⬝10⁹ (+9.47%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Monoidal +8.720⬝10⁹ (+11.71%)
2 files, Instructions +5.0⬝10⁹
File Instructions %
Mathlib.CategoryTheory.Linear.Yoneda +5.657⬝10⁹ (+9.09%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings +5.220⬝10⁹ (+7.27%)
File Instructions %
Mathlib.Algebra.Category.ModuleCat.Differentials.Presheaf +4.92⬝10⁹ (+5.68%)
4 files, Instructions +3.0⬝10⁹
File Instructions %
Mathlib.RepresentationTheory.Rep +3.263⬝10⁹ (+2.57%)
Mathlib.CategoryTheory.Monoidal.Internal.Module +3.248⬝10⁹ (+2.32%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification +3.65⬝10⁹ (+4.50%)
Mathlib.Algebra.Category.ModuleCat.Basic +3.33⬝10⁹ (+3.78%)
4 files, Instructions +2.0⬝10⁹
File Instructions %
Mathlib.Algebra.Category.ModuleCat.Sheaf.ChangeOfRings +2.946⬝10⁹ (+7.86%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Free +2.761⬝10⁹ (+6.03%)
Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +2.80⬝10⁹ (+3.94%)
Mathlib.RepresentationTheory.GroupCohomology.Basic +2.38⬝10⁹ (+1.92%)
7 files, Instructions +1.0⬝10⁹
File Instructions %
Mathlib.Condensed.Discrete.Module +1.482⬝10⁹ (+1.33%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafify +1.408⬝10⁹ (+1.99%)
Mathlib.Algebra.Category.ModuleCat.Sheaf +1.375⬝10⁹ (+3.59%)
Mathlib.Algebra.Category.ModuleCat.Adjunctions +1.342⬝10⁹ (+2.32%)
Mathlib.RepresentationTheory.GroupCohomology.LowDegree +1.284⬝10⁹ (+1.02%)
Mathlib.Algebra.Category.ModuleCat.FilteredColimits +1.110⬝10⁹ (+2.82%)
Mathlib.Algebra.Category.ModuleCat.ExteriorPower +1.41⬝10⁹ (+7.76%)
File Instructions %
Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -1.214⬝10⁹ (-3.23%)
Mathlib.CategoryTheory.Limits.ConcreteCategory.WithAlgebraicStructures -5.590⬝10⁹ (-28.74%)
Mathlib.Algebra.Category.ModuleCat.Images -9.750⬝10⁹ (-43.17%)
Mathlib.AlgebraicGeometry.Modules.Tilde -12.897⬝10⁹ (-9.77%)
Mathlib.Algebra.Category.ModuleCat.Biproducts -14.921⬝10⁹ (-41.42%)
Mathlib.Algebra.Category.ModuleCat.Kernels -18.589⬝10⁹ (-48.70%)
Mathlib.Algebra.Category.ModuleCat.Products -20.705⬝10⁹ (-51.07%)
Mathlib.Algebra.Homology.ShortComplex.ModuleCat -43.263⬝10⁹ (-32.03%)
CI run

@Vierkantor
Copy link
Copy Markdown
Contributor Author

!bench

Vierkantor added a commit that referenced this pull request Jan 27, 2025
My script found one `erw` call that could become a `rw`. (This can remain `rw` on #21125 too.)
Vierkantor added a commit that referenced this pull request Jan 27, 2025
My script found one `erw` call that could become a `rw`. (This can remain `rw` on #21125 too.)
@leanprover-bot
Copy link
Copy Markdown
Collaborator

Here are the benchmark results for commit 560ea7a.
There were significant changes against commit 12422ef:

  Benchmark                                                  Metric         Change
  ================================================================================
+ ~Mathlib.Algebra.Category.ModuleCat.Biproducts             instructions   -41.2%
- ~Mathlib.Algebra.Category.ModuleCat.ChangeOfRings          instructions     4.3%
+ ~Mathlib.Algebra.Category.ModuleCat.Kernels                instructions   -48.7%
- ~Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed        instructions    27.2%
- ~Mathlib.Algebra.Category.ModuleCat.Presheaf.Monoidal      instructions    15.7%
- ~Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward   instructions     8.8%
+ ~Mathlib.Algebra.Category.ModuleCat.Products               instructions   -51.0%
+ ~Mathlib.Algebra.Homology.ShortComplex.ModuleCat           instructions   -32.0%

@github-actions
Copy link
Copy Markdown

File Instructions %
build -5.263⬝10⁹ (+0.00%)
lint +2.992⬝10⁹ (+0.03%)
Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed +19.271⬝10⁹ (+27.20%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Monoidal +14.670⬝10⁹ (+15.70%)
Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +12.999⬝10⁹ (+4.32%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward +10.688⬝10⁹ (+8.82%)
Mathlib.Algebra.Category.ModuleCat.Differentials.Presheaf +8.398⬝10⁹ (+6.98%)
Mathlib.Algebra.Category.ModuleCat.Presheaf +7.767⬝10⁹ (+3.11%)
2 files, Instructions +5.0⬝10⁹
File Instructions %
Mathlib.CategoryTheory.Linear.Yoneda +5.657⬝10⁹ (+9.09%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings +5.260⬝10⁹ (+7.25%)
4 files, Instructions +3.0⬝10⁹
File Instructions %
Mathlib.RepresentationTheory.Rep +3.307⬝10⁹ (+2.61%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification +3.110⬝10⁹ (+4.51%)
Mathlib.CategoryTheory.Monoidal.Internal.Module +3.96⬝10⁹ (+2.21%)
Mathlib.Algebra.Category.ModuleCat.Basic +3.25⬝10⁹ (+3.77%)
4 files, Instructions +2.0⬝10⁹
File Instructions %
Mathlib.Algebra.Category.ModuleCat.Sheaf.ChangeOfRings +2.868⬝10⁹ (+7.61%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Free +2.784⬝10⁹ (+6.07%)
Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +2.154⬝10⁹ (+4.08%)
Mathlib.RepresentationTheory.GroupCohomology.Basic +2.103⬝10⁹ (+1.98%)
7 files, Instructions +1.0⬝10⁹
File Instructions %
Mathlib.Condensed.Discrete.Module +1.555⬝10⁹ (+1.40%)
Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafify +1.402⬝10⁹ (+1.89%)
Mathlib.Algebra.Category.ModuleCat.Sheaf +1.370⬝10⁹ (+3.55%)
Mathlib.RepresentationTheory.GroupCohomology.LowDegree +1.275⬝10⁹ (+1.02%)
Mathlib.Algebra.Category.ModuleCat.Adjunctions +1.53⬝10⁹ (+1.82%)
Mathlib.Algebra.Category.ModuleCat.ExteriorPower +1.41⬝10⁹ (+7.75%)
Mathlib.Algebra.Category.ModuleCat.FilteredColimits +1.38⬝10⁹ (+2.63%)
File Instructions %
Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -1.61⬝10⁹ (-2.82%)
Mathlib.CategoryTheory.Limits.ConcreteCategory.WithAlgebraicStructures -5.437⬝10⁹ (-27.95%)
Mathlib.AlgebraicGeometry.Modules.Tilde -7.865⬝10⁹ (-5.48%)
Mathlib.Algebra.Category.ModuleCat.Images -9.541⬝10⁹ (-42.51%)
Mathlib.Algebra.Category.ModuleCat.Biproducts -14.850⬝10⁹ (-41.23%)
Mathlib.Algebra.Category.ModuleCat.Kernels -18.585⬝10⁹ (-48.69%)
Mathlib.Algebra.Category.ModuleCat.Products -20.639⬝10⁹ (-51.00%)
Mathlib.Algebra.Homology.ShortComplex.ModuleCat -43.244⬝10⁹ (-32.01%)
CI run

@mattrobball
Copy link
Copy Markdown
Contributor

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 27, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 27, 2025
…21125)

This is a step towards a concrete category redesign, as outlined in this Zulip post: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Concrete.20category.20class.20redesign/near/493903980

This PR adds a `ConcreteCategory` instance for `ModuleCat`. It also replaces the `Hom.hom` structure projection with an alias for `ConcreteCategory.hom`. Sadly `ModuleCat.restrictScalars` and `PresheafOfModules` do not appreciate subtle changes in elaboration/defeq, and quite a few declarations need subtle fixes. Maybe a more structural fix exists?

I have not tried to look for code that can be cleaned up now, only at what broke. I want to get started on cleanup when the other concrete category instances are in.
mathlib-bors bot pushed a commit that referenced this pull request Jan 27, 2025
My script found one `erw` call that could become a `rw`. (This can remain `rw` on #21125 too.)
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 27, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Algebra/Category): ConcreteCategory instance for ModuleCat [Merged by Bors] - feat(Algebra/Category): ConcreteCategory instance for ModuleCat Jan 27, 2025
@mathlib-bors mathlib-bors bot closed this Jan 27, 2025
@mathlib-bors mathlib-bors bot deleted the concreteify-ModuleCat branch January 27, 2025 16:35
Julian added a commit that referenced this pull request Jan 28, 2025
* origin/master: (294 commits)
  feat: equalizers and coequalizers in the category of ind-objects (#21139)
  doc: turn more links to Stacks into `@[stacks]` tags (#21135)
  feat(Asymptotics): prove `IsLittleOTVS.add` (#20578)
  feat(Algebra/Polynomial): `Polynomial.aeval` for product algebras (#21062)
  chore: import Std in Mathlib.lean (#21126)
  feat(Data/Matroid/Circuit): fundamental circuits and extensionality  (#21145)
  feat(CategoryTheory/Endofunctor): prove the dual form of Lambek's Lemma on terminal coalgebra (#21140)
  feat(SetTheory/Game/PGame): rewrite left moves of `-x` as right moves of `x` under binders (#21109)
  feat(RingTheory/Localization/Pi): localization of a finite direct product is a product of localizations (#19042)
  doc: fixed notation error in customizing category composition (#21132)
  feat(Matrix): more lemmas for `PEquiv.toMatrix` (#21143)
  chore(SupIndep): speedup the `Decidable` instance (#21114)
  fix(CI): use `Elab.async=false` for late importers workflow (#21147)
  feat(Topology/Algebra/Indicator): indicator of a clopen is continuous (#20687)
  feat(Data/Matroid/Rank/Cardinal): Cardinality-valued rank function (#20921)
  feat(Algebra): `Pi.single_induction` (#21141)
  chore(BigOperators/Fin): golf a proof (#21131)
  feat: generalize tangent cone lemmas to TVS (#20859)
  feat(CategoryTheory): `Comma.snd L R` is final if `R` is final and domains are filtered (#21136)
  refactor: unapply matrix lemmas (#21091)
  chore(Algebra/Category): `erw` -> `rw` (#21130)
  feat(CategoryTheory): filteredness of Comma catgories given finality of one of the functors (#21128)
  feat(Algebra/Category): `ConcreteCategory` instance for `ModuleCat` (#21125)
  feat: PSum of finite sorts is finite (#20285)
  feat: inequality on the integral of a convex function of a RN derivative (#21093)
  feat: `(v +ᵥ s) -ᵥ (v +ᵥ t) = s -ᵥ t` (#21058)
  chore: rename the fact that `(∀ a < a₁, a ≤ a₂) ↔ a₁ ≤ a₂` in a dense order (#20317)
  feat: a `RelHom` preserves directedness (#20080)
  feat(Combinatorics/SimpleGraph): add definitions and theorems about the coloring of sum graphs (#18677)
  chore(Data/Matrix/PEquiv): clean up names (#21108)
  feat(Algebra/Category): `ConcreteCategory` instances for rings (#20815)
  feat: define Descriptive.Tree (#18763)
  chore(Data/Complex/Exponential): split trig functions to new file (#21075)
  feat(Logic/IsEmpty/Relator): empty on sides (#20319)
  feat(Algebra/Category): `ConcreteCategory` instance for `AlgebraCat` (#21121)
  feat(NumberTheory/LSeries): results involving partial sums of coefficients (part 1) (#20661)
  feat(RingTheory/LaurentSeries): add algebraEquiv (#21004)
  chore(SetTheory/Game/Impartial): golf two proofs (#21074)
  feat(CategoryTheory/Subpresheaf): preimage/image/range of subpresheaves (#21047)
  feat(RingTheory/IntegralClosure): `Algebra.IsIntegral` transfers via surjective homomorphisms (#21023)
  feat(`InformationTheory/Hamming`): Add AddGroup instances (#20994)
  feat(RingTheory/IntegralClosure): prove `Module.Finite R (adjoin R S)` for finite set `S` of integral elements (#20970)
  feat(RingTheory/Artinian): `IsUnit a` iff `a ∈ R⁰` for an artinian ring `R` (#21084)
  feat: separating set in the category of ind-objects (#21082)
  feat: derivWithin lemmas (#21092)
  chore(Fintype): golf a proof (#21113)
  chore: golf using `funext₂` (#21106)
  chore(Algebra/Group/Submonoid/Operations): move instances to new file (#21067)
  doc(Algebra/BigOperators/Fin): change 'product' to 'sum' in doc-string of additivised declarations (#21101)
  doc(ComputeDegree): typos (#21095)
  ...
Julian added a commit that referenced this pull request Feb 1, 2025
* polynomial-sequences: (308 commits)
  Use the lemma we already added.
  Minor reordering.
  This is true even for the trivial ring.
  Also add the lt versions and the other inj lemma.
  Also add the basis ne versions.
  This seems also like it should be simp.
  Back to sorry free.
  And the natDegree version.
  feat: equalizers and coequalizers in the category of ind-objects (#21139)
  doc: turn more links to Stacks into `@[stacks]` tags (#21135)
  feat(Asymptotics): prove `IsLittleOTVS.add` (#20578)
  feat(Algebra/Polynomial): `Polynomial.aeval` for product algebras (#21062)
  chore: import Std in Mathlib.lean (#21126)
  feat(Data/Matroid/Circuit): fundamental circuits and extensionality  (#21145)
  feat(CategoryTheory/Endofunctor): prove the dual form of Lambek's Lemma on terminal coalgebra (#21140)
  feat(SetTheory/Game/PGame): rewrite left moves of `-x` as right moves of `x` under binders (#21109)
  feat(RingTheory/Localization/Pi): localization of a finite direct product is a product of localizations (#19042)
  doc: fixed notation error in customizing category composition (#21132)
  feat(Matrix): more lemmas for `PEquiv.toMatrix` (#21143)
  chore(SupIndep): speedup the `Decidable` instance (#21114)
  fix(CI): use `Elab.async=false` for late importers workflow (#21147)
  feat(Topology/Algebra/Indicator): indicator of a clopen is continuous (#20687)
  feat(Data/Matroid/Rank/Cardinal): Cardinality-valued rank function (#20921)
  feat(Algebra): `Pi.single_induction` (#21141)
  chore(BigOperators/Fin): golf a proof (#21131)
  feat: generalize tangent cone lemmas to TVS (#20859)
  feat(CategoryTheory): `Comma.snd L R` is final if `R` is final and domains are filtered (#21136)
  refactor: unapply matrix lemmas (#21091)
  chore(Algebra/Category): `erw` -> `rw` (#21130)
  feat(CategoryTheory): filteredness of Comma catgories given finality of one of the functors (#21128)
  feat(Algebra/Category): `ConcreteCategory` instance for `ModuleCat` (#21125)
  feat: PSum of finite sorts is finite (#20285)
  feat: inequality on the integral of a convex function of a RN derivative (#21093)
  feat: `(v +ᵥ s) -ᵥ (v +ᵥ t) = s -ᵥ t` (#21058)
  chore: rename the fact that `(∀ a < a₁, a ≤ a₂) ↔ a₁ ≤ a₂` in a dense order (#20317)
  feat: a `RelHom` preserves directedness (#20080)
  feat(Combinatorics/SimpleGraph): add definitions and theorems about the coloring of sum graphs (#18677)
  chore(Data/Matrix/PEquiv): clean up names (#21108)
  feat(Algebra/Category): `ConcreteCategory` instances for rings (#20815)
  feat: define Descriptive.Tree (#18763)
  chore(Data/Complex/Exponential): split trig functions to new file (#21075)
  feat(Logic/IsEmpty/Relator): empty on sides (#20319)
  feat(Algebra/Category): `ConcreteCategory` instance for `AlgebraCat` (#21121)
  feat(NumberTheory/LSeries): results involving partial sums of coefficients (part 1) (#20661)
  feat(RingTheory/LaurentSeries): add algebraEquiv (#21004)
  chore(SetTheory/Game/Impartial): golf two proofs (#21074)
  feat(CategoryTheory/Subpresheaf): preimage/image/range of subpresheaves (#21047)
  feat(RingTheory/IntegralClosure): `Algebra.IsIntegral` transfers via surjective homomorphisms (#21023)
  feat(`InformationTheory/Hamming`): Add AddGroup instances (#20994)
  feat(RingTheory/IntegralClosure): prove `Module.Finite R (adjoin R S)` for finite set `S` of integral elements (#20970)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-bench This PR needs to be benchmarked before merging help-wanted The author needs attention to resolve issues ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields, etc) t-category-theory Category theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants