universal-physics-tensor 0.7.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/README.md +147 -109
  2. package/bin/upt.mjs +508 -0
  3. package/dist/bridges/be23-planckian-confrontation.d.ts +162 -0
  4. package/dist/bridges/be23-planckian-confrontation.d.ts.map +1 -0
  5. package/dist/bridges/be23-planckian-confrontation.js +196 -0
  6. package/dist/bridges/be23-planckian-confrontation.js.map +1 -0
  7. package/dist/bridges/be36-gw170817-confrontation.d.ts +111 -0
  8. package/dist/bridges/be36-gw170817-confrontation.d.ts.map +1 -0
  9. package/dist/bridges/be36-gw170817-confrontation.js +100 -0
  10. package/dist/bridges/be36-gw170817-confrontation.js.map +1 -0
  11. package/dist/bridges/bridge-equations.d.ts +129 -0
  12. package/dist/bridges/bridge-equations.d.ts.map +1 -0
  13. package/dist/bridges/bridge-equations.js +130 -0
  14. package/dist/bridges/bridge-equations.js.map +1 -0
  15. package/dist/bridges/catalog-adapter.d.ts +1 -1
  16. package/dist/bridges/catalog-adapter.js +1 -1
  17. package/dist/bridges/confrontation-coverage.d.ts +67 -0
  18. package/dist/bridges/confrontation-coverage.d.ts.map +1 -0
  19. package/dist/bridges/confrontation-coverage.js +83 -0
  20. package/dist/bridges/confrontation-coverage.js.map +1 -0
  21. package/dist/bridges/equations/_be-helpers.d.ts +2 -1
  22. package/dist/bridges/equations/_be-helpers.d.ts.map +1 -1
  23. package/dist/bridges/equations/be-12-coherence-length.d.ts +1 -1
  24. package/dist/bridges/equations/be-13-einstein-trace.d.ts +2 -2
  25. package/dist/bridges/equations/be-13-einstein-trace.js +1 -1
  26. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +2 -2
  27. package/dist/bridges/equations/be-15-emergence.d.ts +19 -5
  28. package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -1
  29. package/dist/bridges/equations/be-15-emergence.js +18 -4
  30. package/dist/bridges/equations/be-15-emergence.js.map +1 -1
  31. package/dist/bridges/equations/be-16-landauer.d.ts +1 -1
  32. package/dist/bridges/equations/be-17-einstein-cartan.d.ts +1 -1
  33. package/dist/bridges/equations/be-18-higgs-mass.d.ts +1 -1
  34. package/dist/bridges/equations/be-19-quantum-bounce.d.ts +1 -1
  35. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +4 -4
  36. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  37. package/dist/bridges/equations/be-20-vacuum-energy.js +4 -2
  38. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  39. package/dist/bridges/equations/be-22-topological-entanglement.d.ts +1 -1
  40. package/dist/bridges/equations/be-23-syk-planckian.d.ts +1 -1
  41. package/dist/bridges/equations/be-24-foerster-fret.d.ts +1 -1
  42. package/dist/bridges/equations/be-25-iit-phi.d.ts +1 -1
  43. package/dist/bridges/equations/be-25-orch-or.d.ts +13 -1
  44. package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -1
  45. package/dist/bridges/equations/be-25-orch-or.js +12 -0
  46. package/dist/bridges/equations/be-25-orch-or.js.map +1 -1
  47. package/dist/bridges/equations/be-26-dna-tunneling.d.ts +2 -2
  48. package/dist/bridges/equations/be-26-dna-tunneling.js +1 -1
  49. package/dist/bridges/equations/be-27-effective-temperature.d.ts +1 -1
  50. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +1 -1
  51. package/dist/bridges/equations/be-29-jarzynski.d.ts +1 -1
  52. package/dist/bridges/equations/be-30-flm-first-law.d.ts +2 -2
  53. package/dist/bridges/equations/be-31-causal-set-bd.d.ts +1 -1
  54. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +1 -1
  55. package/dist/bridges/equations/be-33-hertz-millis.d.ts +1 -1
  56. package/dist/bridges/equations/be-34-kibble-zurek.d.ts +1 -1
  57. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +1 -1
  58. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +12 -5
  59. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -1
  60. package/dist/bridges/equations/be-36-gw-speed-bound.js +11 -4
  61. package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -1
  62. package/dist/bridges/equations/be-38-mond.d.ts +1 -1
  63. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +2 -2
  64. package/dist/bridges/equations/be-40-composite-higgs.d.ts +1 -1
  65. package/dist/bridges/equations/be-41-swampland.d.ts +1 -1
  66. package/dist/bridges/equations/be-43-er-epr.d.ts +1 -1
  67. package/dist/bridges/equations/be-44-soft-hair.d.ts +1 -1
  68. package/dist/bridges/equations/be-45-tcc.d.ts +1 -1
  69. package/dist/bridges/equations/be-46-multiverse-measure.d.ts +1 -1
  70. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +1 -1
  71. package/dist/bridges/equations/be-48-grw-localization.d.ts +1 -1
  72. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +1 -1
  73. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +1 -1
  74. package/dist/bridges/index.d.ts +10 -7
  75. package/dist/bridges/index.d.ts.map +1 -1
  76. package/dist/bridges/index.js +47 -34
  77. package/dist/bridges/index.js.map +1 -1
  78. package/dist/bridges/membership.d.ts +44 -0
  79. package/dist/bridges/membership.d.ts.map +1 -0
  80. package/dist/bridges/membership.js +59 -0
  81. package/dist/bridges/membership.js.map +1 -0
  82. package/dist/bridges/rejected.d.ts +40 -0
  83. package/dist/bridges/rejected.d.ts.map +1 -0
  84. package/dist/bridges/rejected.js +81 -0
  85. package/dist/bridges/rejected.js.map +1 -0
  86. package/dist/composition/bridge-analysis.d.ts +189 -0
  87. package/dist/composition/bridge-analysis.d.ts.map +1 -0
  88. package/dist/composition/bridge-analysis.js +445 -0
  89. package/dist/composition/bridge-analysis.js.map +1 -0
  90. package/dist/composition/bridge-prediction.d.ts +95 -0
  91. package/dist/composition/bridge-prediction.d.ts.map +1 -0
  92. package/dist/composition/bridge-prediction.js +0 -0
  93. package/dist/composition/bridge-prediction.js.map +1 -0
  94. package/dist/composition/catalog-graph.d.ts +20 -0
  95. package/dist/composition/catalog-graph.d.ts.map +1 -0
  96. package/dist/composition/catalog-graph.js +39 -0
  97. package/dist/composition/catalog-graph.js.map +1 -0
  98. package/dist/composition/compose-surface.d.ts +12 -0
  99. package/dist/composition/compose-surface.d.ts.map +1 -0
  100. package/dist/composition/compose-surface.js +10 -0
  101. package/dist/composition/compose-surface.js.map +1 -0
  102. package/dist/composition/compose-symbolic.d.ts +75 -0
  103. package/dist/composition/compose-symbolic.d.ts.map +1 -0
  104. package/dist/composition/compose-symbolic.js +157 -0
  105. package/dist/composition/compose-symbolic.js.map +1 -0
  106. package/dist/composition/compose.d.ts +110 -0
  107. package/dist/composition/compose.d.ts.map +1 -0
  108. package/dist/composition/compose.js +231 -0
  109. package/dist/composition/compose.js.map +1 -0
  110. package/dist/composition/consistency.d.ts +24 -0
  111. package/dist/composition/consistency.d.ts.map +1 -0
  112. package/dist/composition/consistency.js +26 -0
  113. package/dist/composition/consistency.js.map +1 -0
  114. package/dist/composition/discovery.d.ts +104 -0
  115. package/dist/composition/discovery.d.ts.map +1 -0
  116. package/dist/composition/discovery.js +165 -0
  117. package/dist/composition/discovery.js.map +1 -0
  118. package/dist/composition/edge.d.ts +139 -0
  119. package/dist/composition/edge.d.ts.map +1 -0
  120. package/dist/composition/edge.js +72 -0
  121. package/dist/composition/edge.js.map +1 -0
  122. package/dist/composition/edges/calibration.d.ts +107 -0
  123. package/dist/composition/edges/calibration.d.ts.map +1 -0
  124. package/dist/composition/edges/calibration.js +373 -0
  125. package/dist/composition/edges/calibration.js.map +1 -0
  126. package/dist/composition/edges/catalog-full.d.ts +299 -0
  127. package/dist/composition/edges/catalog-full.d.ts.map +1 -0
  128. package/dist/composition/edges/catalog-full.js +989 -0
  129. package/dist/composition/edges/catalog-full.js.map +1 -0
  130. package/dist/composition/edges/catalog-tranche.d.ts +112 -0
  131. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -0
  132. package/dist/composition/edges/catalog-tranche.js +241 -0
  133. package/dist/composition/edges/catalog-tranche.js.map +1 -0
  134. package/dist/composition/enumerate.d.ts +67 -0
  135. package/dist/composition/enumerate.d.ts.map +1 -0
  136. package/dist/composition/enumerate.js +78 -0
  137. package/dist/composition/enumerate.js.map +1 -0
  138. package/dist/composition/explain.d.ts +102 -0
  139. package/dist/composition/explain.d.ts.map +1 -0
  140. package/dist/composition/explain.js +244 -0
  141. package/dist/composition/explain.js.map +1 -0
  142. package/dist/composition/expr-eval.d.ts +33 -0
  143. package/dist/composition/expr-eval.d.ts.map +1 -0
  144. package/dist/composition/expr-eval.js +95 -0
  145. package/dist/composition/expr-eval.js.map +1 -0
  146. package/dist/composition/expr-simplify.d.ts +60 -0
  147. package/dist/composition/expr-simplify.d.ts.map +1 -0
  148. package/dist/composition/expr-simplify.js +330 -0
  149. package/dist/composition/expr-simplify.js.map +1 -0
  150. package/dist/composition/expr-subst.d.ts +29 -0
  151. package/dist/composition/expr-subst.d.ts.map +1 -0
  152. package/dist/composition/expr-subst.js +60 -0
  153. package/dist/composition/expr-subst.js.map +1 -0
  154. package/dist/composition/identifiability.d.ts +103 -0
  155. package/dist/composition/identifiability.d.ts.map +1 -0
  156. package/dist/composition/identifiability.js +148 -0
  157. package/dist/composition/identifiability.js.map +1 -0
  158. package/dist/composition/index.d.ts +37 -0
  159. package/dist/composition/index.d.ts.map +1 -0
  160. package/dist/composition/index.js +27 -0
  161. package/dist/composition/index.js.map +1 -0
  162. package/dist/composition/quantities.d.ts +297 -0
  163. package/dist/composition/quantities.d.ts.map +1 -0
  164. package/dist/composition/quantities.js +1017 -0
  165. package/dist/composition/quantities.js.map +1 -0
  166. package/dist/composition/quantity.d.ts +59 -0
  167. package/dist/composition/quantity.d.ts.map +1 -0
  168. package/dist/composition/quantity.js +36 -0
  169. package/dist/composition/quantity.js.map +1 -0
  170. package/dist/composition/retrodiction.d.ts +94 -0
  171. package/dist/composition/retrodiction.d.ts.map +1 -0
  172. package/dist/composition/retrodiction.js +171 -0
  173. package/dist/composition/retrodiction.js.map +1 -0
  174. package/dist/composition/symbolic-constants.d.ts +33 -0
  175. package/dist/composition/symbolic-constants.d.ts.map +1 -0
  176. package/dist/composition/symbolic-constants.js +50 -0
  177. package/dist/composition/symbolic-constants.js.map +1 -0
  178. package/dist/composition/uncertainty.d.ts +45 -0
  179. package/dist/composition/uncertainty.d.ts.map +1 -0
  180. package/dist/composition/uncertainty.js +59 -0
  181. package/dist/composition/uncertainty.js.map +1 -0
  182. package/dist/core/axes-registry.d.ts +1 -1
  183. package/dist/core/axes-registry.js +1 -1
  184. package/dist/core/cell.d.ts +0 -8
  185. package/dist/core/cell.d.ts.map +1 -1
  186. package/dist/core/cell.js +1 -1
  187. package/dist/core/cell.js.map +1 -1
  188. package/dist/core/constants.d.ts +15 -1
  189. package/dist/core/constants.d.ts.map +1 -1
  190. package/dist/core/constants.js +15 -1
  191. package/dist/core/constants.js.map +1 -1
  192. package/dist/core/flux-rules.d.ts +10 -13
  193. package/dist/core/flux-rules.d.ts.map +1 -1
  194. package/dist/core/flux-rules.js +19 -10
  195. package/dist/core/flux-rules.js.map +1 -1
  196. package/dist/core/labeled-tensor.d.ts +80 -1
  197. package/dist/core/labeled-tensor.d.ts.map +1 -1
  198. package/dist/core/labeled-tensor.js +263 -17
  199. package/dist/core/labeled-tensor.js.map +1 -1
  200. package/dist/core/universal-index.d.ts +1 -1
  201. package/dist/core/universal-index.js +1 -1
  202. package/dist/dimensional/buckingham.d.ts +103 -0
  203. package/dist/dimensional/buckingham.d.ts.map +1 -0
  204. package/dist/dimensional/buckingham.js +284 -0
  205. package/dist/dimensional/buckingham.js.map +1 -0
  206. package/dist/dimensional/dimension-spec.d.ts +24 -0
  207. package/dist/dimensional/dimension-spec.d.ts.map +1 -0
  208. package/dist/dimensional/dimension-spec.js +110 -0
  209. package/dist/dimensional/dimension-spec.js.map +1 -0
  210. package/dist/dimensional/field-equation-helpers.d.ts +1 -1
  211. package/dist/dimensional/field-equation-helpers.js +1 -1
  212. package/dist/dimensional/friedmann-equation.d.ts +1 -1
  213. package/dist/dimensional/friedmann-equation.js +1 -1
  214. package/dist/dimensional/gauge-field.d.ts +1 -1
  215. package/dist/dimensional/gauge-field.js +1 -1
  216. package/dist/dimensional/klein-gordon-equation.d.ts +8 -5
  217. package/dist/dimensional/klein-gordon-equation.d.ts.map +1 -1
  218. package/dist/dimensional/klein-gordon-equation.js +8 -5
  219. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  220. package/dist/dimensional/tensor-trace.d.ts +1 -1
  221. package/dist/dimensional/tensor-trace.js +1 -1
  222. package/dist/dimensional/validator.d.ts +13 -3
  223. package/dist/dimensional/validator.d.ts.map +1 -1
  224. package/dist/dimensional/validator.js +129 -42
  225. package/dist/dimensional/validator.js.map +1 -1
  226. package/dist/index.d.ts +32 -2
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +63 -2
  229. package/dist/index.js.map +1 -1
  230. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
  231. package/dist/numerical/be37-covariant-eikonal.js +15 -18
  232. package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
  233. package/dist/numerical/curvature-lowering-helpers.d.ts +7 -13
  234. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  235. package/dist/numerical/curvature-lowering-helpers.js +1 -1
  236. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  237. package/dist/numerical/derivative-lowering.d.ts +2 -1
  238. package/dist/numerical/derivative-lowering.d.ts.map +1 -1
  239. package/dist/numerical/formula-dimension.d.ts +40 -0
  240. package/dist/numerical/formula-dimension.d.ts.map +1 -0
  241. package/dist/numerical/formula-dimension.js +199 -0
  242. package/dist/numerical/formula-dimension.js.map +1 -0
  243. package/dist/numerical/formula-mathts.d.ts +27 -0
  244. package/dist/numerical/formula-mathts.d.ts.map +1 -0
  245. package/dist/numerical/formula-mathts.js +98 -0
  246. package/dist/numerical/formula-mathts.js.map +1 -0
  247. package/dist/numerical/formula-registry.d.ts +30 -0
  248. package/dist/numerical/formula-registry.d.ts.map +1 -0
  249. package/dist/numerical/formula-registry.js +88 -0
  250. package/dist/numerical/formula-registry.js.map +1 -0
  251. package/dist/numerical/formula.d.ts +75 -0
  252. package/dist/numerical/formula.d.ts.map +1 -0
  253. package/dist/numerical/formula.js +275 -0
  254. package/dist/numerical/formula.js.map +1 -0
  255. package/dist/numerical/geometrized.d.ts +51 -0
  256. package/dist/numerical/geometrized.d.ts.map +1 -0
  257. package/dist/numerical/geometrized.js +66 -0
  258. package/dist/numerical/geometrized.js.map +1 -0
  259. package/dist/numerical/gl4-integrator.d.ts +8 -6
  260. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  261. package/dist/numerical/gl4-integrator.js +6 -6
  262. package/dist/numerical/gl4-integrator.js.map +1 -1
  263. package/dist/numerical/klein-gordon.d.ts +145 -0
  264. package/dist/numerical/klein-gordon.d.ts.map +1 -0
  265. package/dist/numerical/klein-gordon.js +145 -0
  266. package/dist/numerical/klein-gordon.js.map +1 -0
  267. package/dist/numerical/kretschmann.d.ts +43 -12
  268. package/dist/numerical/kretschmann.d.ts.map +1 -1
  269. package/dist/numerical/kretschmann.js +116 -29
  270. package/dist/numerical/kretschmann.js.map +1 -1
  271. package/dist/numerical/lowering.d.ts +18 -0
  272. package/dist/numerical/lowering.d.ts.map +1 -1
  273. package/dist/numerical/lowering.js +54 -42
  274. package/dist/numerical/lowering.js.map +1 -1
  275. package/dist/numerical/null-ic.d.ts +1 -1
  276. package/dist/numerical/null-ic.d.ts.map +1 -1
  277. package/dist/numerical/null-ic.js +3 -2
  278. package/dist/numerical/null-ic.js.map +1 -1
  279. package/dist/numerical/painleve-gullstrand-metric.d.ts +18 -6
  280. package/dist/numerical/painleve-gullstrand-metric.d.ts.map +1 -1
  281. package/dist/numerical/painleve-gullstrand-metric.js +31 -16
  282. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  283. package/dist/numerical/perihelion-finder.d.ts +4 -3
  284. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  285. package/dist/numerical/perihelion-finder.js +5 -4
  286. package/dist/numerical/perihelion-finder.js.map +1 -1
  287. package/dist/numerical/types.d.ts +6 -3
  288. package/dist/numerical/types.d.ts.map +1 -1
  289. package/dist/numerical/weyl-lowering.d.ts +4 -4
  290. package/dist/numerical/weyl-lowering.d.ts.map +1 -1
  291. package/dist/numerical/weyl-lowering.js +14 -1
  292. package/dist/numerical/weyl-lowering.js.map +1 -1
  293. package/package.json +21 -4
