Skip to content

Comments

feat: Semi-direct sum of Lie algebras#35300

Open
Ljon4ik4 wants to merge 4 commits intoleanprover-community:masterfrom
Ljon4ik4:SemiDirectSum
Open

feat: Semi-direct sum of Lie algebras#35300
Ljon4ik4 wants to merge 4 commits intoleanprover-community:masterfrom
Ljon4ik4:SemiDirectSum

Conversation

@Ljon4ik4
Copy link
Contributor

In this PR a construction of the semi-direct sum of two Lie algebras is added.
It is shown that the resulting object $H\rtimes G$ is a Lie algebra and that it fits into an exact sequence
$H \to H\rtimes G \to G$.

I was not sure about multiple things and would be very grateful for feedback:

  • Currently the semidirect product is created via a def as a type synonym of $H\times G$ so one can define a new bracket on it, which need not coincide with the standard 'direct sum' bracket. This is analogous to e.g. PointedContMDiffMap in Mathlib.Geometry.Manifold.DerivationBundle. An alternative way would creating a structure with $H$ and $G$ as fields. This seems to be the way chosen in Mathlib.GroupTheory.SemidirectProduct.lean.

  • Currently it is created as a separate file, but it could also be added to the Mathlib.Algebra.Lie.Extension file.

  • I am not fully happy with some of the proofs, especially the leibniz_lie in the LieRing instance, but did not manage to get it more elegant.


Open in Gitpod

@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 Feb 14, 2026
@github-actions
Copy link

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.

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.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions
Copy link

github-actions bot commented Feb 14, 2026

PR summary a5f6d77220

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Algebra.Lie.SemiDirect (new file) 1362

Declarations diff

+ SemiDirectSum
+ inclusion
+ instance : AddCommGroup (H ⋊⁅ψ⁆ G) := by
+ instance : Bracket (H ⋊⁅ψ⁆ G) (H ⋊⁅ψ⁆ G)
+ instance : LieAlgebra R (H ⋊⁅ψ⁆ G)
+ instance : LieAlgebra.IsExtension (inclusion ψ) (projection ψ)
+ instance : LieRing (H ⋊⁅ψ⁆ G)
+ instance : Module R (H ⋊⁅ψ⁆ G) := by
+ projection

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 scripts/declarations_diff.sh contains some details about this script.


No changes to technical debt.

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 github-actions bot added the t-algebra Algebra (groups, rings, fields, etc) label Feb 14, 2026
@ocfnash ocfnash self-assigned this Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

2 participants