Repository navigation
feat(Relativity/LorentzAlgebra): add the rapidity-boost tangent at zero - #1852
jstoobysmith merged 2 commits into
Conversation
Relate the finite rapidity boost to the negative named boost generator with hasDerivAt_boost_tanh_zero and two private hyperbolic identities. Clarify the sign convention and check the module documentation normally by removing its existing exemption. Developed with assistance from OpenAI Codex. AI-assisted-by: OpenAI Codex
|
Thank you for this pull-request (PR). If this is your first PR, welcome to the community! While you wait for a review, note that you can review PRs too; reviewing is not restricted to maintainers. Our review guidelines explain what to look for. Over time, contributions such as reviews, maintenance and documentation are recorded on contributions.physlib.io. Four main points:
|
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
| simpa only [LorentzGroup.γ, Real.artanh_tanh] using | ||
| (Real.cosh_artanh ⟨Real.neg_one_lt_tanh r, Real.tanh_lt_one r⟩).symm | ||
|
|
||
| private lemma cosh_mul_tanh (r : ℝ) : |
There was a problem hiding this comment.
If we can get aay without this lemma, then I think we should include it in the proof of hasDerivAt_boost_tanh_zero
|
|
||
| /-! ## C. Rapidity derivatives -/ | ||
|
|
||
| private lemma gamma_tanh (r : ℝ) : LorentzGroup.γ (Real.tanh r) = Real.cosh r := by |
There was a problem hiding this comment.
This could be near the definition of LorentzGroup.γ and made non-private, as it seems an important result
| lemma hasDerivAt_boost_tanh_zero (i : Fin 3) : | ||
| HasDerivAt | ||
| (fun r : ℝ => | ||
| (LorentzGroup.boost i (Real.tanh r) (Real.abs_tanh_lt_one r)).1) | ||
| (-boostGenerator i) 0 := by |
There was a problem hiding this comment.
Would try and put as much of this on one line as possible to clean up the text
|
awaiting-author |
Make LorentzGroup.γ_tanh public beside γ in Boosts.Basic. Keep the cosh/tanh calculation local to hasDerivAt_boost_tanh_zero and compact its unchanged statement. Update Boosts.Basic module documentation, remove its documentation exemption, and drop redundant imports. Developed with assistance from OpenAI Codex. AI-assisted-by: OpenAI Codex
|
-awaiting-author |
jstoobysmith
left a comment
There was a problem hiding this comment.
Approved. Will merge now
cdbc936
Relate the existing finite boost to its named generator: for every
i : Fin 3, the underlying matrix ofLorentzGroup.boost i (Real.tanh r) (Real.abs_tanh_lt_one r)has derivative-lorentzAlgebra.boostGenerator iatr = 0, with no additional hypotheses. The negative sign follows the native boost's off-diagonal entries−γ(β)β.Add two public lemmas:
Physlib/Relativity/LorentzGroup/Boosts/Basic.lean,LorentzGroup.γ_tanh (r : ℝ):γ (Real.tanh r) = Real.cosh r, for every real rapidity without further hypotheses.Physlib/Relativity/LorentzAlgebra/Basis.lean,lorentzAlgebra.hasDerivAt_boost_tanh_zero: the ambient real matrix derivative above. The elementarycosh r * tanh r = sinh rcalculation is a localhave hcoshinside its proof.Update both modules' documentation, including the boost sign convention, and remove their two entries from
scripts/lint/exemptions/module_doc_no_lint.txt. Move the Artanh import to the gamma identity's module and remove two direct imports it makes redundant.Reviewer map: inspect the native boost and generator signs, then the public gamma identity, then the componentwise derivative proof and documentation changes.
Validation against master
4ed4eb11f943324eaa0d4e5c85fb36a8b9a47922(Lean 4.35.0, Mathlib56a005855ea17e0b0958f73ec801ae140b0a1679): full Physlib/QuantumInfo and explicit PhyslibAlpha builds, all direct required checks, committed-state Python style, API-map and spelling checks pass. Native-only consumer probes compile eight examples; all 15 default declaration linters pass on both public additions. Their axiom reports contain onlypropext,Classical.choiceandQuot.sound.Baseline exceptions, reproduced on a separate pristine checkout at that master:
style_lintexits 1 with the same four complete compiler-error blocks at lines 47, 50, 68 and 71 (Substring.Raw.findAllSubstr/stopPos).redundant_importsexits 0 with exactly the same 39 advisory groups, with none added, removed or changed.lint_allexits 0 but masks child failures; the direct results above are recorded separately.The pristine comparison covers the default build, optional style, redundant imports and module documentation; the revision's remaining required checks were run directly. No Nanoda replay or hosted CI has been run for this revision.
Developed with OpenAI Codex assistance for proof development, implementation, documentation, validation and this description.