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,117 @@
1
+ /**
2
+ * Bridge Equation 35 — Conformal Bootstrap (crossing-symmetry residual).
3
+ *
4
+ * Original 4-pt-function form (operator-valued; no scalar reduction
5
+ * without committing to specific operator dimensions):
6
+ *
7
+ * ⟨O₁(x₁) O₂(x₂) O₃(x₃) O₄(x₄)⟩
8
+ * = Σ_{Δ, ℓ} C₁₂^O · C₃₄^O · g_{Δ, ℓ}(u, v)
9
+ *
10
+ * Encoded reduction (Wave Z — OpenAI scalar-reduction proposal): for a
11
+ * unitarily-truncated single-block contribution `B(u, v) = C² · g_{Δ,ℓ}(u, v)`,
12
+ * crossing symmetry of the 4-pt function requires `B(u, v) = B(v, u)`. The
13
+ * residual
14
+ *
15
+ * R_cross = C² · [ g_block(u, v) − g_block(v, u) ]
16
+ *
17
+ * is identically zero for any consistent CFT. At the crossing-symmetric
18
+ * point u = v = 1/4 the residual collapses to the operational identity
19
+ * `R_cross|_{u=v=1/4} ≡ 0`.
20
+ *
21
+ * R_cross is DIMENSIONLESS: C is dimensionless when the operators are
22
+ * unit-normalized in their two-point functions, and g_block(u, v) is a
23
+ * dimensionless special function of dimensionless cross-ratios.
24
+ *
25
+ * References:
26
+ * - Rattazzi-Rychkov-Tonni-Vichi 2008 JHEP 0812:031
27
+ * (arXiv:0807.0004): "Bounding scalar operator dimensions in 4D CFT".
28
+ * - Poland-Rychkov-Vichi 2019 Rev. Mod. Phys. 91:015002
29
+ * (arXiv:1805.04405): "The conformal bootstrap: theory, numerical
30
+ * techniques, and applications".
31
+ * - Dolan-Osborn 2001 Nucl. Phys. B 599:459: "Conformal four-point
32
+ * functions and the operator product expansion".
33
+ * - Kos-Poland-Simmons-Duffin 2014 JHEP 1406:091: "Bootstrapping the
34
+ * O(N) vector models".
35
+ *
36
+ * Status: established. The crossing-symmetry equation is canonical CFT
37
+ * bootstrap content; pinning it as 'established' in the catalog reflects
38
+ * that the *symmetry identity* has decades of literature support.
39
+ *
40
+ * Honest-claude scope notes:
41
+ * - Single-block reduction. The real bootstrap programme sums an
42
+ * infinite (Δ, ℓ) tower with positivity / unitarity constraints —
43
+ * that spectrum-fitting is the load-bearing numerical content of
44
+ * bootstrap papers and is NOT captured here. Encoding only the
45
+ * crossing residual pins the symmetry but not the spectrum work.
46
+ * - OPE coefficients C are scheme-dependent normalizations. We
47
+ * assume operators are unit-normalized in their two-point function,
48
+ * which makes C dimensionless. Other normalization conventions
49
+ * (e.g., absorbing a Δ-dependent factor into C) shift the literal
50
+ * numerical value of C without altering R_cross = 0.
51
+ * - Conformal-block special functions g_{Δ,ℓ}(u, v) are encoded as
52
+ * dimensionless symbol stubs (`g_block_uv`, `g_block_vu`) — NOT as
53
+ * their analytic-function expressions. Closed forms exist in 2D and
54
+ * 4D (Dolan-Osborn) but live outside the AST grammar (which has no
55
+ * hypergeometric-function node).
56
+ * - The identity is symbolic. Numerically evaluating with arbitrary
57
+ * g_uv ≠ g_vu yields a nonzero residual: that does NOT signal a
58
+ * bootstrap violation — it signals that the caller passed a pair
59
+ * that is not a legitimate (u, v) ↔ (v, u) crossing pair from the
60
+ * same conformal block. The residual is a *test instrument*.
61
+ *
62
+ * @see docs/specification/Part-II.md ("Bridge Equation 35: Conformal Bootstrap")
63
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 35)
64
+ * @module bridges/equations/be-35-conformal-bootstrap
65
+ */
66
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
67
+ /**
68
+ * Lemma AST: forward-channel block `C² · g_block(u, v)`.
69
+ *
70
+ * Both factors are dimensionless: C is the OPE coefficient under
71
+ * unit-normalized operators; g_block(u, v) is the conformal block
72
+ * (dimensionless function of dimensionless cross-ratios u, v).
73
+ */
74
+ export declare const BE35_FORWARD_BLOCK: ExprNode;
75
+ /**
76
+ * Lemma AST: crossed-channel block `C² · g_block(v, u)`. Same shape as
77
+ * BE35_FORWARD_BLOCK with cross-ratios swapped — exposed for direct
78
+ * dimensional verification and for differencing in the residual.
79
+ */
80
+ export declare const BE35_CROSSED_BLOCK: ExprNode;
81
+ /**
82
+ * RHS of the crossing-symmetry residual:
83
+ *
84
+ * R_cross = C² · g_block(u, v) − C² · g_block(v, u)
85
+ *
86
+ * encoded as the difference of the two lemma blocks. Both summands are
87
+ * dimensionless, so the result infers DIMENSIONLESS through the
88
+ * dimensional analyzer.
89
+ */
90
+ export declare const BE35_CROSSING_RESIDUAL_RHS: ExprNode;
91
+ /** LHS: R_cross is dimensionless. */
92
+ export declare const BE35_CROSSING_RESIDUAL_LHS: ExprNode;
93
+ export interface CrossingResidualInputs {
94
+ /** OPE coefficient C (dimensionless under unit-normalized operators). Must be finite. */
95
+ ope_coefficient: number;
96
+ /** Conformal block g_block(u, v) at (u, v). Must be finite. */
97
+ g_block_uv: number;
98
+ /** Conformal block g_block(v, u) at the crossed point. Must be finite. */
99
+ g_block_vu: number;
100
+ }
101
+ /**
102
+ * Evaluate the crossing-symmetry residual
103
+ *
104
+ * R_cross = C² · ( g_block(u, v) − g_block(v, u) )
105
+ *
106
+ * Honest-claude: for a *legitimate* crossing pair from a single block,
107
+ * g_uv = g_vu and the residual is exactly zero. Nonzero output for
108
+ * arbitrary inputs does not signal a CFT violation; it signals that the
109
+ * pair (g_uv, g_vu) is not from the same block under a u ↔ v swap.
110
+ */
111
+ export declare function evaluateCrossingResidual(input: CrossingResidualInputs): number;
112
+ /**
113
+ * Run the AST through the dimensional analyzer; LHS and RHS should
114
+ * both be DIMENSIONLESS.
115
+ */
116
+ export declare function validateBE35Dimensions(): DimensionValidationReport;
117
+ //# sourceMappingURL=be-35-conformal-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-35-conformal-bootstrap.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-35-conformal-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW1F;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAehC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAYhC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAMxC,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,0BAA0B,EAAE,QAAwC,CAAC;AAIlF,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,eAAe,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAkB9E;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CAYlE"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Bridge Equation 35 — Conformal Bootstrap (crossing-symmetry residual).
3
+ *
4
+ * Original 4-pt-function form (operator-valued; no scalar reduction
5
+ * without committing to specific operator dimensions):
6
+ *
7
+ * ⟨O₁(x₁) O₂(x₂) O₃(x₃) O₄(x₄)⟩
8
+ * = Σ_{Δ, ℓ} C₁₂^O · C₃₄^O · g_{Δ, ℓ}(u, v)
9
+ *
10
+ * Encoded reduction (Wave Z — OpenAI scalar-reduction proposal): for a
11
+ * unitarily-truncated single-block contribution `B(u, v) = C² · g_{Δ,ℓ}(u, v)`,
12
+ * crossing symmetry of the 4-pt function requires `B(u, v) = B(v, u)`. The
13
+ * residual
14
+ *
15
+ * R_cross = C² · [ g_block(u, v) − g_block(v, u) ]
16
+ *
17
+ * is identically zero for any consistent CFT. At the crossing-symmetric
18
+ * point u = v = 1/4 the residual collapses to the operational identity
19
+ * `R_cross|_{u=v=1/4} ≡ 0`.
20
+ *
21
+ * R_cross is DIMENSIONLESS: C is dimensionless when the operators are
22
+ * unit-normalized in their two-point functions, and g_block(u, v) is a
23
+ * dimensionless special function of dimensionless cross-ratios.
24
+ *
25
+ * References:
26
+ * - Rattazzi-Rychkov-Tonni-Vichi 2008 JHEP 0812:031
27
+ * (arXiv:0807.0004): "Bounding scalar operator dimensions in 4D CFT".
28
+ * - Poland-Rychkov-Vichi 2019 Rev. Mod. Phys. 91:015002
29
+ * (arXiv:1805.04405): "The conformal bootstrap: theory, numerical
30
+ * techniques, and applications".
31
+ * - Dolan-Osborn 2001 Nucl. Phys. B 599:459: "Conformal four-point
32
+ * functions and the operator product expansion".
33
+ * - Kos-Poland-Simmons-Duffin 2014 JHEP 1406:091: "Bootstrapping the
34
+ * O(N) vector models".
35
+ *
36
+ * Status: established. The crossing-symmetry equation is canonical CFT
37
+ * bootstrap content; pinning it as 'established' in the catalog reflects
38
+ * that the *symmetry identity* has decades of literature support.
39
+ *
40
+ * Honest-claude scope notes:
41
+ * - Single-block reduction. The real bootstrap programme sums an
42
+ * infinite (Δ, ℓ) tower with positivity / unitarity constraints —
43
+ * that spectrum-fitting is the load-bearing numerical content of
44
+ * bootstrap papers and is NOT captured here. Encoding only the
45
+ * crossing residual pins the symmetry but not the spectrum work.
46
+ * - OPE coefficients C are scheme-dependent normalizations. We
47
+ * assume operators are unit-normalized in their two-point function,
48
+ * which makes C dimensionless. Other normalization conventions
49
+ * (e.g., absorbing a Δ-dependent factor into C) shift the literal
50
+ * numerical value of C without altering R_cross = 0.
51
+ * - Conformal-block special functions g_{Δ,ℓ}(u, v) are encoded as
52
+ * dimensionless symbol stubs (`g_block_uv`, `g_block_vu`) — NOT as
53
+ * their analytic-function expressions. Closed forms exist in 2D and
54
+ * 4D (Dolan-Osborn) but live outside the AST grammar (which has no
55
+ * hypergeometric-function node).
56
+ * - The identity is symbolic. Numerically evaluating with arbitrary
57
+ * g_uv ≠ g_vu yields a nonzero residual: that does NOT signal a
58
+ * bootstrap violation — it signals that the caller passed a pair
59
+ * that is not a legitimate (u, v) ↔ (v, u) crossing pair from the
60
+ * same conformal block. The residual is a *test instrument*.
61
+ *
62
+ * @see docs/specification/Part-II.md ("Bridge Equation 35: Conformal Bootstrap")
63
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 35)
64
+ * @module bridges/equations/be-35-conformal-bootstrap
65
+ */
66
+ import { validate, validateEquation } from '../../dimensional/validator.js';
67
+ import { DIMENSIONLESS, } from '../../dimensional/types.js';
68
+ // --- Symbolic AST ---
69
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
70
+ /**
71
+ * Lemma AST: forward-channel block `C² · g_block(u, v)`.
72
+ *
73
+ * Both factors are dimensionless: C is the OPE coefficient under
74
+ * unit-normalized operators; g_block(u, v) is the conformal block
75
+ * (dimensionless function of dimensionless cross-ratios u, v).
76
+ */
77
+ export const BE35_FORWARD_BLOCK = {
78
+ kind: 'op', op: '*',
79
+ args: [
80
+ {
81
+ kind: 'op', op: '^',
82
+ args: [
83
+ sym('C', DIMENSIONLESS),
84
+ // Numeric-literal exponent: the validator parses the symbol's
85
+ // `name` via Number(), so the literal text must be a finite
86
+ // number ('2'), not a word ('two').
87
+ sym('2', DIMENSIONLESS),
88
+ ],
89
+ },
90
+ sym('g_block_uv', DIMENSIONLESS),
91
+ ],
92
+ };
93
+ /**
94
+ * Lemma AST: crossed-channel block `C² · g_block(v, u)`. Same shape as
95
+ * BE35_FORWARD_BLOCK with cross-ratios swapped — exposed for direct
96
+ * dimensional verification and for differencing in the residual.
97
+ */
98
+ export const BE35_CROSSED_BLOCK = {
99
+ kind: 'op', op: '*',
100
+ args: [
101
+ {
102
+ kind: 'op', op: '^',
103
+ args: [
104
+ sym('C', DIMENSIONLESS),
105
+ sym('2', DIMENSIONLESS),
106
+ ],
107
+ },
108
+ sym('g_block_vu', DIMENSIONLESS),
109
+ ],
110
+ };
111
+ /**
112
+ * RHS of the crossing-symmetry residual:
113
+ *
114
+ * R_cross = C² · g_block(u, v) − C² · g_block(v, u)
115
+ *
116
+ * encoded as the difference of the two lemma blocks. Both summands are
117
+ * dimensionless, so the result infers DIMENSIONLESS through the
118
+ * dimensional analyzer.
119
+ */
120
+ export const BE35_CROSSING_RESIDUAL_RHS = {
121
+ kind: 'op', op: '-',
122
+ args: [
123
+ BE35_FORWARD_BLOCK,
124
+ BE35_CROSSED_BLOCK,
125
+ ],
126
+ };
127
+ /** LHS: R_cross is dimensionless. */
128
+ export const BE35_CROSSING_RESIDUAL_LHS = sym('R_cross', DIMENSIONLESS);
129
+ /**
130
+ * Evaluate the crossing-symmetry residual
131
+ *
132
+ * R_cross = C² · ( g_block(u, v) − g_block(v, u) )
133
+ *
134
+ * Honest-claude: for a *legitimate* crossing pair from a single block,
135
+ * g_uv = g_vu and the residual is exactly zero. Nonzero output for
136
+ * arbitrary inputs does not signal a CFT violation; it signals that the
137
+ * pair (g_uv, g_vu) is not from the same block under a u ↔ v swap.
138
+ */
139
+ export function evaluateCrossingResidual(input) {
140
+ const { ope_coefficient, g_block_uv, g_block_vu } = input;
141
+ if (!Number.isFinite(ope_coefficient)) {
142
+ throw new RangeError(`evaluateCrossingResidual: ope_coefficient must be finite, got ${ope_coefficient}`);
143
+ }
144
+ if (!Number.isFinite(g_block_uv)) {
145
+ throw new RangeError(`evaluateCrossingResidual: g_block_uv must be finite, got ${g_block_uv}`);
146
+ }
147
+ if (!Number.isFinite(g_block_vu)) {
148
+ throw new RangeError(`evaluateCrossingResidual: g_block_vu must be finite, got ${g_block_vu}`);
149
+ }
150
+ return ope_coefficient * ope_coefficient * (g_block_uv - g_block_vu);
151
+ }
152
+ // --- Self-validation ---
153
+ /**
154
+ * Run the AST through the dimensional analyzer; LHS and RHS should
155
+ * both be DIMENSIONLESS.
156
+ */
157
+ export function validateBE35Dimensions() {
158
+ const eq = validateEquation(BE35_CROSSING_RESIDUAL_LHS, BE35_CROSSING_RESIDUAL_RHS);
159
+ const lhs = validate(BE35_CROSSING_RESIDUAL_LHS);
160
+ const rhs = validate(BE35_CROSSING_RESIDUAL_RHS);
161
+ return {
162
+ ok: eq.ok,
163
+ lhsDim: lhs.inferredDimension,
164
+ rhsDim: rhs.inferredDimension,
165
+ };
166
+ }
167
+ //# sourceMappingURL=be-35-conformal-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-35-conformal-bootstrap.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-35-conformal-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Bridge Equation 36 — GW170817 graviton-speed bound (post Wave Y
3
+ * reformulation).
4
+ *
5
+ * |c_GW − c| / c ≤ 10⁻¹⁵
6
+ *
7
+ * The empirical constraint from the GW170817 binary-neutron-star
8
+ * merger / GRB170817A coincidence: the gravitational-wave speed and
9
+ * the photon speed agree to better than 1 part in 10¹⁵, derived from
10
+ * the ~1.7 s arrival-time difference over a ~40 Mpc distance
11
+ * (Abbott et al. 2017 *ApJ Lett.* 848:L13; Boran et al. 2018
12
+ * *Phys. Rev. D* 97:041501). This bound rules out or strongly
13
+ * constrains TeVeS-class theories that generically predict c_GW ≠ c.
14
+ *
15
+ * The encoded scalar is the dimensionless ratio (c_GW − c)/c
16
+ * (signed). The bound itself is `|·| ≤ 10⁻¹⁵`; for GR (c_GW = c
17
+ * exactly), the LHS is 0.
18
+ *
19
+ * References:
20
+ * - Abbott et al. (LIGO/Virgo + INTEGRAL Collaborations) 2017 *ApJ
21
+ * Lett.* 848:L13 (arXiv:1710.05832; multi-messenger GW170817 +
22
+ * GRB170817A coincidence; |Δv|/c ≲ 10⁻¹⁵).
23
+ * - Boran, Desai, Kahya & Woodard 2018 *Phys. Rev. D* 97:041501
24
+ * (arXiv:1710.06168; GW170817 constraint on TeVeS-class theories).
25
+ *
26
+ * Status: speculative.
27
+ *
28
+ * Honest-claude scope notes:
29
+ * - The TeVeS framework (Bekenstein 2004, the original BE-36 form)
30
+ * is preserved as the bridge framing; the GW170817 dimensionless
31
+ * ratio is the AST-encodable scalar bound.
32
+ * - For GR (c_GW = c), the encoded ratio is 0 ≤ 10⁻¹⁵ ✓ (trivially).
33
+ * - For TeVeS variants where c_GW ≠ c, the |ratio| must be bounded
34
+ * above by 10⁻¹⁵ to remain consistent with GW170817.
35
+ * - The AST encodes the signed ratio (c_GW − c)/c; the absolute
36
+ * value is computed in the numerical evaluator (Math.abs).
37
+ *
38
+ * @see docs/specification/Part-II.md ("Bridge Equation 36")
39
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 36)
40
+ * @module bridges/equations/be-36-gw-speed-bound
41
+ */
42
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
43
+ /**
44
+ * RHS of the GW170817 dimensionless ratio:
45
+ * ratio = (c_GW − c) / c
46
+ *
47
+ * Both numerator and denominator are velocities; ratio is
48
+ * DIMENSIONLESS.
49
+ */
50
+ export declare const BE36_GW_SPEED_RATIO_RHS: ExprNode;
51
+ /** LHS: signed dimensionless graviton-photon speed-difference ratio. */
52
+ export declare const BE36_GW_SPEED_RATIO_LHS: ExprNode;
53
+ /** Canonical GW170817 upper bound on |Δv|/c. */
54
+ export declare const GW170817_SPEED_BOUND = 1e-15;
55
+ export interface GWSpeedRatioInputs {
56
+ /** Gravitational-wave speed c_GW (m/s). Must be > 0 and finite. */
57
+ c_GW_m_per_s: number;
58
+ }
59
+ /**
60
+ * Evaluate the signed dimensionless ratio (c_GW − c)/c.
61
+ *
62
+ * @returns Signed ratio. For GR, c_GW = c exactly and ratio = 0.
63
+ */
64
+ export declare function evaluateGWSpeedRatio(input: GWSpeedRatioInputs): number;
65
+ /**
66
+ * Check whether a candidate c_GW satisfies the GW170817 bound
67
+ * |(c_GW − c)/c| ≤ 10⁻¹⁵.
68
+ *
69
+ * @returns true if |ratio| is at or below the bound.
70
+ */
71
+ export declare function satisfiesGW170817Bound(input: GWSpeedRatioInputs): boolean;
72
+ /**
73
+ * Run the AST through the dimensional analyzer; both sides should be
74
+ * DIMENSIONLESS.
75
+ */
76
+ export declare function validateBE36Dimensions(): DimensionValidationReport;
77
+ //# sourceMappingURL=be-36-gw-speed-bound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-36-gw-speed-bound.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-36-gw-speed-bound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW1F;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAYrC,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,EAAE,QAA+C,CAAC;AAEtF,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAI1C,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEzE;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CASlE"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Bridge Equation 36 — GW170817 graviton-speed bound (post Wave Y
3
+ * reformulation).
4
+ *
5
+ * |c_GW − c| / c ≤ 10⁻¹⁵
6
+ *
7
+ * The empirical constraint from the GW170817 binary-neutron-star
8
+ * merger / GRB170817A coincidence: the gravitational-wave speed and
9
+ * the photon speed agree to better than 1 part in 10¹⁵, derived from
10
+ * the ~1.7 s arrival-time difference over a ~40 Mpc distance
11
+ * (Abbott et al. 2017 *ApJ Lett.* 848:L13; Boran et al. 2018
12
+ * *Phys. Rev. D* 97:041501). This bound rules out or strongly
13
+ * constrains TeVeS-class theories that generically predict c_GW ≠ c.
14
+ *
15
+ * The encoded scalar is the dimensionless ratio (c_GW − c)/c
16
+ * (signed). The bound itself is `|·| ≤ 10⁻¹⁵`; for GR (c_GW = c
17
+ * exactly), the LHS is 0.
18
+ *
19
+ * References:
20
+ * - Abbott et al. (LIGO/Virgo + INTEGRAL Collaborations) 2017 *ApJ
21
+ * Lett.* 848:L13 (arXiv:1710.05832; multi-messenger GW170817 +
22
+ * GRB170817A coincidence; |Δv|/c ≲ 10⁻¹⁵).
23
+ * - Boran, Desai, Kahya & Woodard 2018 *Phys. Rev. D* 97:041501
24
+ * (arXiv:1710.06168; GW170817 constraint on TeVeS-class theories).
25
+ *
26
+ * Status: speculative.
27
+ *
28
+ * Honest-claude scope notes:
29
+ * - The TeVeS framework (Bekenstein 2004, the original BE-36 form)
30
+ * is preserved as the bridge framing; the GW170817 dimensionless
31
+ * ratio is the AST-encodable scalar bound.
32
+ * - For GR (c_GW = c), the encoded ratio is 0 ≤ 10⁻¹⁵ ✓ (trivially).
33
+ * - For TeVeS variants where c_GW ≠ c, the |ratio| must be bounded
34
+ * above by 10⁻¹⁵ to remain consistent with GW170817.
35
+ * - The AST encodes the signed ratio (c_GW − c)/c; the absolute
36
+ * value is computed in the numerical evaluator (Math.abs).
37
+ *
38
+ * @see docs/specification/Part-II.md ("Bridge Equation 36")
39
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 36)
40
+ * @module bridges/equations/be-36-gw-speed-bound
41
+ */
42
+ import { validate, validateEquation } from '../../dimensional/validator.js';
43
+ import { DIMENSIONLESS, VELOCITY, } from '../../dimensional/types.js';
44
+ import { PhysicalConstants } from '../../core/types.js';
45
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
46
+ /**
47
+ * RHS of the GW170817 dimensionless ratio:
48
+ * ratio = (c_GW − c) / c
49
+ *
50
+ * Both numerator and denominator are velocities; ratio is
51
+ * DIMENSIONLESS.
52
+ */
53
+ export const BE36_GW_SPEED_RATIO_RHS = {
54
+ kind: 'op', op: '/',
55
+ args: [
56
+ {
57
+ kind: 'op', op: '-',
58
+ args: [
59
+ sym('c_GW', VELOCITY),
60
+ sym('c', VELOCITY),
61
+ ],
62
+ },
63
+ sym('c', VELOCITY),
64
+ ],
65
+ };
66
+ /** LHS: signed dimensionless graviton-photon speed-difference ratio. */
67
+ export const BE36_GW_SPEED_RATIO_LHS = sym('delta_v_over_c', DIMENSIONLESS);
68
+ /** Canonical GW170817 upper bound on |Δv|/c. */
69
+ export const GW170817_SPEED_BOUND = 1e-15;
70
+ /**
71
+ * Evaluate the signed dimensionless ratio (c_GW − c)/c.
72
+ *
73
+ * @returns Signed ratio. For GR, c_GW = c exactly and ratio = 0.
74
+ */
75
+ export function evaluateGWSpeedRatio(input) {
76
+ const { c_GW_m_per_s } = input;
77
+ if (!Number.isFinite(c_GW_m_per_s) || c_GW_m_per_s <= 0) {
78
+ throw new RangeError(`evaluateGWSpeedRatio: c_GW_m_per_s must be a finite positive number, got ${c_GW_m_per_s}`);
79
+ }
80
+ const { c } = PhysicalConstants;
81
+ return (c_GW_m_per_s - c) / c;
82
+ }
83
+ /**
84
+ * Check whether a candidate c_GW satisfies the GW170817 bound
85
+ * |(c_GW − c)/c| ≤ 10⁻¹⁵.
86
+ *
87
+ * @returns true if |ratio| is at or below the bound.
88
+ */
89
+ export function satisfiesGW170817Bound(input) {
90
+ return Math.abs(evaluateGWSpeedRatio(input)) <= GW170817_SPEED_BOUND;
91
+ }
92
+ // --- Self-validation ---
93
+ /**
94
+ * Run the AST through the dimensional analyzer; both sides should be
95
+ * DIMENSIONLESS.
96
+ */
97
+ export function validateBE36Dimensions() {
98
+ const eq = validateEquation(BE36_GW_SPEED_RATIO_LHS, BE36_GW_SPEED_RATIO_RHS);
99
+ const lhs = validate(BE36_GW_SPEED_RATIO_LHS);
100
+ const rhs = validate(BE36_GW_SPEED_RATIO_RHS);
101
+ return {
102
+ ok: eq.ok,
103
+ lhsDim: lhs.inferredDimension,
104
+ rhsDim: rhs.inferredDimension,
105
+ };
106
+ }
107
+ //# sourceMappingURL=be-36-gw-speed-bound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-36-gw-speed-bound.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-36-gw-speed-bound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAEL,aAAa,EACb,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAc,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;YACnB,IAAI,EAAE;gBACJ,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;aACnB;SACF;QACD,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;KACnB;CACF,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAa,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAEtF,gDAAgD;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAS1C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,UAAU,CAClB,4EAA4E,YAAY,EAAE,CAC3F,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC;IAChC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,oBAAoB,CAAC;AACvE,CAAC;AAED,0BAA0B;AAE1B;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,EAAE,GAAG,gBAAgB,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,MAAM,EAAE,GAAG,CAAC,iBAAiB;QAC7B,MAAM,EAAE,GAAG,CAAC,iBAAiB;KAC9B,CAAC;AACJ,CAAC"}