feat(PhyslibAlpha): cohomology class of the affine symplectic group (Souriau) - #1681
Conversation
…d Noether on a symplectic vector space Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…fine symplectic group The group level of Souriau's chapter 11 (SDS, Dunod 1970, pp. 108-115) for his example (10.12): the affine symplectic group Sp(E) x E of a real symplectic vector space, acting by x -> B x + C. Adds AffineSymplecticGroup (Group and MulAction instances), its Lie algebra affineSymplecticAlgebra of pairs (A, b) acting by the affine vector fields of MomentMap.lean, the adjoint action (6.24) characterised by (6.25) (vectorField_adjoint, vectorField_injective), the coadjoint action (11.15) as SMul/MulAction/DistribMulAction on the dual, and the moment (11.7). Results: (11.17 a) in closed form, the defect mu(a_E(x)) - a_g*(mu(x)) is independent of x and equals mu(C) (moment_smul_sub_smul_moment); (11.17 b) it is a groupCohomology.IsCocycle₁ of the coadjoint action; (11.17 c) its derivative at the identity is the Lie algebra cocycle sigma(b Z', b Z) of the previous file; and the class is NOT a coboundary as soon as E is non-zero, so by (11.21) no invariant potential of sigma exists. The cocycle vocabulary is Mathlib's: no new cohomology definition. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Thank you for this pull-request (PR). If this is your first PR, welcome to the community! Below is what will happen next. Please read carefully if you are not familiar with the process. You may open other PRs while this one is being reviewed, and can stack PRs on top of each other, so don't let these steps slow you down.
Tip: The easiest way to get have a fast review is to submit a PR that is small and self-contained, and has clear documentation explaining why things are the way they are in your chages. If you have any problems or questions, please reach out to the community on the Zulip. |
… of MomentMap codespell reads "Groupes" as a misspelling of "Groups"; the chapter number and the pages are enough to locate the reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… of MomentMapCohomology Same codespell fix as on moment-map-1, merged in above. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
To fix the lints here you'll probably have to add something to |
|
I've merged your other pull request in this direction. Do you mind updating this to deal with the conflict? awaiting-author |
# Conflicts: # PhyslibAlpha.lean
|
Done: master is merged in (1466b96); the conflict was only in the import list of Drafted with Claude, reviewed and validated by me. -awaiting-author |
AI disclosure
This file was generated with Claude (Claude Code: Fable 5.1 for the file, Opus 5.5 for opening
this PR) under my supervision, following
AI-POLICY.mdandAGENTS.md. I have read everydefinition and lemma statement and I vouch that they state what the docstrings say. The statements
were frozen before any proof was written; the proofs were first found against those frozen
statements by two local models running on my own hardware (a Lean best-first prover and a 27B
general model), then rewritten by Claude for this file. The bibliographic reference (Souriau 1970,
chapter 11, pp. 104-117, and the equations (6.24)-(6.25), (10.12), (10.28)-(10.32) cited in the
docstrings) was checked by me on the printed pages, not by the AI.
Stacked on #1680 (
moment-map-1): the diff includes its commit; only the last commit is newhere.
Summary
Adds
PhyslibAlpha/ClassicalMechanics/MomentMapCohomology.lean, the group level of Souriau'schapter 11 for the affine symplectic group
Sp(E) ⋉ Eof his example (10.12), acting on a realsymplectic vector space by
x ↦ B x + C. It defines the group, its Lie algebra, the adjoint andcoadjoint actions and the moment, and proves that the defect
θ(a) = μ(a_E(x)) - a_{𝔤*}(μ(x))does not depend on
xand equalsμ(C)(11.17 a), thatθis a 1-cocycle in Mathlib'sgroupCohomologyvocabulary (11.17 b), and that its class is non-zero as soon asE ≠ 0. Nomanifold or Lie group structure is involved.
Declarations added (namespace
ClassicalMechanics.AffineSymplecticGroupunless noted)Section A:
AffineSymplecticGroup(structure, inClassicalMechanics): the affine mapsx ↦ B x + Cwith
Bpreservingσ(10.12).Mul,One,Inv,Group, andMulActiononE(a_E(x) = B x + C).mul_linear,mul_translation,one_linear,one_translation,inv_linear,inv_translation,ext,smul_def: the group law and the action on components.Section B:
affineSymplecticAlgebra,mem_affineSymplecticAlgebra: the Lie algebra, pairs(A, b)withAinfinitesimally symplectic ((10.28)-(10.32)).vectorField:Z_E(x) = A x + b, as inAffineSymplecticAction(feat(PhyslibAlpha): Souriau's moment map on a symplectic vector space, cocycle and Noether's theorem #1680).adjoint,adjoint_one,adjoint_mul: the adjoint action (6.24).vectorField_adjoint: (6.25),(Ad(a) Z)_E (a_E x) = B (Z_E x);vectorField_injective.Section C:
SMul,MulAction,DistribMulActiononModule.Dual ℝ (affineSymplecticAlgebra σ):the coadjoint action (11.15),
μ ∘ Ad(a⁻¹);coadjoint_smul_apply.moment,moment_apply,moment_zero: the moment (11.7) of the affine symplectic action.Section D:
moment_smul_sub_smul_moment: (11.17 a) in closed form,θ(a) = μ(C).isCocycle₁_moment_translation: (11.17 b),θis agroupCohomology.IsCocycle₁.sigmaLinear,sigmaLinear_apply,hasFDerivAt_quad,hasFDerivAt_moment: derivativecomputations, (11.7) for this group.
hasDerivAt_moment_translation: part of (11.17 c), the derivative ofθat the identity alonga curve equals the cocycle of feat(PhyslibAlpha): Souriau's moment map on a symplectic vector space, cocycle and Noether's theorem #1680 (a relation by formula).
not_isCoboundary₁_moment_translation: the class ofθis not zero whenE ≠ 0.Section E:
planeForm_not_isCoboundary₁: the same for the symplectic plane.Also: one line in
PhyslibAlpha.lean.Reviewer map
moment(section C) andmoment_smul_sub_smul_moment(section D): the main computation.isCocycle₁_moment_translationandnot_isCoboundary₁_moment_translation.Checks run
lake build -KCI PhyslibAlphaon the branch merged with current master: success, no warning inthis file.
lake exe runPhyslibAlphaLinters,alphaFileImports.py,noAlphaImports.py,./scripts/PhyslibAlpha/alphaPythonLinters.sh,./scripts/lint-style.sh: pass.#print axiomson every declaration:[propext, Classical.choice, Quot.sound].🤖 Generated with Claude Code