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

feat(RingTheory/DividedPowers/DPMorphism): add divided power morphisms #22318

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

mariainesdff
Copy link
Collaborator

Let A and B be commutative (semi)rings, let I be an ideal of A and let J be an ideal of
B. Given divided power structures on I and J, a ring morphism A →+* B is a divided
power morphism
if it is compatible with these divided power structures.

Co-authored-by: AntoineChambert-Loir [email protected]


Open in Gitpod

@mariainesdff mariainesdff added the t-algebra Algebra (groups, rings, fields, etc) label Feb 26, 2025
Copy link

github-actions bot commented Feb 26, 2025

PR summary c9edd9284e

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.DividedPowers.DPMorphism (new file) 1116

Declarations diff

+ DPMorphism
+ IsDPMorphism
+ _root_.DividedPowers.ideal_from_ringHom
+ coe_ringHom
+ coe_toRingHom
+ comp_toRingHom
+ dpow_comp_from_gens
+ dpow_eq_from_gens
+ fromGens
+ fromGens_coe
+ id
+ instFunLike
+ instance : Inhabited (DPMorphism hI hI) := ⟨DPMorphism.id hI⟩
+ isDPMorphism
+ isDPMorphism_def
+ isDPMorphism_iff
+ map_dpow
+ mk'
+ of_comp
+ on_span
+ toRingHom_apply
++ comp

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.


No changes to technical debt.

You can run this locally as

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

@riccardobrasca riccardobrasca self-assigned this Mar 1, 2025
Copy link
Member

@riccardobrasca riccardobrasca left a comment

Choose a reason for hiding this comment

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

Can you explain how one is supposed to introduce a divided power morphism? Using IsDPMorphism or the bundled version?

Thanks!

bors d+

`A → B` is a divided power morphism if it is compatible with these divided power structures. -/
def IsDPMorphism {A B : Type*} [CommSemiring A] [CommSemiring B] {I : Ideal A} {J : Ideal B}
(hI : DividedPowers I) (hJ : DividedPowers J) (f : A →+* B) : Prop :=
I.map f ≤ J ∧ ∀ {n : ℕ}, ∀ a ∈ I, hJ.dpow n (f a) = f (hI.dpow n a)
Copy link
Member

Choose a reason for hiding this comment

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

What about making this into a structure with two fields? It seems more natural (and mathematically it is exactly the same).

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Mar 5, 2025

✌️ mariainesdff can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated t-algebra Algebra (groups, rings, fields, etc) WIP Work in progress
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants