Skip to content

feat(RingTheory/Smooth): some lemmas about formally smooth#35675

Open
Thmoas-Guan wants to merge 24 commits intoleanprover-community:masterfrom
Thmoas-Guan:FormallySmooth-Lemma
Open

feat(RingTheory/Smooth): some lemmas about formally smooth#35675
Thmoas-Guan wants to merge 24 commits intoleanprover-community:masterfrom
Thmoas-Guan:FormallySmooth-Lemma

Conversation

@Thmoas-Guan
Copy link
Copy Markdown
Collaborator

@Thmoas-Guan Thmoas-Guan commented Feb 23, 2026

This PR mainly formalized the result [Stacks 031L]
This is a preliminary of Cohen Structure Theorem.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 23, 2026

PR summary 6ef8cc2731

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.Smooth.Quotient (new file) 2178

Declarations diff

+ Algebra.FormallySmooth.of_surjective_of_ker_eq_map_of_flat
+ Ideal.subtype_rTensor_range
+ LinearMap.ker_inf_smul_top_eq_smul_of_flat
+ RingHom.FormallySmooth.of_flat_of_ker_eq_map_of_square_zero
+ comap_ker_eq_sup_of_ker_eq_map
+ eq_map_of_comap_eq_ker_sup
+ exists_of_comap_eq_ker_sup
+ ker_mapCotangent_ker_surjective
+ mapCotangent_surjective_of_comap_eq
+ mul_le_ker_of_range_le_mul_of_sq_zero

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

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

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


No changes to technical debt.

You can run this locally as

./scripts/reporting/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).

@github-actions github-actions bot added the t-ring-theory Ring theory label Feb 23, 2026
@jcommelin jcommelin added the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 3, 2026
@Thmoas-Guan Thmoas-Guan removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 3, 2026
@Thmoas-Guan
Copy link
Copy Markdown
Collaborator Author

There are some lemma that I didn't find an appropriate place, do anyone familiar with the field give some suggestions?

@mathlib-triage mathlib-triage bot assigned erdOne and unassigned jcommelin Mar 18, 2026
@riccardobrasca riccardobrasca changed the title feat(RingTheory/Smooth): some lemma about formally smooth feat(RingTheory/Smooth): some lemmas about formally smooth Mar 30, 2026

end Algebra.TensorProduct

lemma Ideal.subtype_rTensor_range {R : Type*} [CommRing R] (M : Type*) [AddCommGroup M] [Module R M]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you use some variables already in scope?


variable {R : Type u} [CommRing R]

lemma LinearMap.ker_inf_smul_top_eq_smul_of_flat {M N : Type*} [AddCommGroup M] [AddCommGroup N]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can this go to another file? It is unrelated to smoothness.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Also, maybe add a short docstring.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@riccardobrasca do you have idea about where to move? find home suggested Mathlib.RingTheory.LocalRing.Module but I think the content is unrelated?

Also can you help have a look for good places or make private of all those lemmas separated out? Thanks.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Something about flat modules maybe?

/-- For flat ring homomorphism `f : R →+* S`, `I` an ideal of `R` which is square zero,
if `R ⧸ I →+* S ⧸ IS` is formally smooth, so do `f`. -/
@[stacks 031L]
lemma Algebra.FormallySmooth.of_surjective_of_ker_eq_map_of_flat {S : Type v} [CommRing S]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This proof is very long. Can you try to split off as many sublemmas as possible? Don't worry if they will never be used, you can mark them as private (or even better use private/public sections).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I'll try, I know the general convention for maintainability.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I know it's not always easy, so don't get crazy about it, but usually it is possible to split at least a couple of results.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I separated many annoying stuffs I remembered throughout the proof, reducing the main proof for about 50 lines but total length gaining 40.

The rest of the proof is much harder to separate because they really involve the resolution constructed in this specific case.

@riccardobrasca riccardobrasca added the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 30, 2026
@Thmoas-Guan Thmoas-Guan removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-ring-theory Ring theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants