feat(Algebra/Lie/Cochain): 2-coboundaries and second cohomology of a Lie algebra - #43991
Conversation
…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>
|
LLM-generated |
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 If you haven't already done so, please come to Zulip and join the Lean community. |
PR summary dbc1075191Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
Adds 2-coboundaries and the second cohomology of a Lie algebra with coefficients in a module, completing the
coboundaries, cohomologyitem of the TODO list ofMathlib/Algebra/Lie/Cochain.lean.twoCoboundary: the image ofd₁₂inside the 2-cochains, with membership criteria in general and for a trivial module.twoCoboundary_le_twoCocycle: coboundaries are cocycles, from the existingd₂₃_comp_d₁₂.twoCoboundaryIn: the coboundaries seen inside the cocycles, andsecondCohomology(H²(L, M)) as the quotient.secondCohomology_mk_eq_zero_iffand its trivial-module form: a cocycle vanishes inH²exactly when it is a coboundary, stated on the explicit formulas, which is what one uses when computingH²of a concrete Lie algebra.subsingleton_secondCohomology_of_le:H²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 definitionsblock of this file prefixes the names withLieAlgebra.although the namespace isLieModule.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-styleandlake exe runLinter Mathlib.Algebra.Lie.Cochainare clean, and#print axiomson the new declarations gives onlypropext, 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.