universal-physics-tensor 0.45.1 → 0.46.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 (473) hide show
  1. package/README.md +28 -27
  2. package/dist/atlas/applicability.d.ts +108 -0
  3. package/dist/atlas/applicability.d.ts.map +1 -0
  4. package/dist/atlas/applicability.js +301 -0
  5. package/dist/atlas/applicability.js.map +1 -0
  6. package/dist/atlas/association.d.ts +92 -0
  7. package/dist/atlas/association.d.ts.map +1 -0
  8. package/dist/atlas/association.js +112 -0
  9. package/dist/atlas/association.js.map +1 -0
  10. package/dist/atlas/benchmark/backend-shapes.d.ts +47 -0
  11. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -0
  12. package/dist/atlas/benchmark/backend-shapes.js +58 -0
  13. package/dist/atlas/benchmark/backend-shapes.js.map +1 -0
  14. package/dist/atlas/benchmark/baselines.d.ts +64 -0
  15. package/dist/atlas/benchmark/baselines.d.ts.map +1 -0
  16. package/dist/atlas/benchmark/baselines.js +112 -0
  17. package/dist/atlas/benchmark/baselines.js.map +1 -0
  18. package/dist/atlas/benchmark/leakage.d.ts +56 -0
  19. package/dist/atlas/benchmark/leakage.d.ts.map +1 -0
  20. package/dist/atlas/benchmark/leakage.js +100 -0
  21. package/dist/atlas/benchmark/leakage.js.map +1 -0
  22. package/dist/atlas/benchmark/loader.d.ts +56 -0
  23. package/dist/atlas/benchmark/loader.d.ts.map +1 -0
  24. package/dist/atlas/benchmark/loader.js +104 -0
  25. package/dist/atlas/benchmark/loader.js.map +1 -0
  26. package/dist/atlas/benchmark/run-atlas.d.ts +72 -0
  27. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -0
  28. package/dist/atlas/benchmark/run-atlas.js +210 -0
  29. package/dist/atlas/benchmark/run-atlas.js.map +1 -0
  30. package/dist/atlas/benchmark/stats.d.ts +90 -0
  31. package/dist/atlas/benchmark/stats.d.ts.map +1 -0
  32. package/dist/atlas/benchmark/stats.js +159 -0
  33. package/dist/atlas/benchmark/stats.js.map +1 -0
  34. package/dist/atlas/benchmark/study.d.ts +120 -0
  35. package/dist/atlas/benchmark/study.d.ts.map +1 -0
  36. package/dist/atlas/benchmark/study.js +192 -0
  37. package/dist/atlas/benchmark/study.js.map +1 -0
  38. package/dist/atlas/benchmark/types.d.ts +79 -0
  39. package/dist/atlas/benchmark/types.d.ts.map +1 -0
  40. package/dist/atlas/benchmark/types.js +46 -0
  41. package/dist/atlas/benchmark/types.js.map +1 -0
  42. package/dist/atlas/composition-table.d.ts +55 -0
  43. package/dist/atlas/composition-table.d.ts.map +1 -0
  44. package/dist/atlas/composition-table.js +133 -0
  45. package/dist/atlas/composition-table.js.map +1 -0
  46. package/dist/atlas/conventions.d.ts +63 -0
  47. package/dist/atlas/conventions.d.ts.map +1 -0
  48. package/dist/atlas/conventions.js +93 -0
  49. package/dist/atlas/conventions.js.map +1 -0
  50. package/dist/atlas/coverage.d.ts +93 -0
  51. package/dist/atlas/coverage.d.ts.map +1 -0
  52. package/dist/atlas/coverage.js +69 -0
  53. package/dist/atlas/coverage.js.map +1 -0
  54. package/dist/atlas/derivation.d.ts +137 -0
  55. package/dist/atlas/derivation.d.ts.map +1 -0
  56. package/dist/atlas/derivation.js +190 -0
  57. package/dist/atlas/derivation.js.map +1 -0
  58. package/dist/atlas/derive-evidence.d.ts +218 -0
  59. package/dist/atlas/derive-evidence.d.ts.map +1 -0
  60. package/dist/atlas/derive-evidence.js +225 -0
  61. package/dist/atlas/derive-evidence.js.map +1 -0
  62. package/dist/atlas/diffusion/bridges-closure.d.ts +63 -0
  63. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -0
  64. package/dist/atlas/diffusion/bridges-closure.js +324 -0
  65. package/dist/atlas/diffusion/bridges-closure.js.map +1 -0
  66. package/dist/atlas/diffusion/bridges.d.ts +36 -0
  67. package/dist/atlas/diffusion/bridges.d.ts.map +1 -0
  68. package/dist/atlas/diffusion/bridges.js +226 -0
  69. package/dist/atlas/diffusion/bridges.js.map +1 -0
  70. package/dist/atlas/diffusion/dimensions.d.ts +21 -0
  71. package/dist/atlas/diffusion/dimensions.d.ts.map +1 -0
  72. package/dist/atlas/diffusion/dimensions.js +21 -0
  73. package/dist/atlas/diffusion/dimensions.js.map +1 -0
  74. package/dist/atlas/diffusion/index.d.ts +16 -0
  75. package/dist/atlas/diffusion/index.d.ts.map +1 -0
  76. package/dist/atlas/diffusion/index.js +23 -0
  77. package/dist/atlas/diffusion/index.js.map +1 -0
  78. package/dist/atlas/diffusion/models.d.ts +24 -0
  79. package/dist/atlas/diffusion/models.d.ts.map +1 -0
  80. package/dist/atlas/diffusion/models.js +139 -0
  81. package/dist/atlas/diffusion/models.js.map +1 -0
  82. package/dist/atlas/diffusion/numerics.d.ts +181 -0
  83. package/dist/atlas/diffusion/numerics.d.ts.map +1 -0
  84. package/dist/atlas/diffusion/numerics.js +251 -0
  85. package/dist/atlas/diffusion/numerics.js.map +1 -0
  86. package/dist/atlas/error-algebra.d.ts +52 -0
  87. package/dist/atlas/error-algebra.d.ts.map +1 -0
  88. package/dist/atlas/error-algebra.js +55 -0
  89. package/dist/atlas/error-algebra.js.map +1 -0
  90. package/dist/atlas/export.d.ts +48 -0
  91. package/dist/atlas/export.d.ts.map +1 -0
  92. package/dist/atlas/export.js +106 -0
  93. package/dist/atlas/export.js.map +1 -0
  94. package/dist/atlas/families.d.ts +14 -0
  95. package/dist/atlas/families.d.ts.map +1 -0
  96. package/dist/atlas/families.js +20 -0
  97. package/dist/atlas/families.js.map +1 -0
  98. package/dist/atlas/index.d.ts +90 -0
  99. package/dist/atlas/index.d.ts.map +1 -0
  100. package/dist/atlas/index.js +69 -0
  101. package/dist/atlas/index.js.map +1 -0
  102. package/dist/atlas/link-prediction.d.ts +71 -0
  103. package/dist/atlas/link-prediction.d.ts.map +1 -0
  104. package/dist/atlas/link-prediction.js +128 -0
  105. package/dist/atlas/link-prediction.js.map +1 -0
  106. package/dist/atlas/model.d.ts +70 -0
  107. package/dist/atlas/model.d.ts.map +1 -0
  108. package/dist/atlas/model.js +26 -0
  109. package/dist/atlas/model.js.map +1 -0
  110. package/dist/atlas/oscillators/bridges-coarse.d.ts +71 -0
  111. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -0
  112. package/dist/atlas/oscillators/bridges-coarse.js +146 -0
  113. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -0
  114. package/dist/atlas/oscillators/bridges-exact.d.ts +70 -0
  115. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -0
  116. package/dist/atlas/oscillators/bridges-exact.js +227 -0
  117. package/dist/atlas/oscillators/bridges-exact.js.map +1 -0
  118. package/dist/atlas/oscillators/bridges-limits.d.ts +118 -0
  119. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -0
  120. package/dist/atlas/oscillators/bridges-limits.js +342 -0
  121. package/dist/atlas/oscillators/bridges-limits.js.map +1 -0
  122. package/dist/atlas/oscillators/dimensions.d.ts +34 -0
  123. package/dist/atlas/oscillators/dimensions.d.ts.map +1 -0
  124. package/dist/atlas/oscillators/dimensions.js +34 -0
  125. package/dist/atlas/oscillators/dimensions.js.map +1 -0
  126. package/dist/atlas/oscillators/index.d.ts +38 -0
  127. package/dist/atlas/oscillators/index.d.ts.map +1 -0
  128. package/dist/atlas/oscillators/index.js +37 -0
  129. package/dist/atlas/oscillators/index.js.map +1 -0
  130. package/dist/atlas/oscillators/models.d.ts +25 -0
  131. package/dist/atlas/oscillators/models.d.ts.map +1 -0
  132. package/dist/atlas/oscillators/models.js +160 -0
  133. package/dist/atlas/oscillators/models.js.map +1 -0
  134. package/dist/atlas/oscillators/rejections.d.ts +21 -0
  135. package/dist/atlas/oscillators/rejections.d.ts.map +1 -0
  136. package/dist/atlas/oscillators/rejections.js +54 -0
  137. package/dist/atlas/oscillators/rejections.js.map +1 -0
  138. package/dist/atlas/path-bound.d.ts +143 -0
  139. package/dist/atlas/path-bound.d.ts.map +1 -0
  140. package/dist/atlas/path-bound.js +268 -0
  141. package/dist/atlas/path-bound.js.map +1 -0
  142. package/dist/atlas/poster/associations.d.ts +66 -0
  143. package/dist/atlas/poster/associations.d.ts.map +1 -0
  144. package/dist/atlas/poster/associations.js +90 -0
  145. package/dist/atlas/poster/associations.js.map +1 -0
  146. package/dist/atlas/poster/derivations.d.ts +156 -0
  147. package/dist/atlas/poster/derivations.d.ts.map +1 -0
  148. package/dist/atlas/poster/derivations.js +430 -0
  149. package/dist/atlas/poster/derivations.js.map +1 -0
  150. package/dist/atlas/poster/statements.d.ts +198 -0
  151. package/dist/atlas/poster/statements.d.ts.map +1 -0
  152. package/dist/atlas/poster/statements.js +365 -0
  153. package/dist/atlas/poster/statements.js.map +1 -0
  154. package/dist/atlas/public.d.ts +26 -0
  155. package/dist/atlas/public.d.ts.map +1 -0
  156. package/dist/atlas/public.js +21 -0
  157. package/dist/atlas/public.js.map +1 -0
  158. package/dist/atlas/regime.d.ts +171 -0
  159. package/dist/atlas/regime.d.ts.map +1 -0
  160. package/dist/atlas/regime.js +309 -0
  161. package/dist/atlas/regime.js.map +1 -0
  162. package/dist/atlas/serialize.d.ts +50 -0
  163. package/dist/atlas/serialize.d.ts.map +1 -0
  164. package/dist/atlas/serialize.js +180 -0
  165. package/dist/atlas/serialize.js.map +1 -0
  166. package/dist/atlas/statement.d.ts +165 -0
  167. package/dist/atlas/statement.d.ts.map +1 -0
  168. package/dist/atlas/statement.js +176 -0
  169. package/dist/atlas/statement.js.map +1 -0
  170. package/dist/atlas/types.d.ts +308 -0
  171. package/dist/atlas/types.d.ts.map +1 -0
  172. package/dist/atlas/types.js +61 -0
  173. package/dist/atlas/types.js.map +1 -0
  174. package/dist/atlas/waves/bridges-closure.d.ts +39 -0
  175. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -0
  176. package/dist/atlas/waves/bridges-closure.js +223 -0
  177. package/dist/atlas/waves/bridges-closure.js.map +1 -0
  178. package/dist/atlas/waves/bridges.d.ts +49 -0
  179. package/dist/atlas/waves/bridges.d.ts.map +1 -0
  180. package/dist/atlas/waves/bridges.js +265 -0
  181. package/dist/atlas/waves/bridges.js.map +1 -0
  182. package/dist/atlas/waves/index.d.ts +16 -0
  183. package/dist/atlas/waves/index.d.ts.map +1 -0
  184. package/dist/atlas/waves/index.js +23 -0
  185. package/dist/atlas/waves/index.js.map +1 -0
  186. package/dist/atlas/waves/models.d.ts +29 -0
  187. package/dist/atlas/waves/models.d.ts.map +1 -0
  188. package/dist/atlas/waves/models.js +127 -0
  189. package/dist/atlas/waves/models.js.map +1 -0
  190. package/dist/atlas/waves/numerics.d.ts +149 -0
  191. package/dist/atlas/waves/numerics.d.ts.map +1 -0
  192. package/dist/atlas/waves/numerics.js +218 -0
  193. package/dist/atlas/waves/numerics.js.map +1 -0
  194. package/dist/atlas/witness-artifact.d.ts +65 -0
  195. package/dist/atlas/witness-artifact.d.ts.map +1 -0
  196. package/dist/atlas/witness-artifact.js +78 -0
  197. package/dist/atlas/witness-artifact.js.map +1 -0
  198. package/dist/atlas/witness-numeric.d.ts +81 -0
  199. package/dist/atlas/witness-numeric.d.ts.map +1 -0
  200. package/dist/atlas/witness-numeric.js +105 -0
  201. package/dist/atlas/witness-numeric.js.map +1 -0
  202. package/dist/atlas/witness-result.d.ts +77 -0
  203. package/dist/atlas/witness-result.d.ts.map +1 -0
  204. package/dist/atlas/witness-result.js +39 -0
  205. package/dist/atlas/witness-result.js.map +1 -0
  206. package/dist/atlas/witness-specs.d.ts +110 -0
  207. package/dist/atlas/witness-specs.d.ts.map +1 -0
  208. package/dist/atlas/witness-specs.js +372 -0
  209. package/dist/atlas/witness-specs.js.map +1 -0
  210. package/dist/atlas/witness-symbolic.d.ts +79 -0
  211. package/dist/atlas/witness-symbolic.d.ts.map +1 -0
  212. package/dist/atlas/witness-symbolic.js +140 -0
  213. package/dist/atlas/witness-symbolic.js.map +1 -0
  214. package/dist/atlas/witnesses/quantum-support.d.ts +50 -0
  215. package/dist/atlas/witnesses/quantum-support.d.ts.map +1 -0
  216. package/dist/atlas/witnesses/quantum-support.js +48 -0
  217. package/dist/atlas/witnesses/quantum-support.js.map +1 -0
  218. package/dist/bridges/be11-decoherence-confrontation.js.map +1 -1
  219. package/dist/bridges/be21-kss-confrontation.js.map +1 -1
  220. package/dist/bridges/be23-planckian-confrontation.js.map +1 -1
  221. package/dist/bridges/be35-bootstrap-confrontation.js.map +1 -1
  222. package/dist/bridges/be36-gw170817-confrontation.js.map +1 -1
  223. package/dist/bridges/be37-cassini-confrontation.js.map +1 -1
  224. package/dist/bridges/be48-collapse-confrontation.js.map +1 -1
  225. package/dist/bridges/be51-lensing-confrontation.js.map +1 -1
  226. package/dist/bridges/be52-mercury-confrontation.js.map +1 -1
  227. package/dist/bridges/be55-quantum-hall-confrontation.js.map +1 -1
  228. package/dist/bridges/be56-casimir-confrontation.js.map +1 -1
  229. package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +1 -1
  230. package/dist/bridges/be59-ac-josephson-confrontation.js.map +1 -1
  231. package/dist/bridges/be60-fractional-qh-confrontation.js.map +1 -1
  232. package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +1 -1
  233. package/dist/bridges/be62-bcs-gap-confrontation.js.map +1 -1
  234. package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +1 -1
  235. package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +1 -1
  236. package/dist/bridges/be65-jeans-mass-confrontation.js.map +1 -1
  237. package/dist/bridges/bridge-equations.d.ts +2 -1
  238. package/dist/bridges/bridge-equations.d.ts.map +1 -1
  239. package/dist/bridges/bridge-equations.js +3 -2
  240. package/dist/bridges/bridge-equations.js.map +1 -1
  241. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  242. package/dist/bridges/catalog-adapter.js.map +1 -1
  243. package/dist/bridges/equations/_be-helpers.d.ts +2 -2
  244. package/dist/bridges/equations/_be-helpers.js +2 -2
  245. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  246. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +88 -58
  247. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
  248. package/dist/bridges/equations/be-35-conformal-bootstrap.js +102 -62
  249. package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
  250. package/dist/bridges/equations/be-48-grw-localization.d.ts +9 -8
  251. package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
  252. package/dist/bridges/equations/be-48-grw-localization.js +9 -8
  253. package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
  254. package/dist/bridges/gravitational-lensing.d.ts +10 -0
  255. package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
  256. package/dist/bridges/gravitational-lensing.js.map +1 -1
  257. package/dist/bridges/index.d.ts +125 -7
  258. package/dist/bridges/index.d.ts.map +1 -1
  259. package/dist/bridges/index.js +483 -20
  260. package/dist/bridges/index.js.map +1 -1
  261. package/dist/bridges/perihelion-precession.d.ts +10 -0
  262. package/dist/bridges/perihelion-precession.d.ts.map +1 -1
  263. package/dist/bridges/perihelion-precession.js.map +1 -1
  264. package/dist/bridges/rhs-registry.js +2 -2
  265. package/dist/canonical/canonical-equation.d.ts +15 -0
  266. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  267. package/dist/canonical/entries/_l1-build.d.ts +1 -1
  268. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  269. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  270. package/dist/canonical/entries/atomic.js +23 -0
  271. package/dist/canonical/entries/atomic.js.map +1 -1
  272. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  273. package/dist/canonical/entries/nonmonomial.js +93 -0
  274. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  275. package/dist/canonical/normal-form.js.map +1 -1
  276. package/dist/canonical/residual.d.ts +28 -0
  277. package/dist/canonical/residual.d.ts.map +1 -0
  278. package/dist/canonical/residual.js +31 -0
  279. package/dist/canonical/residual.js.map +1 -0
  280. package/dist/cli/command.d.ts +8 -0
  281. package/dist/cli/command.d.ts.map +1 -1
  282. package/dist/cli/command.js +10 -0
  283. package/dist/cli/command.js.map +1 -1
  284. package/dist/cli/commands/atlas.d.ts +3 -0
  285. package/dist/cli/commands/atlas.d.ts.map +1 -0
  286. package/dist/cli/commands/atlas.js +158 -0
  287. package/dist/cli/commands/atlas.js.map +1 -0
  288. package/dist/cli/commands/confront.js.map +1 -1
  289. package/dist/cli/commands/coverage.js +3 -3
  290. package/dist/cli/commands/index.d.ts +3 -0
  291. package/dist/cli/commands/index.d.ts.map +1 -1
  292. package/dist/cli/commands/index.js +3 -0
  293. package/dist/cli/commands/index.js.map +1 -1
  294. package/dist/cli/commands/map.d.ts.map +1 -1
  295. package/dist/cli/commands/map.js +161 -27
  296. package/dist/cli/commands/map.js.map +1 -1
  297. package/dist/cli/commands/path.d.ts +3 -0
  298. package/dist/cli/commands/path.d.ts.map +1 -0
  299. package/dist/cli/commands/path.js +145 -0
  300. package/dist/cli/commands/path.js.map +1 -0
  301. package/dist/cli/commands/recover.d.ts.map +1 -1
  302. package/dist/cli/commands/recover.js +25 -6
  303. package/dist/cli/commands/recover.js.map +1 -1
  304. package/dist/cli/commands/regime.d.ts +14 -0
  305. package/dist/cli/commands/regime.d.ts.map +1 -0
  306. package/dist/cli/commands/regime.js +189 -0
  307. package/dist/cli/commands/regime.js.map +1 -0
  308. package/dist/cli/errors.d.ts.map +1 -1
  309. package/dist/cli/graphs.d.ts.map +1 -1
  310. package/dist/cli/graphs.js +5 -1
  311. package/dist/cli/graphs.js.map +1 -1
  312. package/dist/cli/main.d.ts.map +1 -1
  313. package/dist/cli/main.js +22 -0
  314. package/dist/cli/main.js.map +1 -1
  315. package/dist/cli/output.d.ts +6 -1
  316. package/dist/cli/output.d.ts.map +1 -1
  317. package/dist/cli/output.js.map +1 -1
  318. package/dist/cli/version.js.map +1 -1
  319. package/dist/cli-api.d.ts +16 -0
  320. package/dist/cli-api.d.ts.map +1 -1
  321. package/dist/cli-api.js +18 -0
  322. package/dist/cli-api.js.map +1 -1
  323. package/dist/composition/axis-audit.js.map +1 -1
  324. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  325. package/dist/composition/bridge-prediction.js +0 -0
  326. package/dist/composition/bridge-prediction.js.map +1 -1
  327. package/dist/composition/canonical-graph.d.ts +2 -2
  328. package/dist/composition/canonical-graph.js +2 -2
  329. package/dist/composition/canonical-graph.js.map +1 -1
  330. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  331. package/dist/composition/compose-symbolic.js.map +1 -1
  332. package/dist/composition/compose.d.ts.map +1 -1
  333. package/dist/composition/compose.js +80 -1
  334. package/dist/composition/compose.js.map +1 -1
  335. package/dist/composition/consequence.js.map +1 -1
  336. package/dist/composition/discovery.js.map +1 -1
  337. package/dist/composition/edge.d.ts +64 -0
  338. package/dist/composition/edge.d.ts.map +1 -1
  339. package/dist/composition/edge.js +29 -0
  340. package/dist/composition/edge.js.map +1 -1
  341. package/dist/composition/edges/calibration.d.ts.map +1 -1
  342. package/dist/composition/edges/calibration.js +46 -0
  343. package/dist/composition/edges/calibration.js.map +1 -1
  344. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  345. package/dist/composition/edges/catalog-quantum.js +9 -0
  346. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  347. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  348. package/dist/composition/edges/catalog-tranche.js +18 -0
  349. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  350. package/dist/composition/enumerate.js.map +1 -1
  351. package/dist/composition/explain.js.map +1 -1
  352. package/dist/composition/expr-eval.d.ts.map +1 -1
  353. package/dist/composition/expr-eval.js.map +1 -1
  354. package/dist/composition/expr-simplify.d.ts +13 -0
  355. package/dist/composition/expr-simplify.d.ts.map +1 -1
  356. package/dist/composition/expr-simplify.js +25 -0
  357. package/dist/composition/expr-simplify.js.map +1 -1
  358. package/dist/composition/expr-subst.js.map +1 -1
  359. package/dist/composition/graph-viz-svg.d.ts.map +1 -1
  360. package/dist/composition/graph-viz.d.ts +118 -1
  361. package/dist/composition/graph-viz.d.ts.map +1 -1
  362. package/dist/composition/graph-viz.js +189 -6
  363. package/dist/composition/graph-viz.js.map +1 -1
  364. package/dist/composition/identifiability.js.map +1 -1
  365. package/dist/composition/index.d.ts +4 -2
  366. package/dist/composition/index.d.ts.map +1 -1
  367. package/dist/composition/index.js +2 -1
  368. package/dist/composition/index.js.map +1 -1
  369. package/dist/composition/poster-source.d.ts +153 -0
  370. package/dist/composition/poster-source.d.ts.map +1 -0
  371. package/dist/composition/poster-source.js +183 -0
  372. package/dist/composition/poster-source.js.map +1 -0
  373. package/dist/composition/probe/backend-protocol.d.ts +34 -1
  374. package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
  375. package/dist/composition/probe/backend-protocol.js +9 -2
  376. package/dist/composition/probe/backend-protocol.js.map +1 -1
  377. package/dist/composition/probe/candidate-store.d.ts.map +1 -1
  378. package/dist/composition/probe/limits.js.map +1 -1
  379. package/dist/composition/probe/pipeline.js.map +1 -1
  380. package/dist/composition/probe/problem.js.map +1 -1
  381. package/dist/composition/probe/residual.d.ts.map +1 -1
  382. package/dist/composition/probe/residual.js.map +1 -1
  383. package/dist/composition/probe/search-budget.js.map +1 -1
  384. package/dist/composition/proposed-bridges.d.ts +2 -2
  385. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  386. package/dist/composition/proposed-bridges.js +1 -1
  387. package/dist/composition/proposed-bridges.js.map +1 -1
  388. package/dist/composition/retrodiction.js.map +1 -1
  389. package/dist/composition/uncertainty.d.ts +52 -2
  390. package/dist/composition/uncertainty.d.ts.map +1 -1
  391. package/dist/composition/uncertainty.js +38 -2
  392. package/dist/composition/uncertainty.js.map +1 -1
  393. package/dist/composition/user-equation.d.ts.map +1 -1
  394. package/dist/core/flux-rules.d.ts.map +1 -1
  395. package/dist/core/flux-rules.js.map +1 -1
  396. package/dist/core/labeled-tensor.d.ts.map +1 -1
  397. package/dist/core/regime-registry.d.ts.map +1 -1
  398. package/dist/core/regime-rule-install.js.map +1 -1
  399. package/dist/core/tensor.d.ts.map +1 -1
  400. package/dist/core/tensor.js.map +1 -1
  401. package/dist/core/types.d.ts.map +1 -1
  402. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  403. package/dist/dimensional/ast-types.d.ts +31 -1
  404. package/dist/dimensional/ast-types.d.ts.map +1 -1
  405. package/dist/dimensional/bridge-check.d.ts +1 -1
  406. package/dist/dimensional/bridge-check.js +1 -1
  407. package/dist/dimensional/buckingham.d.ts.map +1 -1
  408. package/dist/dimensional/connection.d.ts +2 -0
  409. package/dist/dimensional/connection.d.ts.map +1 -1
  410. package/dist/dimensional/connection.js +2 -0
  411. package/dist/dimensional/connection.js.map +1 -1
  412. package/dist/dimensional/curvature-composite.d.ts +5 -3
  413. package/dist/dimensional/curvature-composite.d.ts.map +1 -1
  414. package/dist/dimensional/curvature-composite.js +1 -0
  415. package/dist/dimensional/curvature-composite.js.map +1 -1
  416. package/dist/dimensional/curvature-invariants.d.ts +2 -0
  417. package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
  418. package/dist/dimensional/curvature-invariants.js +2 -0
  419. package/dist/dimensional/curvature-invariants.js.map +1 -1
  420. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  421. package/dist/dimensional/einstein-equation.d.ts +3 -3
  422. package/dist/dimensional/einstein-equation.js +3 -3
  423. package/dist/dimensional/errors.d.ts.map +1 -1
  424. package/dist/dimensional/metric.d.ts +5 -2
  425. package/dist/dimensional/metric.d.ts.map +1 -1
  426. package/dist/dimensional/metric.js +5 -2
  427. package/dist/dimensional/metric.js.map +1 -1
  428. package/dist/dimensional/tensor-trace.js.map +1 -1
  429. package/dist/dimensional/validator-registry.js.map +1 -1
  430. package/dist/dimensional/validator.d.ts +3 -2
  431. package/dist/dimensional/validator.d.ts.map +1 -1
  432. package/dist/dimensional/validator.js +23 -4
  433. package/dist/dimensional/validator.js.map +1 -1
  434. package/dist/index.d.ts +4 -3
  435. package/dist/index.d.ts.map +1 -1
  436. package/dist/index.js +4 -1
  437. package/dist/index.js.map +1 -1
  438. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  439. package/dist/numerical/curvature-lowering-helpers.js +142 -1
  440. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  441. package/dist/numerical/errors.d.ts.map +1 -1
  442. package/dist/numerical/errors.js.map +1 -1
  443. package/dist/numerical/float64-engine.d.ts.map +1 -1
  444. package/dist/numerical/float64-engine.js +51 -24
  445. package/dist/numerical/float64-engine.js.map +1 -1
  446. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  447. package/dist/numerical/formula-dimension.js.map +1 -1
  448. package/dist/numerical/formula.d.ts.map +1 -1
  449. package/dist/numerical/formula.js.map +1 -1
  450. package/dist/numerical/geometrized.d.ts.map +1 -1
  451. package/dist/numerical/gl4-integrator.d.ts +3 -3
  452. package/dist/numerical/gl4-integrator.js +3 -3
  453. package/dist/numerical/killing.d.ts +47 -5
  454. package/dist/numerical/killing.d.ts.map +1 -1
  455. package/dist/numerical/killing.js +41 -3
  456. package/dist/numerical/killing.js.map +1 -1
  457. package/dist/numerical/klein-gordon.d.ts +2 -2
  458. package/dist/numerical/klein-gordon.js +2 -2
  459. package/dist/numerical/lowering.d.ts +2 -2
  460. package/dist/numerical/lowering.d.ts.map +1 -1
  461. package/dist/numerical/lowering.js +5 -3
  462. package/dist/numerical/lowering.js.map +1 -1
  463. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  464. package/dist/numerical/mathts-engine.js.map +1 -1
  465. package/dist/numerical/metric-inverse.js.map +1 -1
  466. package/dist/numerical/perihelion-finder.d.ts +15 -13
  467. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  468. package/dist/numerical/perihelion-finder.js +15 -13
  469. package/dist/numerical/perihelion-finder.js.map +1 -1
  470. package/dist/numerical/weyl-lowering.d.ts.map +1 -1
  471. package/dist/numerical/weyl-lowering.js +90 -40
  472. package/dist/numerical/weyl-lowering.js.map +1 -1
  473. package/package.json +121 -104
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The `Model` record — Phase 3's promotion of the Phase 0 `AtlasModel`.
3
+ *
4
+ * ROADMAP Phase 3 makes the MODEL the unit rather than the equation: state
5
+ * space, dynamics, observables, parameters, boundary/initial data, symmetry
6
+ * group where known, regime. This module is the record's new home; the nine
7
+ * Phase 0 fields are carried over unchanged and three are added.
8
+ *
9
+ * **`boundaryData`, `initialData` and `symmetryGroup` are all OPTIONAL**
10
+ * (`docs/planning/Atlas-Phase-3-Design.md` §4, which supersedes the
11
+ * implementation plan's wording on the first two). No boundary or initial
12
+ * data is recorded for the nine oscillator models, so a required field would
13
+ * force either fabricated values or empty ones asserting "there are none".
14
+ * `oscillators/models.ts` refuses exactly that fabrication for `inequalities`.
15
+ * **An absent field says "not recorded"; a present empty one says "there are
16
+ * none", and only one of those is true here** — so the nine literals stay
17
+ * byte-identical and record nothing they do not have a source for.
18
+ *
19
+ * `src/atlas/serialize.ts` enumerates model fields explicitly, so a model
20
+ * carrying none of the three serializes byte-identically to Phase 0's
21
+ * committed `data/atlas/oscillators.json`.
22
+ *
23
+ * @module atlas/model
24
+ */
25
+ export {};
26
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/atlas/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Bridge 5 of the oscillator pilot: the COARSE-GRAINING bridge from the
3
+ * discrete mass–spring chain to the 1-D wave equation.
4
+ *
5
+ * This is the only Phase 0 bridge whose relation is `coarse-graining`: the
6
+ * reduction map `u_n(t) ↦ u(x = na, t)` is not invertible, and the
7
+ * short-wavelength half of the lattice Brillouin zone (`q > π/a`) has no image
8
+ * in the continuum model. The information loss is therefore recorded in
9
+ * `doesNotPreserve` and witnessed numerically by `W9`.
10
+ *
11
+ * @module atlas/oscillators/bridges-coarse
12
+ */
13
+ import type { AtlasBridge, RelationContract } from '../types.js';
14
+ /**
15
+ * The lattice dispersion relation of `m u_n″ = κ(u_{n+1} − 2u_n + u_{n−1})`:
16
+ * `ω(q) = 2 √(κ/m) |sin(qa/2)|`.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare function latticeDispersion(q: number, a: number, kappa: number, m: number): number;
21
+ /**
22
+ * The continuum dispersion relation of `u_tt = c² u_xx` with `c² = κ a² / m`:
23
+ * `ω = c q`.
24
+ *
25
+ * @internal
26
+ */
27
+ export declare function continuumDispersion(q: number, a: number, kappa: number, m: number): number;
28
+ /** The long-wavelength wave speed `c = a √(κ/m)`. @internal */
29
+ export declare function chainWaveSpeed(a: number, kappa: number, m: number): number;
30
+ /**
31
+ * The band edge of the lattice, at `qa = π`: `ω_max = 2 √(κ/m)`.
32
+ * The continuum relation `ω = c q` is unbounded and has no counterpart —
33
+ * that absence IS the information the coarse-graining discards.
34
+ *
35
+ * @internal
36
+ */
37
+ export declare function latticeBandEdge(kappa: number, m: number): number;
38
+ /**
39
+ * Leading-order relative dispersion error `1 − ω_lattice/ω_continuum`,
40
+ * approximated as `(qa)²/24`.
41
+ *
42
+ * Convention note (fixed for the whole sprint): with `x = qa/2`,
43
+ * `1 − sin x / x = x²/6 − x⁴/120 + …`, so the true relative error is
44
+ * `(qa)²/24 − (qa)⁴/1920`. The quartic term makes `(qa)²/24` an
45
+ * OVERESTIMATE; the signed deviation `(true − approx)/approx` is therefore
46
+ * NEGATIVE and equals `−(qa)²/80` to leading order. The W9 assertion is on
47
+ * the MAGNITUDE, so the sign convention does not change the test — it is
48
+ * stated here so the next reader does not rederive it.
49
+ *
50
+ * @internal
51
+ */
52
+ export declare function dispersionErrorApproximation(qa: number): number;
53
+ /** Bridge 5: chain → wave equation by coarse-graining. @internal */
54
+ export declare const BRIDGE_CHAIN_WAVE: AtlasBridge;
55
+ /**
56
+ * Bridge 5 re-registered through `RelationContract`.
57
+ *
58
+ * `coarse-graining` leaves `bound` OPTIONAL, and this record carries none: the
59
+ * `qa²/24` dispersion residual is a per-mode series term, not a Lipschitz
60
+ * constant with a uniform offset in a stated norm. The union permits the
61
+ * absence rather than forcing an invented `K` and `delta`.
62
+ *
63
+ * No `deltaAt` either, for the same reason and by the same rule: `deltaAt` is
64
+ * the machine form OF a `delta`, so a record with no `delta` has nothing for
65
+ * it to be the machine form of. `admitApproximation` requires `deltaAt` only
66
+ * of an `approximation`, so this record passes admission unchanged.
67
+ *
68
+ * @internal
69
+ */
70
+ export declare const CONTRACT_CHAIN_WAVE: RelationContract;
71
+ //# sourceMappingURL=bridges-coarse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges-coarse.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,WAmE/B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Bridge 5 of the oscillator pilot: the COARSE-GRAINING bridge from the
3
+ * discrete mass–spring chain to the 1-D wave equation.
4
+ *
5
+ * This is the only Phase 0 bridge whose relation is `coarse-graining`: the
6
+ * reduction map `u_n(t) ↦ u(x = na, t)` is not invertible, and the
7
+ * short-wavelength half of the lattice Brillouin zone (`q > π/a`) has no image
8
+ * in the continuum model. The information loss is therefore recorded in
9
+ * `doesNotPreserve` and witnessed numerically by `W9`.
10
+ *
11
+ * @module atlas/oscillators/bridges-coarse
12
+ */
13
+ import { LENGTH, MASS, VELOCITY } from '../../dimensional/types.js';
14
+ import { deriveRegimeGroups } from '../regime.js';
15
+ import { relationContractOf } from './bridges-exact.js';
16
+ import { SPRING_CONSTANT } from './dimensions.js';
17
+ const FAMILY = 'oscillators';
18
+ /**
19
+ * The lattice dispersion relation of `m u_n″ = κ(u_{n+1} − 2u_n + u_{n−1})`:
20
+ * `ω(q) = 2 √(κ/m) |sin(qa/2)|`.
21
+ *
22
+ * @internal
23
+ */
24
+ export function latticeDispersion(q, a, kappa, m) {
25
+ return 2 * Math.sqrt(kappa / m) * Math.abs(Math.sin((q * a) / 2));
26
+ }
27
+ /**
28
+ * The continuum dispersion relation of `u_tt = c² u_xx` with `c² = κ a² / m`:
29
+ * `ω = c q`.
30
+ *
31
+ * @internal
32
+ */
33
+ export function continuumDispersion(q, a, kappa, m) {
34
+ return Math.sqrt((kappa * a * a) / m) * Math.abs(q);
35
+ }
36
+ /** The long-wavelength wave speed `c = a √(κ/m)`. @internal */
37
+ export function chainWaveSpeed(a, kappa, m) {
38
+ return a * Math.sqrt(kappa / m);
39
+ }
40
+ /**
41
+ * The band edge of the lattice, at `qa = π`: `ω_max = 2 √(κ/m)`.
42
+ * The continuum relation `ω = c q` is unbounded and has no counterpart —
43
+ * that absence IS the information the coarse-graining discards.
44
+ *
45
+ * @internal
46
+ */
47
+ export function latticeBandEdge(kappa, m) {
48
+ return 2 * Math.sqrt(kappa / m);
49
+ }
50
+ /**
51
+ * Leading-order relative dispersion error `1 − ω_lattice/ω_continuum`,
52
+ * approximated as `(qa)²/24`.
53
+ *
54
+ * Convention note (fixed for the whole sprint): with `x = qa/2`,
55
+ * `1 − sin x / x = x²/6 − x⁴/120 + …`, so the true relative error is
56
+ * `(qa)²/24 − (qa)⁴/1920`. The quartic term makes `(qa)²/24` an
57
+ * OVERESTIMATE; the signed deviation `(true − approx)/approx` is therefore
58
+ * NEGATIVE and equals `−(qa)²/80` to leading order. The W9 assertion is on
59
+ * the MAGNITUDE, so the sign convention does not change the test — it is
60
+ * stated here so the next reader does not rederive it.
61
+ *
62
+ * @internal
63
+ */
64
+ export function dispersionErrorApproximation(qa) {
65
+ return (qa * qa) / 24;
66
+ }
67
+ /** Bridge 5: chain → wave equation by coarse-graining. @internal */
68
+ export const BRIDGE_CHAIN_WAVE = {
69
+ id: 'ab-chain-wave',
70
+ relation: 'coarse-graining',
71
+ premises: ['model-chain'],
72
+ conclusion: 'model-wave-1d',
73
+ transformation: 'u_n(t) ↦ u(x = n a, t), with c² = κ a² / m',
74
+ preserves: [
75
+ 'long-wavelength dispersion ω ≈ c q',
76
+ 'wave speed c = a √(κ/m)',
77
+ 'linearity',
78
+ ],
79
+ doesNotPreserve: [
80
+ 'modes with q > π/a',
81
+ 'the band edge ω_max = 2 √(κ/m) at qa = π',
82
+ 'the discrete lattice spacing a as an independent scale',
83
+ ],
84
+ sideConditions: ['long-wavelength, qa ≪ 1'],
85
+ regime: {
86
+ family: FAMILY,
87
+ inequalities: [{ group: 'qa', op: '<', bound: 1, alias: 'qa ≪ 1' }],
88
+ groupDefinitions: deriveRegimeGroups(FAMILY, [
89
+ { name: 'm', dim: MASS },
90
+ { name: 'kappa', dim: SPRING_CONSTANT },
91
+ { name: 'a', dim: LENGTH },
92
+ { name: 'c', dim: VELOCITY },
93
+ ], ['qa']),
94
+ },
95
+ counterexamples: [
96
+ {
97
+ description: 'A mode at the band edge qa = π has ω = 2√(κ/m) on the lattice, while the ' +
98
+ 'continuum relation ω = c q is unbounded: the coarse-grained model has no ' +
99
+ 'band edge at all.',
100
+ witness: 'W9',
101
+ },
102
+ ],
103
+ evidence: new Set(['proposed', 'dimension-checked', 'numerically-supported']),
104
+ witnesses: [
105
+ {
106
+ id: 'W9',
107
+ kind: 'numeric',
108
+ test: 'tests/atlas/oscillators-coarse.test.ts',
109
+ tolerance: 'relative dispersion error matches (qa)²/24 within 0.5% of itself',
110
+ },
111
+ {
112
+ id: 'W9b',
113
+ kind: 'numeric',
114
+ test: 'tests/atlas/oscillators-coarse.test.ts',
115
+ tolerance: 'ring of 64 masses integrated: ω matches the lattice dispersion within 1e-9 and the coarse error ' +
116
+ '(qa)²/24 within 1%; superposition within 1e-10 (linearity); a 10% wrong κ and a cubic on-site force each fail',
117
+ },
118
+ ],
119
+ // The monatomic-chain dispersion omega(q) = 2 sqrt(kappa/m) |sin(qa/2)| and its
120
+ // long-wavelength continuum limit are standard solid-state results. Work and topic are
121
+ // cited rather than a precise section number, which would be fabrication in a more
122
+ // confident costume. This array was EMPTY, which is honest but leaves a textbook result
123
+ // looking unsourced.
124
+ citations: [
125
+ 'Kittel, Introduction to Solid State Physics - Phonons I: the monatomic linear chain, its dispersion relation and the qa << 1 continuum limit',
126
+ 'Ashcroft & Mermin, Solid State Physics - the one-dimensional monatomic Bravais lattice and the first Brillouin zone band edge at qa = pi',
127
+ ],
128
+ reviewStatus: 'proposed',
129
+ };
130
+ /**
131
+ * Bridge 5 re-registered through `RelationContract`.
132
+ *
133
+ * `coarse-graining` leaves `bound` OPTIONAL, and this record carries none: the
134
+ * `qa²/24` dispersion residual is a per-mode series term, not a Lipschitz
135
+ * constant with a uniform offset in a stated norm. The union permits the
136
+ * absence rather than forcing an invented `K` and `delta`.
137
+ *
138
+ * No `deltaAt` either, for the same reason and by the same rule: `deltaAt` is
139
+ * the machine form OF a `delta`, so a record with no `delta` has nothing for
140
+ * it to be the machine form of. `admitApproximation` requires `deltaAt` only
141
+ * of an `approximation`, so this record passes admission unchanged.
142
+ *
143
+ * @internal
144
+ */
145
+ export const CONTRACT_CHAIN_WAVE = relationContractOf(BRIDGE_CHAIN_WAVE);
146
+ //# sourceMappingURL=bridges-coarse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges-coarse.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * The two Phase 0 `exact-equivalence` bridges of design note §3.
3
+ *
4
+ * - `ab-spring-lc` — the lossless mechanical/electrical dictionary, exact with
5
+ * no side condition beyond positivity and losslessness.
6
+ * - `ab-damped-rlc` — exact only ON a side condition: the two damping ratios
7
+ * must agree, `b/(2√(mk)) = (R/2)√(C/L)`.
8
+ *
9
+ * **Regimes carry no inequalities.** `RegimeInequality` expresses `<`, `<=`,
10
+ * `>`, `>=` only, so the bridge-2 side condition — an EQUALITY between two
11
+ * derived ratios — cannot be written as one. It is carried in
12
+ * `sideConditions` as prose instead, and the equality is what witness W2
13
+ * executes. Writing an inequality that merely resembles it would be a
14
+ * fabricated constraint, so none is written. `groupDefinitions` is derived
15
+ * from the premise and conclusion parameters by `deriveRegimeGroups`, exactly
16
+ * as the models do; nothing there is hand-authored.
17
+ *
18
+ * **Evidence tags are witness-gated.** A tag appears only because a witness in
19
+ * `tests/atlas/oscillators-exact.test.ts` passes and shows it.
20
+ *
21
+ * @module atlas/oscillators/bridges-exact
22
+ */
23
+ import type { AtlasBridge, RelationContract } from '../types.js';
24
+ /**
25
+ * Bridge 1 — the lossless spring ↔ LC dictionary.
26
+ *
27
+ * `m ↔ L`, `k ↔ 1/C`, `x ↔ q`. Under `u = x/x0` (or `q/q0`) and `τ = ω0 t`
28
+ * both systems become `u'' + u = 0`, so the equivalence is exact and
29
+ * invertible.
30
+ *
31
+ * Its counterexample is W2b, which lives on THIS bridge: it shows that adding
32
+ * a resistor to the LC side breaks the equivalence, so bridge 1 is a statement
33
+ * about the LOSSLESS pair only.
34
+ *
35
+ * @internal
36
+ */
37
+ export declare const BRIDGE_SPRING_LC: AtlasBridge;
38
+ /**
39
+ * Bridge 2 — damped spring ↔ RLC, exact ON a side condition.
40
+ *
41
+ * The undamped dictionary of bridge 1 does not extend for free: `b` and `R`
42
+ * are independent parameters, and the nondimensional systems coincide only
43
+ * when the damping ratios match. The side condition is that equality, and W2
44
+ * DERIVES `R` from it rather than assuming a value.
45
+ *
46
+ * @internal
47
+ */
48
+ export declare const BRIDGE_DAMPED_RLC: AtlasBridge;
49
+ /**
50
+ * Re-register an `AtlasBridge` through the Phase 1 `RelationContract` union.
51
+ *
52
+ * `AtlasBridge` states its two conditional requirements — `exact-equivalence`
53
+ * needs `inverse`, `approximation` needs `bound` — only in doc comments, so a
54
+ * record that breaks them type-checks. `RelationContract` states them in the
55
+ * type system. This function is the one place the Sprint 0 records cross from
56
+ * the weaker shape to the stronger one, and it THROWS on the two cases the
57
+ * doc comments could only describe.
58
+ *
59
+ * It copies rather than restates: every field comes off the bridge, so a
60
+ * contract cannot drift from the record it re-registers.
61
+ *
62
+ * @throws TypeError when the bridge omits the field its relation requires.
63
+ * @internal
64
+ */
65
+ export declare function relationContractOf(bridge: AtlasBridge): RelationContract;
66
+ /** Bridge 1 re-registered through the Phase 1 contract. @internal */
67
+ export declare const CONTRACT_SPRING_LC: RelationContract;
68
+ /** Bridge 2 re-registered through the Phase 1 contract. @internal */
69
+ export declare const CONTRACT_DAMPED_RLC: RelationContract;
70
+ //# sourceMappingURL=bridges-exact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges-exact.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA+CtF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAwD9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAkC/B,CAAC;AAMF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAwBxE;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,gBAAuD,CAAC;AAEzF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * The two Phase 0 `exact-equivalence` bridges of design note §3.
3
+ *
4
+ * - `ab-spring-lc` — the lossless mechanical/electrical dictionary, exact with
5
+ * no side condition beyond positivity and losslessness.
6
+ * - `ab-damped-rlc` — exact only ON a side condition: the two damping ratios
7
+ * must agree, `b/(2√(mk)) = (R/2)√(C/L)`.
8
+ *
9
+ * **Regimes carry no inequalities.** `RegimeInequality` expresses `<`, `<=`,
10
+ * `>`, `>=` only, so the bridge-2 side condition — an EQUALITY between two
11
+ * derived ratios — cannot be written as one. It is carried in
12
+ * `sideConditions` as prose instead, and the equality is what witness W2
13
+ * executes. Writing an inequality that merely resembles it would be a
14
+ * fabricated constraint, so none is written. `groupDefinitions` is derived
15
+ * from the premise and conclusion parameters by `deriveRegimeGroups`, exactly
16
+ * as the models do; nothing there is hand-authored.
17
+ *
18
+ * **Evidence tags are witness-gated.** A tag appears only because a witness in
19
+ * `tests/atlas/oscillators-exact.test.ts` passes and shows it.
20
+ *
21
+ * @module atlas/oscillators/bridges-exact
22
+ */
23
+ import { deriveRegimeGroups } from '../regime.js';
24
+ import { getAtlasModel } from './models.js';
25
+ const FAMILY = 'oscillators';
26
+ /** The witness test file every witness below runs in. */
27
+ const TEST = 'tests/atlas/oscillators-exact.test.ts';
28
+ /** Where the CAS witnesses W1s and W2s are named; the artifact pin runs them. */
29
+ const WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';
30
+ /**
31
+ * Literature for the electromechanical analogy, NOT a pointer at our own plan.
32
+ *
33
+ * The previous value here was `docs/planning/Atlas-Phase-0-Design.md §3, §6` - a citation
34
+ * naming the document that ASSERTED the claim. That is circular, and it is worse than an
35
+ * empty array because it LOOKS sourced and would satisfy any check that only asks whether
36
+ * `citations[]` is non-empty. Same failure class as the evidence-tag theatre that
37
+ * `tests/atlas/evidence-rule.test.ts` exists to catch.
38
+ *
39
+ * Work and topic are cited rather than precise section numbers, because a section number
40
+ * stated without checking the edition in hand is the same fabrication in a more confident
41
+ * costume. `reviewStatus` stays 'proposed' until the independent physicist review lands.
42
+ */
43
+ const CITATIONS = [
44
+ 'Olson, Dynamical Analogies - the force-voltage (impedance) analogy between a mass-spring–damper and a series RLC circuit',
45
+ 'Feynman, Lectures on Physics Vol. II, chapter on resonance - the LC oscillator and its mechanical counterpart',
46
+ ];
47
+ /**
48
+ * Regime coordinates spanning a bridge's premise and conclusion parameters.
49
+ *
50
+ * The two models' parameter names are disjoint in both bridges, so the union
51
+ * is a legal `deriveRegimeGroups` input.
52
+ */
53
+ function bridgeRegime(premiseId, conclusionId) {
54
+ const parameters = [
55
+ ...getAtlasModel(premiseId).parameters,
56
+ ...getAtlasModel(conclusionId).parameters,
57
+ ];
58
+ return {
59
+ family: FAMILY,
60
+ inequalities: [],
61
+ groupDefinitions: deriveRegimeGroups(FAMILY, parameters, []),
62
+ };
63
+ }
64
+ const evidence = (...tags) => new Set(tags);
65
+ /**
66
+ * Bridge 1 — the lossless spring ↔ LC dictionary.
67
+ *
68
+ * `m ↔ L`, `k ↔ 1/C`, `x ↔ q`. Under `u = x/x0` (or `q/q0`) and `τ = ω0 t`
69
+ * both systems become `u'' + u = 0`, so the equivalence is exact and
70
+ * invertible.
71
+ *
72
+ * Its counterexample is W2b, which lives on THIS bridge: it shows that adding
73
+ * a resistor to the LC side breaks the equivalence, so bridge 1 is a statement
74
+ * about the LOSSLESS pair only.
75
+ *
76
+ * @internal
77
+ */
78
+ export const BRIDGE_SPRING_LC = {
79
+ id: 'ab-spring-lc',
80
+ relation: 'exact-equivalence',
81
+ premises: ['model-spring'],
82
+ conclusion: 'model-lc',
83
+ // Two nondimensionalizations, each with its own ω0; composed, the spring→LC map is
84
+ // q(t) = (q0/x0)·x(ω_LC t / ω_s). The dimensioned frequencies differ (W1a: ω_s = 2,
85
+ // ω_LC = 2√2); what is preserved is the frequency in units of ω0.
86
+ transformation: 'u = x/x0 or q/q0, τ = ω0 t; composed, q(t) = (q0/x0)·x(ω_LC t / ω_s)',
87
+ inverse: 'x = x0 u, t = τ/ω0',
88
+ preserves: ['the natural frequency in units of ω0 (ω = 1 in τ = ω0 t)', 'energy up to scale', 'phase portrait'],
89
+ doesNotPreserve: ['physical interpretation', 'units'],
90
+ sideConditions: ['m, k, L, C > 0', 'lossless', 'unforced', 'x0, q0 nonzero'],
91
+ regime: bridgeRegime('model-spring', 'model-lc'),
92
+ counterexamples: [
93
+ {
94
+ description: 'adding R to bridge 1 breaks it: the same L, C with R = 4 has ζ_RLC = 0.5, ' +
95
+ 'which no lossless spring matches — the trajectories separate by more than 1e-2 at τ = π',
96
+ witness: 'W2b',
97
+ },
98
+ ],
99
+ // `symbolically-checked` is NOT stored here any more (Phase 4 S4.3): it is
100
+ // DERIVED from `data/atlas/witness-results.json`, where W1s records the CAS
101
+ // check of this bridge's dictionary. A stored copy would be a second source
102
+ // of truth that no run could falsify.
103
+ evidence: evidence('proposed', 'numerically-supported'),
104
+ witnesses: [
105
+ {
106
+ id: 'W1',
107
+ kind: 'symbolic',
108
+ test: TEST,
109
+ tolerance: 'exact — rational exponent arithmetic, no floating point',
110
+ },
111
+ {
112
+ id: 'W1a',
113
+ kind: 'numeric',
114
+ test: TEST,
115
+ tolerance: '|u_spring − u_lc| < 1e-8; each within 1e-8 of cos τ',
116
+ },
117
+ {
118
+ id: 'W1b',
119
+ kind: 'numeric',
120
+ test: TEST,
121
+ tolerance: 'inverse-mapped trajectory solves m x″ + k x = 0 within 1e-8; a 1% wrong ω0 fails',
122
+ },
123
+ { id: 'W2b', kind: 'numeric', test: TEST, tolerance: 'separation > 1e-2 at τ = π' },
124
+ {
125
+ id: 'W1s',
126
+ kind: 'symbolic',
127
+ test: WITNESS_RESULTS_TEST,
128
+ tolerance: 'CAS: k/m under m ↔ L, k ↔ 1/C minus 1/(LC) simplifies to literal 0',
129
+ },
130
+ ],
131
+ citations: CITATIONS,
132
+ reviewStatus: 'proposed',
133
+ };
134
+ /**
135
+ * Bridge 2 — damped spring ↔ RLC, exact ON a side condition.
136
+ *
137
+ * The undamped dictionary of bridge 1 does not extend for free: `b` and `R`
138
+ * are independent parameters, and the nondimensional systems coincide only
139
+ * when the damping ratios match. The side condition is that equality, and W2
140
+ * DERIVES `R` from it rather than assuming a value.
141
+ *
142
+ * @internal
143
+ */
144
+ export const BRIDGE_DAMPED_RLC = {
145
+ id: 'ab-damped-rlc',
146
+ relation: 'exact-equivalence',
147
+ premises: ['model-damped-spring'],
148
+ conclusion: 'model-rlc',
149
+ transformation: 'u = x/x0 or q/q0, τ = ω0 t; composed, q(t) = (q0/x0)·x(ω_RLC t / ω_mech)',
150
+ inverse: 'x = x0 u, t = τ/ω0',
151
+ preserves: ['the natural frequency in units of ω0 (ω = 1 in τ = ω0 t)', 'damping ratio', 'phase portrait'],
152
+ doesNotPreserve: ['physical interpretation', 'units'],
153
+ sideConditions: [
154
+ 'b/√(mk) = R√(C/L), equivalently ζ_mech = b/(2√(mk)) equals ζ_RLC = (R/2)√(C/L)',
155
+ 'm, b, k, L, R, C > 0',
156
+ 'unforced',
157
+ 'x0, q0 nonzero',
158
+ ],
159
+ regime: bridgeRegime('model-damped-spring', 'model-rlc'),
160
+ counterexamples: [],
161
+ evidence: evidence('proposed', 'numerically-supported'),
162
+ witnesses: [
163
+ {
164
+ id: 'W2',
165
+ kind: 'numeric',
166
+ test: TEST,
167
+ tolerance: 'R derived exactly; |u_mech − u_rlc| < 1e-8 at four τ',
168
+ },
169
+ {
170
+ id: 'W2s',
171
+ kind: 'symbolic',
172
+ test: WITNESS_RESULTS_TEST,
173
+ tolerance: 'CAS: b²/(4mk) under m ↔ L, k ↔ 1/C, b ↔ R minus R²C/(4L) simplifies to literal 0',
174
+ },
175
+ ],
176
+ citations: CITATIONS,
177
+ reviewStatus: 'proposed',
178
+ };
179
+ // ─────────────────────────────────────────────────────────────────────────────
180
+ // Phase 1 re-registration: the Sprint 0 bridges through `RelationContract`
181
+ // ─────────────────────────────────────────────────────────────────────────────
182
+ /**
183
+ * Re-register an `AtlasBridge` through the Phase 1 `RelationContract` union.
184
+ *
185
+ * `AtlasBridge` states its two conditional requirements — `exact-equivalence`
186
+ * needs `inverse`, `approximation` needs `bound` — only in doc comments, so a
187
+ * record that breaks them type-checks. `RelationContract` states them in the
188
+ * type system. This function is the one place the Sprint 0 records cross from
189
+ * the weaker shape to the stronger one, and it THROWS on the two cases the
190
+ * doc comments could only describe.
191
+ *
192
+ * It copies rather than restates: every field comes off the bridge, so a
193
+ * contract cannot drift from the record it re-registers.
194
+ *
195
+ * @throws TypeError when the bridge omits the field its relation requires.
196
+ * @internal
197
+ */
198
+ export function relationContractOf(bridge) {
199
+ const { relation, transformation } = bridge;
200
+ switch (relation) {
201
+ case 'exact-equivalence': {
202
+ if (bridge.inverse === undefined) {
203
+ throw new TypeError(`${bridge.id}: exact-equivalence without an inverse`);
204
+ }
205
+ return { type: relation, transformation, inverse: bridge.inverse };
206
+ }
207
+ case 'approximation': {
208
+ if (bridge.bound === undefined) {
209
+ throw new TypeError(`${bridge.id}: approximation without a bound`);
210
+ }
211
+ return { type: relation, transformation, bound: bridge.bound };
212
+ }
213
+ case 'coarse-graining':
214
+ // `bound` is OPTIONAL here: the chain/wave bridge carries none, and the
215
+ // union allows that rather than forcing an invented one.
216
+ return bridge.bound === undefined
217
+ ? { type: relation, transformation }
218
+ : { type: relation, transformation, bound: bridge.bound };
219
+ default:
220
+ return { type: relation, transformation };
221
+ }
222
+ }
223
+ /** Bridge 1 re-registered through the Phase 1 contract. @internal */
224
+ export const CONTRACT_SPRING_LC = relationContractOf(BRIDGE_SPRING_LC);
225
+ /** Bridge 2 re-registered through the Phase 1 contract. @internal */
226
+ export const CONTRACT_DAMPED_RLC = relationContractOf(BRIDGE_DAMPED_RLC);
227
+ //# sourceMappingURL=bridges-exact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges-exact.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"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"}