@@ -0,0 +1,989 @@
1
+ /**
2
+ * Catalog-full edges — the v0.11 headline: migrate the remaining catalog
3
+ * bridges (those with a USABLE numerical evaluator) to composition-graph
4
+ * `BridgeEdge`s, extending the v0.8.0 calibration + v0.10.0 catalog-tranche
5
+ * sets. Each edge wraps an EXISTING validated catalog evaluator (the catalog
6
+ * stays authoritative — design D-4) and carries a first-class validity
7
+ * domain (G-8) mirroring exactly what the wrapped evaluator enforces.
8
+ *
9
+ * Quantity-name discipline (v0.11 namespacing gate, Option D): every node is
10
+ * defined ONCE in `src/composition/quantities.ts`. Where the physics matches
11
+ * an existing canonical node we REUSE it (`relaxation-rate`, `decoherence-rate`,
12
+ * `temperature`, `mass`, `mass-density`); where the name would collide but the
13
+ * physics DIFFERS we pick a distinct name — e.g. BE-23/BE-26 carrier/proton
14
+ * masses become `effective-mass` / `tunneling-mass`, NOT the gravitational
15
+ * `mass`. BE-13 and BE-31 share the `ricci-scalar` target (both produce the
16
+ * scalar curvature R [L⁻²]).
17
+ *
18
+ * NOT-A-BRIDGE entries — NO edges created (per src/bridges/rejected.ts
19
+ * REJECTED_BRIDGE_IDS): BE-28 (Onsager/MEPP), BE-29 (Jarzynski), BE-32
20
+ * (quantum reference frames), BE-35 (conformal bootstrap), BE-40 (composite
21
+ * Higgs). Rejected adjudications are not bridges and get no graph edge.
22
+ *
23
+ * Other skips (no scalar-Record evaluator): BE-44 soft-hair — its evaluator
24
+ * `evaluateBE44SoftHairCharge` takes a `number[]` news-sample array + grid
25
+ * spacing, not a `Record<string, number>` of scalar quantities, so it cannot
26
+ * be lowered onto the (sources → scalars) edge contract without an array
27
+ * quantity primitive the graph does not yet have.
28
+ *
29
+ * @module composition/edges/catalog-full
30
+ */
31
+ import { evaluateDecoherenceRate } from '../../bridges/equations/be-11-decoherence-master.js';
32
+ import { evaluateEinsteinTrace } from '../../bridges/equations/be-13-einstein-trace.js';
33
+ import { evaluateCoarseningLength } from '../../bridges/equations/be-15-emergence.js';
34
+ import { evaluateBE17SpinDensitySquared } from '../../bridges/equations/be-17-einstein-cartan.js';
35
+ import { evaluateHiggsMass } from '../../bridges/equations/be-18-higgs-mass.js';
36
+ import { evaluateCosmologicalConstantDensity } from '../../bridges/equations/be-20-vacuum-energy.js';
37
+ import { evaluateTEE } from '../../bridges/equations/be-22-topological-entanglement.js';
38
+ import { evaluateSYKResistivity } from '../../bridges/equations/be-23-syk-planckian.js';
39
+ import { evaluateFRETEfficiency } from '../../bridges/equations/be-24-foerster-fret.js';
40
+ import { evaluateIntrinsicInformation } from '../../bridges/equations/be-25-iit-phi.js';
41
+ import { evaluateDNATunneling } from '../../bridges/equations/be-26-dna-tunneling.js';
42
+ import { evaluateEffectiveTemperature } from '../../bridges/equations/be-27-effective-temperature.js';
43
+ import { evaluateFLMFirstLaw } from '../../bridges/equations/be-30-flm-first-law.js';
44
+ import { evaluateBenincasaDowker } from '../../bridges/equations/be-31-causal-set-bd.js';
45
+ import { evaluateHertzMillis } from '../../bridges/equations/be-33-hertz-millis.js';
46
+ import { evaluateKibbleZurek } from '../../bridges/equations/be-34-kibble-zurek.js';
47
+ import { evaluateGWSpeedRatio } from '../../bridges/equations/be-36-gw-speed-bound.js';
48
+ import { evaluateMONDForce } from '../../bridges/equations/be-38-mond.js';
49
+ import { evaluateBetaG } from '../../bridges/equations/be-39-asymptotic-safety.js';
50
+ import { evaluateSwampland } from '../../bridges/equations/be-41-swampland.js';
51
+ import { evaluateEREPRBound } from '../../bridges/equations/be-43-er-epr.js';
52
+ import { evaluateTCC } from '../../bridges/equations/be-45-tcc.js';
53
+ import { evaluateWeinbergVilenkinP } from '../../bridges/equations/be-46-multiverse-measure.js';
54
+ import { evaluateBBNDark } from '../../bridges/equations/be-47-bbn-dark-sector.js';
55
+ import { evaluateQuantumDarwinism } from '../../bridges/equations/be-49-quantum-darwinism.js';
56
+ import { evaluateWFTimeSymmetry } from '../../bridges/equations/be-50-wheeler-feynman.js';
57
+ import { LENGTH, TEMPERATURE, DIMENSIONLESS } from '../../dimensional/types.js';
58
+ import { activeNoiseEnergyQ, advancedFieldAmplitudeQ, anthropicModelParameterQ, anthropicProbabilityQ, areaLawCoefficientQ, attemptFrequencyQ, barrierHeightQ, barrierWidthQ, biologicalRateCorrectionQ, boundaryLengthQ, carrierDensityQ, causalSetCount0Q, causalSetCount1Q, causalSetCount2Q, causalSetCount3Q, coarseningLengthQ, conditionalProbabilityQ, cosmologicalConstantCurvatureQ, cosmologicalConstantDimensionlessQ, couplingPrefactorSquaredQ, darkFermionMassQ, darkReactionRateCoefficientQ, darkSpeciesDensityQ, darwinismDecayExponentQ, darwinismMagnitudeQ, decoherenceRateQ, defectDensityQ, defectRestMassQ, donorAcceptorDistanceQ, dynamicExponentZQ, effectiveMassQ, effectiveTemperatureQ, entanglementEntropyVariationQ, foersterRadiusQ, fragmentCountQ, fragmentMutualInformationQ, fretEfficiencyQ, gravitationalWaveSpeedQ, gwPhotonSpeedRatioQ, hubbleRateQ, inflationHubbleEnergyQ, intrinsicInformationQ, lambdaMassDensityQ, landscapeParameterQ, marginalProbabilityQ, maxEfoldsQ, measureNormalizationQ, microscopicRelaxationTimeQ, modelAMobilityQ, modularHamiltonianVariationQ, mondAccelerationScaleQ, mondForceQ, mutationRateQ, massQ, neutronDensityQ, newtonCouplingBetaQ, newtonCouplingQ, newtonianForceQ, nucleonYieldDensityQ, nucleonYieldRateQ, planckLengthQ, planckMassEnergyQ, planckMassQ, protonDensityQ, quantumCorrelationLengthQ, quenchTimescaleQ, referenceCorrelationLengthQ, referenceCouplingQ, referenceMassQ, referenceTemperatureQ, reheatingTemperatureQ, relaxationRateQ, residualResistivityQ, resistivityQ, retardedFieldAmplitudeQ, ricciScalarQ, scalarFieldReferenceQ, scalarFieldValueQ, smReactionRateCoefficientQ, spatialDimensionQ, spinDensitySquaredQ, staticExponentNuQ, stressEnergyTraceQ, subsystemEntanglementEntropyQ, swamplandCoefficientQ, swamplandTowerMassQ, sykCoefficientQ, systemEnvironmentCouplingQ, tccCorrectionCoefficientQ, temperatureQ, tensorToScalarRatioQ, timeQ, timeSymmetryResidualQ, topologicalEntanglementEntropyQ, torsionContractionScalarQ, totalMutualInformationQ, transferEfficiencyQ, truncationCoefficientAQ, truncationCoefficientBQ, truncationCoefficientCQ, tunnelingMassQ, vacuumExpectationValueQ, wormholeCrossSectionAreaQ, wormholeEntanglementEntropyQ, yukawaCouplingQ, } from '../quantities.js';
59
+ const isFin = Number.isFinite;
60
+ /**
61
+ * BE-11 canonical decoherence master rate (Caldeira-Leggett weak-coupling
62
+ * form): (relaxation-rate, system-environment-coupling, reference-coupling) →
63
+ * γ_k = γ_0 (λ/λ_0)². Wraps `evaluateDecoherenceRate` (γ_0 in s⁻¹, λ/λ_0 in
64
+ * any consistent unit; returns s⁻¹). DISTINCT from {@link be11ZurekEdge}: that
65
+ * one is the SPATIAL specialization (λ₀ = thermal de Broglie wavelength); this
66
+ * is the bare coupling-ratio master rate. Both wrap the same evaluator but on
67
+ * different source quantities.
68
+ *
69
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
70
+ * export for the 26-edge tranche — root-surface budget decision).
71
+ */
72
+ export const be11Edge = {
73
+ id: 'be-11-master',
74
+ beId: 11,
75
+ kind: 'bridge',
76
+ label: 'Decoherence master rate γ_k = γ_0 (λ/λ_0)²',
77
+ sources: [relaxationRateQ, systemEnvironmentCouplingQ, referenceCouplingQ],
78
+ target: decoherenceRateQ,
79
+ confidence: 'established',
80
+ domain: {
81
+ description: 'γ_0 ≥ 0, λ finite, λ_0 > 0',
82
+ predicate: (i) => isFin(i['relaxation-rate']) &&
83
+ i['relaxation-rate'] >= 0 &&
84
+ isFin(i['system-environment-coupling']) &&
85
+ isFin(i['reference-coupling']) &&
86
+ i['reference-coupling'] > 0,
87
+ },
88
+ evaluate: (i) => evaluateDecoherenceRate({
89
+ gamma0_per_s: i['relaxation-rate'],
90
+ lambda: i['system-environment-coupling'],
91
+ lambda0: i['reference-coupling'],
92
+ }),
93
+ citation: 'Caldeira & Leggett 1983 Physica A 121:587; Lindblad 1976 CMP 48:119',
94
+ };
95
+ /**
96
+ * BE-13 trace of Einstein equations: (cosmological-constant-curvature,
97
+ * stress-energy-trace) → R = 4Λ − (8πG/c⁴) T. Wraps `evaluateEinsteinTrace`
98
+ * (Λ in m⁻², T in J/m³; returns R in m⁻²). Shares the `ricci-scalar` target
99
+ * with {@link be31Edge}.
100
+ *
101
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
102
+ * export for the 26-edge tranche — root-surface budget decision).
103
+ */
104
+ export const be13Edge = {
105
+ id: 'be-13',
106
+ beId: 13,
107
+ kind: 'bridge',
108
+ label: 'Einstein trace R = 4Λ − (8πG/c⁴) T',
109
+ sources: [cosmologicalConstantCurvatureQ, stressEnergyTraceQ],
110
+ target: ricciScalarQ,
111
+ confidence: 'speculative',
112
+ domain: {
113
+ description: 'Λ and T finite (all SI)',
114
+ predicate: (i) => isFin(i['cosmological-constant-curvature']) &&
115
+ isFin(i['stress-energy-trace']),
116
+ },
117
+ evaluate: (i) => evaluateEinsteinTrace({
118
+ Lambda_per_m2: i['cosmological-constant-curvature'],
119
+ T_trace_J_per_m3: i['stress-energy-trace'],
120
+ }),
121
+ citation: 'Jacobson 1995 PRL 75:1260; MTW Gravitation §17.4',
122
+ };
123
+ /**
124
+ * BE-15 Kawasaki-Gunton coarsening length: (model-a-mobility, time) →
125
+ * L(t) = √(Γ t). Wraps `evaluateCoarseningLength` (Γ in m²/s, t in s; returns
126
+ * m). Endpoints differ in `scale` (microscale kinetic coefficient → emergent
127
+ * correlation length): a bridge.
128
+ *
129
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
130
+ * export for the 26-edge tranche — root-surface budget decision).
131
+ */
132
+ export const be15Edge = {
133
+ id: 'be-15',
134
+ beId: 15,
135
+ kind: 'bridge',
136
+ label: 'Model A coarsening length L(t) = √(Γ t)',
137
+ sources: [modelAMobilityQ, timeQ],
138
+ target: coarseningLengthQ,
139
+ confidence: 'speculative',
140
+ domain: {
141
+ description: 'Γ > 0 and t > 0 (all SI)',
142
+ predicate: (i) => isFin(i['model-a-mobility']) &&
143
+ i['model-a-mobility'] > 0 &&
144
+ isFin(i['time']) &&
145
+ i['time'] > 0,
146
+ },
147
+ evaluate: (i) => evaluateCoarseningLength({ gamma: i['model-a-mobility'], t: i['time'] }),
148
+ citation: 'Kawasaki & Gunton 1976 PRA 13:2294; Hohenberg & Halperin 1977 RMP 49:435',
149
+ };
150
+ /**
151
+ * BE-17 Einstein-Cartan torsion-spin squared invariant:
152
+ * (einstein-coupling-prefactor-squared, torsion-contraction-scalar) →
153
+ * S²_spin = (c⁴/8πG)² · T_λμν T^λμν. Wraps `evaluateBE17SpinDensitySquared`
154
+ * (prefactor in [M²L²T⁻⁴], contraction in [T²L⁻⁴]; returns [M²L⁻²T⁻²]).
155
+ *
156
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
157
+ * export for the 26-edge tranche — root-surface budget decision).
158
+ */
159
+ export const be17Edge = {
160
+ id: 'be-17',
161
+ beId: 17,
162
+ kind: 'bridge',
163
+ label: 'Einstein-Cartan S²_spin = (c⁴/8πG)² · T·T',
164
+ sources: [couplingPrefactorSquaredQ, torsionContractionScalarQ],
165
+ target: spinDensitySquaredQ,
166
+ confidence: 'speculative',
167
+ domain: {
168
+ description: 'prefactor finite, torsion contraction ≥ 0 (sum of squares)',
169
+ predicate: (i) => isFin(i['einstein-coupling-prefactor-squared']) &&
170
+ isFin(i['torsion-contraction-scalar']) &&
171
+ i['torsion-contraction-scalar'] >= 0,
172
+ },
173
+ evaluate: (i) => evaluateBE17SpinDensitySquared({
174
+ coupling_prefactor_squared: i['einstein-coupling-prefactor-squared'],
175
+ torsion_squared: i['torsion-contraction-scalar'],
176
+ }),
177
+ citation: 'Hehl et al. 1976 RMP 48:393; Cartan 1922 C. R. Acad. Sci. 174:593',
178
+ };
179
+ /**
180
+ * BE-18 Higgs-like dark mass generation: (yukawa-coupling,
181
+ * vacuum-expectation-value) → m_dark = g_dark · v_dark (natural units;
182
+ * mass-as-energy). Wraps `evaluateHiggsMass` (g dimensionless, v in GeV;
183
+ * returns GeV).
184
+ *
185
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
186
+ * export for the 26-edge tranche — root-surface budget decision).
187
+ */
188
+ export const be18Edge = {
189
+ id: 'be-18',
190
+ beId: 18,
191
+ kind: 'bridge',
192
+ label: 'Higgs-like dark mass m_dark = g_dark · v_dark',
193
+ sources: [yukawaCouplingQ, vacuumExpectationValueQ],
194
+ target: darkFermionMassQ,
195
+ confidence: 'speculative',
196
+ domain: {
197
+ description: 'g_dark and v_dark finite',
198
+ predicate: (i) => isFin(i['yukawa-coupling']) && isFin(i['vacuum-expectation-value']),
199
+ },
200
+ evaluate: (i) => evaluateHiggsMass({
201
+ g_dark: i['yukawa-coupling'],
202
+ v_dark_GeV: i['vacuum-expectation-value'],
203
+ }),
204
+ citation: 'Peskin & Schroeder 1995 QFT §20.1',
205
+ };
206
+ /**
207
+ * BE-20 cosmological-constant mass density:
208
+ * cosmological-constant-curvature → ρ_Λ = c² Λ / (8πG). Wraps
209
+ * `evaluateCosmologicalConstantDensity` (Λ in m⁻²; returns kg/m³). Reuses the
210
+ * BE-13/BE-31 `cosmological-constant-curvature` source node (the same Λ in
211
+ * [L⁻²]).
212
+ *
213
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
214
+ * export for the 26-edge tranche — root-surface budget decision).
215
+ */
216
+ export const be20Edge = {
217
+ id: 'be-20',
218
+ beId: 20,
219
+ kind: 'bridge',
220
+ label: 'Cosmological-constant density ρ_Λ = c² Λ / (8πG)',
221
+ sources: [cosmologicalConstantCurvatureQ],
222
+ target: lambdaMassDensityQ,
223
+ confidence: 'speculative',
224
+ domain: {
225
+ description: 'Λ ≥ 0 and finite (m⁻²)',
226
+ predicate: (i) => isFin(i['cosmological-constant-curvature']) &&
227
+ i['cosmological-constant-curvature'] >= 0,
228
+ },
229
+ evaluate: (i) => evaluateCosmologicalConstantDensity({
230
+ Lambda_per_m2: i['cosmological-constant-curvature'],
231
+ }),
232
+ citation: 'Carroll 2001 Living Rev. Relativity 4:1; Planck 2020 A&A 641:A6',
233
+ };
234
+ /**
235
+ * BE-22 topological entanglement entropy: (area-law-coefficient,
236
+ * boundary-length, topological-entanglement-entropy) → S(R) = α·L − γ (nats).
237
+ * Wraps `evaluateTEE` (α in m⁻¹, L in m, γ in nats; returns nats).
238
+ *
239
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
240
+ * export for the 26-edge tranche — root-surface budget decision).
241
+ */
242
+ export const be22Edge = {
243
+ id: 'be-22',
244
+ beId: 22,
245
+ kind: 'bridge',
246
+ label: 'Topological entanglement entropy S(R) = α·L − γ',
247
+ sources: [areaLawCoefficientQ, boundaryLengthQ, topologicalEntanglementEntropyQ],
248
+ target: subsystemEntanglementEntropyQ,
249
+ confidence: 'speculative',
250
+ domain: {
251
+ description: 'α finite, L ≥ 0, γ finite',
252
+ predicate: (i) => isFin(i['area-law-coefficient']) &&
253
+ isFin(i['boundary-length']) &&
254
+ i['boundary-length'] >= 0 &&
255
+ isFin(i['topological-entanglement-entropy']),
256
+ },
257
+ evaluate: (i) => evaluateTEE({
258
+ alpha_per_meter: i['area-law-coefficient'],
259
+ perimeter_m: i['boundary-length'],
260
+ gamma: i['topological-entanglement-entropy'],
261
+ }),
262
+ citation: 'Kitaev & Preskill 2006 PRL 96:110404; Levin & Wen 2006 PRL 96:110405',
263
+ };
264
+ /**
265
+ * BE-23 SYK Planckian resistivity: (residual-resistivity, effective-mass,
266
+ * carrier-density, temperature, syk-coefficient) →
267
+ * ρ(T) = ρ_0 + (m* k_B T)/(n_e e² ℏ) · α_SYK. Wraps `evaluateSYKResistivity`
268
+ * (SI; returns Ω·m). Uses `effective-mass` (carrier band mass), DISTINCT from
269
+ * the gravitational `mass` node — the namespacing gate in action. Reuses the
270
+ * canonical `temperature` node.
271
+ *
272
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
273
+ * export for the 26-edge tranche — root-surface budget decision).
274
+ */
275
+ export const be23Edge = {
276
+ id: 'be-23',
277
+ beId: 23,
278
+ kind: 'bridge',
279
+ label: 'SYK Planckian resistivity ρ(T) = ρ_0 + (m* k_B T)/(n_e e² ℏ)·α_SYK',
280
+ sources: [residualResistivityQ, effectiveMassQ, carrierDensityQ, temperatureQ, sykCoefficientQ],
281
+ target: resistivityQ,
282
+ confidence: 'speculative',
283
+ domain: {
284
+ description: 'ρ_0 ≥ 0, m* > 0, n_e > 0, T ≥ 0, α_SYK finite',
285
+ predicate: (i) => isFin(i['residual-resistivity']) &&
286
+ i['residual-resistivity'] >= 0 &&
287
+ isFin(i['effective-mass']) &&
288
+ i['effective-mass'] > 0 &&
289
+ isFin(i['carrier-density']) &&
290
+ i['carrier-density'] > 0 &&
291
+ isFin(i['temperature']) &&
292
+ i['temperature'] >= 0 &&
293
+ isFin(i['syk-coefficient']),
294
+ },
295
+ evaluate: (i) => evaluateSYKResistivity({
296
+ rho_0: i['residual-resistivity'],
297
+ m_star_kg: i['effective-mass'],
298
+ n_e_per_m3: i['carrier-density'],
299
+ T_K: i['temperature'],
300
+ alpha_SYK: i['syk-coefficient'],
301
+ }),
302
+ citation: 'Sachdev & Ye 1993 PRL 70:3339; Hartnoll 2015 Nature Phys. 11:54',
303
+ };
304
+ /**
305
+ * BE-24 Förster FRET efficiency: (donor-acceptor-distance, foerster-radius) →
306
+ * η = R_0⁶/(R_0⁶ + R⁶). Wraps `evaluateFRETEfficiency` (R, R_0 in m; returns
307
+ * dimensionless ∈ [0,1]).
308
+ *
309
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
310
+ * export for the 26-edge tranche — root-surface budget decision).
311
+ */
312
+ export const be24Edge = {
313
+ id: 'be-24',
314
+ beId: 24,
315
+ kind: 'bridge',
316
+ label: 'FRET efficiency η = R_0⁶/(R_0⁶ + R⁶)',
317
+ sources: [donorAcceptorDistanceQ, foersterRadiusQ],
318
+ target: fretEfficiencyQ,
319
+ confidence: 'speculative',
320
+ domain: {
321
+ description: 'R > 0 and R_0 > 0',
322
+ predicate: (i) => isFin(i['donor-acceptor-distance']) &&
323
+ i['donor-acceptor-distance'] > 0 &&
324
+ isFin(i['foerster-radius']) &&
325
+ i['foerster-radius'] > 0,
326
+ },
327
+ evaluate: (i) => evaluateFRETEfficiency({
328
+ R: i['donor-acceptor-distance'],
329
+ R_0: i['foerster-radius'],
330
+ }),
331
+ citation: 'Förster 1948 Ann. Phys. 437:55; Lakowicz 2006 Princ. Fluoresc. Spectrosc. Ch.13',
332
+ };
333
+ /**
334
+ * BE-25 IIT intrinsic information (the IIT module, NOT orch-or):
335
+ * (conditional-probability, marginal-probability) → ii = p_cond·log₂(p_cond/p_marg).
336
+ * Wraps `evaluateIntrinsicInformation` (both ∈ [0,1]; returns bits). Note the
337
+ * evaluator throws RangeError on the KL singularity p_cond>0, p_marg=0; the
338
+ * domain rejects that case so `evaluateEdge` surfaces a DomainViolationError
339
+ * instead.
340
+ *
341
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
342
+ * export for the 26-edge tranche — root-surface budget decision).
343
+ */
344
+ export const be25Edge = {
345
+ id: 'be-25',
346
+ beId: 25,
347
+ kind: 'bridge',
348
+ label: 'IIT intrinsic information ii = p(s̃|s)·log₂[p(s̃|s)/p(s̃)]',
349
+ sources: [conditionalProbabilityQ, marginalProbabilityQ],
350
+ target: intrinsicInformationQ,
351
+ confidence: 'speculative',
352
+ domain: {
353
+ description: 'p_cond, p_marg ∈ [0,1]; not (p_cond>0 and p_marg=0) (KL singularity)',
354
+ predicate: (i) => {
355
+ const pc = i['conditional-probability'];
356
+ const pm = i['marginal-probability'];
357
+ if (!isFin(pc) || pc < 0 || pc > 1)
358
+ return false;
359
+ if (!isFin(pm) || pm < 0 || pm > 1)
360
+ return false;
361
+ if (pc > 0 && pm === 0)
362
+ return false;
363
+ return true;
364
+ },
365
+ },
366
+ evaluate: (i) => evaluateIntrinsicInformation({
367
+ p_cond: i['conditional-probability'],
368
+ p_marg: i['marginal-probability'],
369
+ }),
370
+ citation: 'Tononi 2008 Biol. Bull. 215:216; Oizumi, Albantakis & Tononi 2014 PLoS Comput. Biol. 10:e1003588',
371
+ };
372
+ /**
373
+ * BE-26 DNA mutation tunneling rate: (attempt-frequency, tunneling-mass,
374
+ * barrier-height, barrier-width, biological-rate-correction) →
375
+ * Γ = ν₀ exp[−(2/ℏ)√(2m(V−E))·L]·f. Wraps `evaluateDNATunneling` (SI; returns
376
+ * s⁻¹). `tunneling-mass` is the proton mass, DISTINCT from gravitational `mass`.
377
+ *
378
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
379
+ * export for the 26-edge tranche — root-surface budget decision).
380
+ */
381
+ export const be26Edge = {
382
+ id: 'be-26',
383
+ beId: 26,
384
+ kind: 'bridge',
385
+ label: 'DNA tunneling Γ = ν₀ exp[−(2/ℏ)√(2m(V−E))·L]·f',
386
+ sources: [attemptFrequencyQ, tunnelingMassQ, barrierHeightQ, barrierWidthQ, biologicalRateCorrectionQ],
387
+ target: mutationRateQ,
388
+ // Catalog index status: field is authoritative (CLAUDE.md). BE-26's
389
+ // module docstring says 'established' but the registry pins 'speculative'.
390
+ confidence: 'speculative',
391
+ domain: {
392
+ description: 'ν₀ ≥ 0, m > 0, V−E ≥ 0, barrier-width > 0, f finite',
393
+ predicate: (i) => isFin(i['attempt-frequency']) &&
394
+ i['attempt-frequency'] >= 0 &&
395
+ isFin(i['tunneling-mass']) &&
396
+ i['tunneling-mass'] > 0 &&
397
+ isFin(i['barrier-height']) &&
398
+ i['barrier-height'] >= 0 &&
399
+ isFin(i['barrier-width']) &&
400
+ i['barrier-width'] > 0 &&
401
+ isFin(i['biological-rate-correction']),
402
+ },
403
+ evaluate: (i) => evaluateDNATunneling({
404
+ nu_0: i['attempt-frequency'],
405
+ m: i['tunneling-mass'],
406
+ V_minus_E: i['barrier-height'],
407
+ barrier_width: i['barrier-width'],
408
+ f_correction: i['biological-rate-correction'],
409
+ }),
410
+ citation: 'Löwdin 1963 Adv. Quantum Chem. 2:213; Gamow 1928',
411
+ };
412
+ /**
413
+ * BE-27 Cugliandolo-Kurchan effective temperature: (temperature,
414
+ * active-noise-energy) → T_eff = T(1 + Σ_active/(k_B T)). Wraps
415
+ * `evaluateEffectiveTemperature` (T in K, Σ in J; returns K). Reuses the
416
+ * canonical `temperature` node.
417
+ *
418
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
419
+ * export for the 26-edge tranche — root-surface budget decision).
420
+ */
421
+ export const be27Edge = {
422
+ id: 'be-27',
423
+ beId: 27,
424
+ kind: 'bridge',
425
+ label: 'Effective temperature T_eff = T(1 + Σ_active/(k_B T))',
426
+ sources: [temperatureQ, activeNoiseEnergyQ],
427
+ target: effectiveTemperatureQ,
428
+ confidence: 'speculative',
429
+ domain: {
430
+ description: 'T > 0 and Σ_active finite',
431
+ predicate: (i) => isFin(i['temperature']) &&
432
+ i['temperature'] > 0 &&
433
+ isFin(i['active-noise-energy']),
434
+ },
435
+ evaluate: (i) => evaluateEffectiveTemperature({
436
+ T_K: i['temperature'],
437
+ Sigma_active_J: i['active-noise-energy'],
438
+ }),
439
+ citation: 'Cugliandolo & Kurchan 1993 J. Phys. A 26:L401',
440
+ };
441
+ /**
442
+ * BE-30 FLM first law of entanglement entropy: modular-hamiltonian-variation →
443
+ * δS_EE = δ⟨H_R⟩. Wraps `evaluateFLMFirstLaw` (nats; tautological identity).
444
+ *
445
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
446
+ * export for the 26-edge tranche — root-surface budget decision).
447
+ */
448
+ export const be30Edge = {
449
+ id: 'be-30',
450
+ beId: 30,
451
+ kind: 'bridge',
452
+ label: 'FLM first law δS_EE = δ⟨H_R⟩',
453
+ sources: [modularHamiltonianVariationQ],
454
+ target: entanglementEntropyVariationQ,
455
+ confidence: 'speculative',
456
+ domain: {
457
+ description: 'δ⟨H_R⟩ finite (nats)',
458
+ predicate: (i) => isFin(i['modular-hamiltonian-variation']),
459
+ },
460
+ evaluate: (i) => evaluateFLMFirstLaw({ delta_avg_H_R: i['modular-hamiltonian-variation'] }),
461
+ citation: 'Faulkner, Lewkowycz & Maldacena 2013 JHEP 11:074; Blanco et al. 2013 JHEP 08:060',
462
+ };
463
+ /**
464
+ * BE-31 Benincasa-Dowker discrete Ricci scalar (d=4): (causal-set-count-0..3,
465
+ * planck-length) → R(p) = (4/√6)ℓ_P⁻²·[1 + N_0 − 9N_1 + 16N_2 − 8N_3]. Wraps
466
+ * `evaluateBenincasaDowker` (N_k dimensionless, ℓ_P in m; returns m⁻²). Shares
467
+ * the `ricci-scalar` target with {@link be13Edge}.
468
+ *
469
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
470
+ * export for the 26-edge tranche — root-surface budget decision).
471
+ */
472
+ export const be31Edge = {
473
+ id: 'be-31',
474
+ beId: 31,
475
+ kind: 'bridge',
476
+ label: 'Benincasa-Dowker R(p) = (4/√6)ℓ_P⁻²·[1+N_0−9N_1+16N_2−8N_3]',
477
+ sources: [causalSetCount0Q, causalSetCount1Q, causalSetCount2Q, causalSetCount3Q, planckLengthQ],
478
+ target: ricciScalarQ,
479
+ confidence: 'speculative',
480
+ domain: {
481
+ description: 'N_0..N_3 finite, ℓ_P > 0',
482
+ predicate: (i) => isFin(i['causal-set-count-0']) &&
483
+ isFin(i['causal-set-count-1']) &&
484
+ isFin(i['causal-set-count-2']) &&
485
+ isFin(i['causal-set-count-3']) &&
486
+ isFin(i['planck-length']) &&
487
+ i['planck-length'] > 0,
488
+ },
489
+ evaluate: (i) => evaluateBenincasaDowker({
490
+ N_0: i['causal-set-count-0'],
491
+ N_1: i['causal-set-count-1'],
492
+ N_2: i['causal-set-count-2'],
493
+ N_3: i['causal-set-count-3'],
494
+ l_P_m: i['planck-length'],
495
+ }),
496
+ citation: 'Benincasa & Dowker 2010 PRL 104:181301',
497
+ };
498
+ /**
499
+ * BE-33 Hertz-Millis correlation length: (reference-correlation-length,
500
+ * temperature, reference-temperature, static-exponent-nu, dynamic-exponent-z) →
501
+ * ξ(T) = ξ_0 (T/T_0)^(−1/z). Wraps `evaluateHertzMillis` (SI; returns m). The
502
+ * evaluator's `nu` is retained for API stability but does not enter the
503
+ * formula. Reuses the canonical `temperature` node.
504
+ *
505
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
506
+ * export for the 26-edge tranche — root-surface budget decision).
507
+ */
508
+ /**
509
+ * Faithful Hertz-Millis correlation length ξ_0·(T/T_0)^(−1/z) as a composition
510
+ * `symbolic` form (v0.13 — symbolic exponents). The exponent −1/z is
511
+ * input-dependent on the DIMENSIONLESS base T/T_0, which the literal-exponent
512
+ * grammar could not express (the catalog AST `BE33_HERTZ_MILLIS_RHS` pins z=1
513
+ * with a literal `^(-1)`; it is left UNCHANGED). Leaves are graph-quantity
514
+ * names; drift-guarded against `evaluateHertzMillis`. BE-33 composes with
515
+ * nothing — this is a demonstration of the now-expressible faithful encoding.
516
+ */
517
+ const symN = (name, dim) => ({ kind: 'symbol', name, dim });
518
+ const BE33_HERTZ_MILLIS_SYMBOLIC = {
519
+ kind: 'op',
520
+ op: '*',
521
+ args: [
522
+ symN('reference-correlation-length', LENGTH),
523
+ {
524
+ kind: 'op',
525
+ op: '^',
526
+ args: [
527
+ { kind: 'op', op: '/', args: [symN('temperature', TEMPERATURE), symN('reference-temperature', TEMPERATURE)] },
528
+ { kind: 'op', op: '/', args: [symN('-1', DIMENSIONLESS), symN('dynamic-exponent-z', DIMENSIONLESS)] },
529
+ ],
530
+ },
531
+ ],
532
+ };
533
+ export const be33Edge = {
534
+ id: 'be-33',
535
+ beId: 33,
536
+ kind: 'bridge',
537
+ label: 'Hertz-Millis correlation length ξ(T) = ξ_0 (T/T_0)^(−1/z)',
538
+ sources: [referenceCorrelationLengthQ, temperatureQ, referenceTemperatureQ, staticExponentNuQ, dynamicExponentZQ],
539
+ target: quantumCorrelationLengthQ,
540
+ confidence: 'speculative',
541
+ domain: {
542
+ description: 'ξ_0 > 0, T > 0, T_0 > 0, ν finite, z ≠ 0',
543
+ predicate: (i) => isFin(i['reference-correlation-length']) &&
544
+ i['reference-correlation-length'] > 0 &&
545
+ isFin(i['temperature']) &&
546
+ i['temperature'] > 0 &&
547
+ isFin(i['reference-temperature']) &&
548
+ i['reference-temperature'] > 0 &&
549
+ isFin(i['static-exponent-nu']) &&
550
+ isFin(i['dynamic-exponent-z']) &&
551
+ i['dynamic-exponent-z'] !== 0,
552
+ },
553
+ evaluate: (i) => evaluateHertzMillis({
554
+ xi_0_m: i['reference-correlation-length'],
555
+ T_K: i['temperature'],
556
+ T_0_K: i['reference-temperature'],
557
+ nu: i['static-exponent-nu'],
558
+ z: i['dynamic-exponent-z'],
559
+ }),
560
+ symbolic: BE33_HERTZ_MILLIS_SYMBOLIC,
561
+ citation: 'Hertz 1976 PRB 14:1165; Millis 1993 PRB 48:7183; Sachdev 2011 QPT 2nd ed. Ch.11',
562
+ };
563
+ /**
564
+ * BE-34 Kibble-Zurek defect density: (quench-timescale,
565
+ * microscopic-relaxation-time, spatial-dimension, static-exponent-nu,
566
+ * dynamic-exponent-z, defect-rest-mass, reheating-temperature) →
567
+ * n = (τ_Q/τ_0)^(−dν/(1+zν))·exp(−mc²/(k_B T_reh)). Wraps `evaluateKibbleZurek`
568
+ * (SI; returns dimensionless). Reuses BE-33's `static-exponent-nu` and
569
+ * `dynamic-exponent-z` nodes (same critical exponents).
570
+ *
571
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
572
+ * export for the 26-edge tranche — root-surface budget decision).
573
+ */
574
+ export const be34Edge = {
575
+ id: 'be-34',
576
+ beId: 34,
577
+ kind: 'bridge',
578
+ label: 'Kibble-Zurek n = (τ_Q/τ_0)^(−dν/(1+zν))·exp(−mc²/k_B T_reh)',
579
+ sources: [
580
+ quenchTimescaleQ,
581
+ microscopicRelaxationTimeQ,
582
+ spatialDimensionQ,
583
+ staticExponentNuQ,
584
+ dynamicExponentZQ,
585
+ defectRestMassQ,
586
+ reheatingTemperatureQ,
587
+ ],
588
+ target: defectDensityQ,
589
+ confidence: 'established',
590
+ domain: {
591
+ description: 'τ_Q>0, τ_0>0, d/ν/z finite, m_defect≥0, T_reh>0, 1+zν≠0',
592
+ predicate: (i) => isFin(i['quench-timescale']) &&
593
+ i['quench-timescale'] > 0 &&
594
+ isFin(i['microscopic-relaxation-time']) &&
595
+ i['microscopic-relaxation-time'] > 0 &&
596
+ isFin(i['spatial-dimension']) &&
597
+ isFin(i['static-exponent-nu']) &&
598
+ isFin(i['dynamic-exponent-z']) &&
599
+ isFin(i['defect-rest-mass']) &&
600
+ i['defect-rest-mass'] >= 0 &&
601
+ isFin(i['reheating-temperature']) &&
602
+ i['reheating-temperature'] > 0 &&
603
+ 1 + i['dynamic-exponent-z'] * i['static-exponent-nu'] !== 0,
604
+ },
605
+ evaluate: (i) => evaluateKibbleZurek({
606
+ tau_Q: i['quench-timescale'],
607
+ tau_0: i['microscopic-relaxation-time'],
608
+ d: i['spatial-dimension'],
609
+ nu: i['static-exponent-nu'],
610
+ z: i['dynamic-exponent-z'],
611
+ m_defect: i['defect-rest-mass'],
612
+ T_reh: i['reheating-temperature'],
613
+ }),
614
+ citation: 'Kibble 1976 J. Phys. A 9:1387; Zurek 1985 Nature 317:505',
615
+ };
616
+ /**
617
+ * BE-36 GW170817 graviton-photon speed ratio: gravitational-wave-speed →
618
+ * (c_GW − c)/c. Wraps `evaluateGWSpeedRatio` (c_GW in m/s; returns
619
+ * dimensionless signed ratio).
620
+ *
621
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
622
+ * export for the 26-edge tranche — root-surface budget decision).
623
+ */
624
+ export const be36Edge = {
625
+ id: 'be-36',
626
+ beId: 36,
627
+ kind: 'bridge',
628
+ label: 'GW170817 speed ratio (c_GW − c)/c',
629
+ sources: [gravitationalWaveSpeedQ],
630
+ target: gwPhotonSpeedRatioQ,
631
+ confidence: 'speculative',
632
+ domain: {
633
+ description: 'c_GW > 0 and finite',
634
+ predicate: (i) => isFin(i['gravitational-wave-speed']) &&
635
+ i['gravitational-wave-speed'] > 0,
636
+ },
637
+ evaluate: (i) => evaluateGWSpeedRatio({ c_GW_m_per_s: i['gravitational-wave-speed'] }),
638
+ citation: 'Abbott et al. 2017 ApJ Lett. 848:L13; Boran et al. 2018 PRD 97:041501',
639
+ };
640
+ /**
641
+ * BE-38 Milgrom MOND force: (newtonian-force, mass, mond-acceleration-scale) →
642
+ * F = F_N·ν(z), z = F_N/(m a_0). Wraps `evaluateMONDForce` (SI; returns N).
643
+ * Reuses the gravitational `mass` node (the test particle's gravitational mass).
644
+ *
645
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
646
+ * export for the 26-edge tranche — root-surface budget decision).
647
+ */
648
+ export const be38Edge = {
649
+ id: 'be-38',
650
+ beId: 38,
651
+ kind: 'bridge',
652
+ label: 'MOND force F = F_N·ν(F_N/(m a_0))',
653
+ sources: [newtonianForceQ, massQ, mondAccelerationScaleQ],
654
+ target: mondForceQ,
655
+ confidence: 'speculative',
656
+ domain: {
657
+ description: 'F_N > 0, m > 0, a_0 > 0',
658
+ predicate: (i) => isFin(i['newtonian-force']) &&
659
+ i['newtonian-force'] > 0 &&
660
+ isFin(i['mass']) &&
661
+ i['mass'] > 0 &&
662
+ isFin(i['mond-acceleration-scale']) &&
663
+ i['mond-acceleration-scale'] > 0,
664
+ },
665
+ evaluate: (i) => evaluateMONDForce({
666
+ F_N_newton: i['newtonian-force'],
667
+ m_kg: i['mass'],
668
+ a_0_m_per_s2: i['mond-acceleration-scale'],
669
+ }),
670
+ citation: 'Milgrom 1983 ApJ 270:365; Famaey & McGaugh 2012 Living Rev. Relativity 15:10',
671
+ };
672
+ /**
673
+ * BE-39 asymptotic-safety β_g: (newton-coupling-dimensionless,
674
+ * cosmological-constant-dimensionless, truncation-coefficient-a/b/c) →
675
+ * β_g = 2g + A g² + B g³ − C g²λ. Wraps `evaluateBetaG` (all dimensionless).
676
+ * The module also ships `evaluateBetaLambda`; this edge wraps the β_g branch.
677
+ *
678
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
679
+ * export for the 26-edge tranche — root-surface budget decision).
680
+ */
681
+ export const be39Edge = {
682
+ id: 'be-39',
683
+ beId: 39,
684
+ kind: 'bridge',
685
+ label: 'Asymptotic safety β_g = 2g + A g² + B g³ − C g²λ',
686
+ sources: [
687
+ newtonCouplingQ,
688
+ cosmologicalConstantDimensionlessQ,
689
+ truncationCoefficientAQ,
690
+ truncationCoefficientBQ,
691
+ truncationCoefficientCQ,
692
+ ],
693
+ target: newtonCouplingBetaQ,
694
+ confidence: 'speculative',
695
+ domain: {
696
+ description: 'g, λ, A, B, C all finite',
697
+ predicate: (i) => isFin(i['newton-coupling-dimensionless']) &&
698
+ isFin(i['cosmological-constant-dimensionless']) &&
699
+ isFin(i['truncation-coefficient-a']) &&
700
+ isFin(i['truncation-coefficient-b']) &&
701
+ isFin(i['truncation-coefficient-c']),
702
+ },
703
+ evaluate: (i) => evaluateBetaG({
704
+ g: i['newton-coupling-dimensionless'],
705
+ lambda: i['cosmological-constant-dimensionless'],
706
+ A: i['truncation-coefficient-a'],
707
+ B: i['truncation-coefficient-b'],
708
+ C: i['truncation-coefficient-c'],
709
+ }),
710
+ citation: 'Reuter 1998 PRD 57:971; Reuter & Weyer 2009 Gen. Rel. Grav. 41:983',
711
+ };
712
+ /**
713
+ * BE-41 Swampland distance conjecture: (reference-mass, swampland-coefficient,
714
+ * scalar-field-value, scalar-field-reference, planck-mass) →
715
+ * m(φ) = m₀ exp(−α|φ−φ₀|/M_P). Wraps `evaluateSwampland` (consistent units;
716
+ * returns same unit as m₀).
717
+ *
718
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
719
+ * export for the 26-edge tranche — root-surface budget decision).
720
+ */
721
+ export const be41Edge = {
722
+ id: 'be-41',
723
+ beId: 41,
724
+ kind: 'bridge',
725
+ label: 'Swampland tower mass m(φ) = m₀ exp(−α|φ−φ₀|/M_P)',
726
+ sources: [referenceMassQ, swamplandCoefficientQ, scalarFieldValueQ, scalarFieldReferenceQ, planckMassQ],
727
+ target: swamplandTowerMassQ,
728
+ confidence: 'speculative',
729
+ domain: {
730
+ description: 'm₀ ≥ 0, α/φ/φ₀ finite, M_P > 0',
731
+ predicate: (i) => isFin(i['reference-mass']) &&
732
+ i['reference-mass'] >= 0 &&
733
+ isFin(i['swampland-coefficient']) &&
734
+ isFin(i['scalar-field-value']) &&
735
+ isFin(i['scalar-field-reference']) &&
736
+ isFin(i['planck-mass']) &&
737
+ i['planck-mass'] > 0,
738
+ },
739
+ evaluate: (i) => evaluateSwampland({
740
+ m0: i['reference-mass'],
741
+ alpha: i['swampland-coefficient'],
742
+ phi: i['scalar-field-value'],
743
+ phi0: i['scalar-field-reference'],
744
+ M_P: i['planck-mass'],
745
+ }),
746
+ citation: 'Ooguri & Vafa 2007 Nucl. Phys. B 766:21; Vafa 2005 (hep-th/0509212)',
747
+ };
748
+ /**
749
+ * BE-43 ER=EPR wormhole-entropy bound: wormhole-cross-section-area →
750
+ * S = k_B A / (4 ℓ_P²). Wraps `evaluateEREPRBound` (A in m²; returns J/K).
751
+ * Mirrors BE-14's SI convention; uses a distinct `wormhole-*` source/target so
752
+ * it does not silently fuse with the BE-14 Ryu-Takayanagi nodes (different
753
+ * geometry: bulk minimal surface vs. ER bridge cross-section).
754
+ *
755
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
756
+ * export for the 26-edge tranche — root-surface budget decision).
757
+ */
758
+ export const be43Edge = {
759
+ id: 'be-43',
760
+ beId: 43,
761
+ kind: 'bridge',
762
+ label: 'ER=EPR entropy S = k_B A_wh / (4 ℓ_P²)',
763
+ sources: [wormholeCrossSectionAreaQ],
764
+ target: wormholeEntanglementEntropyQ,
765
+ confidence: 'speculative',
766
+ domain: {
767
+ description: 'A_wh ≥ 0 and finite',
768
+ predicate: (i) => isFin(i['wormhole-cross-section-area']) &&
769
+ i['wormhole-cross-section-area'] >= 0,
770
+ },
771
+ evaluate: (i) => evaluateEREPRBound({ area_m2: i['wormhole-cross-section-area'] }),
772
+ citation: 'Maldacena & Susskind 2013 Fortschr. Phys. 61:781; Bekenstein 1973 PRD 7:2333',
773
+ };
774
+ /**
775
+ * BE-45 TCC max e-folds: (planck-mass-energy, inflation-hubble-energy,
776
+ * tensor-to-scalar-ratio, tcc-correction-coefficient) →
777
+ * N_e_max = ln(M_P/H_inf) − γ ln(r/0.01). Wraps `evaluateTCC` (M_P, H_inf in
778
+ * GeV-equivalent natural units; returns dimensionless e-folds).
779
+ *
780
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
781
+ * export for the 26-edge tranche — root-surface budget decision).
782
+ */
783
+ export const be45Edge = {
784
+ id: 'be-45',
785
+ beId: 45,
786
+ kind: 'bridge',
787
+ label: 'TCC e-folds N_e_max = ln(M_P/H_inf) − γ ln(r/0.01)',
788
+ sources: [planckMassEnergyQ, inflationHubbleEnergyQ, tensorToScalarRatioQ, tccCorrectionCoefficientQ],
789
+ target: maxEfoldsQ,
790
+ confidence: 'speculative',
791
+ domain: {
792
+ description: 'M_P > 0, H_inf > 0, r > 0, γ finite',
793
+ predicate: (i) => isFin(i['planck-mass-energy']) &&
794
+ i['planck-mass-energy'] > 0 &&
795
+ isFin(i['inflation-hubble-energy']) &&
796
+ i['inflation-hubble-energy'] > 0 &&
797
+ isFin(i['tensor-to-scalar-ratio']) &&
798
+ i['tensor-to-scalar-ratio'] > 0 &&
799
+ isFin(i['tcc-correction-coefficient']),
800
+ },
801
+ evaluate: (i) => evaluateTCC({
802
+ M_P_GeV: i['planck-mass-energy'],
803
+ H_inf_GeV: i['inflation-hubble-energy'],
804
+ r: i['tensor-to-scalar-ratio'],
805
+ gamma: i['tcc-correction-coefficient'],
806
+ }),
807
+ citation: 'Bedroya & Vafa 2019 (arXiv:1909.11063)',
808
+ };
809
+ /**
810
+ * BE-46 Weinberg-Vilenkin anthropic probability: (measure-normalization,
811
+ * anthropic-model-parameter, landscape-parameter) → P(Λ) = A exp(−α/Λ). Wraps
812
+ * `evaluateWeinbergVilenkinP` (all dimensionless; returns dimensionless P).
813
+ *
814
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
815
+ * export for the 26-edge tranche — root-surface budget decision).
816
+ */
817
+ export const be46Edge = {
818
+ id: 'be-46',
819
+ beId: 46,
820
+ kind: 'bridge',
821
+ label: 'Anthropic probability P(Λ) = A exp(−α/Λ)',
822
+ sources: [measureNormalizationQ, anthropicModelParameterQ, landscapeParameterQ],
823
+ target: anthropicProbabilityQ,
824
+ confidence: 'highly-speculative',
825
+ domain: {
826
+ description: 'A, α finite, Λ > 0',
827
+ predicate: (i) => isFin(i['measure-normalization']) &&
828
+ isFin(i['anthropic-model-parameter']) &&
829
+ isFin(i['landscape-parameter']) &&
830
+ i['landscape-parameter'] > 0,
831
+ },
832
+ evaluate: (i) => evaluateWeinbergVilenkinP({
833
+ normalization: i['measure-normalization'],
834
+ alpha: i['anthropic-model-parameter'],
835
+ lambda: i['landscape-parameter'],
836
+ }),
837
+ citation: 'Vilenkin 1995 PRL 74:846; Weinberg 1987 PRL 59:2607',
838
+ };
839
+ /**
840
+ * BE-47 BBN dark-sector Boltzmann rate: (hubble-rate, nucleon-yield-density,
841
+ * sm-reaction-rate-coefficient, proton-density, neutron-density,
842
+ * dark-reaction-rate-coefficient, dark-species-density, transfer-efficiency) →
843
+ * dY/dt = ⟨σv⟩_SM n_p n_n − ⟨σv⟩_dark n_χ² ε − 3HY. Wraps `evaluateBBNDark`
844
+ * (SI; returns m⁻³ s⁻¹).
845
+ *
846
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
847
+ * export for the 26-edge tranche — root-surface budget decision).
848
+ */
849
+ export const be47Edge = {
850
+ id: 'be-47',
851
+ beId: 47,
852
+ kind: 'bridge',
853
+ label: 'BBN dark-sector dY/dt = ⟨σv⟩_SM n_p n_n − ⟨σv⟩_dark n_χ² ε − 3HY',
854
+ sources: [
855
+ hubbleRateQ,
856
+ nucleonYieldDensityQ,
857
+ smReactionRateCoefficientQ,
858
+ protonDensityQ,
859
+ neutronDensityQ,
860
+ darkReactionRateCoefficientQ,
861
+ darkSpeciesDensityQ,
862
+ transferEfficiencyQ,
863
+ ],
864
+ target: nucleonYieldRateQ,
865
+ confidence: 'speculative',
866
+ domain: {
867
+ description: 'all eight Boltzmann inputs finite',
868
+ predicate: (i) => isFin(i['hubble-rate']) &&
869
+ isFin(i['nucleon-yield-density']) &&
870
+ isFin(i['sm-reaction-rate-coefficient']) &&
871
+ isFin(i['proton-density']) &&
872
+ isFin(i['neutron-density']) &&
873
+ isFin(i['dark-reaction-rate-coefficient']) &&
874
+ isFin(i['dark-species-density']) &&
875
+ isFin(i['transfer-efficiency']),
876
+ },
877
+ evaluate: (i) => evaluateBBNDark({
878
+ H: i['hubble-rate'],
879
+ Y: i['nucleon-yield-density'],
880
+ sigmav_SM: i['sm-reaction-rate-coefficient'],
881
+ n_p: i['proton-density'],
882
+ n_n: i['neutron-density'],
883
+ sigmav_dark: i['dark-reaction-rate-coefficient'],
884
+ n_chi: i['dark-species-density'],
885
+ eps_transfer: i['transfer-efficiency'],
886
+ }),
887
+ citation: 'Kolb & Turner 1990 §5.2; Pitrou et al. 2018 Phys. Rep. 754:1',
888
+ };
889
+ /**
890
+ * BE-49 quantum-Darwinism mutual-information decay: (total-mutual-information,
891
+ * darwinism-magnitude, fragment-count, darwinism-decay-exponent) →
892
+ * I(S:F_k) = I(S:E) − α k^(−β). Wraps `evaluateQuantumDarwinism` (all
893
+ * dimensionless; the evaluator is β-agnostic).
894
+ *
895
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
896
+ * export for the 26-edge tranche — root-surface budget decision).
897
+ */
898
+ export const be49Edge = {
899
+ id: 'be-49',
900
+ beId: 49,
901
+ kind: 'bridge',
902
+ label: 'Quantum Darwinism I(S:F_k) = I(S:E) − α k^(−β)',
903
+ sources: [totalMutualInformationQ, darwinismMagnitudeQ, fragmentCountQ, darwinismDecayExponentQ],
904
+ target: fragmentMutualInformationQ,
905
+ confidence: 'speculative',
906
+ domain: {
907
+ description: 'I(S:E), α, β finite; k > 0',
908
+ predicate: (i) => isFin(i['total-mutual-information']) &&
909
+ isFin(i['darwinism-magnitude']) &&
910
+ isFin(i['fragment-count']) &&
911
+ i['fragment-count'] > 0 &&
912
+ isFin(i['darwinism-decay-exponent']),
913
+ },
914
+ evaluate: (i) => evaluateQuantumDarwinism({
915
+ I_SE: i['total-mutual-information'],
916
+ alpha: i['darwinism-magnitude'],
917
+ k: i['fragment-count'],
918
+ beta: i['darwinism-decay-exponent'],
919
+ }),
920
+ citation: 'Zurek 2009 Nat. Phys. 5:181; Blume-Kohout & Zurek 2006 PRA 73:062310',
921
+ };
922
+ /**
923
+ * BE-50 Wheeler-Feynman time-symmetry residual: (retarded-field-amplitude,
924
+ * advanced-field-amplitude) → r_TS = (A_ret − A_adv)/(A_ret + A_adv). Wraps
925
+ * `evaluateWFTimeSymmetry` (any consistent amplitude unit; returns
926
+ * dimensionless). The evaluator throws RangeError when A_ret + A_adv = 0; the
927
+ * domain rejects that case so `evaluateEdge` surfaces DomainViolationError.
928
+ *
929
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
930
+ * export for the 26-edge tranche — root-surface budget decision).
931
+ */
932
+ export const be50Edge = {
933
+ id: 'be-50',
934
+ beId: 50,
935
+ kind: 'bridge',
936
+ label: 'Wheeler-Feynman residual r_TS = (A_ret − A_adv)/(A_ret + A_adv)',
937
+ sources: [retardedFieldAmplitudeQ, advancedFieldAmplitudeQ],
938
+ target: timeSymmetryResidualQ,
939
+ confidence: 'highly-speculative',
940
+ domain: {
941
+ description: 'A_ret, A_adv finite and A_ret + A_adv ≠ 0',
942
+ predicate: (i) => isFin(i['retarded-field-amplitude']) &&
943
+ isFin(i['advanced-field-amplitude']) &&
944
+ i['retarded-field-amplitude'] + i['advanced-field-amplitude'] !== 0,
945
+ },
946
+ evaluate: (i) => evaluateWFTimeSymmetry({
947
+ A_retarded: i['retarded-field-amplitude'],
948
+ A_advanced: i['advanced-field-amplitude'],
949
+ }),
950
+ citation: 'Wheeler & Feynman 1945 RMP 17:157; Cramer 1986 RMP 58:647',
951
+ };
952
+ /**
953
+ * All catalog-full edges, in catalog-id order. Convenience array for the
954
+ * drift-guard test and downstream graph assembly.
955
+ *
956
+ * Root-reachable via the {@link CATALOG_FULL_EDGES} array (one root
957
+ * export for the 26-edge tranche — root-surface budget decision).
958
+ *
959
+ * @public
960
+ */
961
+ export const CATALOG_FULL_EDGES = [
962
+ be11Edge,
963
+ be13Edge,
964
+ be15Edge,
965
+ be17Edge,
966
+ be18Edge,
967
+ be20Edge,
968
+ be22Edge,
969
+ be23Edge,
970
+ be24Edge,
971
+ be25Edge,
972
+ be26Edge,
973
+ be27Edge,
974
+ be30Edge,
975
+ be31Edge,
976
+ be33Edge,
977
+ be34Edge,
978
+ be36Edge,
979
+ be38Edge,
980
+ be39Edge,
981
+ be41Edge,
982
+ be43Edge,
983
+ be45Edge,
984
+ be46Edge,
985
+ be47Edge,
986
+ be49Edge,
987
+ be50Edge,
988
+ ];
989
+ //# sourceMappingURL=catalog-full.js.map