Skip to content

[Merged by Bors] - feat: variations of Submodule.disjoint_map with weaker hypotheses#41511

Closed
ADedecker wants to merge 3 commits into
leanprover-community:masterfrom
ADedecker:AD_better_disjoint_map
Closed

[Merged by Bors] - feat: variations of Submodule.disjoint_map with weaker hypotheses#41511
ADedecker wants to merge 3 commits into
leanprover-community:masterfrom
ADedecker:AD_better_disjoint_map

Conversation

@ADedecker

Copy link
Copy Markdown
Member

Open in Gitpod

Comment thread Mathlib/LinearAlgebra/Span/Basic.lean Outdated
Comment on lines +646 to +651
/-- Let `f : M →ₗ N`. Assume that `p` and `q` are disjoint submodules of `M`,
and that the kernel of `f` "decomposes well" wrt. `p` and `q`, in the sense that
`f.ker = (f.ker ⊓ p) ⊔ (f.ker ⊓ q)`. Then `map f p` and `map f q` are disjoint. -/
lemma disjoint_map_of_ker_le_inf_sup {f : M →ₛₗ[τ₁₂] M₂} {p q : Submodule R M}
(hpq : Disjoint p q) (hker : f.ker ≤ (f.ker ⊓ p) ⊔ (f.ker ⊓ q)) :
Disjoint (p.map f) (q.map f) := by

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This one is maybe overkill (and I don't need it), but I had fun figuring out the proof without picking elements.

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.

Doesn't hker simplify with inf_sup_left to something like f.ker ≤ p ⊓ q or something?

@ADedecker ADedecker Jul 9, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

p ⊓ q is trivial thanks to hpq, so I assume you mean f.ker ≤ p ⊔ q ? In any case, the point is that the lattice of submodules is not distributive, so inf_sup_left does not apply (for a counterexample you can take three different lines in the plane), and what I'm asking is precisely that the kernel "distributes well" on p ⊔ q. In fact I should probably be able to weaken it a bit more.

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.

Ah, of course.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This sent me into a rabbit hole about lattice theory, which you can follow at https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/A.20conjecture.20about.20modular.20lattices/near/609407757. I'll just remove this statement for now, I'll add it together with the required abstract nonsense.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

PR summary b90eaaf837

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff (regex)

+ disjoint_map_of_ker_le_left
+ disjoint_map_of_ker_le_right

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.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit b90eaaf).

  • +2 new declarations
  • −0 removed declarations
+Submodule.disjoint_map_of_ker_le_left
+Submodule.disjoint_map_of_ker_le_right

No changes to strong technical debt.

No changes to weak technical debt.

Current commit b90eaaf837
Reference commit 8df0e1b604

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/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 Jul 8, 2026
@ADedecker ADedecker added the awaiting-author A reviewer has asked the author a question or requested changes. label Jul 9, 2026
@ADedecker ADedecker removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jul 10, 2026
@sgouezel

Copy link
Copy Markdown
Contributor

bors r+
Thanks!

@mathlib-bors mathlib-bors Bot added the ready-to-merge This PR has been sent to bors. label Jul 10, 2026
@mathlib-bors mathlib-bors Bot added the bors-staging This PR is currently being built by bors on the staging branch. label Jul 10, 2026
@mathlib-bors

mathlib-bors Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@mathlib-bors mathlib-bors Bot changed the title feat: variations of Submodule.disjoint_map with weaker hypotheses [Merged by Bors] - feat: variations of Submodule.disjoint_map with weaker hypotheses Jul 10, 2026
@mathlib-bors mathlib-bors Bot closed this Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bors-staging This PR is currently being built by bors on the staging branch. 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.

3 participants