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.
- package/LICENSE +21 -0
- package/README.md +377 -0
- package/dist/bridges/equations/be-11-decoherence-master.d.ts +83 -0
- package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +1 -0
- package/dist/bridges/equations/be-11-decoherence-master.js +116 -0
- package/dist/bridges/equations/be-11-decoherence-master.js.map +1 -0
- package/dist/bridges/equations/be-12-coherence-length.d.ts +80 -0
- package/dist/bridges/equations/be-12-coherence-length.d.ts.map +1 -0
- package/dist/bridges/equations/be-12-coherence-length.js +128 -0
- package/dist/bridges/equations/be-12-coherence-length.js.map +1 -0
- package/dist/bridges/equations/be-13-einstein-trace.d.ts +89 -0
- package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -0
- package/dist/bridges/equations/be-13-einstein-trace.js +143 -0
- package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +67 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +1 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.js +112 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +1 -0
- package/dist/bridges/equations/be-15-emergence.d.ts +164 -0
- package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -0
- package/dist/bridges/equations/be-15-emergence.js +204 -0
- package/dist/bridges/equations/be-15-emergence.js.map +1 -0
- package/dist/bridges/equations/be-16-landauer.d.ts +180 -0
- package/dist/bridges/equations/be-16-landauer.d.ts.map +1 -0
- package/dist/bridges/equations/be-16-landauer.js +206 -0
- package/dist/bridges/equations/be-16-landauer.js.map +1 -0
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts +245 -0
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +1 -0
- package/dist/bridges/equations/be-17-einstein-cartan.js +304 -0
- package/dist/bridges/equations/be-17-einstein-cartan.js.map +1 -0
- package/dist/bridges/equations/be-18-higgs-mass.d.ts +65 -0
- package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +1 -0
- package/dist/bridges/equations/be-18-higgs-mass.js +86 -0
- package/dist/bridges/equations/be-18-higgs-mass.js.map +1 -0
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts +72 -0
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -0
- package/dist/bridges/equations/be-19-quantum-bounce.js +151 -0
- package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -0
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts +72 -0
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -0
- package/dist/bridges/equations/be-20-vacuum-energy.js +115 -0
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -0
- package/dist/bridges/equations/be-21-kss-bound.d.ts +72 -0
- package/dist/bridges/equations/be-21-kss-bound.d.ts.map +1 -0
- package/dist/bridges/equations/be-21-kss-bound.js +103 -0
- package/dist/bridges/equations/be-21-kss-bound.js.map +1 -0
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts +90 -0
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +1 -0
- package/dist/bridges/equations/be-22-topological-entanglement.js +123 -0
- package/dist/bridges/equations/be-22-topological-entanglement.js.map +1 -0
- package/dist/bridges/equations/be-23-syk-planckian.d.ts +89 -0
- package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +1 -0
- package/dist/bridges/equations/be-23-syk-planckian.js +155 -0
- package/dist/bridges/equations/be-23-syk-planckian.js.map +1 -0
- package/dist/bridges/equations/be-24-foerster-fret.d.ts +81 -0
- package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +1 -0
- package/dist/bridges/equations/be-24-foerster-fret.js +121 -0
- package/dist/bridges/equations/be-24-foerster-fret.js.map +1 -0
- package/dist/bridges/equations/be-25-iit-phi.d.ts +220 -0
- package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -0
- package/dist/bridges/equations/be-25-iit-phi.js +259 -0
- package/dist/bridges/equations/be-25-iit-phi.js.map +1 -0
- package/dist/bridges/equations/be-25-orch-or.d.ts +78 -0
- package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -0
- package/dist/bridges/equations/be-25-orch-or.js +121 -0
- package/dist/bridges/equations/be-25-orch-or.js.map +1 -0
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts +75 -0
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +1 -0
- package/dist/bridges/equations/be-26-dna-tunneling.js +138 -0
- package/dist/bridges/equations/be-26-dna-tunneling.js.map +1 -0
- package/dist/bridges/equations/be-27-effective-temperature.d.ts +81 -0
- package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +1 -0
- package/dist/bridges/equations/be-27-effective-temperature.js +120 -0
- package/dist/bridges/equations/be-27-effective-temperature.js.map +1 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +175 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +1 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.js +203 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +1 -0
- package/dist/bridges/equations/be-29-jarzynski.d.ts +86 -0
- package/dist/bridges/equations/be-29-jarzynski.d.ts.map +1 -0
- package/dist/bridges/equations/be-29-jarzynski.js +132 -0
- package/dist/bridges/equations/be-29-jarzynski.js.map +1 -0
- package/dist/bridges/equations/be-30-flm-first-law.d.ts +93 -0
- package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +1 -0
- package/dist/bridges/equations/be-30-flm-first-law.js +109 -0
- package/dist/bridges/equations/be-30-flm-first-law.js.map +1 -0
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts +96 -0
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +1 -0
- package/dist/bridges/equations/be-31-causal-set-bd.js +133 -0
- package/dist/bridges/equations/be-31-causal-set-bd.js.map +1 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +113 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +1 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.js +155 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +1 -0
- package/dist/bridges/equations/be-33-hertz-millis.d.ts +77 -0
- package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +1 -0
- package/dist/bridges/equations/be-33-hertz-millis.js +113 -0
- package/dist/bridges/equations/be-33-hertz-millis.js.map +1 -0
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts +76 -0
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +1 -0
- package/dist/bridges/equations/be-34-kibble-zurek.js +139 -0
- package/dist/bridges/equations/be-34-kibble-zurek.js.map +1 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +117 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +167 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +77 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.js +107 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -0
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts +260 -0
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -0
- package/dist/bridges/equations/be-37-shapiro-delay.js +429 -0
- package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -0
- package/dist/bridges/equations/be-38-mond.d.ts +86 -0
- package/dist/bridges/equations/be-38-mond.d.ts.map +1 -0
- package/dist/bridges/equations/be-38-mond.js +122 -0
- package/dist/bridges/equations/be-38-mond.js.map +1 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +106 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +1 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.js +155 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.js.map +1 -0
- package/dist/bridges/equations/be-40-composite-higgs.d.ts +81 -0
- package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -0
- package/dist/bridges/equations/be-40-composite-higgs.js +149 -0
- package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -0
- package/dist/bridges/equations/be-41-swampland.d.ts +67 -0
- package/dist/bridges/equations/be-41-swampland.d.ts.map +1 -0
- package/dist/bridges/equations/be-41-swampland.js +109 -0
- package/dist/bridges/equations/be-41-swampland.js.map +1 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts +67 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -0
- package/dist/bridges/equations/be-42-hawking-temperature.js +109 -0
- package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -0
- package/dist/bridges/equations/be-43-er-epr.d.ts +73 -0
- package/dist/bridges/equations/be-43-er-epr.d.ts.map +1 -0
- package/dist/bridges/equations/be-43-er-epr.js +114 -0
- package/dist/bridges/equations/be-43-er-epr.js.map +1 -0
- package/dist/bridges/equations/be-44-soft-hair.d.ts +151 -0
- package/dist/bridges/equations/be-44-soft-hair.d.ts.map +1 -0
- package/dist/bridges/equations/be-44-soft-hair.js +185 -0
- package/dist/bridges/equations/be-44-soft-hair.js.map +1 -0
- package/dist/bridges/equations/be-45-tcc.d.ts +116 -0
- package/dist/bridges/equations/be-45-tcc.d.ts.map +1 -0
- package/dist/bridges/equations/be-45-tcc.js +157 -0
- package/dist/bridges/equations/be-45-tcc.js.map +1 -0
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts +163 -0
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +1 -0
- package/dist/bridges/equations/be-46-multiverse-measure.js +198 -0
- package/dist/bridges/equations/be-46-multiverse-measure.js.map +1 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +72 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +1 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.js +121 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +1 -0
- package/dist/bridges/equations/be-48-grw-localization.d.ts +84 -0
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -0
- package/dist/bridges/equations/be-48-grw-localization.js +107 -0
- package/dist/bridges/equations/be-48-grw-localization.js.map +1 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +97 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +1 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.js +129 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.js.map +1 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +120 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.js +151 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -0
- package/dist/bridges/gravitational-lensing.d.ts +52 -0
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -0
- package/dist/bridges/gravitational-lensing.js +48 -0
- package/dist/bridges/gravitational-lensing.js.map +1 -0
- package/dist/bridges/index.d.ts +104 -0
- package/dist/bridges/index.d.ts.map +1 -0
- package/dist/bridges/index.js +1663 -0
- package/dist/bridges/index.js.map +1 -0
- package/dist/bridges/perihelion-precession.d.ts +62 -0
- package/dist/bridges/perihelion-precession.d.ts.map +1 -0
- package/dist/bridges/perihelion-precession.js +68 -0
- package/dist/bridges/perihelion-precession.js.map +1 -0
- package/dist/core/tensor.d.ts +135 -0
- package/dist/core/tensor.d.ts.map +1 -0
- package/dist/core/tensor.js +376 -0
- package/dist/core/tensor.js.map +1 -0
- package/dist/core/types.d.ts +131 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +25 -0
- package/dist/core/types.js.map +1 -0
- package/dist/dimensional/algebra.d.ts +34 -0
- package/dist/dimensional/algebra.d.ts.map +1 -0
- package/dist/dimensional/algebra.js +90 -0
- package/dist/dimensional/algebra.js.map +1 -0
- package/dist/dimensional/bridge-check.d.ts +48 -0
- package/dist/dimensional/bridge-check.d.ts.map +1 -0
- package/dist/dimensional/bridge-check.js +137 -0
- package/dist/dimensional/bridge-check.js.map +1 -0
- package/dist/dimensional/connection-validators.d.ts +53 -0
- package/dist/dimensional/connection-validators.d.ts.map +1 -0
- package/dist/dimensional/connection-validators.js +84 -0
- package/dist/dimensional/connection-validators.js.map +1 -0
- package/dist/dimensional/connection.d.ts +40 -0
- package/dist/dimensional/connection.d.ts.map +1 -0
- package/dist/dimensional/connection.js +81 -0
- package/dist/dimensional/connection.js.map +1 -0
- package/dist/dimensional/constants.d.ts +30 -0
- package/dist/dimensional/constants.d.ts.map +1 -0
- package/dist/dimensional/constants.js +31 -0
- package/dist/dimensional/constants.js.map +1 -0
- package/dist/dimensional/errors.d.ts +161 -0
- package/dist/dimensional/errors.d.ts.map +1 -0
- package/dist/dimensional/errors.js +254 -0
- package/dist/dimensional/errors.js.map +1 -0
- package/dist/dimensional/fresh-label.d.ts +26 -0
- package/dist/dimensional/fresh-label.d.ts.map +1 -0
- package/dist/dimensional/fresh-label.js +31 -0
- package/dist/dimensional/fresh-label.js.map +1 -0
- package/dist/dimensional/metric-validators.d.ts +124 -0
- package/dist/dimensional/metric-validators.d.ts.map +1 -0
- package/dist/dimensional/metric-validators.js +141 -0
- package/dist/dimensional/metric-validators.js.map +1 -0
- package/dist/dimensional/metric.d.ts +67 -0
- package/dist/dimensional/metric.d.ts.map +1 -0
- package/dist/dimensional/metric.js +177 -0
- package/dist/dimensional/metric.js.map +1 -0
- package/dist/dimensional/tensor.d.ts +153 -0
- package/dist/dimensional/tensor.d.ts.map +1 -0
- package/dist/dimensional/tensor.js +138 -0
- package/dist/dimensional/tensor.js.map +1 -0
- package/dist/dimensional/types.d.ts +50 -0
- package/dist/dimensional/types.d.ts.map +1 -0
- package/dist/dimensional/types.js +66 -0
- package/dist/dimensional/types.js.map +1 -0
- package/dist/dimensional/validator.d.ts +84 -0
- package/dist/dimensional/validator.d.ts.map +1 -0
- package/dist/dimensional/validator.js +505 -0
- package/dist/dimensional/validator.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/numerical/be37-covariant-eikonal.d.ts +90 -0
- package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -0
- package/dist/numerical/be37-covariant-eikonal.js +79 -0
- package/dist/numerical/be37-covariant-eikonal.js.map +1 -0
- package/dist/numerical/connection-lowering-helpers.d.ts +107 -0
- package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -0
- package/dist/numerical/connection-lowering-helpers.js +315 -0
- package/dist/numerical/connection-lowering-helpers.js.map +1 -0
- package/dist/numerical/engine-registry.d.ts +50 -0
- package/dist/numerical/engine-registry.d.ts.map +1 -0
- package/dist/numerical/engine-registry.js +82 -0
- package/dist/numerical/engine-registry.js.map +1 -0
- package/dist/numerical/errors.d.ts +28 -0
- package/dist/numerical/errors.d.ts.map +1 -0
- package/dist/numerical/errors.js +39 -0
- package/dist/numerical/errors.js.map +1 -0
- package/dist/numerical/float64-engine.d.ts +53 -0
- package/dist/numerical/float64-engine.d.ts.map +1 -0
- package/dist/numerical/float64-engine.js +638 -0
- package/dist/numerical/float64-engine.js.map +1 -0
- package/dist/numerical/geodesic-integrator.d.ts +62 -0
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -0
- package/dist/numerical/geodesic-integrator.js +103 -0
- package/dist/numerical/geodesic-integrator.js.map +1 -0
- package/dist/numerical/grid-field.d.ts +24 -0
- package/dist/numerical/grid-field.d.ts.map +1 -0
- package/dist/numerical/grid-field.js +2 -0
- package/dist/numerical/grid-field.js.map +1 -0
- package/dist/numerical/index.d.ts +80 -0
- package/dist/numerical/index.d.ts.map +1 -0
- package/dist/numerical/index.js +75 -0
- package/dist/numerical/index.js.map +1 -0
- package/dist/numerical/lowering.d.ts +48 -0
- package/dist/numerical/lowering.d.ts.map +1 -0
- package/dist/numerical/lowering.js +443 -0
- package/dist/numerical/lowering.js.map +1 -0
- package/dist/numerical/mathts-engine.d.ts +55 -0
- package/dist/numerical/mathts-engine.d.ts.map +1 -0
- package/dist/numerical/mathts-engine.js +164 -0
- package/dist/numerical/mathts-engine.js.map +1 -0
- package/dist/numerical/metric-inverse.d.ts +31 -0
- package/dist/numerical/metric-inverse.d.ts.map +1 -0
- package/dist/numerical/metric-inverse.js +68 -0
- package/dist/numerical/metric-inverse.js.map +1 -0
- package/dist/numerical/null-ray-integrator.d.ts +13 -0
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -0
- package/dist/numerical/null-ray-integrator.js +53 -0
- package/dist/numerical/null-ray-integrator.js.map +1 -0
- package/dist/numerical/pderiv.d.ts +43 -0
- package/dist/numerical/pderiv.d.ts.map +1 -0
- package/dist/numerical/pderiv.js +121 -0
- package/dist/numerical/pderiv.js.map +1 -0
- package/dist/numerical/tensor-engine.d.ts +114 -0
- package/dist/numerical/tensor-engine.d.ts.map +1 -0
- package/dist/numerical/tensor-engine.js +64 -0
- package/dist/numerical/tensor-engine.js.map +1 -0
- package/dist/numerical/types.d.ts +37 -0
- package/dist/numerical/types.d.ts.map +1 -0
- package/dist/numerical/types.js +8 -0
- package/dist/numerical/types.js.map +1 -0
- 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"}
|