Skip to content

feat(Algebra/Lie/Cochain): 2-coboundaries and second cohomology of a Lie algebra - #43991

Open
KevorkianPhilippe wants to merge 1 commit into
leanprover-community:masterfrom
KevorkianPhilippe:kevorkianphilippe/lie-second-cohomology
Open

KevorkianPhilippe wants to merge 1 commit into
leanprover-community:masterfrom
KevorkianPhilippe:kevorkianphilippe/lie-second-cohomology

Conversation

@KevorkianPhilippe

Copy link
Copy Markdown

Adds 2-coboundaries and the second cohomology of a Lie algebra with coefficients in a module, completing the coboundaries, cohomology item of the TODO list of Mathlib/Algebra/Lie/Cochain.lean.

  • twoCoboundary: the image of d₁₂ inside the 2-cochains, with membership criteria in general and for a trivial module.
  • twoCoboundary_le_twoCocycle: coboundaries are cocycles, from the existing d₂₃_comp_d₁₂.
  • twoCoboundaryIn: the coboundaries seen inside the cocycles, and secondCohomology (H²(L, M)) as the quotient.
  • secondCohomology_mk_eq_zero_iff and its trivial-module form: a cocycle vanishes in exactly when it is a coboundary, stated on the explicit formulas, which is what one uses when computing of a concrete Lie algebra.
  • subsingleton_secondCohomology_of_le: vanishes when every cocycle is a coboundary.

The remaining TODO items (comparison with the Chevalley-Eilenberg complex, construction and classification of central extensions) are untouched.

Note: the ## Main definitions block of this file prefixes the names with LieAlgebra. although the namespace is LieModule.Cohomology. I followed the existing convention rather than change it here; happy to fix it in this PR if preferred.

Use of AI: this contribution was written with AI assistance (Claude), iterated against the Lean compiler; the module builds, lint-style and lake exe runLinter Mathlib.Algebra.Lie.Cochain are clean, and #print axioms on the new declarations gives only propext, Classical.choice, Quot.sound. The mathematical content is the standard low-degree Chevalley-Eilenberg picture, and I am happy to justify any of the design choices.

…Lie algebra

Add `twoCoboundary`, `twoCoboundaryIn` and `secondCohomology`, with the membership criteria
and the vanishing criterion, completing the "coboundaries, cohomology" item of the TODO list
of this file.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Sep 20, 2026
@KevorkianPhilippe

Copy link
Copy Markdown
Author

LLM-generated

@github-actions

Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to Zulip and join the Lean community.
Thank you again for joining our community.

@github-actions github-actions Bot added the LLM-generated PRs with substantial input from LLMs - review accordingly label Sep 20, 2026
@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown

PR summary dbc1075191

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff (regex)

+ mem_twoCoboundaryIn_iff
+ mem_twoCoboundary_iff
+ mem_twoCoboundary_iff_of_trivial
+ secondCohomology
+ secondCohomology_mk_eq_zero_iff
+ secondCohomology_mk_eq_zero_iff_of_trivial
+ secondCohomology_mk_surjective
+ subsingleton_secondCohomology_of_le
+ twoCoboundary
+ twoCoboundaryIn
+ twoCoboundary_le_twoCocycle

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

  • +12 new declarations
  • −0 removed declarations
+LieModule.Cohomology.mem_twoCoboundaryIn_iff
+LieModule.Cohomology.mem_twoCoboundary_iff
+LieModule.Cohomology.mem_twoCoboundary_iff_of_trivial
+LieModule.Cohomology.secondCohomology
+LieModule.Cohomology.secondCohomology_mk_eq_zero_iff
+LieModule.Cohomology.secondCohomology_mk_eq_zero_iff_of_trivial
+LieModule.Cohomology.secondCohomology_mk_surjective
+LieModule.Cohomology.subsingleton_secondCohomology_of_le
+LieModule.Cohomology.twoCoboundary
+LieModule.Cohomology.twoCoboundary.congr_simp
+LieModule.Cohomology.twoCoboundaryIn
+LieModule.Cohomology.twoCoboundary_le_twoCocycle

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

Current commit dbc1075191
Reference commit b1007d8abf

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

LLM-generated PRs with substantial input from LLMs - review accordingly new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant