Skip to content

feat(RingTheory): homotopy of Koszul complex and cocomplex - #40932

Open
Thmoas-Guan wants to merge 145 commits into
leanprover-community:masterfrom
Thmoas-Guan:Koszul-Complex-homotopy
Open

feat(RingTheory): homotopy of Koszul complex and cocomplex#40932
Thmoas-Guan wants to merge 145 commits into
leanprover-community:masterfrom
Thmoas-Guan:Koszul-Complex-homotopy

Conversation

@Thmoas-Guan

@Thmoas-Guan Thmoas-Guan commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Homotopy between smul id and zero for Koszul complex and cocomplex, this gives results on annihilator of homology.

This PR have some proofs generated by LLM.

Co-authored-by: Wang Jingting wangjt2020@163.com
Co-authored-by: Zichen Wang zichenwang25@stu.pku.edu.cn


Open in Gitpod

@github-actions github-actions Bot added the t-ring-theory Ring theory label Jun 23, 2026
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

PR summary 8653ea14d5

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.KoszulComplex.Cocomplex (new file) 1984
Mathlib.RingTheory.KoszulComplex.Complex (new file) 1985
Mathlib.RingTheory.KoszulComplex.Homotopy (new file) 2128

Declarations diff (regex)

+ GradedAlgebra.linearGMul
+ GradedAlgebra.linearGMul_eq_mul
+ contraction_wedge_cartan_formula
+ contraction_wedge_zero_degree
+ d_def
+ free
+ isZero_X_ofList_of_length_le
+ isZero_X_ofList_of_length_lt
+ koszulCocomplex
+ koszulCocomplex.d
+ koszulCocomplex.d_apply_ιMulti
+ koszulCocomplex.homotopySMulIdZero
+ koszulCocomplex.mem_annihilator_homology
+ koszulCocomplex.ofList_ideal_le_mem_annihilator_homology
+ koszulCocomplex.scalar_homotopy_comm
+ koszulCocomplex.scalar_homotopy_comm_zero
+ koszulComplex
+ koszulComplex.d
+ koszulComplex.dAlternating
+ koszulComplex.dAlternating_apply
+ koszulComplex.d_comp_d
+ koszulComplex.d_def
+ koszulComplex.homotopySMulIdZero
+ koszulComplex.mem_annihilator_homology
+ koszulComplex.ofList_ideal_annihilator_homology
+ koszulComplex.range_le_annihilator_homology
+ koszulComplex.scalar_homotopy_comm
+ koszulComplex.scalar_homotopy_comm_zero
+ map_dAlternating_apply
+ map_d_comm
+ map_id_refl
+ obj_d'
+ of_d'
+ removeNth_comp
++ isZero_X_of_span_eq_top
++ isoOfEquiv
++ map
++ map_comp
++ map_f
++ map_id
++ ofList
- of.d

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

  • +57 new declarations
  • −4 removed declarations
+AlgebraicTopology.NormalizedMooreComplex.obj_d'
-ChainComplex.of.d
-ChainComplex.of.d.congr_simp
+ChainComplex.of_d'
+Fin.removeNth_comp
+GradedAlgebra.linearGMul
+GradedAlgebra.linearGMul.congr_simp
+GradedAlgebra.linearGMul_eq_mul
+contraction_wedge_cartan_formula
+contraction_wedge_zero_degree
+groupHomology.chainsFunctor_obj
-groupHomology.chainsFunctor_obj_X_carrier
-groupHomology.chainsFunctor_obj_d
+koszulCocomplex
+koszulCocomplex.d
+koszulCocomplex.d_apply_ιMulti
+koszulCocomplex.d_def
+koszulCocomplex.free
+koszulCocomplex.homotopySMulIdZero
+koszulCocomplex.isZero_X_ofList_of_length_le
+koszulCocomplex.isZero_X_of_span_eq_top
+koszulCocomplex.isoOfEquiv
+koszulCocomplex.map
+koszulCocomplex.map.congr_simp
+koszulCocomplex.map_comp
+koszulCocomplex.map_comp_assoc
+koszulCocomplex.map_f
+koszulCocomplex.map_id
+koszulCocomplex.map_id_assoc
+koszulCocomplex.map_id_refl
+koszulCocomplex.map_id_refl_assoc
+koszulCocomplex.mem_annihilator_homology
+koszulCocomplex.ofList
+koszulCocomplex.ofList_ideal_le_mem_annihilator_homology
+koszulCocomplex.scalar_homotopy_comm
+koszulCocomplex.scalar_homotopy_comm_zero
+koszulComplex
+koszulComplex.d
+koszulComplex.dAlternating
+koszulComplex.dAlternating_apply
+koszulComplex.d_comp_d
+koszulComplex.d_def
+koszulComplex.homotopySMulIdZero
+koszulComplex.isZero_X_ofList_of_length_lt
+koszulComplex.isZero_X_of_span_eq_top
+koszulComplex.isoOfEquiv
+koszulComplex.map
+koszulComplex.map.congr_simp
+koszulComplex.map_comp
+koszulComplex.map_comp_assoc
+koszulComplex.map_dAlternating_apply
+koszulComplex.map_d_comm
+koszulComplex.map_f
+koszulComplex.map_id
+koszulComplex.map_id_assoc
+koszulComplex.mem_annihilator_homology
+koszulComplex.ofList
+koszulComplex.ofList_ideal_annihilator_homology
+koszulComplex.range_le_annihilator_homology
+koszulComplex.scalar_homotopy_comm
+koszulComplex.scalar_homotopy_comm_zero

Decrease in strong tech debt: (relative, absolute) = (1.63, 0.00)
Current number Change Type (strong)
backward.defeqAttrib.useBackward 4224 -4
backward.isDefEq.respectTransparency 4680 1
Increase in weak tech debt: (relative, absolute) = (3.00, 0.00)
Current number Change Type (weak)
exposed public sections 5064 3

Current commit 8653ea14d5
Reference commit 98b840bb29

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

@mathlib-dependent-issues mathlib-dependent-issues Bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jun 23, 2026
@github-actions github-actions Bot added the tech debt Tracking cross-cutting technical debt, see e.g. the "Technical debt counters" stream on zulip label Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) t-ring-theory Ring theory tech debt Tracking cross-cutting technical debt, see e.g. the "Technical debt counters" stream on zulip

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant