auto-task(TwoHDM): add API-map.yaml tracking the Two Higgs Doublet Model API#1342
Conversation
…del API Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Thank you for this PR, which will now be reviewed. If submitting to ./Physlib or ./QuantumInfo, please see our review guidelines if you are not familiar with the process. You should expect a back and forth with a reviewer before your PR is merged. See also that link for how to add appropriate labels to your PR. The PR will also go through a number of automated checks. You can learn more about these here, including how to run them locally. If you are submitting to ./PhyslibAlpha there will be a lighter review process, though your PR must still pass the automated checks. If you want to bring attention to this PR, please write a message on this thread of the Lean Zulip. Important: If a reviewer adds an |
Summary
Adds
Physlib/Particles/BeyondTheStandardModel/TwoHDM/API-map.yaml, a new in-repo tracker forthe Two Higgs Doublet Model API (
Physlib/Particles/BeyondTheStandardModel/TwoHDM/). The mapis generated from the directory's three Lean files (
Basic.lean,GramMatrix.lean,Potential.lean), with GitHub issue#853 "API: Two Higgs Doublet Model Vector Space"
used only as a reference for the intended scope. No Lean source is touched;
lake buildstaysgreen (a YAML-only change).
The directory has no
API-map.yamlyet and no open PR is adding or editing anAPI-map.yamlthere. Two open PRs edit Lean files in this directory (#1321 touches
Basic.lean, #1312 touchesPotential.lean), but neither adds a map, so the directory is eligible.All links below pin commit
843373266f73adaccb4db401c545fdef9810f78eso line numbers are stable.A note on the issue checklist vs. the code
Per the task rules, every
doneflag was decided by reading the code, not by trusting theissue's checkboxes. The issue's checklist covers only 5 items; the directory actually provides a
large Gram-matrix / Gram-vector / potential-stability API beyond that, so the map adds
done: truerequirements for the functionality the files genuinely contain (grounded in the module docstrings).
The two issue items left unchecked — a vector-space instance on
TwoHiggsDoubletand a ℤ₂ swapaction — are confirmed absent by
grepand are markeddone: false.Field-by-field justification (reviewer tick-box)
Title/OverviewGrounded in the
Basic.leanmodule docstring(
Basic.lean#L11-L18):and the
TwoHiggsDoubletstructure docstring(
Basic.lean#L37-L43):Issue #853: "The key data structure shall correspond to the vector space associated with Higgs
fields. It shall contain two fields, one for each of the Higgs vectors."
ParentAPIsHiggs Field — the only external
public import(
Basic.lean#L8):public import Physlib.Particles.StandardModel.HiggsBoson.BasicIt is actually used:
TwoHiggsDoubletis built fromHiggsVec(
Basic.lean#L39-L43)and the group action uses
StandardModel.GaugeGroupI(
Basic.lean#L61-L64).This matches issue #853's stated Parent API, #857 "API: Higgs Field".
Pauli matrices — the Gram vector is defined via the Pauli basis
PauliMatrix.pauliBasis(fromPhyslib/Relativity/PauliMatrices, imported transitively through theHiggs-boson import)
(
GramMatrix.lean#L280-L282):ReferencesTaken verbatim from the
Basic.lean## Referencessection(
Basic.lean#L20-L24):Both are also cited throughout
GramMatrix.leanandPotential.lean(e.g. the potential followsthe convention of
1605.03237and the stability analysis follows / correctshep-ph/0605184,Potential.lean#L44-L52).No reference is invented.
Requirements
✅
TwoHiggsDoubletis definedBasic.lean#L37-L43Issue #853: "## Key data structure … - [x] is defined."
✅ Global gauge group action
Basic.lean#L61-L78Issue #853: "- [x] The API shall contain the action of the global gauge group on the two Higgs doublets."
❌ Vector-space (ℝ-module) instance on
TwoHiggsDoublet(issue unchecked, absent)grep -nE "Module|AddCommGroup|VectorSpace" Physlib/Particles/BeyondTheStandardModel/TwoHDM/returns nothing — only the
SMul/MulActionof the gauge group exist onTwoHiggsDoublet, not anadditive/module structure. Issue #853 lists this as
- [ ](unchecked); confirmeddone: false.❌ ℤ₂ action swapping the two Higgs vectors (issue unchecked, absent)
grep -niE "zmod|ℤ_?2|z₂|swap" Physlib/Particles/BeyondTheStandardModel/TwoHDM/returns nothing.Issue #853 lists this as
- [ ](unchecked); confirmeddone: false.✅ Gram matrix and its positivity properties
GramMatrix.lean#L32-L41and
GramMatrix.lean#L73-L88Grounded in
GramMatrix.lean's docstring: "the gram matrix … describes the gauge orbits of theconfiguration space"
(
GramMatrix.lean#L9-L18).✅ Gauge orbits characterised by the Gram matrix
GramMatrix.lean#L156-L158✅ Gram matrix surjectivity
GramMatrix.lean#L220-L222✅ Gram vector, orbit characterisation, and surjectivity
GramMatrix.lean#L280-L282,#L425-L428,#L456-L458✅ Potential parameters and gram reparameterization (ξ, η)
Potential.lean#L74-L96,#L151-L158,#L165-L183✅ Definition of the potential (mass + quartic terms)
Potential.lean#L422-L424,massTerm
#L267-L270,quarticTerm
#L307-L314Issue #853: "- [x] The API shall contain the definition of the potential of the two Higgs doublets."
✅ Gauge invariance of the potential
Potential.lean#L426-L431Issue #853: "- [x] The API shall contain a theorem proving that the potential is invariant under
the global gauge group."
✅ Potential expressed via the Gram vector
Potential.lean#L443-L446✅ Stability condition and its gram-vector characterisation
Potential.lean#L462-L464and
#L809-L813✅ Strong stability implies stability
Potential.lean#L895-L900✅ Counterexample invalidating a step in hep-ph/0605184
Potential.lean#L200-L220,#L474-L476,#L940-L944Grounded in the
Potential.leandocstring section "E.7. Showing step in hep-ph/0605184 isinvalid"
(
Potential.lean#L42-L51).Verification
ruby -e 'require "yaml"; d=YAML.safe_load(File.read(ARGV[0])); raise "bad keys" unless (%w[version Title Overview ParentAPIs References Requirements]-d.keys).empty?'→ valid YAML;top-level keys exactly
version, Title, Overview, ParentAPIs, References, Requirements;15 requirements, 13
done: true, 2done: false.done: truedeclaration was confirmed present in the source at the line ranges linkedabove (
grep/read ofBasic.lean,GramMatrix.lean,Potential.lean).done: falseitems confirmed absent:grep -nE "Module|AddCommGroup|VectorSpace" …/TwoHDMandgrep -niE "zmod|ℤ_?2|z₂|swap" …/TwoHDMreturn nothing.lake buildis unaffected — this is a YAML-only addition that cannot enter the Lean build graph..leanfile, other map, docstring, or the GitHub issue was modified.