universal-physics-tensor 0.4.5

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 (299) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +377 -0
  3. package/dist/bridges/equations/be-11-decoherence-master.d.ts +83 -0
  4. package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +1 -0
  5. package/dist/bridges/equations/be-11-decoherence-master.js +116 -0
  6. package/dist/bridges/equations/be-11-decoherence-master.js.map +1 -0
  7. package/dist/bridges/equations/be-12-coherence-length.d.ts +80 -0
  8. package/dist/bridges/equations/be-12-coherence-length.d.ts.map +1 -0
  9. package/dist/bridges/equations/be-12-coherence-length.js +128 -0
  10. package/dist/bridges/equations/be-12-coherence-length.js.map +1 -0
  11. package/dist/bridges/equations/be-13-einstein-trace.d.ts +89 -0
  12. package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -0
  13. package/dist/bridges/equations/be-13-einstein-trace.js +143 -0
  14. package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -0
  15. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +67 -0
  16. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +1 -0
  17. package/dist/bridges/equations/be-14-ryu-takayanagi.js +112 -0
  18. package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +1 -0
  19. package/dist/bridges/equations/be-15-emergence.d.ts +164 -0
  20. package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -0
  21. package/dist/bridges/equations/be-15-emergence.js +204 -0
  22. package/dist/bridges/equations/be-15-emergence.js.map +1 -0
  23. package/dist/bridges/equations/be-16-landauer.d.ts +180 -0
  24. package/dist/bridges/equations/be-16-landauer.d.ts.map +1 -0
  25. package/dist/bridges/equations/be-16-landauer.js +206 -0
  26. package/dist/bridges/equations/be-16-landauer.js.map +1 -0
  27. package/dist/bridges/equations/be-17-einstein-cartan.d.ts +245 -0
  28. package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +1 -0
  29. package/dist/bridges/equations/be-17-einstein-cartan.js +304 -0
  30. package/dist/bridges/equations/be-17-einstein-cartan.js.map +1 -0
  31. package/dist/bridges/equations/be-18-higgs-mass.d.ts +65 -0
  32. package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +1 -0
  33. package/dist/bridges/equations/be-18-higgs-mass.js +86 -0
  34. package/dist/bridges/equations/be-18-higgs-mass.js.map +1 -0
  35. package/dist/bridges/equations/be-19-quantum-bounce.d.ts +72 -0
  36. package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -0
  37. package/dist/bridges/equations/be-19-quantum-bounce.js +151 -0
  38. package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -0
  39. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +72 -0
  40. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -0
  41. package/dist/bridges/equations/be-20-vacuum-energy.js +115 -0
  42. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -0
  43. package/dist/bridges/equations/be-21-kss-bound.d.ts +72 -0
  44. package/dist/bridges/equations/be-21-kss-bound.d.ts.map +1 -0
  45. package/dist/bridges/equations/be-21-kss-bound.js +103 -0
  46. package/dist/bridges/equations/be-21-kss-bound.js.map +1 -0
  47. package/dist/bridges/equations/be-22-topological-entanglement.d.ts +90 -0
  48. package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +1 -0
  49. package/dist/bridges/equations/be-22-topological-entanglement.js +123 -0
  50. package/dist/bridges/equations/be-22-topological-entanglement.js.map +1 -0
  51. package/dist/bridges/equations/be-23-syk-planckian.d.ts +89 -0
  52. package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +1 -0
  53. package/dist/bridges/equations/be-23-syk-planckian.js +155 -0
  54. package/dist/bridges/equations/be-23-syk-planckian.js.map +1 -0
  55. package/dist/bridges/equations/be-24-foerster-fret.d.ts +81 -0
  56. package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +1 -0
  57. package/dist/bridges/equations/be-24-foerster-fret.js +121 -0
  58. package/dist/bridges/equations/be-24-foerster-fret.js.map +1 -0
  59. package/dist/bridges/equations/be-25-iit-phi.d.ts +220 -0
  60. package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -0
  61. package/dist/bridges/equations/be-25-iit-phi.js +259 -0
  62. package/dist/bridges/equations/be-25-iit-phi.js.map +1 -0
  63. package/dist/bridges/equations/be-25-orch-or.d.ts +78 -0
  64. package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -0
  65. package/dist/bridges/equations/be-25-orch-or.js +121 -0
  66. package/dist/bridges/equations/be-25-orch-or.js.map +1 -0
  67. package/dist/bridges/equations/be-26-dna-tunneling.d.ts +75 -0
  68. package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +1 -0
  69. package/dist/bridges/equations/be-26-dna-tunneling.js +138 -0
  70. package/dist/bridges/equations/be-26-dna-tunneling.js.map +1 -0
  71. package/dist/bridges/equations/be-27-effective-temperature.d.ts +81 -0
  72. package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +1 -0
  73. package/dist/bridges/equations/be-27-effective-temperature.js +120 -0
  74. package/dist/bridges/equations/be-27-effective-temperature.js.map +1 -0
  75. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +175 -0
  76. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +1 -0
  77. package/dist/bridges/equations/be-28-onsager-entropy-production.js +203 -0
  78. package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +1 -0
  79. package/dist/bridges/equations/be-29-jarzynski.d.ts +86 -0
  80. package/dist/bridges/equations/be-29-jarzynski.d.ts.map +1 -0
  81. package/dist/bridges/equations/be-29-jarzynski.js +132 -0
  82. package/dist/bridges/equations/be-29-jarzynski.js.map +1 -0
  83. package/dist/bridges/equations/be-30-flm-first-law.d.ts +93 -0
  84. package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +1 -0
  85. package/dist/bridges/equations/be-30-flm-first-law.js +109 -0
  86. package/dist/bridges/equations/be-30-flm-first-law.js.map +1 -0
  87. package/dist/bridges/equations/be-31-causal-set-bd.d.ts +96 -0
  88. package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +1 -0
  89. package/dist/bridges/equations/be-31-causal-set-bd.js +133 -0
  90. package/dist/bridges/equations/be-31-causal-set-bd.js.map +1 -0
  91. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +113 -0
  92. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +1 -0
  93. package/dist/bridges/equations/be-32-quantum-reference-frame.js +155 -0
  94. package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +1 -0
  95. package/dist/bridges/equations/be-33-hertz-millis.d.ts +77 -0
  96. package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +1 -0
  97. package/dist/bridges/equations/be-33-hertz-millis.js +113 -0
  98. package/dist/bridges/equations/be-33-hertz-millis.js.map +1 -0
  99. package/dist/bridges/equations/be-34-kibble-zurek.d.ts +76 -0
  100. package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +1 -0
  101. package/dist/bridges/equations/be-34-kibble-zurek.js +139 -0
  102. package/dist/bridges/equations/be-34-kibble-zurek.js.map +1 -0
  103. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +117 -0
  104. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -0
  105. package/dist/bridges/equations/be-35-conformal-bootstrap.js +167 -0
  106. package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -0
  107. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +77 -0
  108. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -0
  109. package/dist/bridges/equations/be-36-gw-speed-bound.js +107 -0
  110. package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -0
  111. package/dist/bridges/equations/be-37-shapiro-delay.d.ts +260 -0
  112. package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -0
  113. package/dist/bridges/equations/be-37-shapiro-delay.js +429 -0
  114. package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -0
  115. package/dist/bridges/equations/be-38-mond.d.ts +86 -0
  116. package/dist/bridges/equations/be-38-mond.d.ts.map +1 -0
  117. package/dist/bridges/equations/be-38-mond.js +122 -0
  118. package/dist/bridges/equations/be-38-mond.js.map +1 -0
  119. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +106 -0
  120. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +1 -0
  121. package/dist/bridges/equations/be-39-asymptotic-safety.js +155 -0
  122. package/dist/bridges/equations/be-39-asymptotic-safety.js.map +1 -0
  123. package/dist/bridges/equations/be-40-composite-higgs.d.ts +81 -0
  124. package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -0
  125. package/dist/bridges/equations/be-40-composite-higgs.js +149 -0
  126. package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -0
  127. package/dist/bridges/equations/be-41-swampland.d.ts +67 -0
  128. package/dist/bridges/equations/be-41-swampland.d.ts.map +1 -0
  129. package/dist/bridges/equations/be-41-swampland.js +109 -0
  130. package/dist/bridges/equations/be-41-swampland.js.map +1 -0
  131. package/dist/bridges/equations/be-42-hawking-temperature.d.ts +67 -0
  132. package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -0
  133. package/dist/bridges/equations/be-42-hawking-temperature.js +109 -0
  134. package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -0
  135. package/dist/bridges/equations/be-43-er-epr.d.ts +73 -0
  136. package/dist/bridges/equations/be-43-er-epr.d.ts.map +1 -0
  137. package/dist/bridges/equations/be-43-er-epr.js +114 -0
  138. package/dist/bridges/equations/be-43-er-epr.js.map +1 -0
  139. package/dist/bridges/equations/be-44-soft-hair.d.ts +151 -0
  140. package/dist/bridges/equations/be-44-soft-hair.d.ts.map +1 -0
  141. package/dist/bridges/equations/be-44-soft-hair.js +185 -0
  142. package/dist/bridges/equations/be-44-soft-hair.js.map +1 -0
  143. package/dist/bridges/equations/be-45-tcc.d.ts +116 -0
  144. package/dist/bridges/equations/be-45-tcc.d.ts.map +1 -0
  145. package/dist/bridges/equations/be-45-tcc.js +157 -0
  146. package/dist/bridges/equations/be-45-tcc.js.map +1 -0
  147. package/dist/bridges/equations/be-46-multiverse-measure.d.ts +163 -0
  148. package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +1 -0
  149. package/dist/bridges/equations/be-46-multiverse-measure.js +198 -0
  150. package/dist/bridges/equations/be-46-multiverse-measure.js.map +1 -0
  151. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +72 -0
  152. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +1 -0
  153. package/dist/bridges/equations/be-47-bbn-dark-sector.js +121 -0
  154. package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +1 -0
  155. package/dist/bridges/equations/be-48-grw-localization.d.ts +84 -0
  156. package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -0
  157. package/dist/bridges/equations/be-48-grw-localization.js +107 -0
  158. package/dist/bridges/equations/be-48-grw-localization.js.map +1 -0
  159. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +97 -0
  160. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +1 -0
  161. package/dist/bridges/equations/be-49-quantum-darwinism.js +129 -0
  162. package/dist/bridges/equations/be-49-quantum-darwinism.js.map +1 -0
  163. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +120 -0
  164. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -0
  165. package/dist/bridges/equations/be-50-wheeler-feynman.js +151 -0
  166. package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -0
  167. package/dist/bridges/gravitational-lensing.d.ts +52 -0
  168. package/dist/bridges/gravitational-lensing.d.ts.map +1 -0
  169. package/dist/bridges/gravitational-lensing.js +48 -0
  170. package/dist/bridges/gravitational-lensing.js.map +1 -0
  171. package/dist/bridges/index.d.ts +104 -0
  172. package/dist/bridges/index.d.ts.map +1 -0
  173. package/dist/bridges/index.js +1663 -0
  174. package/dist/bridges/index.js.map +1 -0
  175. package/dist/bridges/perihelion-precession.d.ts +62 -0
  176. package/dist/bridges/perihelion-precession.d.ts.map +1 -0
  177. package/dist/bridges/perihelion-precession.js +68 -0
  178. package/dist/bridges/perihelion-precession.js.map +1 -0
  179. package/dist/core/tensor.d.ts +135 -0
  180. package/dist/core/tensor.d.ts.map +1 -0
  181. package/dist/core/tensor.js +376 -0
  182. package/dist/core/tensor.js.map +1 -0
  183. package/dist/core/types.d.ts +131 -0
  184. package/dist/core/types.d.ts.map +1 -0
  185. package/dist/core/types.js +25 -0
  186. package/dist/core/types.js.map +1 -0
  187. package/dist/dimensional/algebra.d.ts +34 -0
  188. package/dist/dimensional/algebra.d.ts.map +1 -0
  189. package/dist/dimensional/algebra.js +90 -0
  190. package/dist/dimensional/algebra.js.map +1 -0
  191. package/dist/dimensional/bridge-check.d.ts +48 -0
  192. package/dist/dimensional/bridge-check.d.ts.map +1 -0
  193. package/dist/dimensional/bridge-check.js +137 -0
  194. package/dist/dimensional/bridge-check.js.map +1 -0
  195. package/dist/dimensional/connection-validators.d.ts +53 -0
  196. package/dist/dimensional/connection-validators.d.ts.map +1 -0
  197. package/dist/dimensional/connection-validators.js +84 -0
  198. package/dist/dimensional/connection-validators.js.map +1 -0
  199. package/dist/dimensional/connection.d.ts +40 -0
  200. package/dist/dimensional/connection.d.ts.map +1 -0
  201. package/dist/dimensional/connection.js +81 -0
  202. package/dist/dimensional/connection.js.map +1 -0
  203. package/dist/dimensional/constants.d.ts +30 -0
  204. package/dist/dimensional/constants.d.ts.map +1 -0
  205. package/dist/dimensional/constants.js +31 -0
  206. package/dist/dimensional/constants.js.map +1 -0
  207. package/dist/dimensional/errors.d.ts +161 -0
  208. package/dist/dimensional/errors.d.ts.map +1 -0
  209. package/dist/dimensional/errors.js +254 -0
  210. package/dist/dimensional/errors.js.map +1 -0
  211. package/dist/dimensional/fresh-label.d.ts +26 -0
  212. package/dist/dimensional/fresh-label.d.ts.map +1 -0
  213. package/dist/dimensional/fresh-label.js +31 -0
  214. package/dist/dimensional/fresh-label.js.map +1 -0
  215. package/dist/dimensional/metric-validators.d.ts +124 -0
  216. package/dist/dimensional/metric-validators.d.ts.map +1 -0
  217. package/dist/dimensional/metric-validators.js +141 -0
  218. package/dist/dimensional/metric-validators.js.map +1 -0
  219. package/dist/dimensional/metric.d.ts +67 -0
  220. package/dist/dimensional/metric.d.ts.map +1 -0
  221. package/dist/dimensional/metric.js +177 -0
  222. package/dist/dimensional/metric.js.map +1 -0
  223. package/dist/dimensional/tensor.d.ts +153 -0
  224. package/dist/dimensional/tensor.d.ts.map +1 -0
  225. package/dist/dimensional/tensor.js +138 -0
  226. package/dist/dimensional/tensor.js.map +1 -0
  227. package/dist/dimensional/types.d.ts +50 -0
  228. package/dist/dimensional/types.d.ts.map +1 -0
  229. package/dist/dimensional/types.js +66 -0
  230. package/dist/dimensional/types.js.map +1 -0
  231. package/dist/dimensional/validator.d.ts +84 -0
  232. package/dist/dimensional/validator.d.ts.map +1 -0
  233. package/dist/dimensional/validator.js +505 -0
  234. package/dist/dimensional/validator.js.map +1 -0
  235. package/dist/index.d.ts +25 -0
  236. package/dist/index.d.ts.map +1 -0
  237. package/dist/index.js +37 -0
  238. package/dist/index.js.map +1 -0
  239. package/dist/numerical/be37-covariant-eikonal.d.ts +90 -0
  240. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -0
  241. package/dist/numerical/be37-covariant-eikonal.js +79 -0
  242. package/dist/numerical/be37-covariant-eikonal.js.map +1 -0
  243. package/dist/numerical/connection-lowering-helpers.d.ts +107 -0
  244. package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -0
  245. package/dist/numerical/connection-lowering-helpers.js +315 -0
  246. package/dist/numerical/connection-lowering-helpers.js.map +1 -0
  247. package/dist/numerical/engine-registry.d.ts +50 -0
  248. package/dist/numerical/engine-registry.d.ts.map +1 -0
  249. package/dist/numerical/engine-registry.js +82 -0
  250. package/dist/numerical/engine-registry.js.map +1 -0
  251. package/dist/numerical/errors.d.ts +28 -0
  252. package/dist/numerical/errors.d.ts.map +1 -0
  253. package/dist/numerical/errors.js +39 -0
  254. package/dist/numerical/errors.js.map +1 -0
  255. package/dist/numerical/float64-engine.d.ts +53 -0
  256. package/dist/numerical/float64-engine.d.ts.map +1 -0
  257. package/dist/numerical/float64-engine.js +638 -0
  258. package/dist/numerical/float64-engine.js.map +1 -0
  259. package/dist/numerical/geodesic-integrator.d.ts +62 -0
  260. package/dist/numerical/geodesic-integrator.d.ts.map +1 -0
  261. package/dist/numerical/geodesic-integrator.js +103 -0
  262. package/dist/numerical/geodesic-integrator.js.map +1 -0
  263. package/dist/numerical/grid-field.d.ts +24 -0
  264. package/dist/numerical/grid-field.d.ts.map +1 -0
  265. package/dist/numerical/grid-field.js +2 -0
  266. package/dist/numerical/grid-field.js.map +1 -0
  267. package/dist/numerical/index.d.ts +80 -0
  268. package/dist/numerical/index.d.ts.map +1 -0
  269. package/dist/numerical/index.js +75 -0
  270. package/dist/numerical/index.js.map +1 -0
  271. package/dist/numerical/lowering.d.ts +48 -0
  272. package/dist/numerical/lowering.d.ts.map +1 -0
  273. package/dist/numerical/lowering.js +443 -0
  274. package/dist/numerical/lowering.js.map +1 -0
  275. package/dist/numerical/mathts-engine.d.ts +55 -0
  276. package/dist/numerical/mathts-engine.d.ts.map +1 -0
  277. package/dist/numerical/mathts-engine.js +164 -0
  278. package/dist/numerical/mathts-engine.js.map +1 -0
  279. package/dist/numerical/metric-inverse.d.ts +31 -0
  280. package/dist/numerical/metric-inverse.d.ts.map +1 -0
  281. package/dist/numerical/metric-inverse.js +68 -0
  282. package/dist/numerical/metric-inverse.js.map +1 -0
  283. package/dist/numerical/null-ray-integrator.d.ts +13 -0
  284. package/dist/numerical/null-ray-integrator.d.ts.map +1 -0
  285. package/dist/numerical/null-ray-integrator.js +53 -0
  286. package/dist/numerical/null-ray-integrator.js.map +1 -0
  287. package/dist/numerical/pderiv.d.ts +43 -0
  288. package/dist/numerical/pderiv.d.ts.map +1 -0
  289. package/dist/numerical/pderiv.js +121 -0
  290. package/dist/numerical/pderiv.js.map +1 -0
  291. package/dist/numerical/tensor-engine.d.ts +114 -0
  292. package/dist/numerical/tensor-engine.d.ts.map +1 -0
  293. package/dist/numerical/tensor-engine.js +64 -0
  294. package/dist/numerical/tensor-engine.js.map +1 -0
  295. package/dist/numerical/types.d.ts +37 -0
  296. package/dist/numerical/types.d.ts.map +1 -0
  297. package/dist/numerical/types.js +8 -0
  298. package/dist/numerical/types.js.map +1 -0
  299. package/package.json +72 -0
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Bridge Equation 44 — Soft Hair on Black Holes (Hawking-Perry-Strominger
3
+ * 2016) — squared-norm scalar reduction.
4
+ *
5
+ * Q_soft² = ∫_{𝒤^±} (∂_u C_{zz̄})² dμ
6
+ *
7
+ * The integrated squared news at null infinity — the natural BMS-invariant
8
+ * L²-norm of the soft-hair charge integrand. This is a SCALAR REDUCTION of
9
+ * the operator-valued BMS supertranslation charge
10
+ *
11
+ * Q_soft^± = ∫_{𝒤^±} (∂_u C_{zz̄}) Y^z dz ∧ dz̄
12
+ *
13
+ * which the AST grammar cannot directly encode (C_{zz̄} is an operator-
14
+ * valued asymptotic-shear field at null infinity; Y^z is a BMS
15
+ * supertranslation parameter; the integrand is genuinely operator-valued
16
+ * and the celestial-2-sphere geometry is not in the AST primitives).
17
+ *
18
+ * What IS encodable: the squared norm reduction uses only the `integral`
19
+ * primitive (same machinery as BE-26 WKB), integrating over the u-direction
20
+ * with the celestial-2-sphere implicit and Y^z absorbed into the measure.
21
+ * The resulting scalar Q_soft² is the BMS-invariant L²-norm of the news
22
+ * field at 𝒤^±, a standard derived quantity in the soft-theorem literature.
23
+ *
24
+ * Dimensional analysis (BMS-shear convention; Hawking-Perry-Strominger
25
+ * 2016 §2; Strominger 2018 lectures §2.10):
26
+ * - C_{zz̄} asymptotic shear at null infinity — dim [L] in SI
27
+ * (a metric-perturbation coefficient at 𝒤^±; dimensionless
28
+ * in natural units where length and time are unified, but
29
+ * SI carries [L] under the standard Bondi-frame convention).
30
+ * - ∂_u C news tensor — dim [L/T] = [L T^-1] (u is retarded time).
31
+ * - (∂_u C)² squared news — dim [L² T^-2].
32
+ * - dμ 3-volume measure on 𝒤^± in the reduced encoding is the
33
+ * u-coordinate measure of dim [T]; the celestial-2-sphere
34
+ * z,z̄ stereographic coordinates are dimensionless and
35
+ * implicit (their contribution to dμ is dimensionless).
36
+ * - ∫(∂_u C)² dμ squared soft-hair charge — dim [L² T^-1].
37
+ *
38
+ * Status: 'speculative' (encoding does NOT promote).
39
+ *
40
+ * Honest-claude scope notes:
41
+ * - The ORIGINAL BE-44 formula `Q_soft^± = ∫_{𝒤^±} (∂_u C_{zz̄}) Y^z
42
+ * dz ∧ dz̄` is OPERATOR-VALUED: C_{zz̄} is an asymptotic shear field
43
+ * at null infinity (a Hilbert-space-valued tensor field, not a
44
+ * c-number); Y^z is a BMS supertranslation parameter (a function/
45
+ * vector field on the celestial sphere indexing an infinite family of
46
+ * charges). The AST grammar's `symbol`, `op`, `integral`, `derivative`
47
+ * primitives have no representation for field operators or BMS
48
+ * symmetry parameters.
49
+ * - This encoding is a **SQUARED-NORM SCALAR REDUCTION** (the L²-norm
50
+ * of the news at null infinity), which IS encodable via the `integral`
51
+ * primitive but does **NOT** encode the BMS charge structure itself.
52
+ * The full Q_soft^± charge labelled by Y^z and the celestial-2-sphere
53
+ * geometry (z, z̄ stereographic coordinates) are NOT represented.
54
+ * - The supertranslation parameter Y^z drops out of the squared norm
55
+ * (it would multiply (∂_u C)² in any "intensity" definition only if
56
+ * the encoding also folded in |Y|²; we omit Y entirely, treating the
57
+ * reduction as the bare news squared norm). For a Y-weighted version,
58
+ * promote (∂_u C)² → (∂_u C · Y^z)·conj — outside the present scope.
59
+ * - The celestial-2-sphere measure (with dz ∧ dz̄ a 2-form on the
60
+ * sphere) is implicit and dimensionless under the stereographic
61
+ * coordinate convention; only the u-direction contributes a
62
+ * dimensionful measure element [T].
63
+ * - The numerical evaluator implements TRAPEZOIDAL quadrature on a
64
+ * uniform u-grid — an approximation, not exact integration. Convergence
65
+ * is O(du²) for smooth news profiles.
66
+ * - Status remains 'speculative' — this encoding does NOT promote the
67
+ * bridge to 'established'; the bridge framing (soft-hair charges as
68
+ * UPT information-paradox resolution) is the speculative element. The
69
+ * squared-norm reduction is a standard observable in the soft-theorem
70
+ * literature (Strominger 2018 §2.10) but does not encode the BMS
71
+ * charge algebra.
72
+ *
73
+ * References:
74
+ * - Hawking, Perry & Strominger 2016 *Phys. Rev. Lett.* 116:231301
75
+ * (arXiv:1601.00921; original soft-hair-on-black-holes proposal)
76
+ * - Hawking, Perry & Strominger 2017 *JHEP* 1705:161 (arXiv:1611.09175;
77
+ * BMS supertranslation details)
78
+ * - Bondi, van der Burg & Metzner 1962 *Proc. R. Soc. Lond. A* 269:21
79
+ * (foundational BMS asymptotic-symmetry paper)
80
+ * - Strominger 2014 *JHEP* 1407:152 (arXiv:1312.2229; BMS as gauge
81
+ * symmetry of asymptotically-flat gravity)
82
+ * - Strominger 2018 *Lectures on the Infrared Structure of Gravity and
83
+ * Gauge Theory* (Princeton; arXiv:1703.05448; §2.10 discusses the
84
+ * news-squared L²-norm)
85
+ *
86
+ * @see docs/specification/Part-II.md ("Bridge Equation 44: Soft Hair on Black Holes")
87
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 44)
88
+ * @module bridges/equations/be-44-soft-hair
89
+ */
90
+ import { validate, validateEquation } from '../../dimensional/validator.js';
91
+ import { LENGTH, TIME, } from '../../dimensional/types.js';
92
+ import { divide, multiply } from '../../dimensional/algebra.js';
93
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
94
+ /** News-tensor velocity dim: ∂_u C with dim [L/T] = [L T^-1]. */
95
+ const NEWS_DIM = divide(LENGTH, TIME);
96
+ /** Squared-news dim: (∂_u C)² with dim [L² T^-2]. */
97
+ const NEWS_SQUARED_DIM = multiply(NEWS_DIM, NEWS_DIM);
98
+ /** Soft-hair squared-charge dim: ∫(∂_u C)² du with dim [L² T^-1]. */
99
+ export const SOFT_HAIR_SQUARED = multiply(NEWS_SQUARED_DIM, TIME);
100
+ /**
101
+ * News tensor symbol: ∂_u C_{zz̄}. The u-derivative of the asymptotic
102
+ * shear at null infinity. Dim [L T^-1] (velocity-like rate of change of
103
+ * the shear).
104
+ */
105
+ export const BE44_NEWS_TENSOR = sym('partial_u_C', NEWS_DIM);
106
+ /**
107
+ * Squared news: (∂_u C) · (∂_u C). Dim [L² T^-2]. Encoded as an
108
+ * explicit `op: '*'` product (rather than `op: '^'` with exponent 2)
109
+ * because both factors are the same symbol and the validator infers
110
+ * [L² T^-2] cleanly from multiplication.
111
+ */
112
+ export const BE44_NEWS_SQUARED = {
113
+ kind: 'op', op: '*',
114
+ args: [BE44_NEWS_TENSOR, BE44_NEWS_TENSOR],
115
+ };
116
+ /**
117
+ * RHS: ∫_{𝒤^±} (∂_u C)² du. The celestial-2-sphere measure dz ∧ dz̄ is
118
+ * dimensionless under the standard stereographic convention and is
119
+ * absorbed implicitly; only the u-direction contributes a dimensionful
120
+ * measure element [T]. Resulting dim: [L² T^-2] · [T] = [L² T^-1].
121
+ */
122
+ export const BE44_SOFT_HAIR_INTEGRAL_RHS = {
123
+ kind: 'integral',
124
+ over: sym('u', TIME),
125
+ integrand: BE44_NEWS_SQUARED,
126
+ };
127
+ /** LHS: Q_soft² has dim [L² T^-1]. */
128
+ export const BE44_SOFT_HAIR_CHARGE_SQUARED_LHS = sym('Q_soft_squared', SOFT_HAIR_SQUARED);
129
+ /**
130
+ * Evaluate Q_soft² = ∫(∂_u C)² du via trapezoidal quadrature on a uniform
131
+ * u-grid.
132
+ *
133
+ * The trapezoidal rule for a uniform grid `samples[0..N-1]` with spacing
134
+ * `du` reads
135
+ *
136
+ * ∫f du ≈ du · [f₀/2 + f₁ + f₂ + … + f_{N-2} + f_{N-1}/2]
137
+ *
138
+ * We apply it to f(u) = (samples[i])². This is an O(du²) approximation;
139
+ * not exact. Returned value has SI dim [L² T^-1] = [m²/s].
140
+ *
141
+ * @throws RangeError if news_samples is empty, has fewer than 2 entries,
142
+ * contains non-finite values, or du is non-positive
143
+ * or non-finite.
144
+ */
145
+ export function evaluateBE44SoftHairCharge(input) {
146
+ const { news_samples, du } = input;
147
+ if (!Array.isArray(news_samples)) {
148
+ throw new RangeError(`evaluateBE44SoftHairCharge: news_samples must be an array, got ${typeof news_samples}`);
149
+ }
150
+ if (news_samples.length < 2) {
151
+ throw new RangeError(`evaluateBE44SoftHairCharge: news_samples must have at least 2 entries (trapezoid needs both endpoints), got length ${news_samples.length}`);
152
+ }
153
+ if (!Number.isFinite(du) || du <= 0) {
154
+ throw new RangeError(`evaluateBE44SoftHairCharge: du must be a finite positive number, got ${du}`);
155
+ }
156
+ for (let i = 0; i < news_samples.length; i++) {
157
+ if (!Number.isFinite(news_samples[i])) {
158
+ throw new RangeError(`evaluateBE44SoftHairCharge: news_samples[${i}] is not finite, got ${news_samples[i]}`);
159
+ }
160
+ }
161
+ // Trapezoidal sum of f² on uniform grid: du · [f₀²/2 + Σ_inner fᵢ² + f_{N-1}²/2].
162
+ const N = news_samples.length;
163
+ let acc = 0.5 * news_samples[0] * news_samples[0];
164
+ for (let i = 1; i < N - 1; i++) {
165
+ acc += news_samples[i] * news_samples[i];
166
+ }
167
+ acc += 0.5 * news_samples[N - 1] * news_samples[N - 1];
168
+ return acc * du;
169
+ }
170
+ // --- Self-validation ---
171
+ /**
172
+ * Run the AST through the dimensional analyzer; LHS and RHS should both
173
+ * be [L² T^-1].
174
+ */
175
+ export function validateBE44Dimensions() {
176
+ const eq = validateEquation(BE44_SOFT_HAIR_CHARGE_SQUARED_LHS, BE44_SOFT_HAIR_INTEGRAL_RHS);
177
+ const lhs = validate(BE44_SOFT_HAIR_CHARGE_SQUARED_LHS);
178
+ const rhs = validate(BE44_SOFT_HAIR_INTEGRAL_RHS);
179
+ return {
180
+ ok: eq.ok,
181
+ lhsDim: lhs.inferredDimension,
182
+ rhsDim: rhs.inferredDimension,
183
+ };
184
+ }
185
+ //# sourceMappingURL=be-44-soft-hair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-44-soft-hair.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-44-soft-hair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Bridge Equation 45 — Trans-Planckian Censorship Conjecture (TCC) bound
3
+ * on inflationary e-folds (Bedroya-Vafa 2019 + γ-extension).
4
+ *
5
+ * N_e_max = log(M_P / H_inf) - γ · log(r / 0.01)
6
+ *
7
+ * N_e_max is the maximum number of inflationary e-folds before
8
+ * trans-Planckian modes become observable. The canonical Bedroya-Vafa
9
+ * bound (arXiv:1909.11063) is just `N_e < ln(M_P/H_inf)`; the
10
+ * `-γ log(r/0.01)` term is an extension original to this framework
11
+ * (no published derivation).
12
+ *
13
+ * **Natural-units convention (honest-claude resolution).** The log
14
+ * argument `M_P/H_inf` requires that ratio to be dimensionless. In
15
+ * natural units (ℏ = c = 1) both M_P and H_inf are energies, so the
16
+ * ratio is dimensionless ✓. In SI, M_P has [mass] and H_inf has [1/T];
17
+ * the ratio is `[kg·s]` which is NOT dimensionless. The TCC literature
18
+ * works in natural units throughout (Bedroya-Vafa 2019; also the
19
+ * convention BE-39 asymptotic-safety and BE-40 composite-Higgs use).
20
+ * This module pins natural units explicitly: M_P and H_inf are both
21
+ * encoded as ENERGY symbols, and the numerical evaluator takes them
22
+ * in GeV with the user responsible for converting H_inf to its
23
+ * energy-equivalent (E_inf = ℏ H_inf in SI, or H_inf-in-GeV directly
24
+ * in natural units).
25
+ *
26
+ * **Dimensionless-stub pattern for log.** The AST has no `log`
27
+ * primitive. Following the same pattern as BE-26's exp(-WKB) and
28
+ * BE-41's exp(...), we encode `log(M_P/H_inf)` and `log(r/0.01)` as
29
+ * dimensionless symbol stubs, and expose the TWO log arguments as
30
+ * separate ExprNodes (`BE45_LOG_RATIO_ARG_MP_HINF` and
31
+ * `BE45_LOG_RATIO_ARG_R`) so the lemma tests can verify each argument
32
+ * is dimensionless.
33
+ *
34
+ * Bracket-checks (numerical evaluator computes the TCC bound directly):
35
+ * - M_P = 1.22e19 GeV, H_inf = 1e14 GeV (GUT-scale), r = 0.01:
36
+ * N_e_max = log(1.22e5) ≈ 11.71 (12 e-folds) — TCC's typical
37
+ * observation window;
38
+ * - N_e_max increases as M_P/H_inf increases (lower-energy
39
+ * inflation allows more e-folds);
40
+ * - N_e_max decreases as γ·log(r/0.01) increases.
41
+ *
42
+ * References:
43
+ * - Bedroya & Vafa 2019 (arXiv:1909.11063; canonical TCC statement);
44
+ * - Bedroya, Brandenberger, Loverde, Vafa 2020 *Phys. Rev. D* 101:103502
45
+ * (arXiv:1909.11063 follow-up; observational implications).
46
+ *
47
+ * Status: speculative.
48
+ *
49
+ * Honest-claude scope notes:
50
+ * - The base Bedroya-Vafa bound `N_e < ln(M_P/H_inf)` is the
51
+ * canonical content; the `-γ log(r/0.01)` extension is original
52
+ * to this framework, with no published derivation. γ is
53
+ * dimensionless O(1) (treated as a free parameter here).
54
+ * - Natural units are pinned by convention; the SI equivalent
55
+ * would require re-deriving the relation with explicit ℏ, c
56
+ * factors. This is documented but not implemented.
57
+ *
58
+ * @see docs/specification/Part-II.md ("Bridge Equation 45: Trans-Planckian Censorship Constraint")
59
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 45)
60
+ * @module bridges/equations/be-45-tcc
61
+ */
62
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
63
+ /**
64
+ * Lemma AST: the M_P/H_inf log argument (natural-units convention,
65
+ * both quantities as ENERGY).
66
+ *
67
+ * Exposed for the lemma test that verifies the argument is
68
+ * dimensionless (per the dimensionless-stub convention; see
69
+ * `src/dimensional/README.md` "Encoding transcendental functions").
70
+ */
71
+ export declare const BE45_LOG_RATIO_ARG_MP_HINF: ExprNode;
72
+ /**
73
+ * Lemma AST: the r/0.01 log argument (both quantities dimensionless).
74
+ *
75
+ * r is the tensor-to-scalar ratio (dimensionless); 0.01 is the
76
+ * dimensionless reference value used in the γ-correction term.
77
+ */
78
+ export declare const BE45_LOG_RATIO_ARG_R: ExprNode;
79
+ /**
80
+ * RHS of the TCC bound:
81
+ * log(M_P/H_inf) - γ · log(r/0.01)
82
+ *
83
+ * Both `log_MP_Hinf` and `log_r_ratio` are encoded as dimensionless
84
+ * symbol stubs (the AST has no `log` primitive). The arguments are
85
+ * verified dimensionless via `BE45_LOG_RATIO_ARG_MP_HINF` and
86
+ * `BE45_LOG_RATIO_ARG_R`. γ is dimensionless O(1).
87
+ */
88
+ export declare const BE45_TCC_RHS: ExprNode;
89
+ /** LHS: N_e_max is dimensionless (number of e-folds = log of expansion factor). */
90
+ export declare const BE45_TCC_LHS: ExprNode;
91
+ export interface TCCInputs {
92
+ /** Planck mass M_P in GeV (canonical: 1.22e19). Must be > 0 and finite. */
93
+ M_P_GeV: number;
94
+ /** Inflationary Hubble scale H_inf in GeV-equivalent energy units (natural units, ℏH_inf or H_inf-in-GeV directly). Must be > 0 and finite. */
95
+ H_inf_GeV: number;
96
+ /** Tensor-to-scalar ratio r (dimensionless). Must be > 0 and finite. */
97
+ r: number;
98
+ /** Dimensionless O(1) coefficient γ for the framework-original correction. Must be finite. */
99
+ gamma: number;
100
+ }
101
+ /**
102
+ * Evaluate the TCC bound on inflationary e-folds (natural log):
103
+ *
104
+ * N_e_max = ln(M_P/H_inf) - γ · ln(r/0.01)
105
+ *
106
+ * Natural log convention follows Bedroya-Vafa 2019.
107
+ *
108
+ * @returns Dimensionless maximum number of e-folds.
109
+ */
110
+ export declare function evaluateTCC(input: TCCInputs): number;
111
+ /**
112
+ * Run the AST through the dimensional analyzer; both sides should be
113
+ * dimensionless.
114
+ */
115
+ export declare function validateBE45Dimensions(): DimensionValidationReport;
116
+ //# sourceMappingURL=be-45-tcc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-45-tcc.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-45-tcc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAU1F;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAMxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAMlC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,QAY1B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,YAAY,EAAE,QAAwC,CAAC;AAIpE,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,+IAA+I;IAC/I,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,CAAC,EAAE,MAAM,CAAC;IACV,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuBpD;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CASlE"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Bridge Equation 45 — Trans-Planckian Censorship Conjecture (TCC) bound
3
+ * on inflationary e-folds (Bedroya-Vafa 2019 + γ-extension).
4
+ *
5
+ * N_e_max = log(M_P / H_inf) - γ · log(r / 0.01)
6
+ *
7
+ * N_e_max is the maximum number of inflationary e-folds before
8
+ * trans-Planckian modes become observable. The canonical Bedroya-Vafa
9
+ * bound (arXiv:1909.11063) is just `N_e < ln(M_P/H_inf)`; the
10
+ * `-γ log(r/0.01)` term is an extension original to this framework
11
+ * (no published derivation).
12
+ *
13
+ * **Natural-units convention (honest-claude resolution).** The log
14
+ * argument `M_P/H_inf` requires that ratio to be dimensionless. In
15
+ * natural units (ℏ = c = 1) both M_P and H_inf are energies, so the
16
+ * ratio is dimensionless ✓. In SI, M_P has [mass] and H_inf has [1/T];
17
+ * the ratio is `[kg·s]` which is NOT dimensionless. The TCC literature
18
+ * works in natural units throughout (Bedroya-Vafa 2019; also the
19
+ * convention BE-39 asymptotic-safety and BE-40 composite-Higgs use).
20
+ * This module pins natural units explicitly: M_P and H_inf are both
21
+ * encoded as ENERGY symbols, and the numerical evaluator takes them
22
+ * in GeV with the user responsible for converting H_inf to its
23
+ * energy-equivalent (E_inf = ℏ H_inf in SI, or H_inf-in-GeV directly
24
+ * in natural units).
25
+ *
26
+ * **Dimensionless-stub pattern for log.** The AST has no `log`
27
+ * primitive. Following the same pattern as BE-26's exp(-WKB) and
28
+ * BE-41's exp(...), we encode `log(M_P/H_inf)` and `log(r/0.01)` as
29
+ * dimensionless symbol stubs, and expose the TWO log arguments as
30
+ * separate ExprNodes (`BE45_LOG_RATIO_ARG_MP_HINF` and
31
+ * `BE45_LOG_RATIO_ARG_R`) so the lemma tests can verify each argument
32
+ * is dimensionless.
33
+ *
34
+ * Bracket-checks (numerical evaluator computes the TCC bound directly):
35
+ * - M_P = 1.22e19 GeV, H_inf = 1e14 GeV (GUT-scale), r = 0.01:
36
+ * N_e_max = log(1.22e5) ≈ 11.71 (12 e-folds) — TCC's typical
37
+ * observation window;
38
+ * - N_e_max increases as M_P/H_inf increases (lower-energy
39
+ * inflation allows more e-folds);
40
+ * - N_e_max decreases as γ·log(r/0.01) increases.
41
+ *
42
+ * References:
43
+ * - Bedroya & Vafa 2019 (arXiv:1909.11063; canonical TCC statement);
44
+ * - Bedroya, Brandenberger, Loverde, Vafa 2020 *Phys. Rev. D* 101:103502
45
+ * (arXiv:1909.11063 follow-up; observational implications).
46
+ *
47
+ * Status: speculative.
48
+ *
49
+ * Honest-claude scope notes:
50
+ * - The base Bedroya-Vafa bound `N_e < ln(M_P/H_inf)` is the
51
+ * canonical content; the `-γ log(r/0.01)` extension is original
52
+ * to this framework, with no published derivation. γ is
53
+ * dimensionless O(1) (treated as a free parameter here).
54
+ * - Natural units are pinned by convention; the SI equivalent
55
+ * would require re-deriving the relation with explicit ℏ, c
56
+ * factors. This is documented but not implemented.
57
+ *
58
+ * @see docs/specification/Part-II.md ("Bridge Equation 45: Trans-Planckian Censorship Constraint")
59
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 45)
60
+ * @module bridges/equations/be-45-tcc
61
+ */
62
+ import { validate, validateEquation } from '../../dimensional/validator.js';
63
+ import { DIMENSIONLESS, ENERGY, } from '../../dimensional/types.js';
64
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
65
+ /**
66
+ * Lemma AST: the M_P/H_inf log argument (natural-units convention,
67
+ * both quantities as ENERGY).
68
+ *
69
+ * Exposed for the lemma test that verifies the argument is
70
+ * dimensionless (per the dimensionless-stub convention; see
71
+ * `src/dimensional/README.md` "Encoding transcendental functions").
72
+ */
73
+ export const BE45_LOG_RATIO_ARG_MP_HINF = {
74
+ kind: 'op', op: '/',
75
+ args: [
76
+ sym('M_P', ENERGY),
77
+ sym('H_inf', ENERGY), // natural units: ℏ H_inf has dim [energy]
78
+ ],
79
+ };
80
+ /**
81
+ * Lemma AST: the r/0.01 log argument (both quantities dimensionless).
82
+ *
83
+ * r is the tensor-to-scalar ratio (dimensionless); 0.01 is the
84
+ * dimensionless reference value used in the γ-correction term.
85
+ */
86
+ export const BE45_LOG_RATIO_ARG_R = {
87
+ kind: 'op', op: '/',
88
+ args: [
89
+ sym('r', DIMENSIONLESS),
90
+ sym('0.01', DIMENSIONLESS),
91
+ ],
92
+ };
93
+ /**
94
+ * RHS of the TCC bound:
95
+ * log(M_P/H_inf) - γ · log(r/0.01)
96
+ *
97
+ * Both `log_MP_Hinf` and `log_r_ratio` are encoded as dimensionless
98
+ * symbol stubs (the AST has no `log` primitive). The arguments are
99
+ * verified dimensionless via `BE45_LOG_RATIO_ARG_MP_HINF` and
100
+ * `BE45_LOG_RATIO_ARG_R`. γ is dimensionless O(1).
101
+ */
102
+ export const BE45_TCC_RHS = {
103
+ kind: 'op', op: '-',
104
+ args: [
105
+ sym('log(M_P/H_inf)', DIMENSIONLESS),
106
+ {
107
+ kind: 'op', op: '*',
108
+ args: [
109
+ sym('gamma', DIMENSIONLESS),
110
+ sym('log(r/0.01)', DIMENSIONLESS),
111
+ ],
112
+ },
113
+ ],
114
+ };
115
+ /** LHS: N_e_max is dimensionless (number of e-folds = log of expansion factor). */
116
+ export const BE45_TCC_LHS = sym('N_e_max', DIMENSIONLESS);
117
+ /**
118
+ * Evaluate the TCC bound on inflationary e-folds (natural log):
119
+ *
120
+ * N_e_max = ln(M_P/H_inf) - γ · ln(r/0.01)
121
+ *
122
+ * Natural log convention follows Bedroya-Vafa 2019.
123
+ *
124
+ * @returns Dimensionless maximum number of e-folds.
125
+ */
126
+ export function evaluateTCC(input) {
127
+ const { M_P_GeV, H_inf_GeV, r, gamma } = input;
128
+ if (!Number.isFinite(M_P_GeV) || M_P_GeV <= 0) {
129
+ throw new RangeError(`evaluateTCC: M_P_GeV must be a finite positive number, got ${M_P_GeV}`);
130
+ }
131
+ if (!Number.isFinite(H_inf_GeV) || H_inf_GeV <= 0) {
132
+ throw new RangeError(`evaluateTCC: H_inf_GeV must be a finite positive number, got ${H_inf_GeV}`);
133
+ }
134
+ if (!Number.isFinite(r) || r <= 0) {
135
+ throw new RangeError(`evaluateTCC: r must be a finite positive number, got ${r}`);
136
+ }
137
+ if (!Number.isFinite(gamma)) {
138
+ throw new RangeError(`evaluateTCC: gamma must be finite, got ${gamma}`);
139
+ }
140
+ return Math.log(M_P_GeV / H_inf_GeV) - gamma * Math.log(r / 0.01);
141
+ }
142
+ // --- Self-validation ---
143
+ /**
144
+ * Run the AST through the dimensional analyzer; both sides should be
145
+ * dimensionless.
146
+ */
147
+ export function validateBE45Dimensions() {
148
+ const eq = validateEquation(BE45_TCC_LHS, BE45_TCC_RHS);
149
+ const lhs = validate(BE45_TCC_LHS);
150
+ const rhs = validate(BE45_TCC_RHS);
151
+ return {
152
+ ok: eq.ok,
153
+ lhsDim: lhs.inferredDimension,
154
+ rhsDim: rhs.inferredDimension,
155
+ };
156
+ }
157
+ //# sourceMappingURL=be-45-tcc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-45-tcc.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-45-tcc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Bridge Equation 46 — Multiverse Measure Problem
3
+ * (Weinberg-Vilenkin anthropic-probability scalar reduction).
4
+ *
5
+ * **Original (formally divergent) form.**
6
+ *
7
+ * P[O] = ∫ dμ[g, φ] W[g, φ] δ(O − O[g, φ])
8
+ *
9
+ * The integration measure dμ over the space of all spacetime metrics
10
+ * and field configurations is not Turing-computable, and the weighting
11
+ * factor W is itself the **unsolved measure problem** — the equation's
12
+ * own subject. As written, the original BE-46 is not a closed-form
13
+ * mathematical object that can be encoded in the UPT AST grammar
14
+ * (`symbol | op (* / + - ^) | integral | derivative` — there is no
15
+ * functional integral over the space of metrics). It is included in
16
+ * the catalog as a flagged formally-divergent entry whose role is to
17
+ * surface the bridge-framing question, not to be evaluated.
18
+ *
19
+ * **Encoded reduction (Weinberg-Vilenkin form).** Wave Z applies
20
+ * OpenAI's scalar reduction: instead of encoding the full path
21
+ * integral, we encode the most-cited specific anthropic-probability
22
+ * proposal — the Weinberg-Vilenkin form for a cosmological-constant-
23
+ * like landscape parameter Λ:
24
+ *
25
+ * P(Λ) = A · exp(−α / Λ)
26
+ *
27
+ * where:
28
+ * - P(Λ) is a probability ∈ [0, 1] (DIMENSIONLESS by definition);
29
+ * - A is a normalization constant (DIMENSIONLESS; scheme-dependent —
30
+ * it depends on the integrating-out cutoff used to render the
31
+ * underlying measure finite);
32
+ * - α is a model parameter, and Λ is the landscape parameter; the
33
+ * ratio α/Λ must be dimensionless for the exponential to be
34
+ * mathematically meaningful, so we encode α and Λ both as
35
+ * DIMENSIONLESS symbols (treating them as ratio components in the
36
+ * dimensionless argument).
37
+ *
38
+ * **Dimensionless-stub pattern for exp.** The AST has no `exp`
39
+ * primitive. Following the same pattern as BE-26 (exp(-WKB)), BE-41
40
+ * (exp(...)) and BE-45 (log()), we encode `exp(−α/Λ)` as a fresh
41
+ * DIMENSIONLESS symbol stub `exp_factor` and expose the exp-argument
42
+ * `−α/Λ` separately as `BE46_EXP_ARGUMENT` so the lemma test can
43
+ * verify it is dimensionless directly. The stub does NOT enforce that
44
+ * the argument is dimensionless — that is a property the encoding
45
+ * committee enforces by construction.
46
+ *
47
+ * Bracket-checks (numerical evaluator computes P(Λ) = A·exp(−α/Λ)):
48
+ * - At Λ = α (the e-folding point): P = A · exp(−1) ≈ A · 0.368;
49
+ * - For large Λ (Λ ≫ α): P → A (exponential suppression vanishes,
50
+ * Λ-large limit dominates);
51
+ * - For small Λ (Λ ≪ α): P → 0 (exponential suppression is severe).
52
+ *
53
+ * References:
54
+ * - Linde, Linde & Mezhlumian 1994 *Phys. Rev. D* 49:1783
55
+ * (arXiv:gr-qc/9306035; volume-weighting and scale-factor cutoff
56
+ * measure proposals).
57
+ * - Vilenkin 1995 *Phys. Rev. Lett.* 74:846 (arXiv:gr-qc/9406010;
58
+ * proper-time cutoff measure; canonical anthropic-probability
59
+ * formulation).
60
+ * - Garriga & Vilenkin 2001 *Phys. Rev. D* 64:023507; comparative
61
+ * analysis of measure proposals.
62
+ * - Freivogel 2011 *Class. Quantum Grav.* 28:204007
63
+ * (arXiv:1105.0244; review of the measure-problem proposals;
64
+ * canonical reference for the unsolved-problem framing).
65
+ * - Weinberg 1987 *Phys. Rev. Lett.* 59:2607 (canonical anthropic
66
+ * prediction for the cosmological constant — the physical
67
+ * motivation for the `exp(−α/Λ)` form).
68
+ *
69
+ * Status: highly-speculative.
70
+ *
71
+ * Honest-claude scope notes:
72
+ * - This module encodes ONE specific measure proposal — the
73
+ * Weinberg-Vilenkin / `exp(−α/Λ)` form. Alternative measures
74
+ * (proper-time cutoff, scale-factor cutoff, causal-patch,
75
+ * Hartle-Hawking no-boundary) give DIFFERENT P(Λ) shapes; the
76
+ * measure problem is unsolved precisely because there is no
77
+ * consensus first-principles derivation that picks out one.
78
+ * - The exp argument α/Λ is dimensionless **by the dimensionless-
79
+ * stub convention**; α and Λ are encoded as DIMENSIONLESS symbols
80
+ * because they appear as ratio components of a dimensionless
81
+ * scalar. In a more elaborate encoding α and Λ might carry
82
+ * [energy^4] (cosmological-constant density) and cancel; that is
83
+ * not modelled here.
84
+ * - The normalization A is itself a scheme-dependent quantity (it
85
+ * depends on the integrating-out cutoff applied to the underlying
86
+ * measure to render it finite). The numerical evaluator takes A
87
+ * as a free input.
88
+ * - Status 'highly-speculative' is **not lifted by this encoding**.
89
+ * Pinning a Tier-5 AST does not promote the bridge framing — the
90
+ * measure problem remains unsolved, and `exp(−α/Λ)` is one
91
+ * proposal among several. Promoting 'highly-speculative' →
92
+ * 'speculative' or 'established' would require deleting the
93
+ * status-pin test in `tests/bridges/be-46-encoding.test.ts`
94
+ * deliberately.
95
+ *
96
+ * @see docs/specification/Part-II.md ("Bridge Equation 46: Multiverse Measure Problem")
97
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 46)
98
+ * @module bridges/equations/be-46-multiverse-measure
99
+ */
100
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
101
+ /**
102
+ * Lemma AST: the exp argument `−α / Λ` (DIMENSIONLESS).
103
+ *
104
+ * Encoded as `(0 - α) / Λ` so the binary-subtract/divide validator can
105
+ * walk the tree; an equivalent encoding `(-1) · (α/Λ)` via a
106
+ * dimensionless `neg_one` would also be valid. Both α and Λ carry the
107
+ * DIMENSIONLESS dimension (they are ratio components of a dimensionless
108
+ * scalar — see module-header honest-claude notes).
109
+ *
110
+ * Exposed for the lemma test that verifies the exp argument is
111
+ * dimensionless (per the dimensionless-stub convention).
112
+ */
113
+ export declare const BE46_EXP_ARGUMENT: ExprNode;
114
+ /**
115
+ * Lemma AST: the `exp(−α/Λ)` factor, encoded as a fresh DIMENSIONLESS
116
+ * symbol stub `exp_factor` (the AST has no `exp` primitive; following
117
+ * BE-26, BE-41, BE-45 dimensionless-stub idiom). The actual exp
118
+ * argument is exposed separately via `BE46_EXP_ARGUMENT` so the lemma
119
+ * test can verify it is dimensionless.
120
+ */
121
+ export declare const BE46_EXP_FACTOR: ExprNode;
122
+ /**
123
+ * Lemma AST: the normalization constant A (DIMENSIONLESS;
124
+ * scheme-dependent — depends on the cutoff used to render the
125
+ * underlying measure finite).
126
+ */
127
+ export declare const BE46_NORMALIZATION: ExprNode;
128
+ /**
129
+ * RHS of `P(Λ) = A · exp(−α/Λ)` as a typed ExprNode tree:
130
+ *
131
+ * A · exp_factor
132
+ *
133
+ * `exp_factor` is a DIMENSIONLESS symbol stub for `exp(−α/Λ)`; the
134
+ * argument `−α/Λ` is exposed via `BE46_EXP_ARGUMENT` and verified
135
+ * dimensionless directly.
136
+ */
137
+ export declare const BE46_ANTHROPIC_PROBABILITY_RHS: ExprNode;
138
+ /** LHS: P(Λ) is a probability, DIMENSIONLESS by definition (P ∈ [0, 1]). */
139
+ export declare const BE46_ANTHROPIC_PROBABILITY_LHS: ExprNode;
140
+ export interface AnthropicInputs {
141
+ /** Normalization constant A (dimensionless; scheme-dependent). Must be finite. */
142
+ normalization: number;
143
+ /** Model parameter α (dimensionless ratio component). Must be finite. */
144
+ alpha: number;
145
+ /** Landscape parameter Λ (dimensionless ratio component). Must be finite and > 0. */
146
+ lambda: number;
147
+ }
148
+ /**
149
+ * Evaluate the Weinberg-Vilenkin anthropic probability:
150
+ *
151
+ * P(Λ) = A · exp(−α / Λ)
152
+ *
153
+ * @returns Dimensionless probability (caller is responsible for
154
+ * ensuring the chosen (A, α, Λ) yield P ∈ [0, 1] — the function does
155
+ * not clamp).
156
+ */
157
+ export declare function evaluateWeinbergVilenkinP(input: AnthropicInputs): number;
158
+ /**
159
+ * Run the AST through the dimensional analyzer; LHS and RHS should
160
+ * both be DIMENSIONLESS.
161
+ */
162
+ export declare function validateBE46Dimensions(): DimensionValidationReport;
163
+ //# sourceMappingURL=be-46-multiverse-measure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-46-multiverse-measure.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-46-multiverse-measure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW1F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAY/B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,QAA2C,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAkC,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAM5C,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,8BAA8B,EAAE,QAAyC,CAAC;AAIvF,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAkBxE;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CAYlE"}