refactor: Higgs GaugeGroupI action to a Representation - #1489
Conversation
Resolves the TODO in HiggsBoson/Basic.lean: the action of GaugeGroupI on HiggsVec is now a directly-defined Representation (repGaugeGroupI), and the SMul/MulAction/DistribMulAction/SMulCommClass instances are removed, so the rep is the single spelling of the action on HiggsVec. - Lemmas restated in rep form: repGaugeGroupI_apply (and the U1/SU2 variants), repGaugeGroupI_inner/_norm, toRealGroupElem_apply_self, ofU1Subgroup_repGaugeGroupI_apply, repGaugeGroupI_phase_snd; the orbit lemma becomes exists_repGaugeGroupI_eq_iff_norm_eq. - New A.5.3 group-property lemmas (mul_apply, inv cancellation, the inv_apply_eq_iff) replace mul_smul/inv_smul_smul downstream. - EffectivePotential: IsInvariant via the rep; smul_comm use replaced by LinearMap.map_smul_of_tower (linearity). - TwoHDM: TwoHiggsDoublet keeps its MulAction (needed for its orbit classification) but it is now defined through repGaugeGroupI, so no type carries two spellings; GramMatrix ported. - StandardModelLT completed: complexScalarRepGaugeGroup wired to ComplexScalarIrrep.repGaugeGroupI (moved before StandardModelLT, later duplicate removed) and an empty real-boson sector added, fixing the missing-fields error from the real-boson commit. - liftLinear_of_eq proven (via quotKerEquivOfSurjective_symm_apply and liftQ_apply); the kernel-inclusion sorry inside liftLinear remains. - YukawaTerms simp site updated to repGaugeGroupI_apply. Co-Authored-By: Claude Fable 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. |
The PhyslibAlpha library also uses the GaugeGroupI action on HiggsVec, which is now the representation repGaugeGroupI rather than a MulAction. - GaugeTorus.gaugeCartan_smul_eq: restated with repGaugeGroupI (the SMul on HiggsVec no longer exists) and proved via repGaugeGroupI_apply. - OrbitRepresentative: smul_zero becomes map_zero (the rep is linear), and toRealGroupElem_smul_self becomes toRealGroupElem_apply_self. - GaugeSlice: ofU1Subgroup_smul_eq_smul becomes ofU1Subgroup_repGaugeGroupI_apply. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The simpNF linter reports repGaugeGroupI_inv_apply_apply and repGaugeGroupI_apply_inv_apply as provable by simp: they are exact specialisations of Mathlib's Representation.inv_self_apply and Representation.self_inv_apply, which already carry @[simp]. Remove both and use the Mathlib lemmas in repGaugeGroupI_inv_apply_eq_iff. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Looks good to me! @nateabr do you also want to take a look? |
|
Yep looks great to me! |
Summary
Resolves the TODO in
HiggsBoson/Basic.lean: the action ofGaugeGroupIonHiggsVecisnow a directly-defined
Representation ℂ GaugeGroupI HiggsVec(repGaugeGroupI), and theSMul/MulAction/DistribMulAction/SMulCommClassinstance stack is removed, so therepresentation is the single spelling of the action on
HiggsVec.repGaugeGroupI_apply(and theU1/SU2variants),repGaugeGroupI_inner/_norm,toRealGroupElem_apply_self,ofU1Subgroup_repGaugeGroupI_apply,repGaugeGroupI_phase_snd; the orbit lemma becomesexists_repGaugeGroupI_eq_iff_norm_eq(stated with an explicit existential).repGaugeGroupI_mul_apply, inverse cancellation simp lemmas,repGaugeGroupI_inv_apply_eq_iff) replacemul_smul/inv_smul_smuldownstream.EffectivePotential:IsInvariantis stated via the representation; thesmul_commstepis replaced by linearity (
LinearMap.map_smul_of_tower).TwoHDM:TwoHiggsDoubletkeeps itsMulAction(its orbit API needs it), now definedcomponentwise through
repGaugeGroupI;GramMatrixorbit lemmas ported to the rep form.Carved out of #1415, where the agreed convention is that gauge actions on field target spaces
are
Representations rather thanMulActioninstances; this part is independent of the EFTalgebra work and useful on its own. The corresponding
EFTLagrangianExclDerivhookups stayin #1415, since those files only exist there.
Built locally (the four changed files and their two downstream importers,
HiggsBoson/PotentialandTwoHDM/Potential).🤖 Generated with Claude Code