auto-task(Time): add API-map.yaml tracking the Time API#1268
auto-task(Time): add API-map.yaml tracking the Time API#1268jstoobysmith wants to merge 1 commit into
Conversation
Co-authored-by: Claude <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/SpaceAndTime/Time/API-map.yaml, a new in-repo tracker for the Time API(
Physlib/SpaceAndTime/Time/). The map is generated from the directory's Lean files, withGitHub issue #855 "API: Time"
used only as a reference for the intended scope. No Lean source is touched;
lake buildstays green (a YAML-only change).
The directory has no
API-map.yamlyet and is not being edited by any open PR (the only openAPI-map PR is #1266, for
StatisticalMechanics/CanonicalEnsemble).Links below pin commit
61f0412so 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. Two requirements the issue lists as unchecked are in fact implemented
(
manifoldDerivand the translation action) and are markeddone: true. One requirement theissue lists as checked (distribution derivatives) is not present in this directory and is
marked
done: false.Field-by-field justification (reviewer tick-box)
Title/OverviewGrounded in the
Basic.leanmodule docstring:Basic.lean#L13-L32and on issue #855's "Key data structure": "The key data structure is
Timeconsisting of areal value. … It is the usual notion of
Timeused by physicists."ParentAPIsDetermined from the imports/usages in
Derivatives.lean(
Derivatives.lean#L8-L10):Both are actually used:
Space d(
Derivatives.lean#L188-L192)and
Lorentz.Vector d(
Derivatives.lean#L227-L237).ReferencesThe
## iv. Referencessections of the module docstrings are empty(
Basic.lean#L62-L64),and issue #855 cites no literature — so no reference is invented.
Requirements
✅
Timeis definedBasic.lean#L74-L79Issue #855: "The key data structure is
Time… - [x] is defined".✅ Vector space (
ℝ-module) onTimeBasic.lean#L266-L275Issue #855: "- [x] The API shall contain an instance of a vector space on Time."
✅ Ordering on
TimeBasic.lean#L178-L188Issue #855: "- [x] The API shall contain an ordering on Time".
✅ Norm on
TimeBasic.lean#L283-L320Issue #855: "- [x] The API shall contain a norm on Time."
✅ Inner product on
TimeBasic.lean#L330-L341(Not in the issue checklist, but stated in the
Basic.leanoverview — "a 1d vector space overℝwith an inner product" — and genuinely provided.)✅ Derivative of functions
Time → normed spaceDerivatives.lean#L58-L67Issue #855: "- [x] The API shall contain the derivatives of functions from
Timeto a normed space."✅ Derivative of functions
Time → manifold(issue unchecked, but implemented)Derivatives.lean#L76-L81Issue #855 lists this as
- [ ](unchecked), but the code provides it, so it isdone: true.✅ Translation group action (issue unchecked, but implemented)
TimeTransMan.lean#L170-L185The type's docstring describes it as "the time manifold with a transitive action of
ℝ"(
TimeTransMan.lean#L13-L16).Issue #855 lists "- [ ] action of the translation group on
Time" as unchecked; the directoryprovides exactly this action (on the metric/origin-free
TimeTransMan), so it isdone: true.✅ Topological time manifold
TimeManTimeMan.lean#L33-L38and
TimeMan.lean#L135-L142✅
TimeUnit(choices of time unit)TimeUnit.lean#L34-L39and
TimeUnit.lean#L144-L145✅
toTimehomeomorphismTimeTransMan ≃ₜ Timeand operationsTimeTransMan.lean#L342-L344Supporting ops:
diff(L221),
addTime(L299),
neg(L328).
❌ Derivatives of distributions
Time → normed space(issue checked, but absent here)Issue #855 lists this as
- [x], butgrep -ri "distrib\|Schwartz\|tempered" Physlib/SpaceAndTime/Time/returns nothing — distribution derivatives are not provided in this directory (they live under
Physlib/SpaceAndTime/TimeAndSpace/andPhyslib/Mathematics/Distribution/). Markeddone: falseto reflect what this directory contains.
❌ Derivatives of distributions
Time → manifoldIssue #855 lists this as
- [ ]; not present in this directory.Verification
python3 -c "import yaml; yaml.safe_load(open(...))"→ valid YAML; top-level keys exactlyversion, Title, Overview, ParentAPIs, References, Requirements; 11done: true, 2done: false.done: truedeclaration confirmed in the source (line numbers above);Time.manifoldDerivand
TimeTransMan.toTimeadditionally confirmed vialean_verify(standard axioms only).lake build→ Build completed successfully (9107 jobs); only pre-existing deprecationwarnings unrelated to this change. (YAML-only addition cannot affect the Lean build graph.)
.leanfile, other map, docstring, or the GitHub issue was modified.