mathlib4 icon indicating copy to clipboard operation
mathlib4 copied to clipboard

feat(Algebra): filtered module hom

Open Thmoas-Guan opened this issue 7 months ago • 4 comments

In this PR we defined the filtered semi-linear map for filtered module and the associated graded module hom.


  • [ ] depends on: #26860
  • [ ] depends on: #26862

Open in Gitpod

migrated from #22893

Thmoas-Guan avatar Jul 07 '25 14:07 Thmoas-Guan

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) 849
Mathlib.RingTheory.FilteredAlgebra.FilteredHom (new file) 850

Declarations diff

+ AssociatedGraded + AssociatedGradedAddMonoidHom + AssociatedGradedAddMonoidHom_apply + AssociatedGradedAddMonoidHom_apply_of + AssociatedGradedAddMonoidHom_comp_eq_comp + AssociatedGradedModuleHom + AssociatedGradedModuleHom_apply + AssociatedGradedModuleHom_apply_of + AssociatedGradedModuleHom_comp_eq_comp + AssociatedGradedRingHom + AssociatedGradedRingHom_apply + AssociatedGradedRingHom_apply_of + AssociatedGradedRingHom_comp_eq_comp + AssociatedGradedRingHom_comp_eq_comp' + FilteredAddGroupHom + FilteredHom + FilteredHomClass + FilteredModuleHom + FilteredRingHom + Filtration.pow_lift + Filtration.pow_mem + GradedPiece + GradedPiece.HEq_mul_assoc + GradedPiece.HEq_mul_one + GradedPiece.HEq_mul_smul + GradedPiece.HEq_one_mul + GradedPiece.HEq_one_smul + GradedPiece.add_mul + GradedPiece.add_smul + GradedPiece.gnpow + GradedPiece.gnpow_succ' + GradedPiece.gnpow_zero' + GradedPiece.intCast + GradedPiece.intCast_negSucc_ofNat + GradedPiece.intCast_ofNat + GradedPiece.mk_smul + GradedPiece.mul_add + GradedPiece.mul_zero + GradedPiece.natCast + GradedPiece.natCast_succ + GradedPiece.natCast_zero + GradedPiece.smul_add + GradedPiece.smul_zero + GradedPiece.zero_mul + GradedPiece.zero_smul + HEq_eq_mk_coe_eq + HEq_eq_mk_eq + HEq_rfl + IsModuleFiltration.hSMul + IsRingFiltration.hMul + IsStrict + IsStrict.strict + IsStrict.strict_lt + ext + fst_smul + gnpow_def + gradedMul_def + gradedSMul_def + hMul + hSMul + hasGMul + hasGMul.gradedMul + hasGMul.mk_int + hasGMul.mul_equiv_mul + hasGMul_AddSubgroup + hasGSMul + hasGSMul.gradedSMul + hasGSMul.mul_equiv_mul + hasGSMul_AddSubgroup + hasGSMul_int + induction_on + instance (i : ι) (j : ιM) [IsModuleFiltration F F_lt FM FM_lt] : + 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 : CoeOut (FilteredModuleHom FR FR_lt FS FS_lt FM FM_lt FN FN_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 (FilteredModuleHom FR FR_lt FS FS_lt FM FM_lt FN FN_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 (FilteredModuleHom FR FR_lt FS FS_lt FM FM_lt FN FN_lt σ₁₂) M N + instance : FunLike (FilteredRingHom FR FR_lt FS FS_lt) R S + instance : GradedMonoid.GSMul (GradedPiece F F_lt) (GradedPiece FM FM_lt) + instance : RingHomClass (FilteredRingHom FR FR_lt FS FS_lt) R S + instance : SemilinearMapClass (FilteredModuleHom FR FR_lt FS FS_lt FM FM_lt FN FN_lt σ₁₂) + 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] : DirectSum.Gmodule (GradedPiece F F_lt) (GradedPiece FM FM_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) + instance [hasGMul F F_lt] [DecidableEq ι] [DecidableEq ιM] : + 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 ++ mk +++ GradedPieceHom +++ GradedPieceHom_apply_mk_eq_mk_piece_wise_hom +++ GradedPieceHom_comp +++ GradedPieceHom_comp_apply +++ id ++++ comp ++++ 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 85caa3b03b Reference commit 16dc83e76d

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

github-actions[bot] avatar Jul 07 '25 14:07 github-actions[bot]

This PR/issue depends on:

  • leanprover-community/mathlib4#26860
  • leanprover-community/mathlib4#26862 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 #33225.

Thmoas-Guan avatar Dec 23 '25 11:12 Thmoas-Guan