feat(QuantumMechanics/Hydrogen): prove angularMomentum_commutation_lrl - #1509
Conversation
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.
|
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. |
jstoobysmith
left a comment
There was a problem hiding this comment.
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) : |
There was a problem hiding this comment.
Probably doesn't need to be a private lemma.
|
awaiting-author |
Addresses review feedback on leanprover-community#1509 (jstoobysmith). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Hi @TomOleDiem, when you're ready for your PR to be reviewed again please comment: -awaiting-author |
|
Have done it for you this time :) Thanks for your PR |
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) andlrlOperator_eq''s expanded form of𝐀(ε)ᵢ.Adds one private helper,
angularMomentum_commutation_Ldot_p, for how𝐋ᵢⱼcommuteswith the
𝐋ₖ⬝ᵥ𝐩term in that expansion.angularMomentum_commutation_lrlSqrandangularMomentumSqr_commutation_lrlSqrwerealready fully proved modulo this one dependency, so their
@[sorryful]tags come offtoo —
#print axiomson all three now shows onlypropext/Classical.choice/Quot.sound, matchingsorryfulPseudoTest's "tagged sorryful iff it actually containssorryAx" invariant. Whole-library
lake build Physlibis 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 currentflat
Physlib/QuantumMechanics/...layout) and hasn't had activity since April, so itno longer applies against current
master. If this one looks good to you, might beworth closing #991 in favor of it — entirely your call, just flagging the overlap.
🤖 Generated with Claude Code