Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat: define finite length modules and show equivalence with IsNoetherian ∧ IsArtinian #17478

Closed
wants to merge 22 commits into from

Conversation

alreadydone
Copy link
Contributor

@alreadydone alreadydone commented Oct 6, 2024

and equivalence with the existence of a CompositionSeries.

Add order-theoretic results: a simple order is finite; WellFoundedLT implies every non-top element is covered by some other element, and the dual result; WellFoundedLT + WellFoundedGT implies there exists a finite sequence from ⊥ to ⊤ with each element covering the previous one.

Also generalize two proof_wanted statements about semisimple modules/rings.


Open in Gitpod

@alreadydone alreadydone added awaiting-CI t-algebra Algebra (groups, rings, fields, etc) labels Oct 6, 2024
Copy link

github-actions bot commented Oct 6, 2024

PR summary 2bb78d082e

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.FiniteLength 1237

Declarations diff

+ IsFiniteLength
+ LinearEquiv.isFiniteLength
+ exists_compositionSeries_of_isNoetherian_isArtinian
+ exists_covBy_of_wellFoundedGT
+ exists_covBy_of_wellFoundedLT
+ exists_covBy_seq_of_wellFoundedLT_wellFoundedGT
+ instance (priority := 200) : Finite α := by classical infer_instance
+ instance (priority := 200) [DecidableEq α] : Fintype α
+ isFiniteLength_iff_exists_compositionSeries
+ isFiniteLength_iff_isNoetherian_isArtinian
+ isFiniteLength_of_exists_compositionSeries
- instance (priority := 200) {α} [DecidableEq α] [LE α] [BoundedOrder α] [IsSimpleOrder α] :

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.

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Oct 6, 2024
@alreadydone alreadydone added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-CI labels Oct 7, 2024
@alreadydone alreadydone removed the awaiting-author A reviewer has asked the author a question or requested changes label Oct 7, 2024
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Oct 7, 2024
@mathlib4-dependent-issues-bot
Copy link
Collaborator

@alreadydone alreadydone added the t-order Order theory label Oct 8, 2024
@jcommelin
Copy link
Member

Thanks 🎉

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Oct 9, 2024
mathlib-bors bot pushed a commit that referenced this pull request Oct 9, 2024
…erian ∧ IsArtinian` (#17478)

and equivalence with the existence of a CompositionSeries.

Add order-theoretic results: a simple order is finite; WellFoundedLT implies every non-top element is covered by some other element, and the dual result; WellFoundedLT + WellFoundedGT implies there exists a finite sequence from ⊥ to ⊤ with each element covering the previous one.

Also generalize two proof_wanted statements about semisimple modules/rings.
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Oct 9, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: define finite length modules and show equivalence with IsNoetherian ∧ IsArtinian [Merged by Bors] - feat: define finite length modules and show equivalence with IsNoetherian ∧ IsArtinian Oct 9, 2024
@mathlib-bors mathlib-bors bot closed this Oct 9, 2024
@mathlib-bors mathlib-bors bot deleted the jyxu/FiniteLength branch October 9, 2024 08:15
@ocfnash
Copy link
Contributor

ocfnash commented Oct 9, 2024

Firstly thank you for doing this work, I'm really glad that we now have these results.

However since I was whining about this on Zulip I thought I might outline the API that I would have preferred. Instead of having the definition IsFiniteLength and its API, we would have the following two results (and whatever was required to support them):

theorem isNoetherian_and_isArtinian_iff_exists_compositionSeries :
    IsNoetherian R M ∧ IsArtinian R M ↔
    ∃ s : CompositionSeries (Submodule R M), s.head = ⊥ ∧ s.last = ⊤ := by
  sorry

theorem isNoetherian_and_isArtinian_iff_exists_submodule :
    IsNoetherian R M ∧ IsArtinian R M ↔
    Subsingleton M ∨
    ∃ p : Submodule R M, IsSimpleModule R (M ⧸ p) ∧ IsNoetherian R p ∧ IsArtinian R p := by
  sorry

I have just too many draws on my time at the moment to make PR with this refactor but I think it should be easy given what you've already done ;-)

@alreadydone
Copy link
Contributor Author

Hi, thanks for the feedback! My main purpose of making an inductive definition IsFiniteLength is to get the nice induction principle, which is used to prove noether/artinianity. This was also my answer to Kevin's questioning about the definition on Zulip. If you define IsFiniteLength using CompositionSeries, you can still prove the same induction principle using an induction similar to my proof of isFiniteLength_of_exists_compositionSeries, but why not get it directly if you can.

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) t-order Order theory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants