Skip to content

feat(Algebra/Category/Ring/FilteredDescent): FP-algebra descent along filtered colimit (Stacks 00U3)#73

Open
chrisflav wants to merge 2 commits into
chrisflav:masterfrom
chrisflav-agents:pr/filtered-descent-fp-algebra
Open

feat(Algebra/Category/Ring/FilteredDescent): FP-algebra descent along filtered colimit (Stacks 00U3)#73
chrisflav wants to merge 2 commits into
chrisflav:masterfrom
chrisflav-agents:pr/filtered-descent-fp-algebra

Conversation

@chrisflav
Copy link
Copy Markdown
Owner

Summary

Adds Proetale/Mathlib/Algebra/Category/Ring/FilteredDescent.lean, which proves Stacks Tag 00U3: if F : J ⥤ CommRingCat is a filtered diagram with colimit cocone c and φ : c.pt ⟶ A is a finitely presented ring map, then there exists a finite stage j₀ : J, an object Aⱼ and an FP map φⱼ : F.obj j₀ ⟶ Aⱼ, and a map ψ : Aⱼ ⟶ A such that the square

F.obj j₀ ──── c.ι.app j₀ ────▶ c.pt
   │                              │
   φⱼ                             φ
   ▼                              ▼
   Aⱼ ─────────── ψ ────────────▶ A

is a pushout (equivalently, A ≃ c.pt ⊗[F.obj j₀] Aⱼ).

  • New file: Proetale/Mathlib/Algebra/Category/Ring/FilteredDescent.lean (191 lines, 0 sorries)
  • Only imports Mathlib (no project-specific dependencies)
  • Registered in Proetale.lean

Source

Upstreamed from the archon branch (Proetale/Mathlib/Algebra/Category/Ring/FilteredDescent.lean), with style fixes: removed unused instance names, removed prohibited show ... from inside rw, cleaned up redundant comments.

… filtered colimit (Stacks 00U3)

Proves that if `F : J ⥤ CommRingCat` is filtered with colimit cocone `c` and
`φ : c.pt ⟶ A` is finitely presented, then there exists a finite stage `j₀`
with an FP map `φⱼ : F.obj j₀ ⟶ Aⱼ` such that the square is a pushout
(equivalently, `A ≃ c.pt ⊗[F.obj j₀] Aⱼ`). This is Stacks Tag 00U3.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@chrisflav chrisflav added archon Upstreamed from `archon` branch awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. labels May 21, 2026
…eview

Address the review of chrisflav#73:

- Promote `exists_finset_lift` to a public lemma `exists_lift_finset_of_isColimit`
  and move it next to the existing `FilteredColimits.lean`.
- Drop the redundant `c.ι.app j₀ ≫ φ = φⱼ ≫ ψ` conjunct from the existential
  (it is just `IsPushout.w`).
- Replace the ~40-line manual `IsPushout` construction with
  `Algebra.IsPushout.of_equiv (P.tensorModelOfHasCoeffsEquiv R₀)` followed by
  `CommRingCat.isPushout_of_isPushout`, eliminating the `eIso`/four-naturality
  -squares boilerplate.
- Split the main proof into three steps: (a) lift coefficients to a finite
  stage, (b) build the descended model, (c) conclude the pushout.
- Rename `exists_fp_algebra_descent_of_isColimit` to
  `exists_finitePresentation_descent_of_isColimit` and tag it with `@[stacks 00U3]`.
@chrisflav chrisflav removed the awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. label May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

archon Upstreamed from `archon` branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant