Skip to content

[Merged by Bors] - feat(Algebra/Module/Submodule/Ker): restricting a linear map to its kernel#39658

Closed
faenuccio wants to merge 2 commits into
leanprover-community:masterfrom
faenuccio:fae_domRestrict_ker
Closed

[Merged by Bors] - feat(Algebra/Module/Submodule/Ker): restricting a linear map to its kernel#39658
faenuccio wants to merge 2 commits into
leanprover-community:masterfrom
faenuccio:fae_domRestrict_ker

Conversation

@faenuccio
Copy link
Copy Markdown
Contributor

We add the lemma saying that restricting a linear map to its kernel yields the zero map. In passing, we generalise a couple of results from linear to semilinear maps.


Open in Gitpod

@faenuccio faenuccio requested a review from YaelDillies May 21, 2026 14:50
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 21, 2026

PR summary ff0d132afd

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ domRestrict_ker_self

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.


No changes to strong technical debt.
No changes to weak technical debt.

@github-actions github-actions Bot added the t-algebra Algebra (groups, rings, fields, etc) label May 21, 2026
⟨fun h => ext fun _ => mem_ker.1 <| h.symm ▸ trivial, fun h => h.symm ▸ ker_zero⟩

@[simp]
lemma domRestrict_ker_zero (f : M →ₛₗ[τ₁₂] M₂) : f.domRestrict f.ker = 0 := by
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
lemma domRestrict_ker_zero (f : M →ₛₗ[τ₁₂] M₂) : f.domRestrict f.ker = 0 := by
lemma domRestrict_ker_eq_zero (f : M →ₛₗ[τ₁₂] M₂) : f.domRestrict f.ker = 0 := by

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I thought about this, but I don't like this name: it seems to say that "the kernel is equal to zero" whereas it is the map.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I don't think it is ambiguous? If I want to say "kernel is equal to zero", I would name it like "domRestrict{_eq_something}_of_ker_eq_zero"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

But how would you call the (false) lemma saying "the kernel of domRestrict is zero"?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

How about just domRestrict_ker? It's a simp lemma anyway.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

And what about domRestrict_of_ker? What I´d like to stress is that the lemma is not about a kernel but about a domRestrict.

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.

If it were about the kernel, it would be ker_.... domRestrict_ker_self is the name suggested by the naming convention.

Comment thread Mathlib/Algebra/Module/Submodule/Ker.lean Outdated
Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

Thanks! 🚀

maintainer merge

@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

@mathlib-triage mathlib-triage Bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label May 22, 2026
@YaelDillies YaelDillies changed the title feat(Algebra.Module.Submodule.Ker): add one lemma about ker of domRestrict feat(Algebra/Module/Submodule/Ker): restricting a linear map to its kernel May 22, 2026
@ADedecker
Copy link
Copy Markdown
Member

Thanks!

bors merge

@mathlib-triage mathlib-triage Bot added the ready-to-merge This PR has been sent to bors. label May 22, 2026
mathlib-bors Bot pushed a commit that referenced this pull request May 22, 2026
…ernel (#39658)

We add the lemma saying that restricting a linear map to its kernel yields the zero map. In passing, we generalise a couple of results from linear to semilinear maps.

Co-authored-by: faenuccio <filippo.nuccio@univ-st-etienne.fr>
@mathlib-triage mathlib-triage Bot removed the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label May 22, 2026
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented May 22, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors Bot changed the title feat(Algebra/Module/Submodule/Ker): restricting a linear map to its kernel [Merged by Bors] - feat(Algebra/Module/Submodule/Ker): restricting a linear map to its kernel May 22, 2026
@mathlib-bors mathlib-bors Bot closed this May 22, 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.

5 participants