Skip to content

[Merged by Bors] - feat(Algebra/ModuleCat): lemma for projective dimension eq zero #37351

Closed
Thmoas-Guan wants to merge 6 commits intoleanprover-community:masterfrom
Thmoas-Guan:projectiveDimension-eq-zero
Closed

[Merged by Bors] - feat(Algebra/ModuleCat): lemma for projective dimension eq zero #37351
Thmoas-Guan wants to merge 6 commits intoleanprover-community:masterfrom
Thmoas-Guan:projectiveDimension-eq-zero

Conversation

@Thmoas-Guan
Copy link
Copy Markdown
Collaborator

@Thmoas-Guan Thmoas-Guan commented Mar 30, 2026

Projective dimension of nontrivial projective module is zero.
And fix namespace for related lemmas.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

PR summary 6ef8cc2731

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ projectiveDimension_eq_zero_iff
+ projectiveDimension_eq_zero_of_projective
+ projective_iff_hasProjectiveDimensionLE_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-algebra Algebra (groups, rings, fields, etc) label Mar 30, 2026
Comment on lines +100 to +103
apply ((projectiveDimension_le_iff M 0).mpr inferInstance).antisymm
((projectiveDimension_ge_iff M 0).mpr _)
rw [hasProjectiveDimensionLT_zero_iff_isZero, ModuleCat.isZero_iff_subsingleton]
exact not_subsingleton_iff_nontrivial.mpr ‹_›
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could you add and use the following general lemma?

lemma projectiveDimension_eq_zero_iff (X : C) :
    projectiveDimension X = 0 ↔ Projective X ∧ ¬ Limits.IsZero X := by
  rw [← projectiveDimension_eq_bot_iff, projective_iff_hasProjectiveDimensionLT_one,
    ← projectiveDimension_lt_iff]
  refine ⟨fun h ↦ by simp [h], fun ⟨h₁, h₂⟩ ↦ ?_⟩
  generalize h : projectiveDimension X = d
  induction d with
  | bot => aesop
  | coe d => induction d <;> aesop

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 think we have <0 iff = \bot for WithBot ENat, I'll update to see whether it works correctly.

Copy link
Copy Markdown
Collaborator Author

@Thmoas-Guan Thmoas-Guan Apr 3, 2026

Choose a reason for hiding this comment

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

I added Projective iff HasProjectiveDimensionLE _ 0 for convenience, what do you think about the current proof?

@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 2, 2026
@Thmoas-Guan Thmoas-Guan removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 3, 2026
@Thmoas-Guan Thmoas-Guan requested a review from joelriou April 3, 2026 11:15
@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 3, 2026
@Thmoas-Guan Thmoas-Guan removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 4, 2026
@Thmoas-Guan Thmoas-Guan requested a review from joelriou April 4, 2026 04:21
@joelriou
Copy link
Copy Markdown
Contributor

joelriou commented Apr 4, 2026

Thanks!

bors merge

mathlib-bors bot pushed a commit that referenced this pull request Apr 4, 2026
Projective dimension of nontrivial projective module is zero.
And fix namespace for related lemmas.
@mathlib-triage mathlib-triage bot added the ready-to-merge This PR has been sent to bors. label Apr 4, 2026
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Apr 4, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Algebra/ModuleCat): lemma for projective dimension eq zero [Merged by Bors] - feat(Algebra/ModuleCat): lemma for projective dimension eq zero Apr 4, 2026
@mathlib-bors mathlib-bors bot closed this Apr 4, 2026
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-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants