universal-physics-tensor 8.0.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/README.md +8 -6
  2. package/data/atlas/atlas.json +21 -21
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +5 -5
  5. package/data/atlas/oscillators.json +7 -7
  6. package/data/atlas/waves.json +11 -11
  7. package/data/bridge-catalog.json +490 -338
  8. package/data/bridge-catalog.schema.json +566 -40
  9. package/data/quantities.json +230 -218
  10. package/data/quantities.schema.json +52 -0
  11. package/data/units.json +1149 -0
  12. package/data/units.schema.json +124 -0
  13. package/dist/atlas/association.d.ts +1 -1
  14. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  15. package/dist/atlas/benchmark/hybrid-retrieval.js +2 -5
  16. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  17. package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
  18. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  19. package/dist/atlas/physjs-entries.generated.js +1854 -345
  20. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  21. package/dist/atlas/physjs-ref.d.ts +89 -89
  22. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  23. package/dist/atlas/physjs-ref.js +128 -176
  24. package/dist/atlas/physjs-ref.js.map +1 -1
  25. package/dist/atlas/proof-target.d.ts +16 -8
  26. package/dist/atlas/proof-target.d.ts.map +1 -1
  27. package/dist/atlas/proof-target.js +34 -31
  28. package/dist/atlas/proof-target.js.map +1 -1
  29. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  30. package/dist/bridges/catalog-adapter.js +5 -5
  31. package/dist/bridges/catalog-adapter.js.map +1 -1
  32. package/dist/bridges/catalog-load.d.ts +7 -0
  33. package/dist/bridges/catalog-load.d.ts.map +1 -1
  34. package/dist/bridges/catalog-load.js +69 -13
  35. package/dist/bridges/catalog-load.js.map +1 -1
  36. package/dist/bridges/catalog-types.d.ts +51 -6
  37. package/dist/bridges/catalog-types.d.ts.map +1 -1
  38. package/dist/bridges/evaluation-errors.d.ts +76 -0
  39. package/dist/bridges/evaluation-errors.d.ts.map +1 -0
  40. package/dist/bridges/evaluation-errors.js +118 -0
  41. package/dist/bridges/evaluation-errors.js.map +1 -0
  42. package/dist/bridges/evaluator-inputs.d.ts +5 -3
  43. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  44. package/dist/bridges/evaluator-inputs.js +24 -24
  45. package/dist/bridges/evaluator-inputs.js.map +1 -1
  46. package/dist/bridges/evaluators.d.ts +32 -7
  47. package/dist/bridges/evaluators.d.ts.map +1 -1
  48. package/dist/bridges/evaluators.js +131 -29
  49. package/dist/bridges/evaluators.js.map +1 -1
  50. package/dist/bridges/expr-parse.d.ts +11 -3
  51. package/dist/bridges/expr-parse.d.ts.map +1 -1
  52. package/dist/bridges/expr-parse.js +46 -153
  53. package/dist/bridges/expr-parse.js.map +1 -1
  54. package/dist/bridges/holds.d.ts +11 -7
  55. package/dist/bridges/holds.d.ts.map +1 -1
  56. package/dist/bridges/holds.js +113 -234
  57. package/dist/bridges/holds.js.map +1 -1
  58. package/dist/bridges/input-contract.d.ts +65 -0
  59. package/dist/bridges/input-contract.d.ts.map +1 -0
  60. package/dist/bridges/input-contract.js +97 -0
  61. package/dist/bridges/input-contract.js.map +1 -0
  62. package/dist/bridges/notices.d.ts +11 -0
  63. package/dist/bridges/notices.d.ts.map +1 -0
  64. package/dist/bridges/notices.js +22 -0
  65. package/dist/bridges/notices.js.map +1 -0
  66. package/dist/canonical/canonical-equation.d.ts +31 -0
  67. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  68. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  69. package/dist/canonical/entries/atomic.js +11 -1
  70. package/dist/canonical/entries/atomic.js.map +1 -1
  71. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  72. package/dist/canonical/entries/condensed-matter.js +3 -0
  73. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  74. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  75. package/dist/canonical/entries/dimensional-classics.js +48 -0
  76. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  77. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  78. package/dist/canonical/entries/electromagnetism.js +30 -0
  79. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  80. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  81. package/dist/canonical/entries/fluids-waves.js +34 -0
  82. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  83. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  84. package/dist/canonical/entries/mechanics.js +24 -0
  85. package/dist/canonical/entries/mechanics.js.map +1 -1
  86. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  87. package/dist/canonical/entries/nonmonomial.js +15 -4
  88. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  89. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  90. package/dist/canonical/entries/relativity.js +6 -0
  91. package/dist/canonical/entries/relativity.js.map +1 -1
  92. package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
  93. package/dist/canonical/entries/statistical-mechanics.js +19 -0
  94. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  95. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  96. package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
  97. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  98. package/dist/cases/index.d.ts +9 -2
  99. package/dist/cases/index.d.ts.map +1 -1
  100. package/dist/cases/index.js +26 -7
  101. package/dist/cases/index.js.map +1 -1
  102. package/dist/cases/kepler-rv.js +6 -6
  103. package/dist/cases/kepler-rv.js.map +1 -1
  104. package/dist/cli/commands/_discovery-opts.d.ts +2 -1
  105. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  106. package/dist/cli/commands/_discovery-opts.js +7 -12
  107. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  108. package/dist/cli/commands/atlas.d.ts.map +1 -1
  109. package/dist/cli/commands/atlas.js +6 -9
  110. package/dist/cli/commands/atlas.js.map +1 -1
  111. package/dist/cli/commands/audit.d.ts.map +1 -1
  112. package/dist/cli/commands/audit.js +1 -2
  113. package/dist/cli/commands/audit.js.map +1 -1
  114. package/dist/cli/commands/connectors.d.ts.map +1 -1
  115. package/dist/cli/commands/connectors.js +8 -9
  116. package/dist/cli/commands/connectors.js.map +1 -1
  117. package/dist/cli/commands/derive.js +9 -10
  118. package/dist/cli/commands/derive.js.map +1 -1
  119. package/dist/cli/commands/discover.d.ts.map +1 -1
  120. package/dist/cli/commands/discover.js +3 -4
  121. package/dist/cli/commands/discover.js.map +1 -1
  122. package/dist/cli/commands/eval.d.ts.map +1 -1
  123. package/dist/cli/commands/eval.js +17 -17
  124. package/dist/cli/commands/eval.js.map +1 -1
  125. package/dist/cli/commands/evaluate.d.ts +1 -35
  126. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  127. package/dist/cli/commands/evaluate.js +56 -187
  128. package/dist/cli/commands/evaluate.js.map +1 -1
  129. package/dist/cli/commands/explain.d.ts.map +1 -1
  130. package/dist/cli/commands/explain.js +43 -38
  131. package/dist/cli/commands/explain.js.map +1 -1
  132. package/dist/cli/commands/ground.js +1 -1
  133. package/dist/cli/commands/ground.js.map +1 -1
  134. package/dist/cli/commands/map.js +3 -4
  135. package/dist/cli/commands/map.js.map +1 -1
  136. package/dist/cli/commands/metric.d.ts.map +1 -1
  137. package/dist/cli/commands/metric.js +3 -0
  138. package/dist/cli/commands/metric.js.map +1 -1
  139. package/dist/cli/commands/regime.js +1 -1
  140. package/dist/cli/commands/regime.js.map +1 -1
  141. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  142. package/dist/cli/commands/symbolic.js +5 -2
  143. package/dist/cli/commands/symbolic.js.map +1 -1
  144. package/dist/cli/commands/testplan.js +3 -3
  145. package/dist/cli/commands/testplan.js.map +1 -1
  146. package/dist/cli/conventions.d.ts +6 -7
  147. package/dist/cli/conventions.d.ts.map +1 -1
  148. package/dist/cli/conventions.js +19 -28
  149. package/dist/cli/conventions.js.map +1 -1
  150. package/dist/cli/euler-guard.d.ts +13 -2
  151. package/dist/cli/euler-guard.d.ts.map +1 -1
  152. package/dist/cli/euler-guard.js +17 -3
  153. package/dist/cli/euler-guard.js.map +1 -1
  154. package/dist/cli/eval-numbers.d.ts +4 -9
  155. package/dist/cli/eval-numbers.d.ts.map +1 -1
  156. package/dist/cli/eval-numbers.js +11 -41
  157. package/dist/cli/eval-numbers.js.map +1 -1
  158. package/dist/cli/published-url.d.ts +2 -0
  159. package/dist/cli/published-url.d.ts.map +1 -1
  160. package/dist/cli/published-url.js +5 -0
  161. package/dist/cli/published-url.js.map +1 -1
  162. package/dist/cli/record-tables.d.ts +2 -1
  163. package/dist/cli/record-tables.d.ts.map +1 -1
  164. package/dist/cli/record-tables.js +8 -3
  165. package/dist/cli/record-tables.js.map +1 -1
  166. package/dist/cli-api.d.ts +45 -12
  167. package/dist/cli-api.d.ts.map +1 -1
  168. package/dist/cli-api.js +38 -11
  169. package/dist/cli-api.js.map +1 -1
  170. package/dist/composition/adjudication.d.ts +8 -30
  171. package/dist/composition/adjudication.d.ts.map +1 -1
  172. package/dist/composition/adjudication.js +15 -67
  173. package/dist/composition/adjudication.js.map +1 -1
  174. package/dist/composition/aliases.d.ts +1 -1
  175. package/dist/composition/aliases.d.ts.map +1 -1
  176. package/dist/composition/aliases.js +10 -20
  177. package/dist/composition/aliases.js.map +1 -1
  178. package/dist/composition/bridge-analysis.d.ts +4 -0
  179. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  180. package/dist/composition/bridge-analysis.js +13 -14
  181. package/dist/composition/bridge-analysis.js.map +1 -1
  182. package/dist/composition/canonical-graph.d.ts +7 -9
  183. package/dist/composition/canonical-graph.d.ts.map +1 -1
  184. package/dist/composition/canonical-graph.js +35 -19
  185. package/dist/composition/canonical-graph.js.map +1 -1
  186. package/dist/composition/canonical-prefactors.d.ts +10 -29
  187. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  188. package/dist/composition/canonical-prefactors.js +15 -202
  189. package/dist/composition/canonical-prefactors.js.map +1 -1
  190. package/dist/composition/compose.js +2 -1
  191. package/dist/composition/compose.js.map +1 -1
  192. package/dist/composition/discovery.d.ts +50 -0
  193. package/dist/composition/discovery.d.ts.map +1 -1
  194. package/dist/composition/discovery.js +2 -2
  195. package/dist/composition/discovery.js.map +1 -1
  196. package/dist/composition/edge.d.ts +0 -14
  197. package/dist/composition/edge.d.ts.map +1 -1
  198. package/dist/composition/edge.js +1 -17
  199. package/dist/composition/edge.js.map +1 -1
  200. package/dist/composition/evaluate-relation.d.ts +29 -5
  201. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  202. package/dist/composition/evaluate-relation.js +100 -72
  203. package/dist/composition/evaluate-relation.js.map +1 -1
  204. package/dist/composition/explain.d.ts +5 -0
  205. package/dist/composition/explain.d.ts.map +1 -1
  206. package/dist/composition/explain.js +9 -8
  207. package/dist/composition/explain.js.map +1 -1
  208. package/dist/composition/expr-eval.d.ts.map +1 -1
  209. package/dist/composition/expr-eval.js +2 -1
  210. package/dist/composition/expr-eval.js.map +1 -1
  211. package/dist/composition/index.d.ts +3 -1
  212. package/dist/composition/index.d.ts.map +1 -1
  213. package/dist/composition/index.js +3 -1
  214. package/dist/composition/index.js.map +1 -1
  215. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  216. package/dist/composition/proposed-bridges.js +3 -2
  217. package/dist/composition/proposed-bridges.js.map +1 -1
  218. package/dist/composition/retrodiction.d.ts +8 -0
  219. package/dist/composition/retrodiction.d.ts.map +1 -1
  220. package/dist/composition/retrodiction.js +5 -0
  221. package/dist/composition/retrodiction.js.map +1 -1
  222. package/dist/composition/user-equation.d.ts +11 -7
  223. package/dist/composition/user-equation.d.ts.map +1 -1
  224. package/dist/composition/user-equation.js +24 -26
  225. package/dist/composition/user-equation.js.map +1 -1
  226. package/dist/core/constants.d.ts +27 -4
  227. package/dist/core/constants.d.ts.map +1 -1
  228. package/dist/core/constants.js +38 -5
  229. package/dist/core/constants.js.map +1 -1
  230. package/dist/core/data-file.d.ts +27 -0
  231. package/dist/core/data-file.d.ts.map +1 -0
  232. package/dist/core/data-file.js +48 -0
  233. package/dist/core/data-file.js.map +1 -0
  234. package/dist/core/json-schema.d.ts +27 -0
  235. package/dist/core/json-schema.d.ts.map +1 -0
  236. package/dist/core/json-schema.js +153 -0
  237. package/dist/core/json-schema.js.map +1 -0
  238. package/dist/core/types.d.ts +3 -2
  239. package/dist/core/types.d.ts.map +1 -1
  240. package/dist/core/types.js +16 -14
  241. package/dist/core/types.js.map +1 -1
  242. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  243. package/dist/diff/bridge-ast-gradient.js +6 -17
  244. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  245. package/dist/diff/bridge-specs.d.ts +2 -1
  246. package/dist/diff/bridge-specs.d.ts.map +1 -1
  247. package/dist/diff/bridge-specs.js +1 -1
  248. package/dist/diff/bridge-specs.js.map +1 -1
  249. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  250. package/dist/dimensional/bridge-check.js +3 -5
  251. package/dist/dimensional/bridge-check.js.map +1 -1
  252. package/dist/dimensional/constant-rows.d.ts +54 -0
  253. package/dist/dimensional/constant-rows.d.ts.map +1 -0
  254. package/dist/dimensional/constant-rows.js +111 -0
  255. package/dist/dimensional/constant-rows.js.map +1 -0
  256. package/dist/dimensional/constants.d.ts +4 -13
  257. package/dist/dimensional/constants.d.ts.map +1 -1
  258. package/dist/dimensional/constants.js +11 -19
  259. package/dist/dimensional/constants.js.map +1 -1
  260. package/dist/dimensional/dimension-spec.d.ts +12 -3
  261. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  262. package/dist/dimensional/dimension-spec.js +114 -150
  263. package/dist/dimensional/dimension-spec.js.map +1 -1
  264. package/dist/dimensional/exact-scale.d.ts +79 -0
  265. package/dist/dimensional/exact-scale.d.ts.map +1 -0
  266. package/dist/dimensional/exact-scale.js +222 -0
  267. package/dist/dimensional/exact-scale.js.map +1 -0
  268. package/dist/dimensional/formula-names.d.ts +13 -12
  269. package/dist/dimensional/formula-names.d.ts.map +1 -1
  270. package/dist/dimensional/formula-names.js +28 -51
  271. package/dist/dimensional/formula-names.js.map +1 -1
  272. package/dist/dimensional/quantity-registry.d.ts +10 -1
  273. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  274. package/dist/dimensional/quantity-registry.js +45 -16
  275. package/dist/dimensional/quantity-registry.js.map +1 -1
  276. package/dist/dimensional/symbolic-constants.d.ts +63 -19
  277. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  278. package/dist/dimensional/symbolic-constants.js +109 -92
  279. package/dist/dimensional/symbolic-constants.js.map +1 -1
  280. package/dist/dimensional/unit-data.d.ts +70 -0
  281. package/dist/dimensional/unit-data.d.ts.map +1 -0
  282. package/dist/dimensional/unit-data.js +135 -0
  283. package/dist/dimensional/unit-data.js.map +1 -0
  284. package/dist/dimensional/units.d.ts +87 -24
  285. package/dist/dimensional/units.d.ts.map +1 -1
  286. package/dist/dimensional/units.js +253 -276
  287. package/dist/dimensional/units.js.map +1 -1
  288. package/dist/index.d.ts +15 -13
  289. package/dist/index.d.ts.map +1 -1
  290. package/dist/index.js +7 -4
  291. package/dist/index.js.map +1 -1
  292. package/dist/numerical/binding-value.d.ts +21 -1
  293. package/dist/numerical/binding-value.d.ts.map +1 -1
  294. package/dist/numerical/binding-value.js +123 -118
  295. package/dist/numerical/binding-value.js.map +1 -1
  296. package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
  297. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
  298. package/dist/numerical/evaluator-uncertainty.js +117 -0
  299. package/dist/numerical/evaluator-uncertainty.js.map +1 -0
  300. package/dist/numerical/formula-contract.d.ts +4 -0
  301. package/dist/numerical/formula-contract.d.ts.map +1 -1
  302. package/dist/numerical/formula-contract.js +7 -0
  303. package/dist/numerical/formula-contract.js.map +1 -1
  304. package/dist/numerical/formula-dimension.d.ts +9 -0
  305. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  306. package/dist/numerical/formula-dimension.js +64 -10
  307. package/dist/numerical/formula-dimension.js.map +1 -1
  308. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  309. package/dist/numerical/formula-mathts.js +6 -2
  310. package/dist/numerical/formula-mathts.js.map +1 -1
  311. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  312. package/dist/numerical/gl4-integrator.js +3 -3
  313. package/dist/numerical/gl4-integrator.js.map +1 -1
  314. package/dist/numerical/spacetime-metrics.d.ts +4 -0
  315. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  316. package/dist/numerical/spacetime-metrics.js +34 -4
  317. package/dist/numerical/spacetime-metrics.js.map +1 -1
  318. package/dist/relations/types.d.ts +8 -1
  319. package/dist/relations/types.d.ts.map +1 -1
  320. package/dist/relations/types.js +10 -0
  321. package/dist/relations/types.js.map +1 -1
  322. package/package.json +1 -1
@@ -26,17 +26,20 @@
26
26
  * Milestone 1's six top-level theorems are unchanged. Milestone 2 adds four
27
27
  * atlas entries. Milestone 2b adds fifteen catalog entries. Bucket A adds
28
28
  * twenty-one counted catalog entries, keyed `be-<n>`. BE-20 is the nested
29
- * `corollary` on `be-13` and has no key. A counted covers line begins with
30
- * `reduction`, `limit`, or `derivation-step`. A labeled covers line begins
31
- * with `property` or `cross-check`. A nested object (`planeWave`, `oneLoop`,
32
- * `inversion`, `vacuum`, `corollary`, `friedmann`, `lengthMonomial`,
33
- * `torsionMonomial`, `coefficientNotFixed`, `unitCoefficient`, `scalingShape`,
34
- * `everyPower`, `perpendicularQuartic`, `tolmanRatio`) is recorded and is not
35
- * a `formalRef`. The sentence that those fourteen names are the whole nested
36
- * set is the record from before BE-103 through BE-125. That ingestion adds
37
- * `warmSound`, `cutoffL`, `whistlerLimit`, `equalTemperature`, `bohmGross`,
38
- * `referenceResistivity`, `lundquist`, and `bohmFlux`. PhysJS #66 adds
39
- * be-103 through be-125. The sentence that the pin is
29
+ * `corollary` on `be-13` and has no key. Each statement's `kind`, nested ones
30
+ * included, is the manifest's own field (schema `physjs-bridge-manifest/v2`),
31
+ * which PhysJS reads from the kind line of the Lean file that declares the
32
+ * theorem; this module keeps no
33
+ * override and does not parse the covers line for it. The sentence that a
34
+ * counted covers line begins with `reduction`, `limit`, or `derivation-step`,
35
+ * and that a catalog entry's `formalKind` overrides that word, is the record
36
+ * from before that schema. A field of a manifest entry outside the
37
+ * base fields is a nested statement: a second theorem on the same entry,
38
+ * named by the field, with no key. It is recorded and compared, and it is not
39
+ * a `formalRef`. The generator reads it by its shape, so a new nested name
40
+ * needs no edit here. The sentence that the nested names are a fixed list in
41
+ * this module and in the generator is the record from before that change.
42
+ * PhysJS #66 adds be-103 through be-125. The sentence that the pin is
40
43
  * `03e8bb77c952f720bdd2730af2afc6a7f2d36243` and that the table stops at
41
44
  * be-102 is the record from before that pin. PhysJS #67 adds be-126 through
42
45
  * be-133. The sentence that the pin is
@@ -44,12 +47,12 @@
44
47
  * be-125 is the record from before that pin. PhysJS #68 adds be-134 through
45
48
  * be-146. The sentence that the pin is
46
49
  * `8515c621d1c6e6d31c2eea4467181eb85d58234b` and that the table stops at
47
- * be-133 is the record from before that pin. That ingestion adds
48
- * `heisenberg_fraction`.
50
+ * be-133 is the record from before that pin.
49
51
  *
50
52
  * @module atlas/physjs-ref
51
53
  */
52
- import { catalogEdgeKey } from '../bridges/catalog-load.js';
54
+ import { FORMAL_REF_KINDS } from '../relations/types.js';
55
+ import { catalogEntries, catalogIdNumber } from '../bridges/catalog-load.js';
53
56
  import { PHYSJS_COMMIT, PHYSJS_MATHLIB, PHYSJS_PHYS_LIB, PHYSJS_TOOLCHAIN, PHYSJS_ENTRIES as GENERATED_PHYSJS_ENTRIES, } from './physjs-entries.generated.js';
54
57
  /**
55
58
  * PhysJS commit the vendored manifest records.
@@ -62,52 +65,34 @@ export { PHYSJS_COMMIT } from './physjs-entries.generated.js';
62
65
  * `bound.delta` does not certify the regime, the horizon, or the side conditions.
63
66
  */
64
67
  const PHYSJS_COVERAGE = 'covers its statement only';
65
- /** Nested objects the manifest schema records. A new name is a problem. */
66
- const NESTED_FIELDS = [
67
- 'planeWave',
68
- 'oneLoop',
69
- 'inversion',
70
- 'vacuum',
71
- 'corollary',
72
- 'friedmann',
73
- 'lengthMonomial',
74
- 'torsionMonomial',
75
- 'coefficientNotFixed',
76
- 'unitCoefficient',
77
- 'scalingShape',
78
- 'everyPower',
79
- 'perpendicularQuartic',
80
- 'tolmanRatio',
81
- 'warmSound',
82
- 'cutoffL',
83
- 'whistlerLimit',
84
- 'equalTemperature',
85
- 'bohmGross',
86
- 'referenceResistivity',
87
- 'lundquist',
88
- 'bohmFlux',
89
- 'heisenberg_fraction',
90
- ];
91
- const ENTRY_FIELDS = new Set([
92
- 'key',
93
- 'bridgeId',
94
- 'theorem',
95
- 'covers',
96
- 'coverage',
97
- 'leanProof',
98
- 'axioms',
99
- 'imports',
100
- ...NESTED_FIELDS,
101
- ]);
102
- /** Counted catalog kinds. Not a property and not a cross-check. */
103
- const COUNTED_KIND = /^(reduction|limit|derivation-step): /;
68
+ /** The fields of a manifest entry. Any other field is a nested statement. */
69
+ const BASE_FIELDS = new Set(['key', 'bridgeId', 'theorem', 'kind', 'covers', 'coverage', 'leanProof', 'axioms', 'imports']);
70
+ /** The fields of a statement, sorted. A nested field with exactly these is a statement. */
71
+ const STATEMENT_FIELDS = ['axioms', 'coverage', 'covers', 'kind', 'leanProof', 'theorem'];
104
72
  /**
105
- * Labeled catalog kinds. A reader tells them from a counted statement by
106
- * this word. They occupy a catalog `formalRef` and are not the counted kind.
73
+ * The nested statements of a manifest entry, in field order: every field
74
+ * outside the base fields whose value has exactly the statement fields. A
75
+ * field that is neither is returned in `problems`.
76
+ * @internal
107
77
  */
108
- const LABELED_KIND = /^(property|cross-check): /;
78
+ export function physjsNestedStatements(entry) {
79
+ const nested = [];
80
+ const problems = [];
81
+ for (const [field, value] of Object.entries(entry)) {
82
+ if (BASE_FIELDS.has(field))
83
+ continue;
84
+ const keys = typeof value === 'object' && value !== null && !Array.isArray(value) ? Object.keys(value).sort() : [];
85
+ if (keys.join() === STATEMENT_FIELDS.join())
86
+ nested.push({ name: field, ...value });
87
+ else
88
+ problems.push(`manifest entry '${entry.key}' has unexpected field '${field}'`);
89
+ }
90
+ return { nested, problems };
91
+ }
109
92
  const PHYSJS_ENTRIES = GENERATED_PHYSJS_ENTRIES;
110
93
  const entryByKey = new Map(PHYSJS_ENTRIES.map((entry) => [entry.key, entry]));
94
+ /** Theorem → its Lean file, for every statement of the compiled table, nested ones included. */
95
+ const FILE_BY_THEOREM = new Map(PHYSJS_ENTRIES.flatMap((entry) => [entry, ...entry.nested].map((statement) => [statement.theorem, statement.file])));
111
96
  /**
112
97
  * Theorem name on the compiled manifest copy for `key`.
113
98
  *
@@ -123,28 +108,22 @@ export function physjsTheorem(key) {
123
108
  function physjsVersion() {
124
109
  return `physjs@${PHYSJS_COMMIT} ${PHYSJS_TOOLCHAIN} mathlib:${PHYSJS_MATHLIB} physlib@${PHYSJS_PHYS_LIB}`;
125
110
  }
126
- /**
127
- * Namespaces whose theorems live in another Lean file at this pin.
128
- * `SpringLc` and `DampedRlc` are namespaces inside `lean/OscillatorDictionary.lean`,
129
- * not their own files. Rechecked at this pin.
130
- */
131
- const PHYSJS_FILE_BY_NAMESPACE = {
132
- SpringLc: 'OscillatorDictionary.lean',
133
- DampedRlc: 'OscillatorDictionary.lean',
134
- };
135
111
  /**
136
112
  * Lean file name that contains `theorem` at the pinned commit.
137
113
  *
138
- * `SpringLc` and `DampedRlc` are namespaces inside `OscillatorDictionary.lean`.
114
+ * Read from the compiled table, which copies `formal/physjs/theorem-files.json`:
115
+ * the file is where the theorem is declared, not its namespace
116
+ * (`PhysJS.Einstein.friedmann_corollary` is in `VacuumFriedmann.lean`;
117
+ * `PhysJS.SpringLc` is a namespace inside `OscillatorDictionary.lean`).
118
+ * Throws for a theorem the manifest does not name.
139
119
  *
140
120
  * @internal
141
121
  */
142
122
  export function physjsLeanFile(theorem) {
143
- const parts = theorem.split('.');
144
- if (parts.length < 3 || parts[0] !== 'PhysJS' || parts[1] === undefined) {
145
- throw new Error(`PhysJS theorem '${theorem}' is not PhysJS.<module>.<name>`);
146
- }
147
- return PHYSJS_FILE_BY_NAMESPACE[parts[1]] ?? `${parts[1]}.lean`;
123
+ const file = FILE_BY_THEOREM.get(theorem);
124
+ if (file === undefined)
125
+ throw new Error(`PhysJS theorem '${theorem}' is not a statement of the vendored manifest`);
126
+ return file;
148
127
  }
149
128
  /**
150
129
  * Permalink to one Lean file at the pinned commit.
@@ -161,59 +140,45 @@ export function physjsFileUrl(file) {
161
140
  function physjsStatementUrl(theorem) {
162
141
  return physjsFileUrl(physjsLeanFile(theorem));
163
142
  }
143
+ /** The highest id in the bridge catalog. */
144
+ const CATALOG_MAX_ID = Math.max(...catalogEntries().map((entry) => entry.id));
164
145
  /**
165
- * Catalog keys whose theorem states the catalogued equation.
166
- * The PhysJS covers line still begins with `derivation-step`.
167
- * The kind is bridge because that equation is the theorem.
168
- */
169
- const CATALOG_EQUATION_KEYS = new Set([
170
- 12, 16, 21, 27, 33, 37, 40, 43, 50, 54, 55, 59, 60, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
171
- ].map((id) => catalogEdgeKey(id)));
172
- /**
173
- * Atlas keys are bridges. A catalog key whose theorem states the catalogued
174
- * equation is a bridge. BE-28 is a property of the defining sum. Every other
175
- * catalog key's kind is the covers prefix.
146
+ * True when `key` is ahead of the catalog: PhysJS proved the statement for a
147
+ * catalog id the catalog has not reached yet. That is an id above the
148
+ * catalog's highest, with every id between them also a key of `keys` (the
149
+ * manifest's), so the ahead keys are one unbroken run that starts right after
150
+ * the catalog. Such an entry is vendored and compared, and it is not a seed
151
+ * and not a problem until the catalog entry exists. A missing id inside the
152
+ * catalog's range is not ahead, nor is an id past a gap in the run (a typo
153
+ * such as an extra digit), nor an atlas key.
154
+ *
155
+ * @internal
176
156
  */
177
- function formalRefKind(key, covers) {
178
- if (key.startsWith('ab-'))
179
- return 'bridge';
180
- if (CATALOG_EQUATION_KEYS.has(key))
181
- return 'bridge';
182
- if (key === catalogEdgeKey(28))
183
- return 'property';
184
- const word = covers.split(':')[0];
185
- if (word === 'property' ||
186
- word === 'cross-check' ||
187
- word === 'reduction' ||
188
- word === 'limit' ||
189
- word === 'derivation-step') {
190
- return word;
191
- }
192
- return undefined;
157
+ export function physjsAheadOfCatalog(key, keys = PHYSJS_ENTRIES.map((entry) => entry.key)) {
158
+ const id = catalogIdNumber(key);
159
+ if (id === undefined || id <= CATALOG_MAX_ID)
160
+ return false;
161
+ const ids = new Set(keys.map(catalogIdNumber));
162
+ for (let n = CATALOG_MAX_ID + 1; n < id; n++)
163
+ if (!ids.has(n))
164
+ return false;
165
+ return true;
193
166
  }
194
167
  /**
195
- * Manifest keys whose derived kind is `bridge`.
196
- *
197
- * An `ab-` key is a bridge. A catalog key is a bridge when `formalRefKind`
198
- * says the theorem states the catalogued equation. A canonical id uses that
199
- * same function: it is a seed when this table, or a caller-supplied overlay
200
- * entry, has derived kind `bridge`. A textbook covers word is not a seed.
201
- * One function, so a second list cannot drift.
202
- *
203
- * `kind`, when supplied, is that derived kind for an overlay reference the
204
- * compiled table does not carry. The live call omits it. The return value
205
- * is not stored on a bridge.
168
+ * Manifest keys of kind `bridge`, the theorem stating the equation its key
169
+ * names, that resolve to a bridge: every such atlas key, and every such
170
+ * catalog key whose catalog entry exists. The kind is the manifest's own
171
+ * field. A caller-supplied overlay entry is read the same way. The return
172
+ * value is not stored on a bridge.
206
173
  *
207
174
  * @internal
208
175
  */
209
176
  export function bridgeSeedKeys(entries = PHYSJS_ENTRIES) {
210
- const keys = [];
211
- for (const entry of entries) {
212
- const kind = entry.kind ?? formalRefKind(entry.key, entry.covers);
213
- if (kind === 'bridge')
214
- keys.push(entry.key);
215
- }
216
- return keys;
177
+ return entries.filter((entry) => entry.kind === 'bridge' && !physjsAheadOfCatalog(entry.key)).map((entry) => entry.key);
178
+ }
179
+ /** Every manifest key ahead of the catalog, in manifest order. @internal */
180
+ export function physjsKeysAheadOfCatalog() {
181
+ return PHYSJS_ENTRIES.filter((entry) => physjsAheadOfCatalog(entry.key)).map((entry) => entry.key);
217
182
  }
218
183
  /**
219
184
  * The reviewed reference for a manifest key. Throws when the key is not an
@@ -225,16 +190,13 @@ export function physjsFormalRef(key) {
225
190
  const entry = entryByKey.get(key);
226
191
  if (entry === undefined)
227
192
  throw new Error(`PhysJS manifest has no entry for '${key}'`);
228
- const kind = formalRefKind(entry.key, entry.covers);
229
- if (kind === undefined)
230
- throw new Error(`PhysJS entry '${entry.key}' covers line has no catalog kind`);
231
193
  return {
232
194
  system: 'lean4-physjs',
233
195
  statement: entry.theorem,
234
196
  version: physjsVersion(),
235
197
  axioms: entry.axioms,
236
198
  fidelity: 'sanity-lemmas',
237
- kind,
199
+ kind: entry.kind,
238
200
  url: physjsStatementUrl(entry.theorem),
239
201
  covers: `${entry.covers} — ${entry.coverage}`,
240
202
  };
@@ -242,29 +204,22 @@ export function physjsFormalRef(key) {
242
204
  function sameAxioms(recorded, manifest) {
243
205
  return recorded.length === manifest.length && recorded.every((axiom, i) => axiom === manifest[i]);
244
206
  }
245
- function sameNested(compiled, manifest) {
246
- if (compiled === undefined && manifest === undefined)
247
- return true;
248
- if (compiled === undefined || manifest === undefined)
249
- return false;
207
+ function sameStatement(compiled, manifest) {
250
208
  return (compiled.theorem === manifest.theorem &&
209
+ compiled.kind === manifest.kind &&
251
210
  compiled.covers === manifest.covers &&
252
211
  compiled.coverage === manifest.coverage &&
253
212
  compiled.leanProof === manifest.leanProof &&
254
213
  sameAxioms(compiled.axioms, manifest.axioms));
255
214
  }
256
- /**
257
- * A `be-` covers line begins with a counted kind or a labeled kind.
258
- * Atlas covers lines stay as milestone 1 and 2 wrote them.
259
- */
260
- function catalogCoversProblems(key, covers, where) {
261
- if (!key.startsWith('be-'))
262
- return [];
263
- if (COUNTED_KIND.test(covers) || LABELED_KIND.test(covers))
264
- return [];
265
- return [
266
- `${where} '${key}' covers line does not begin with a catalog kind (reduction, limit, derivation-step, property, or cross-check)`,
267
- ];
215
+ /** The compiled nested statements are the manifest's: the same names, in order, each the same statement. */
216
+ function sameNested(compiled, manifest) {
217
+ return (compiled.length === manifest.length &&
218
+ compiled.every((statement, i) => statement.name === manifest[i].name && sameStatement(statement, manifest[i])));
219
+ }
220
+ /** The kind of a manifest entry is one of the formal-reference kinds. */
221
+ function isFormalRefKind(kind) {
222
+ return typeof kind === 'string' && FORMAL_REF_KINDS.includes(kind);
268
223
  }
269
224
  /**
270
225
  * Problems in the vendored manifest against the bridges that claim to be keyed
@@ -275,17 +230,19 @@ function catalogCoversProblems(key, covers, where) {
275
230
  * entry with no bridge is a problem. A `lean4-physjs` reference with no entry
276
231
  * is a problem: the gate does not skip that system. A nested object is kept
277
232
  * and compared; naming it as the `formalRef` is a problem. The top-level
278
- * theorem stays the reference. A catalog entry whose covers line is a
279
- * `property` or a `cross-check` is a labeled reference: it resolves to a
280
- * `formalRef`, and it is not a counted kind.
233
+ * theorem stays the reference. The reference's kind is the entry's
234
+ * `kind`; a kind outside the formal-reference kinds is a problem. A `be-`
235
+ * key in the unbroken run above the catalog's highest id is ahead of the
236
+ * catalog and is not a problem (`physjsAheadOfCatalog`); any other key with
237
+ * no bridge is.
281
238
  *
282
239
  * @internal
283
240
  */
284
241
  export function physjsManifestProblems(input) {
285
242
  const problems = [];
286
243
  const manifest = input.manifest;
287
- if (manifest.schema !== 'physjs-bridge-manifest/v1') {
288
- problems.push(`manifest schema is '${manifest.schema}', expected 'physjs-bridge-manifest/v1'`);
244
+ if (manifest.schema !== 'physjs-bridge-manifest/v2') {
245
+ problems.push(`manifest schema is '${manifest.schema}', expected 'physjs-bridge-manifest/v2'`);
289
246
  }
290
247
  if (manifest.commit !== PHYSJS_COMMIT) {
291
248
  problems.push(`manifest commit is '${manifest.commit}', expected '${PHYSJS_COMMIT}'`);
@@ -302,15 +259,13 @@ export function physjsManifestProblems(input) {
302
259
  const compiledByKey = new Map((input.compiledEntries ?? PHYSJS_ENTRIES).map((entry) => [entry.key, entry]));
303
260
  const byId = new Map(input.bridges.map((bridge) => [bridge.id, bridge]));
304
261
  const seen = new Set();
262
+ const manifestKeys = manifest.entries.map((entry) => entry.key);
305
263
  for (const entry of manifest.entries) {
306
264
  if (seen.has(entry.key))
307
265
  problems.push(`manifest key '${entry.key}' is duplicated`);
308
266
  seen.add(entry.key);
309
- for (const field of Object.keys(entry)) {
310
- if (!ENTRY_FIELDS.has(field)) {
311
- problems.push(`manifest entry '${entry.key}' has unexpected field '${field}'`);
312
- }
313
- }
267
+ const { nested, problems: fieldProblems } = physjsNestedStatements(entry);
268
+ problems.push(...fieldProblems);
314
269
  if (entry.key !== entry.bridgeId) {
315
270
  problems.push(`manifest key '${entry.key}' does not equal bridgeId '${entry.bridgeId}'`);
316
271
  }
@@ -320,23 +275,24 @@ export function physjsManifestProblems(input) {
320
275
  if (entry.leanProof !== 'complete') {
321
276
  problems.push(`leanProof for '${entry.key}' is '${entry.leanProof}', expected 'complete'`);
322
277
  }
323
- const coversProblems = catalogCoversProblems(entry.key, entry.covers, 'manifest key');
324
- problems.push(...coversProblems);
325
- for (const field of NESTED_FIELDS) {
326
- const nested = entry[field];
327
- if (nested === undefined)
328
- continue;
329
- if (nested.coverage !== PHYSJS_COVERAGE) {
330
- problems.push(`${field} coverage phrase for '${entry.key}' is '${nested.coverage}', expected '${PHYSJS_COVERAGE}'`);
278
+ if (!isFormalRefKind(entry.kind)) {
279
+ problems.push(`manifest key '${entry.key}' kind '${String(entry.kind)}' is not one of ${FORMAL_REF_KINDS.join(', ')}`);
280
+ }
281
+ for (const statement of nested) {
282
+ if (!isFormalRefKind(statement.kind)) {
283
+ problems.push(`${statement.name} kind for '${entry.key}' is '${String(statement.kind)}', not one of ${FORMAL_REF_KINDS.join(', ')}`);
331
284
  }
332
- if (nested.leanProof !== 'complete') {
333
- problems.push(`${field} leanProof for '${entry.key}' is '${nested.leanProof}', expected 'complete'`);
285
+ if (statement.coverage !== PHYSJS_COVERAGE) {
286
+ problems.push(`${statement.name} coverage phrase for '${entry.key}' is '${statement.coverage}', expected '${PHYSJS_COVERAGE}'`);
287
+ }
288
+ if (statement.leanProof !== 'complete') {
289
+ problems.push(`${statement.name} leanProof for '${entry.key}' is '${statement.leanProof}', expected 'complete'`);
334
290
  }
335
- problems.push(...catalogCoversProblems(entry.key, nested.covers, `${field} covers`));
336
291
  }
337
292
  const bridge = byId.get(entry.key);
338
293
  if (bridge === undefined) {
339
- problems.push(`manifest key '${entry.key}' does not resolve to a bridge`);
294
+ if (!physjsAheadOfCatalog(entry.key, manifestKeys))
295
+ problems.push(`manifest key '${entry.key}' does not resolve to a bridge`);
340
296
  continue;
341
297
  }
342
298
  const ref = bridge.formalRef;
@@ -344,15 +300,9 @@ export function physjsManifestProblems(input) {
344
300
  problems.push(`bridge '${entry.key}' has no lean4-physjs formalRef (system '${ref?.system ?? 'none'}')`);
345
301
  continue;
346
302
  }
347
- if (entry.planeWave !== undefined && ref.statement === entry.planeWave.theorem) {
348
- problems.push(`bridge '${entry.key}' formalRef names the nested planeWave theorem '${entry.planeWave.theorem}'; the top-level theorem stays the reference`);
349
- }
350
- for (const field of NESTED_FIELDS) {
351
- if (field === 'planeWave')
352
- continue;
353
- const nested = entry[field];
354
- if (nested !== undefined && ref.statement === nested.theorem) {
355
- problems.push(`bridge '${entry.key}' formalRef names the nested ${field} theorem '${nested.theorem}'; the top-level theorem stays the reference`);
303
+ for (const statement of nested) {
304
+ if (ref.statement === statement.theorem) {
305
+ problems.push(`bridge '${entry.key}' formalRef names the nested ${statement.name} theorem '${statement.theorem}'; the top-level theorem stays the reference`);
356
306
  }
357
307
  }
358
308
  if (ref.statement !== entry.theorem) {
@@ -361,7 +311,6 @@ export function physjsManifestProblems(input) {
361
311
  if (!sameAxioms(ref.axioms, entry.axioms)) {
362
312
  problems.push(`bridge '${entry.key}' axioms [${ref.axioms.join(', ')}] differ from the manifest [${entry.axioms.join(', ')}]`);
363
313
  }
364
- problems.push(...catalogCoversProblems(entry.key, ref.covers, 'formalRef covers'));
365
314
  if (!ref.covers.includes(PHYSJS_COVERAGE)) {
366
315
  problems.push(`bridge '${entry.key}' covers line does not say '${PHYSJS_COVERAGE}'`);
367
316
  }
@@ -374,22 +323,25 @@ export function physjsManifestProblems(input) {
374
323
  if (ref.fidelity === 'unreviewed') {
375
324
  problems.push(`bridge '${entry.key}' formalRef is unreviewed`);
376
325
  }
377
- const kind = formalRefKind(entry.key, entry.covers);
378
- if (kind !== undefined && ref.kind !== kind) {
379
- problems.push(`bridge '${entry.key}' kind is '${ref.kind}', expected '${kind}'`);
326
+ if (ref.kind !== entry.kind) {
327
+ problems.push(`bridge '${entry.key}' kind is '${ref.kind}', expected '${entry.kind}'`);
328
+ }
329
+ const file = FILE_BY_THEOREM.get(entry.theorem);
330
+ if (file === undefined) {
331
+ problems.push(`manifest theorem '${entry.theorem}' has no Lean file in formal/physjs/theorem-files.json`);
380
332
  }
381
- const url = physjsStatementUrl(entry.theorem);
382
- if (ref.url !== url) {
383
- problems.push(`bridge '${entry.key}' url is '${ref.url}', expected '${url}'`);
333
+ else if (ref.url !== physjsFileUrl(file)) {
334
+ problems.push(`bridge '${entry.key}' url is '${ref.url}', expected '${physjsFileUrl(file)}'`);
384
335
  }
385
336
  const compiled = compiledByKey.get(entry.key);
386
337
  if (compiled === undefined) {
387
338
  problems.push(`manifest key '${entry.key}' is not in the compiled entry table`);
388
339
  }
389
340
  else if (compiled.theorem !== entry.theorem ||
341
+ compiled.kind !== entry.kind ||
390
342
  compiled.covers !== entry.covers ||
391
343
  compiled.coverage !== entry.coverage ||
392
- NESTED_FIELDS.some((field) => !sameNested(compiled[field], entry[field]))) {
344
+ !sameNested(compiled.nested, nested)) {
393
345
  problems.push(`compiled entry for '${entry.key}' disagrees with the vendored manifest`);
394
346
  }
395
347
  }
@@ -1 +1 @@
1
- {"version":3,"file":"physjs-ref.js","sourceRoot":"","sources":["../../src/atlas/physjs-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physjs-ref.js","sourceRoot":"","sources":["../../src/atlas/physjs-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,IAAI,wBAAwB,GAC3C,MAAM,+BAA+B,CAAC;AAEvC;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;GAGG;AACH,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAapD,6EAA6E;AAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpI,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC;AAqCnG;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA0B;IAI/D,MAAM,MAAM,GAAoD,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACrC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,gBAAgB,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAI,KAAyB,EAAE,CAAC,CAAC;;YACpG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,GAAG,2BAA2B,KAAK,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAYD,MAAM,cAAc,GAA2B,wBAAwB,CAAC;AAExE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9E,gGAAgG;AAChG,MAAM,eAAe,GAAgC,IAAI,GAAG,CAC1D,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAU,CAAC,CAAC,CAC7H,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AACtC,CAAC;AAED,mDAAmD;AACnD,SAAS,aAAa;IACpB,OAAO,UAAU,aAAa,IAAI,gBAAgB,YAAY,cAAc,YAAY,eAAe,EAAE,CAAC;AAC5G,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,+CAA+C,CAAC,CAAC;IACnH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,gDAAgD,aAAa,SAAS,IAAI,EAAE,CAAC;AACtF,CAAC;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,4CAA4C;AAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,IAAI,GAAsB,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAElE,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAO,GAAsE,cAAc;IAE3F,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1H,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB;IACtC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,GAAG,CAAC,CAAC;IACtF,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO;QACxB,OAAO,EAAE,aAAa,EAAE;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,QAAQ,EAAE;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAA2B,EAAE,QAA2B;IAC1E,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB,EAAE,QAAyB;IACzE,OAAO,CACL,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;QACrC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;QAC/B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACvC,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QACzC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,4GAA4G;AAC5G,SAAS,UAAU,CACjB,QAA0C,EAC1C,QAAkE;IAElE,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CACjH,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,eAAe,CAAC,IAAa;IACpC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAA2B,EAAE,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,MAAM,yCAAyC,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,MAAM,gBAAgB,aAAa,GAAG,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,SAAS,gBAAgB,gBAAgB,GAAG,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,OAAO,gBAAgB,cAAc,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,OAAO,gBAAgB,eAAe,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,GAAG,8BAA8B,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CACX,wBAAwB,KAAK,CAAC,GAAG,SAAS,KAAK,CAAC,QAAQ,gBAAgB,eAAe,GAAG,CAC3F,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,GAAG,SAAS,KAAK,CAAC,SAAS,wBAAwB,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,GAAG,WAAW,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CACX,GAAG,SAAS,CAAC,IAAI,cAAc,KAAK,CAAC,GAAG,SAAS,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtH,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CACX,GAAG,SAAS,CAAC,IAAI,yBAAyB,KAAK,CAAC,GAAG,SAAS,SAAS,CAAC,QAAQ,gBAAgB,eAAe,GAAG,CACjH,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,mBAAmB,KAAK,CAAC,GAAG,SAAS,SAAS,CAAC,SAAS,wBAAwB,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,GAAG,gCAAgC,CAAC,CAAC;YAC9H,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CACX,WAAW,KAAK,CAAC,GAAG,4CAA4C,GAAG,EAAE,MAAM,IAAI,MAAM,IAAI,CAC1F,CAAC;YACF,SAAS;QACX,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CACX,WAAW,KAAK,CAAC,GAAG,gCAAgC,SAAS,CAAC,IAAI,aAAa,SAAS,CAAC,OAAO,8CAA8C,CAC/I,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,iBAAiB,GAAG,CAAC,SAAS,2BAA2B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CACX,WAAW,KAAK,CAAC,GAAG,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,+BAA+B,eAAe,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,kCAAkC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC1F,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,cAAc,GAAG,CAAC,OAAO,6BAA6B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,2BAA2B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,cAAc,GAAG,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,OAAO,wDAAwD,CAAC,CAAC;QAC5G,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,gBAAgB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,GAAG,sCAAsC,CAAC,CAAC;QAClF,CAAC;aAAM,IACL,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAClC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAC5B,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAChC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YACpC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,GAAG,wCAAwC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc;YAAE,SAAS;QAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -6,15 +6,19 @@
6
6
  * body is absent. Nothing here is written into the catalog, the
7
7
  * formal-reference overlay, or the vendored manifest.
8
8
  *
9
- * A units-only survivor carries a covers line that begins with
10
- * `derivation-step:` and names the hypothesis the dimensional theorem
11
- * leaves open. The import `PhysJS.Dimensional` is present when that
12
- * filter named one of its theorems. `Dim` is fixed at `n = 7` in the
13
- * base order `src/dimensional/types.ts` declares.
9
+ * A draft is a new target, so its `kind` is `derivation-step`, one of
10
+ * `FORMAL_REF_KINDS`, stated as its own field and its own `-- kind:` line.
11
+ * The covers line names the hypothesis the dimensional theorem leaves open
12
+ * and does not begin with a kind word. A confirmation of a catalog id and a
13
+ * restatement of a bridge are not new targets: no draft is made for them.
14
+ * The import `PhysJS.Dimensional` is present when that filter named one of
15
+ * its theorems. `Dim` is fixed at `n = 7` in the base order
16
+ * `src/dimensional/types.ts` declares.
14
17
  *
15
18
  * @module atlas/proof-target
16
19
  */
17
20
  import type { ChainCandidate } from '../composition/chain-candidate.js';
21
+ import type { FormalRefKind } from '../relations/types.js';
18
22
  /** Marker before the draft object the manifest checker can read. @internal */
19
23
  export declare const PROOF_TARGET_DRAFT_BEGIN = "PROOF-TARGET-DRAFT-BEGIN";
20
24
  /** Marker after the draft object. @internal */
@@ -22,8 +26,10 @@ export declare const PROOF_TARGET_DRAFT_END = "PROOF-TARGET-DRAFT-END";
22
26
  /**
23
27
  * The draft the comment block renders.
24
28
  *
25
- * The fields are the ones the comment's JSON already carries.
26
- * `leanProof` stays `absent`. This value is not a manifest entry.
29
+ * The fields are the ones the comment's JSON already carries. `kind` is a
30
+ * {@link FormalRefKind}, `derivation-step` for every draft, and `covers`
31
+ * does not repeat it. `leanProof` stays `absent`. This value is not a
32
+ * manifest entry.
27
33
  *
28
34
  * @internal
29
35
  */
@@ -31,6 +37,7 @@ export interface ProofTargetDraft {
31
37
  readonly key: string;
32
38
  readonly bridgeId: string;
33
39
  readonly theorem: string;
40
+ readonly kind: FormalRefKind;
34
41
  readonly covers: string;
35
42
  readonly coverage: string;
36
43
  readonly leanProof: 'absent';
@@ -40,7 +47,8 @@ export interface ProofTargetDraft {
40
47
  * The draft `emitProofTarget` renders into the comment block.
41
48
  *
42
49
  * `seedTheorems` is one PhysJS theorem name per seed step, in chain order.
43
- * A name that disagrees with the compiled manifest copy is refused.
50
+ * A name that disagrees with the compiled manifest copy is refused, and so
51
+ * is a confirmation or a restatement candidate, which is not a new target.
44
52
  * The object is not written anywhere.
45
53
  *
46
54
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"proof-target.d.ts","sourceRoot":"","sources":["../../src/atlas/proof-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGxE,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AA0F/D;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,gBAAgB,CAYlB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,MAAM,CA6BR"}
1
+ {"version":3,"file":"proof-target.d.ts","sourceRoot":"","sources":["../../src/atlas/proof-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AA+E/D;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,gBAAgB,CAclB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,MAAM,CA6BR"}