Skip to content

feat(QuantumMechanics/Hydrogen): prove angularMomentum_commutation_lrl - #1509

Merged
jstoobysmith merged 2 commits into
leanprover-community:masterfrom
TomOleDiem:port-angularMomentum-commutation-lrl
Aug 11, 2026
Merged

feat(QuantumMechanics/Hydrogen): prove angularMomentum_commutation_lrl#1509
jstoobysmith merged 2 commits into
leanprover-community:masterfrom
TomOleDiem:port-angularMomentum-commutation-lrl

Conversation

@TomOleDiem

Copy link
Copy Markdown
Contributor

Closes the `@[sorryful]` gap on `HydrogenAtom.angularMomentum_commutation_lrl`
(`⁅𝐋ᵢⱼ, 𝐀(ε)ₖ⁆ = iℏ(δᵢₖ𝐀(ε)ⱼ - δⱼₖ𝐀(ε)ᵢ)`, the regularized Laplace–Runge–Lenz vector
transforming as a vector under rotations), using only already-proved companion
commutators from Operators/Commutation.lean (angularMomentum_commutation_angularMomentum,
_momentum, _radiusRegPow, _position) and lrlOperator_eq''s expanded form of 𝐀(ε)ᵢ.

Adds one private helper, angularMomentum_commutation_Ldot_p, for how 𝐋ᵢⱼ commutes
with the 𝐋ₖ⬝ᵥ𝐩 term in that expansion.

angularMomentum_commutation_lrlSqr and angularMomentumSqr_commutation_lrlSqr were
already fully proved modulo this one dependency, so their @[sorryful] tags come off
too — #print axioms on all three now shows only propext/Classical.choice/
Quot.sound, matching sorryfulPseudoTest's "tagged sorryful iff it actually contains
sorryAx" invariant. Whole-library lake build Physlib is clean.

One file changed, 27 lines.


Related: #991 attempted the same fix, but predates the package's rename/reorg (it's
against the old PhysLean/QuantumMechanics/DDimensions/... path, before the current
flat Physlib/QuantumMechanics/... layout) and hasn't had activity since April, so it
no longer applies against current master. If this one looks good to you, might be
worth closing #991 in favor of it — entirely your call, just flagging the overlap.

🤖 Generated with Claude Code

Closes the `@[sorryful]` gap on `HydrogenAtom.angularMomentum_commutation_lrl`
(`⁅𝐋ᵢⱼ, 𝐀(ε)ₖ⁆ = iℏ(δᵢₖ𝐀(ε)ⱼ - δⱼₖ𝐀(ε)ᵢ)`, the statement that the regularized
Laplace-Runge-Lenz vector transforms as a vector under rotations), using only
already-proved companion commutators from `Operators/Commutation.lean`
(`angularMomentum_commutation_angularMomentum`, `_momentum`, `_radiusRegPow`,
`_position`) and `lrlOperator_eq'`'s expanded form of `𝐀(ε)ᵢ`.

Adds one private helper, `angularMomentum_commutation_Ldot_p`, for how `𝐋ᵢⱼ`
commutes with the `𝐋ₖ⬝ᵥ𝐩` term in that expansion.

`angularMomentum_commutation_lrlSqr` and `angularMomentumSqr_commutation_lrlSqr`
were already fully proved modulo this one dependency, so their `@[sorryful]`
tags come off too -- `#print axioms` on all three now shows only
`propext`/`Classical.choice`/`Quot.sound`, matching `sorryfulPseudoTest`'s
"tagged sorryful iff it actually contains sorryAx" invariant.
@github-actions

Copy link
Copy Markdown
Contributor

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.

  1. Some automated checks will be run on your PR. You can see the results of these checks at the buttom of your PR page. If any of these checks fail, you will need to fix the issues before your PR can be merged. You can learn more about these here, including how to run them locally, which is sometimes quicker than relying on the GitHub Actions. If you have never had a PR merged before, you may have to wait for a reviewer to manually start these checks (this is for security).

  2. A reviewer will look at your PR and may ask you to make changes. This may happen a couple of days after you submit your PR, so you may need to be patient. But it should not be longer than that - if it is please bring it to the attention of the community on the Zulip. The level of review will depend on where your PR is submitted. If it is submitted to ./Physlib or ./QuantumInfo, the review will be more thorough than if it is submitted to ./PhyslibAlpha. You can find out more about what the review process is looking for in our review guidelines. If a reviewer adds an awaiting-author label to your PR, address the review comments, then please remove that label by adding a comment with -awaiting-author. This helps us keep track of reviews.

  3. The reviewer will either approve your PR, or request more changes (in which case we return to step 2). Once your PR is approved, it will be merged by a maintainer, this should happen shortly after approval, though you may get more comments at this stage.

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.

@github-actions github-actions Bot added the t-quantum-mechanics Quantum mechanics label Aug 11, 2026

@jstoobysmith jstoobysmith left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a great first PR. Just one comment from me here. Many thanks.


/-- A supporting piece of `angularMomentum_commutation_lrl`: how `𝐋ᵢⱼ` commutes with the
dot-product term `𝐋ₖ⬝ᵥ𝐩` appearing in `H.lrlOperator`'s expanded form (`lrlOperator_eq'`). -/
private lemma angularMomentum_commutation_Ldot_p (i j k : Fin H.d) :

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably doesn't need to be a private lemma.

@jstoobysmith

Copy link
Copy Markdown
Member

awaiting-author

@github-actions github-actions Bot added the awaiting-author A reviewer has asked the author a question or requested changes label Aug 11, 2026
Addresses review feedback on leanprover-community#1509 (jstoobysmith).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@nateabr

nateabr commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Hi @TomOleDiem, when you're ready for your PR to be reviewed again please comment:

-awaiting-author

@github-actions github-actions Bot removed the awaiting-author A reviewer has asked the author a question or requested changes label Aug 11, 2026
@nateabr

nateabr commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Have done it for you this time :)

Thanks for your PR

@jstoobysmith jstoobysmith added ready-to-merge This PR is approved and will be merged shortly and removed reviewer-approved labels Aug 11, 2026
@jstoobysmith
jstoobysmith merged commit cf1d86d into leanprover-community:master Aug 11, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge This PR is approved and will be merged shortly t-quantum-mechanics Quantum mechanics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants