feat(Algebra): define filtered ring homomorphism
In this PR, we define the filtered ring morphisms on rings and prove some basic properties of them.
Co-authored-by: Huanyu Zheng @Yu-Misaka [email protected] Co-authored-by: Yi Yuan @yuanyi-350 [email protected] Co-authored-by: Weichen Jiao @AlbertJ-314 [email protected]
- [ ] depends on: #26858
- [ ] depends on: #26861
migrated from #22208
PR summary 16dc83e76d
Import changes for modified files
No significant changes to the import graph
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.RingTheory.FilteredAlgebra.AssociatedGraded (new file) |
534 |
Mathlib.RingTheory.FilteredAlgebra.FilteredHom (new file) |
535 |
Declarations diff
+ AssociatedGraded
+ AssociatedGradedAddMonoidHom
+ AssociatedGradedAddMonoidHom_apply
+ AssociatedGradedAddMonoidHom_apply_of
+ AssociatedGradedAddMonoidHom_comp_eq_comp
+ AssociatedGradedRingHom
+ AssociatedGradedRingHom_apply
+ AssociatedGradedRingHom_apply_of
+ AssociatedGradedRingHom_comp_eq_comp
+ FilteredAddGroupHom
+ FilteredHom
+ FilteredHomClass
+ FilteredRingHom
+ Filtration.pow_lift
+ Filtration.pow_mem
+ GradedPiece
+ GradedPiece.HEq_mul_assoc
+ GradedPiece.HEq_mul_one
+ GradedPiece.HEq_one_mul
+ GradedPiece.add_mul
+ GradedPiece.gnpow
+ GradedPiece.gnpow_succ'
+ GradedPiece.gnpow_zero'
+ GradedPiece.intCast
+ GradedPiece.intCast_negSucc_ofNat
+ GradedPiece.intCast_ofNat
+ GradedPiece.mul_add
+ GradedPiece.mul_zero
+ GradedPiece.natCast
+ GradedPiece.natCast_succ
+ GradedPiece.natCast_zero
+ GradedPiece.zero_mul
+ HEq_eq_mk_coe_eq
+ HEq_eq_mk_eq
+ HEq_rfl
+ IsRingFiltration.hMul
+ IsStrict
+ IsStrict.strict
+ IsStrict.strict_lt
+ ext
+ gnpow_def
+ gradedMul_def
+ hMul
+ hasGMul
+ hasGMul.gradedMul
+ hasGMul.mk_int
+ hasGMul.mul_equiv_mul
+ hasGMul_AddSubgroup
+ induction_on
+ instance : AddMonoidHomClass (FilteredAddGroupHom FA FA_lt FB FB_lt) A B
+ instance : Coe (FilteredAddGroupHom FA FA_lt FB FB_lt) (FilteredHom FA FA_lt FB FB_lt)
+ instance : Coe (FilteredRingHom FR FR_lt FS FS_lt) (FilteredAddGroupHom FR FR_lt FS FS_lt)
+ instance : FilteredHomClass (FilteredAddGroupHom FA FA_lt FB FB_lt) FA FA_lt FB FB_lt
+ instance : FilteredHomClass (FilteredHom FA FA_lt FB FB_lt) FA FA_lt FB FB_lt
+ instance : FilteredHomClass (FilteredRingHom FR FR_lt FS FS_lt) FR FR_lt FS FS_lt
+ instance : FunLike (FilteredAddGroupHom FA FA_lt FB FB_lt) A B
+ instance : FunLike (FilteredHom FA FA_lt FB FB_lt) A B
+ instance : FunLike (FilteredRingHom FR FR_lt FS FS_lt) R S
+ instance : RingHomClass (FilteredRingHom FR FR_lt FS FS_lt) R S
+ instance [AddMonoid ι] [PartialOrder ι] [AddSubgroupClass σ R]
+ instance [IsRingFiltration F F_lt] : GradedMonoid.GOne (GradedPiece F F_lt)
+ instance [IsRingFiltration F F_lt] {i j : ι} :
+ instance [Preorder ι] [IsFiltration F F_lt] (i : ι) : Setoid (AddSubgroup.ofClass (F i))
+ instance [hasGMul F F_lt] : DirectSum.GRing (GradedPiece F F_lt)
+ instance [hasGMul F F_lt] : DirectSum.GSemiring (GradedPiece F F_lt)
+ instance [hasGMul F F_lt] : GradedMonoid.GMonoid (GradedPiece F F_lt)
+ instance [hasGMul F F_lt] : GradedMonoid.GMul (GradedPiece F F_lt)
+ instance [hasGMul F F_lt] [DecidableEq ι] : Ring (AssociatedGraded F F_lt)
+ mk_apply_of_mem
+ mk_apply_of_not_mem
+ mk_eq
+ mk_injective
+ mk_mul
+ of
+ of_apply
+ of_eq_of_ne
+ of_eq_self
+ of_injective
+ sum_support_of
+ sum_univ_of
+ support_of
+ support_of_subset
++ GradedPieceHom
++ GradedPieceHom_apply_mk_eq_mk_piece_wise_hom
++ GradedPieceHom_comp
++ GradedPieceHom_comp_apply
++ mk
+++ comp
+++ id
+++ piece_wise_hom
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.
Increase in tech debt: (relative, absolute) = (1.00, 0.06)
| Current number | Change | Type |
|---|---|---|
| 18 | 1 | disabled simpNF lints |
Current commit 975d471103 Reference commit 16dc83e76d
You can run this locally as
./scripts/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
This PR/issue depends on:
- leanprover-community/mathlib4#26858
- leanprover-community/mathlib4#26861 By Dependent Issues (🤖). Happy coding!
This pull request has conflicts, please merge master and resolve them.
This pull request has conflicts, please merge master and resolve them.
I handed this PR out to another collaborator, the new PR is #33223.