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,123 @@
1
+ /**
2
+ * Bridge Equation 22 — Topological Entanglement Entropy
3
+ * (Kitaev-Preskill / Levin-Wen single-subsystem form).
4
+ *
5
+ * S(R) = α · L(R) − γ + O(L^-1)
6
+ *
7
+ * S(R) is the von Neumann entanglement entropy of subsystem R
8
+ * (dimensionless, in nats); α is a non-universal area-law coefficient
9
+ * with dim [L^-1]; L(R) is the perimeter (boundary length) of R, dim [L];
10
+ * γ is the topological entanglement entropy (dimensionless). For an
11
+ * abelian topological phase, γ = log D where D = √(Σᵢ d²ᵢ) is the
12
+ * total quantum dimension. For the Z₂ toric code, D = 2 and γ = log 2.
13
+ *
14
+ * References:
15
+ * - Kitaev-Preskill 2006 Phys. Rev. Lett. 96:110404
16
+ * (arXiv:hep-th/0510092): "Topological entanglement entropy".
17
+ * - Levin-Wen 2006 Phys. Rev. Lett. 96:110405
18
+ * (arXiv:cond-mat/0510613): "Detecting topological order in a
19
+ * ground state wave function".
20
+ *
21
+ * Status: speculative. The Kitaev-Preskill formula itself is
22
+ * established in condensed-matter / topological-order literature.
23
+ * The "QG link" framing (originally BE-22 in this catalog) is
24
+ * original to UPT and not in either reference: applying TEE to
25
+ * quantum gravity requires identifying which gravitational degree of
26
+ * freedom the boundary R bounds, which has not been committed to
27
+ * within UPT scope. The encoding pins the math; the bridge to QG is
28
+ * the speculative content.
29
+ *
30
+ * Honest-claude scope notes:
31
+ * - The `O(L^-1)` correction is dropped per the encoding scope; we
32
+ * encode only the leading area + topological terms.
33
+ * - The AST has no dedicated way to express "S(R) is dimensionless
34
+ * because each term is dimensionless"; we encode the RHS as
35
+ * `α · L − γ`, which the validator infers as DIMENSIONLESS
36
+ * because (α [L^-1]) · (L [L]) = [1] and γ is [1]. The lemma
37
+ * terms `BE22_AREA_TERM = α · L` and `BE22_TOPOLOGICAL_TERM = γ`
38
+ * are exposed for direct per-term verification.
39
+ * - Sign convention follows Kitaev-Preskill: TEE enters with a
40
+ * minus sign so that γ > 0 for non-trivial topological order.
41
+ * - Log base: natural log (entropy in nats). Bit-convention (log₂)
42
+ * would scale γ by 1/ln 2; the numerical evaluator does not pick
43
+ * a base — the caller passes γ directly.
44
+ *
45
+ * @see docs/specification/Part-II.md ("Bridge Equation 22: Topological Entanglement Entropy")
46
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 22)
47
+ * @module bridges/equations/be-22-topological-entanglement
48
+ */
49
+ import { validate, validateEquation } from '../../dimensional/validator.js';
50
+ import { DIMENSIONLESS, LENGTH, } from '../../dimensional/types.js';
51
+ // --- Symbolic AST ---
52
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
53
+ /** Inverse-length [L^-1] dimension for the area-law coefficient α. */
54
+ const INV_LENGTH = {
55
+ L: -1, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0,
56
+ };
57
+ /**
58
+ * Lemma AST: the area-law term `α · L`. Exposed for direct dimensional
59
+ * verification — should infer to DIMENSIONLESS.
60
+ */
61
+ export const BE22_AREA_TERM = {
62
+ kind: 'op', op: '*',
63
+ args: [
64
+ sym('alpha', INV_LENGTH),
65
+ sym('L', LENGTH),
66
+ ],
67
+ };
68
+ /**
69
+ * Lemma AST: the topological term γ (already dimensionless by
70
+ * definition; exposed for symmetry with BE22_AREA_TERM).
71
+ */
72
+ export const BE22_TOPOLOGICAL_TERM = sym('gamma', DIMENSIONLESS);
73
+ /**
74
+ * RHS of `S(R) = α · L − γ` as a typed ExprNode tree. The
75
+ * `+ O(L^-1)` correction is dropped per the encoding scope.
76
+ */
77
+ export const BE22_TOPOLOGICAL_ENTANGLEMENT_RHS = {
78
+ kind: 'op', op: '-',
79
+ args: [
80
+ BE22_AREA_TERM,
81
+ BE22_TOPOLOGICAL_TERM,
82
+ ],
83
+ };
84
+ /** LHS: S(R) is dimensionless (entropy in nats). */
85
+ export const BE22_TOPOLOGICAL_ENTANGLEMENT_LHS = sym('S_R', DIMENSIONLESS);
86
+ /**
87
+ * Evaluate S(R) = α · L − γ in nats.
88
+ *
89
+ * Honest-claude: returns the leading-order Kitaev-Preskill form
90
+ * exactly; the `O(L^-1)` finite-size correction is not modelled. For
91
+ * the Z₂ toric code, γ = log 2 ≈ 0.693; for Fibonacci, γ ≈ 0.643.
92
+ *
93
+ * @returns S in nats (dimensionless).
94
+ */
95
+ export function evaluateTEE(input) {
96
+ const { alpha_per_meter, perimeter_m, gamma } = input;
97
+ if (!Number.isFinite(alpha_per_meter)) {
98
+ throw new RangeError(`evaluateTEE: alpha_per_meter must be finite, got ${alpha_per_meter}`);
99
+ }
100
+ if (!Number.isFinite(perimeter_m) || perimeter_m < 0) {
101
+ throw new RangeError(`evaluateTEE: perimeter_m must be a finite non-negative number, got ${perimeter_m}`);
102
+ }
103
+ if (!Number.isFinite(gamma)) {
104
+ throw new RangeError(`evaluateTEE: gamma must be finite, got ${gamma}`);
105
+ }
106
+ return alpha_per_meter * perimeter_m - gamma;
107
+ }
108
+ // --- Self-validation ---
109
+ /**
110
+ * Run the AST through the dimensional analyzer; LHS and RHS should
111
+ * both be DIMENSIONLESS.
112
+ */
113
+ export function validateTEEDimensions() {
114
+ const eq = validateEquation(BE22_TOPOLOGICAL_ENTANGLEMENT_LHS, BE22_TOPOLOGICAL_ENTANGLEMENT_RHS);
115
+ const lhs = validate(BE22_TOPOLOGICAL_ENTANGLEMENT_LHS);
116
+ const rhs = validate(BE22_TOPOLOGICAL_ENTANGLEMENT_RHS);
117
+ return {
118
+ ok: eq.ok,
119
+ lhsDim: lhs.inferredDimension,
120
+ rhsDim: rhs.inferredDimension,
121
+ };
122
+ }
123
+ //# sourceMappingURL=be-22-topological-entanglement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-22-topological-entanglement.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-22-topological-entanglement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAGH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAEL,aAAa,EACb,MAAM,GACP,MAAM,4BAA4B,CAAC;AAEpC,uBAAuB;AAEvB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAc,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAExF,sEAAsE;AACtE,MAAM,UAAU,GAAc;IAC5B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC9C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;KACjB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAa,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAa;IACzD,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ,cAAc;QACd,qBAAqB;KACtB;CACF,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,iCAAiC,GAAa,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAarF;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAClB,oDAAoD,eAAe,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAClB,sEAAsE,WAAW,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAClB,0CAA0C,KAAK,EAAE,CAClD,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,GAAG,WAAW,GAAG,KAAK,CAAC;AAC/C,CAAC;AAED,0BAA0B;AAE1B;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,EAAE,GAAG,gBAAgB,CACzB,iCAAiC,EACjC,iCAAiC,CAClC,CAAC;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IACxD,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,MAAM,EAAE,GAAG,CAAC,iBAAiB;QAC7B,MAAM,EAAE,GAAG,CAAC,iBAAiB;KAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Bridge Equation 23 — Strange-Metal / Black-Hole duality (SYK
3
+ * Planckian dissipation, post Wave P-C R-C1 reformulation + Wave Q
4
+ * A1 m* dimensional fix).
5
+ *
6
+ * ρ(T) = ρ_0 + (m* · k_B T) / (n_e · e² · ℏ) · α_SYK
7
+ *
8
+ * Resistivity SI dim:
9
+ * - Ω = V/A = J/(C·A) = (kg·m²/s²)/(s·A·A) = kg·m²/(s³·A²)
10
+ * - Ω·m = kg·m³/(s³·A²) ≡ [L³ M T⁻³ I⁻²]
11
+ *
12
+ * The thermal term is the canonical Planckian-dissipation linear-in-T
13
+ * resistivity: τ ~ ℏ/(k_B T) sets the relaxation rate, m* is the
14
+ * carrier effective mass, n_e the carrier density, e the elementary
15
+ * charge, and α_SYK is a dimensionless O(1) Sachdev-Ye-Kitaev
16
+ * coefficient. The Wave Q A1 fix added the missing m* prefactor that
17
+ * the prior Wave P-C R-C1 form was missing — without it, the SI
18
+ * dimension was m³/(s·C²) instead of Ω·m = kg·m³/(s·C²).
19
+ *
20
+ * References:
21
+ * - Sachdev-Ye 1993 *Phys. Rev. Lett.* 70:3339 (original SY model);
22
+ * - Kitaev 2015 KITP (canonical SYK formulation);
23
+ * - Maldacena-Stanford 2016 *Phys. Rev. D* 94:106002
24
+ * (arXiv:1604.07818; emergent SL(2,R) symmetry, MSS chaos bound);
25
+ * - Hartnoll 2015 *Nature Phys.* 11:54 (review of strange-metal
26
+ * Planckian dissipation);
27
+ * - Bruin et al. 2013 *Science* 339:804; Legros et al. 2019 *Nature
28
+ * Phys.* 15:142 (empirical confirmation).
29
+ *
30
+ * Status: speculative.
31
+ *
32
+ * Honest-claude scope notes:
33
+ * - The Planckian linear-in-T resistivity is canonical phenomenology;
34
+ * the *bridge framing* (treating the SYK Planckian rate as a UPT
35
+ * condensed-matter ↔ holography duality, with α_SYK bundled rather
36
+ * than derived) is the speculative content.
37
+ * - α_SYK depends on the SYK-q variant (q=4 most studied); UPT does
38
+ * not commit to a specific q-value.
39
+ * - The lemma ExprNode `BE23_SYK_THERMAL_TERM` exposes the
40
+ * `(m* k_B T)/(n_e e² ℏ)` factor directly so the Wave Q A1 m*
41
+ * prefactor fix is testable in isolation.
42
+ *
43
+ * @see docs/specification/Part-II.md ("Bridge Equation 23: Strange-Metal / Black-Hole Duality")
44
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 23)
45
+ * @module bridges/equations/be-23-syk-planckian
46
+ */
47
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
48
+ /**
49
+ * Lemma AST: the Planckian thermal term `(m* · k_B T) / (n_e · e² · ℏ)`.
50
+ *
51
+ * Should infer to RESISTIVITY = [L³ M T⁻³ I⁻²]. Exposed for the
52
+ * lemma test that verifies the m* prefactor restores correct
53
+ * resistivity dimensions (Wave Q A1 fix).
54
+ */
55
+ export declare const BE23_SYK_THERMAL_TERM: ExprNode;
56
+ /**
57
+ * RHS of `ρ(T) = ρ_0 + (m* k_B T)/(n_e e² ℏ) · α_SYK`.
58
+ *
59
+ * Both ρ_0 and the thermal term must have dim [L³ M T⁻³ I⁻²].
60
+ */
61
+ export declare const BE23_SYK_RESISTIVITY_RHS: ExprNode;
62
+ /** LHS: ρ(T) has dimension [L³ M T⁻³ I⁻²] (Ω·m). */
63
+ export declare const BE23_SYK_RESISTIVITY_LHS: ExprNode;
64
+ export interface SYKResistivityInputs {
65
+ /** Residual resistivity ρ_0 (Ω·m). Must be ≥ 0 and finite. */
66
+ rho_0: number;
67
+ /** Carrier effective mass m* (kg). Must be > 0 and finite. */
68
+ m_star_kg: number;
69
+ /** Carrier number density n_e (m⁻³). Must be > 0 and finite. */
70
+ n_e_per_m3: number;
71
+ /** Temperature T (K). Must be ≥ 0 and finite. */
72
+ T_K: number;
73
+ /** Dimensionless SYK coefficient α_SYK (typically O(1)). Must be finite. */
74
+ alpha_SYK: number;
75
+ }
76
+ /**
77
+ * Evaluate the Planckian-dissipation resistivity
78
+ *
79
+ * ρ(T) = ρ_0 + (m* · k_B T) / (n_e · e² · ℏ) · α_SYK
80
+ *
81
+ * @returns Resistivity in Ω·m (SI).
82
+ */
83
+ export declare function evaluateSYKResistivity(input: SYKResistivityInputs): number;
84
+ /**
85
+ * Run the AST through the dimensional analyzer; both sides should be
86
+ * resistivity ([L³ M T⁻³ I⁻²]).
87
+ */
88
+ export declare function validateBE23Dimensions(): DimensionValidationReport;
89
+ //# sourceMappingURL=be-23-syk-planckian.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-23-syk-planckian.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-23-syk-planckian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA2B1F;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAyBnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAYtC,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,wBAAwB,EAAE,QAAkC,CAAC;AAI1E,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CA8B1E;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CASlE"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Bridge Equation 23 — Strange-Metal / Black-Hole duality (SYK
3
+ * Planckian dissipation, post Wave P-C R-C1 reformulation + Wave Q
4
+ * A1 m* dimensional fix).
5
+ *
6
+ * ρ(T) = ρ_0 + (m* · k_B T) / (n_e · e² · ℏ) · α_SYK
7
+ *
8
+ * Resistivity SI dim:
9
+ * - Ω = V/A = J/(C·A) = (kg·m²/s²)/(s·A·A) = kg·m²/(s³·A²)
10
+ * - Ω·m = kg·m³/(s³·A²) ≡ [L³ M T⁻³ I⁻²]
11
+ *
12
+ * The thermal term is the canonical Planckian-dissipation linear-in-T
13
+ * resistivity: τ ~ ℏ/(k_B T) sets the relaxation rate, m* is the
14
+ * carrier effective mass, n_e the carrier density, e the elementary
15
+ * charge, and α_SYK is a dimensionless O(1) Sachdev-Ye-Kitaev
16
+ * coefficient. The Wave Q A1 fix added the missing m* prefactor that
17
+ * the prior Wave P-C R-C1 form was missing — without it, the SI
18
+ * dimension was m³/(s·C²) instead of Ω·m = kg·m³/(s·C²).
19
+ *
20
+ * References:
21
+ * - Sachdev-Ye 1993 *Phys. Rev. Lett.* 70:3339 (original SY model);
22
+ * - Kitaev 2015 KITP (canonical SYK formulation);
23
+ * - Maldacena-Stanford 2016 *Phys. Rev. D* 94:106002
24
+ * (arXiv:1604.07818; emergent SL(2,R) symmetry, MSS chaos bound);
25
+ * - Hartnoll 2015 *Nature Phys.* 11:54 (review of strange-metal
26
+ * Planckian dissipation);
27
+ * - Bruin et al. 2013 *Science* 339:804; Legros et al. 2019 *Nature
28
+ * Phys.* 15:142 (empirical confirmation).
29
+ *
30
+ * Status: speculative.
31
+ *
32
+ * Honest-claude scope notes:
33
+ * - The Planckian linear-in-T resistivity is canonical phenomenology;
34
+ * the *bridge framing* (treating the SYK Planckian rate as a UPT
35
+ * condensed-matter ↔ holography duality, with α_SYK bundled rather
36
+ * than derived) is the speculative content.
37
+ * - α_SYK depends on the SYK-q variant (q=4 most studied); UPT does
38
+ * not commit to a specific q-value.
39
+ * - The lemma ExprNode `BE23_SYK_THERMAL_TERM` exposes the
40
+ * `(m* k_B T)/(n_e e² ℏ)` factor directly so the Wave Q A1 m*
41
+ * prefactor fix is testable in isolation.
42
+ *
43
+ * @see docs/specification/Part-II.md ("Bridge Equation 23: Strange-Metal / Black-Hole Duality")
44
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 23)
45
+ * @module bridges/equations/be-23-syk-planckian
46
+ */
47
+ import { validate, validateEquation } from '../../dimensional/validator.js';
48
+ import { DIMENSIONLESS, LENGTH, MASS, TEMPERATURE, } from '../../dimensional/types.js';
49
+ import { power } from '../../dimensional/algebra.js';
50
+ import { hbar as DIM_hbar, k_B as DIM_kB, e as DIM_e, } from '../../dimensional/constants.js';
51
+ import { PhysicalConstants } from '../../core/types.js';
52
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
53
+ /** [L^-3] — number-density dimension for n_e. */
54
+ const NUMBER_DENSITY = power(LENGTH, -3);
55
+ /** [L³ M T⁻³ I⁻²] — resistivity (Ω·m). */
56
+ const RESISTIVITY = {
57
+ L: 3, M: 1, T: -3, I: -2, Theta: 0, N: 0, J: 0,
58
+ };
59
+ /**
60
+ * Lemma AST: the Planckian thermal term `(m* · k_B T) / (n_e · e² · ℏ)`.
61
+ *
62
+ * Should infer to RESISTIVITY = [L³ M T⁻³ I⁻²]. Exposed for the
63
+ * lemma test that verifies the m* prefactor restores correct
64
+ * resistivity dimensions (Wave Q A1 fix).
65
+ */
66
+ export const BE23_SYK_THERMAL_TERM = {
67
+ kind: 'op', op: '/',
68
+ args: [
69
+ {
70
+ // numerator: m* · k_B · T
71
+ kind: 'op', op: '*',
72
+ args: [
73
+ sym('m_star', MASS),
74
+ sym('k_B', DIM_kB),
75
+ sym('T', TEMPERATURE),
76
+ ],
77
+ },
78
+ {
79
+ // denominator: n_e · e² · ℏ
80
+ kind: 'op', op: '*',
81
+ args: [
82
+ sym('n_e', NUMBER_DENSITY),
83
+ {
84
+ kind: 'op', op: '^',
85
+ args: [sym('e', DIM_e), sym('2', DIMENSIONLESS)],
86
+ },
87
+ sym('hbar', DIM_hbar),
88
+ ],
89
+ },
90
+ ],
91
+ };
92
+ /**
93
+ * RHS of `ρ(T) = ρ_0 + (m* k_B T)/(n_e e² ℏ) · α_SYK`.
94
+ *
95
+ * Both ρ_0 and the thermal term must have dim [L³ M T⁻³ I⁻²].
96
+ */
97
+ export const BE23_SYK_RESISTIVITY_RHS = {
98
+ kind: 'op', op: '+',
99
+ args: [
100
+ sym('rho_0', RESISTIVITY),
101
+ {
102
+ kind: 'op', op: '*',
103
+ args: [
104
+ BE23_SYK_THERMAL_TERM,
105
+ sym('alpha_SYK', DIMENSIONLESS),
106
+ ],
107
+ },
108
+ ],
109
+ };
110
+ /** LHS: ρ(T) has dimension [L³ M T⁻³ I⁻²] (Ω·m). */
111
+ export const BE23_SYK_RESISTIVITY_LHS = sym('rho', RESISTIVITY);
112
+ /**
113
+ * Evaluate the Planckian-dissipation resistivity
114
+ *
115
+ * ρ(T) = ρ_0 + (m* · k_B T) / (n_e · e² · ℏ) · α_SYK
116
+ *
117
+ * @returns Resistivity in Ω·m (SI).
118
+ */
119
+ export function evaluateSYKResistivity(input) {
120
+ const { rho_0, m_star_kg, n_e_per_m3, T_K, alpha_SYK } = input;
121
+ if (!Number.isFinite(rho_0) || rho_0 < 0) {
122
+ throw new RangeError(`evaluateSYKResistivity: rho_0 must be a finite non-negative number, got ${rho_0}`);
123
+ }
124
+ if (!Number.isFinite(m_star_kg) || m_star_kg <= 0) {
125
+ throw new RangeError(`evaluateSYKResistivity: m_star_kg must be a finite positive number, got ${m_star_kg}`);
126
+ }
127
+ if (!Number.isFinite(n_e_per_m3) || n_e_per_m3 <= 0) {
128
+ throw new RangeError(`evaluateSYKResistivity: n_e_per_m3 must be a finite positive number, got ${n_e_per_m3}`);
129
+ }
130
+ if (!Number.isFinite(T_K) || T_K < 0) {
131
+ throw new RangeError(`evaluateSYKResistivity: T_K must be a finite non-negative number, got ${T_K}`);
132
+ }
133
+ if (!Number.isFinite(alpha_SYK)) {
134
+ throw new RangeError(`evaluateSYKResistivity: alpha_SYK must be finite, got ${alpha_SYK}`);
135
+ }
136
+ const { hbar, kB, e } = PhysicalConstants;
137
+ const thermal = (m_star_kg * kB * T_K) / (n_e_per_m3 * e * e * hbar);
138
+ return rho_0 + thermal * alpha_SYK;
139
+ }
140
+ // --- Self-validation ---
141
+ /**
142
+ * Run the AST through the dimensional analyzer; both sides should be
143
+ * resistivity ([L³ M T⁻³ I⁻²]).
144
+ */
145
+ export function validateBE23Dimensions() {
146
+ const eq = validateEquation(BE23_SYK_RESISTIVITY_LHS, BE23_SYK_RESISTIVITY_RHS);
147
+ const lhs = validate(BE23_SYK_RESISTIVITY_LHS);
148
+ const rhs = validate(BE23_SYK_RESISTIVITY_RHS);
149
+ return {
150
+ ok: eq.ok,
151
+ lhsDim: lhs.inferredDimension,
152
+ rhsDim: rhs.inferredDimension,
153
+ };
154
+ }
155
+ //# sourceMappingURL=be-23-syk-planckian.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-23-syk-planckian.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-23-syk-planckian.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Bridge Equation 24 — Förster Resonance Energy Transfer (FRET) efficiency.
3
+ *
4
+ * η = R_0⁶ / (R_0⁶ + R⁶) ≡ 1 / (1 + (R/R_0)⁶)
5
+ *
6
+ * R is the donor-acceptor distance, R_0 is the Förster radius (typically
7
+ * 2-10 nm; defined as the distance at which η = 1/2). η ∈ [0,1] by
8
+ * construction.
9
+ *
10
+ * BE-24's catalog `formula_latex` carries TWO formulas — the
11
+ * dipole-dipole transfer rate `k_FRET = (1/τ_D)·(R_0/R)⁶` (dim [T^-1])
12
+ * and the bound-respecting efficiency `η` (dimensionless). We encode
13
+ * the EFFICIENCY here because:
14
+ * - it is the natural FRET observable in donor-acceptor distance
15
+ * measurements;
16
+ * - η ∈ [0,1] by construction (no bound-violation regime to worry
17
+ * about);
18
+ * - it round-trips cleanly to `[1]` through the validator without
19
+ * needing a τ_D dimensional symbol.
20
+ *
21
+ * Reference: Förster 1948 *Ann. Phys. (Leipzig)* 437:55 (canonical FRET
22
+ * derivation). Lakowicz 2006 *Principles of Fluorescence Spectroscopy*
23
+ * 3rd ed. Ch. 13 (textbook reference for both k_FRET and η forms).
24
+ *
25
+ * Status: speculative.
26
+ *
27
+ * Honest-claude scope notes:
28
+ * - The Förster formulas are canonical; the *bridge framing* (using
29
+ * FRET as a UPT quantum ↔ biological bridge) is the speculative
30
+ * element. Same convention as BE-22 (Kitaev-Preskill canonical,
31
+ * QG framing speculative) and BE-38 (Milgrom MOND canonical, UPT
32
+ * framing speculative).
33
+ * - FRET is incoherent (incoherent dipole-dipole rate, no
34
+ * quantum-coherent enhancement); the long-running quantum-coherence-
35
+ * in-photosynthesis question (Engel 2007 vs. Cao 2020 / Duan 2017
36
+ * / Thyrhaug 2018) is contested. UPT pins FRET as the canonical
37
+ * baseline — see BE-24 `known_issues` for the contested-coherence
38
+ * reformulation candidate.
39
+ * - The Förster radius R_0 is itself set by `R_0⁶ ∝ κ² Q_D J / n⁴`
40
+ * (orientation factor κ², donor quantum yield Q_D, spectral overlap
41
+ * J, refractive index n). UPT does not commit to a specific
42
+ * R_0-decomposition; R_0 is treated as a free input.
43
+ *
44
+ * @see docs/specification/Part-II.md ("Bridge Equation 24: Quantum Coherence in Photosynthesis Efficiency")
45
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 24)
46
+ * @module bridges/equations/be-24-foerster-fret
47
+ */
48
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
49
+ /**
50
+ * RHS of the FRET efficiency:
51
+ * η = R_0⁶ / (R_0⁶ + R⁶)
52
+ *
53
+ * Encoded directly: numerator R_0⁶ and denominator R_0⁶ + R⁶, both with
54
+ * dim [L^6]. The ratio is dimensionless. The sextic powers use the `^`
55
+ * op with literal-numeric exponent 6.
56
+ */
57
+ export declare const BE24_FRET_EFFICIENCY_RHS: ExprNode;
58
+ /** LHS: η is dimensionless. */
59
+ export declare const BE24_FRET_EFFICIENCY_LHS: ExprNode;
60
+ export interface FRETEfficiencyInputs {
61
+ /** Donor-acceptor distance R (m). Must be > 0 and finite. */
62
+ R: number;
63
+ /** Förster radius R_0 (m). Must be > 0 and finite. */
64
+ R_0: number;
65
+ }
66
+ /**
67
+ * Evaluate the FRET transfer efficiency
68
+ *
69
+ * η = 1 / (1 + (R/R_0)⁶) ∈ [0, 1]
70
+ *
71
+ * Equivalent canonical form: η = R_0⁶/(R_0⁶ + R⁶).
72
+ *
73
+ * @returns Dimensionless efficiency η ∈ [0, 1].
74
+ */
75
+ export declare function evaluateFRETEfficiency(input: FRETEfficiencyInputs): number;
76
+ /**
77
+ * Run the AST through the dimensional analyzer; both sides should be
78
+ * dimensionless.
79
+ */
80
+ export declare function validateBE24Dimensions(): DimensionValidationReport;
81
+ //# sourceMappingURL=be-24-foerster-fret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-24-foerster-fret.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-24-foerster-fret.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAU1F;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAuBtC,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,EAAE,QAA6C,CAAC;AAIrF,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,CAAC,EAAE,MAAM,CAAC;IACV,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAe1E;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CASlE"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Bridge Equation 24 — Förster Resonance Energy Transfer (FRET) efficiency.
3
+ *
4
+ * η = R_0⁶ / (R_0⁶ + R⁶) ≡ 1 / (1 + (R/R_0)⁶)
5
+ *
6
+ * R is the donor-acceptor distance, R_0 is the Förster radius (typically
7
+ * 2-10 nm; defined as the distance at which η = 1/2). η ∈ [0,1] by
8
+ * construction.
9
+ *
10
+ * BE-24's catalog `formula_latex` carries TWO formulas — the
11
+ * dipole-dipole transfer rate `k_FRET = (1/τ_D)·(R_0/R)⁶` (dim [T^-1])
12
+ * and the bound-respecting efficiency `η` (dimensionless). We encode
13
+ * the EFFICIENCY here because:
14
+ * - it is the natural FRET observable in donor-acceptor distance
15
+ * measurements;
16
+ * - η ∈ [0,1] by construction (no bound-violation regime to worry
17
+ * about);
18
+ * - it round-trips cleanly to `[1]` through the validator without
19
+ * needing a τ_D dimensional symbol.
20
+ *
21
+ * Reference: Förster 1948 *Ann. Phys. (Leipzig)* 437:55 (canonical FRET
22
+ * derivation). Lakowicz 2006 *Principles of Fluorescence Spectroscopy*
23
+ * 3rd ed. Ch. 13 (textbook reference for both k_FRET and η forms).
24
+ *
25
+ * Status: speculative.
26
+ *
27
+ * Honest-claude scope notes:
28
+ * - The Förster formulas are canonical; the *bridge framing* (using
29
+ * FRET as a UPT quantum ↔ biological bridge) is the speculative
30
+ * element. Same convention as BE-22 (Kitaev-Preskill canonical,
31
+ * QG framing speculative) and BE-38 (Milgrom MOND canonical, UPT
32
+ * framing speculative).
33
+ * - FRET is incoherent (incoherent dipole-dipole rate, no
34
+ * quantum-coherent enhancement); the long-running quantum-coherence-
35
+ * in-photosynthesis question (Engel 2007 vs. Cao 2020 / Duan 2017
36
+ * / Thyrhaug 2018) is contested. UPT pins FRET as the canonical
37
+ * baseline — see BE-24 `known_issues` for the contested-coherence
38
+ * reformulation candidate.
39
+ * - The Förster radius R_0 is itself set by `R_0⁶ ∝ κ² Q_D J / n⁴`
40
+ * (orientation factor κ², donor quantum yield Q_D, spectral overlap
41
+ * J, refractive index n). UPT does not commit to a specific
42
+ * R_0-decomposition; R_0 is treated as a free input.
43
+ *
44
+ * @see docs/specification/Part-II.md ("Bridge Equation 24: Quantum Coherence in Photosynthesis Efficiency")
45
+ * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 24)
46
+ * @module bridges/equations/be-24-foerster-fret
47
+ */
48
+ import { validate, validateEquation } from '../../dimensional/validator.js';
49
+ import { DIMENSIONLESS, LENGTH, } from '../../dimensional/types.js';
50
+ const sym = (name, dim) => ({ kind: 'symbol', name, dim });
51
+ /**
52
+ * RHS of the FRET efficiency:
53
+ * η = R_0⁶ / (R_0⁶ + R⁶)
54
+ *
55
+ * Encoded directly: numerator R_0⁶ and denominator R_0⁶ + R⁶, both with
56
+ * dim [L^6]. The ratio is dimensionless. The sextic powers use the `^`
57
+ * op with literal-numeric exponent 6.
58
+ */
59
+ export const BE24_FRET_EFFICIENCY_RHS = {
60
+ kind: 'op', op: '/',
61
+ args: [
62
+ {
63
+ // R_0^6
64
+ kind: 'op', op: '^',
65
+ args: [sym('R_0', LENGTH), sym('6', DIMENSIONLESS)],
66
+ },
67
+ {
68
+ // R_0^6 + R^6 (both terms are [L^6])
69
+ kind: 'op', op: '+',
70
+ args: [
71
+ {
72
+ kind: 'op', op: '^',
73
+ args: [sym('R_0', LENGTH), sym('6', DIMENSIONLESS)],
74
+ },
75
+ {
76
+ kind: 'op', op: '^',
77
+ args: [sym('R', LENGTH), sym('6', DIMENSIONLESS)],
78
+ },
79
+ ],
80
+ },
81
+ ],
82
+ };
83
+ /** LHS: η is dimensionless. */
84
+ export const BE24_FRET_EFFICIENCY_LHS = sym('eta_transfer', DIMENSIONLESS);
85
+ /**
86
+ * Evaluate the FRET transfer efficiency
87
+ *
88
+ * η = 1 / (1 + (R/R_0)⁶) ∈ [0, 1]
89
+ *
90
+ * Equivalent canonical form: η = R_0⁶/(R_0⁶ + R⁶).
91
+ *
92
+ * @returns Dimensionless efficiency η ∈ [0, 1].
93
+ */
94
+ export function evaluateFRETEfficiency(input) {
95
+ const { R, R_0 } = input;
96
+ if (!Number.isFinite(R) || R <= 0) {
97
+ throw new RangeError(`evaluateFRETEfficiency: R must be a finite positive number, got ${R}`);
98
+ }
99
+ if (!Number.isFinite(R_0) || R_0 <= 0) {
100
+ throw new RangeError(`evaluateFRETEfficiency: R_0 must be a finite positive number, got ${R_0}`);
101
+ }
102
+ const ratio = R / R_0;
103
+ const ratio6 = Math.pow(ratio, 6);
104
+ return 1 / (1 + ratio6);
105
+ }
106
+ // --- Self-validation ---
107
+ /**
108
+ * Run the AST through the dimensional analyzer; both sides should be
109
+ * dimensionless.
110
+ */
111
+ export function validateBE24Dimensions() {
112
+ const eq = validateEquation(BE24_FRET_EFFICIENCY_LHS, BE24_FRET_EFFICIENCY_RHS);
113
+ const lhs = validate(BE24_FRET_EFFICIENCY_LHS);
114
+ const rhs = validate(BE24_FRET_EFFICIENCY_RHS);
115
+ return {
116
+ ok: eq.ok,
117
+ lhsDim: lhs.inferredDimension,
118
+ rhsDim: rhs.inferredDimension,
119
+ };
120
+ }
121
+ //# sourceMappingURL=be-24-foerster-fret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"be-24-foerster-fret.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-24-foerster-fret.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAEL,aAAa,EACb,MAAM,GACP,MAAM,4BAA4B,CAAC;AAEpC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAc,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAExF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAa;IAChD,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ;YACE,QAAQ;YACR,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;YACnB,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;SACpD;QACD;YACE,sCAAsC;YACtC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;YACnB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;oBACnB,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;iBACpD;gBACD;oBACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;oBACnB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;iBAClD;aACF;SACF;KACF;CACF,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,wBAAwB,GAAa,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAWrF;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA2B;IAChE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAClB,mEAAmE,CAAC,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAClB,qEAAqE,GAAG,EAAE,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,0BAA0B;AAE1B;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,EAAE,GAAG,gBAAgB,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC/C,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,MAAM,EAAE,GAAG,CAAC,iBAAiB;QAC7B,MAAM,EAAE,GAAG,CAAC,iBAAiB;KAC9B,CAAC;AACJ,CAAC"}