Skip to content

[Merged by Bors] - feat(Algebra/Category/Ring): Under.pushout preserves finite limits for properties with stable equalizers#39572

Closed
chrisflav wants to merge 6 commits into
leanprover-community:masterfrom
chrisflav:has-stable-equalizers
Closed

[Merged by Bors] - feat(Algebra/Category/Ring): Under.pushout preserves finite limits for properties with stable equalizers#39572
chrisflav wants to merge 6 commits into
leanprover-community:masterfrom
chrisflav:has-stable-equalizers

Conversation

@chrisflav

@chrisflav chrisflav commented May 19, 2026

Copy link
Copy Markdown
Member

We introduce a predicate RingHom.HasStableEqualizers for properties of ring homomorphisms: This is satisfied for P if base change along arbitrary ring homomorphisms preserves the equalizer of any two algebra maps between algebras satisfying P. In a follow-up PR we will show that finite étale ring homomorphisms satisfy this predicate.

We relate RingHom.HasStableEqualizers to preservation of finite limits in P.Under R for R : CommRingCat.

From Pi1.


Open in Gitpod

@chrisflav chrisflav added the t-category-theory Category theory label May 19, 2026
@github-actions

github-actions Bot commented May 19, 2026

Copy link
Copy Markdown

PR summary 783b2a40cb

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Algebra.Category.Ring.Under.Property 2072 2074 +2 (+0.10%)
Import changes for all files
Files Import difference
Mathlib.Algebra.Category.Ring.Under.Property 2

Declarations diff

+ CommRingCat.preservesLimit_parallelPair_tensorProd_iff_tensorEqualizer_bijective
+ HasStableEqualizers
+ Over.pullbackCompForgetIso
+ RingHom.HasFiniteProducts.preservesFiniteProducts_pushout
+ RingHom.HasStableEqualizers.preservesEqualizers_pushout
+ RingHom.HasStableEqualizers.preservesFiniteLimits_pushout
+ RingHom.HasStableEqualizers.preservesLimit_parallelPair_tensorProd
+ Under.pushoutCompForgetIso
+ instance {X Y : C} (f : X ⟶ Y) [HasPullbacksAlong f] : P.HasPullbacksAlong f
+ instance {X Y : C} (f : X ⟶ Y) [HasPushoutsAlong f] : P.HasPushoutsAlong f
+ preservesColimit_iff_of_iso_diagram
+ preservesLimit_iff_of_iso_diagram

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

Comment thread Mathlib/CategoryTheory/Limits/Preserves/Basic.lean
Comment thread Mathlib/Algebra/Category/Ring/Under/Property.lean
@dagurtomas dagurtomas added the awaiting-author A reviewer has asked the author a question or requested changes. label May 21, 2026
mathlib-bors Bot pushed a commit that referenced this pull request May 21, 2026
… variants of `preservesLimits_of_natIso` (#39667)

... as well as `preservesLimit_iff_isLimit_mapCone`: a functor preserves a limit if and only if it preserves some limit cone

This PR was automatically created from PR #39572 by @chrisflav via a [review comment](#39572 (comment)) by @dagurtomas.

Co-authored-by: chrisflav <136261474+chrisflav@users.noreply.github.com>
RaggedR pushed a commit to RaggedR/mathlib4 that referenced this pull request May 22, 2026
… variants of `preservesLimits_of_natIso` (leanprover-community#39667)

... as well as `preservesLimit_iff_isLimit_mapCone`: a functor preserves a limit if and only if it preserves some limit cone

This PR was automatically created from PR leanprover-community#39572 by @chrisflav via a [review comment](leanprover-community#39572 (comment)) by @dagurtomas.
@chrisflav chrisflav removed the awaiting-author A reviewer has asked the author a question or requested changes. label May 23, 2026
Comment thread Mathlib/Algebra/Category/Ring/Under/Property.lean Outdated
@chrisflav chrisflav changed the title feat(Algebra/Category/Ring): Under.pushout preserves finite coproducts for properties with stable equalizers feat(Algebra/Category/Ring): Under.pushout preserves finite limits for properties with stable equalizers May 24, 2026
@joelriou

Copy link
Copy Markdown
Contributor

Thanks!

bors merge

@mathlib-triage mathlib-triage Bot added the ready-to-merge This PR has been sent to bors. label May 24, 2026
mathlib-bors Bot pushed a commit that referenced this pull request May 24, 2026
…for properties with stable equalizers (#39572)

We introduce a predicate `RingHom.HasStableEqualizers` for properties of ring homomorphisms: This is satisfied for `P` if base change along *arbitrary* ring homomorphisms preserves the equalizer of any two algebra maps between algebras satisfying `P`. In a follow-up PR we will show that finite étale ring homomorphisms satisfy this predicate.

We relate `RingHom.HasStableEqualizers` to preservation of finite limits in `P.Under R` for `R : CommRingCat`.

From Pi1.
@mathlib-bors

mathlib-bors Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors Bot changed the title feat(Algebra/Category/Ring): Under.pushout preserves finite limits for properties with stable equalizers [Merged by Bors] - feat(Algebra/Category/Ring): Under.pushout preserves finite limits for properties with stable equalizers May 24, 2026
@mathlib-bors mathlib-bors Bot closed this May 24, 2026
kim-em added a commit to leanprover-community/mathlib4-nightly-testing that referenced this pull request May 25, 2026
The merge of master in 76b190c lost four lemmas added by master
PR leanprover-community#39667 (commit 27850fe): `preservesLimit_iff_isLimit_mapCone`,
`preservesLimitsOfSize_iff_of_natIso`,
`preservesColimit_iff_isColimit_mapCocone`, and
`preservesColimitsOfSize_iff_of_natIso`. PR leanprover-community#39572's new file
`Algebra/Category/Ring/Under/Property.lean` uses the first of these,
so it failed to elaborate. Restore them and add the now-standard
`set_option backward.defeqAttrib.useBackward true in` scope to the
ported `CommRingCat.preservesLimit_parallelPair_tensorProd_iff_tensorEqualizer_bijective`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
b-mehta pushed a commit to b-mehta/mathlib4 that referenced this pull request Jun 2, 2026
… variants of `preservesLimits_of_natIso` (leanprover-community#39667)

... as well as `preservesLimit_iff_isLimit_mapCone`: a functor preserves a limit if and only if it preserves some limit cone

This PR was automatically created from PR leanprover-community#39572 by @chrisflav via a [review comment](leanprover-community#39572 (comment)) by @dagurtomas.

Co-authored-by: chrisflav <136261474+chrisflav@users.noreply.github.com>
b-mehta pushed a commit to b-mehta/mathlib4 that referenced this pull request Jun 2, 2026
…for properties with stable equalizers (leanprover-community#39572)

We introduce a predicate `RingHom.HasStableEqualizers` for properties of ring homomorphisms: This is satisfied for `P` if base change along *arbitrary* ring homomorphisms preserves the equalizer of any two algebra maps between algebras satisfying `P`. In a follow-up PR we will show that finite étale ring homomorphisms satisfy this predicate.

We relate `RingHom.HasStableEqualizers` to preservation of finite limits in `P.Under R` for `R : CommRingCat`.

From Pi1.
Bergschaf pushed a commit to Bergschaf/mathlib4 that referenced this pull request Jun 3, 2026
… variants of `preservesLimits_of_natIso` (leanprover-community#39667)

... as well as `preservesLimit_iff_isLimit_mapCone`: a functor preserves a limit if and only if it preserves some limit cone

This PR was automatically created from PR leanprover-community#39572 by @chrisflav via a [review comment](leanprover-community#39572 (comment)) by @dagurtomas.

Co-authored-by: chrisflav <136261474+chrisflav@users.noreply.github.com>
Bergschaf pushed a commit to Bergschaf/mathlib4 that referenced this pull request Jun 3, 2026
…for properties with stable equalizers (leanprover-community#39572)

We introduce a predicate `RingHom.HasStableEqualizers` for properties of ring homomorphisms: This is satisfied for `P` if base change along *arbitrary* ring homomorphisms preserves the equalizer of any two algebra maps between algebras satisfying `P`. In a follow-up PR we will show that finite étale ring homomorphisms satisfy this predicate.

We relate `RingHom.HasStableEqualizers` to preservation of finite limits in `P.Under R` for `R : CommRingCat`.

From Pi1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

4 participants