universal-physics-tensor 8.0.0 → 10.0.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.
- package/README.md +26 -21
- package/data/atlas/atlas.json +75 -64
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +23 -22
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +33 -28
- package/data/bridge-catalog.json +1356 -1791
- package/data/bridge-catalog.schema.json +789 -46
- package/data/quantities.json +280 -234
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +1178 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +151 -117
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +244 -211
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +22 -14
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +19 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +233 -14
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +96 -27
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +89 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +136 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +48 -8
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +173 -38
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -7
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +129 -156
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +16 -8
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +130 -236
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +7 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +50 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +32 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +34 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +24 -0
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +42 -24
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +24 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -18
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +7 -12
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -21
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +50 -26
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +18 -13
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +29 -26
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +99 -208
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +57 -45
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -11
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -15
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -27
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +14 -7
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +4 -4
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +57 -18
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +49 -21
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -14
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +66 -57
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +15 -18
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +59 -85
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +154 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +67 -7
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +83 -23
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -22
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +25 -28
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -4
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +53 -19
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +9 -5
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -4
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +14 -6
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +18 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +37 -7
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +35 -12
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +46 -15
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +177 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +16 -23
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +18 -6
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +17 -5
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +115 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +7 -17
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +12 -21
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +21 -6
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +150 -160
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +23 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +55 -18
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +114 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +139 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +290 -295
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +65 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +32 -7
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +218 -209
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +134 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +67 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +68 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +17 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +120 -44
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +10 -3
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +44 -45
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +17 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +158 -250
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +26 -6
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +15 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -10,16 +10,22 @@ const KINETIC_PRESSURE = dim(-1, 1, -2, 0, 0); // Pa [L⁻¹ M T⁻²]
|
|
|
10
10
|
const MEAN_SQUARE_SPEED = dim(2, 0, -2, 0, 0); // m²/s² [L² T⁻²]
|
|
11
11
|
export const STATISTICAL_MECHANICS = [
|
|
12
12
|
l1({ name: 'thermal-energy', dim: ENERGY }, [
|
|
13
|
-
{ name: '
|
|
13
|
+
{ name: 'k_B', dim: BOLTZMANN_CONSTANT },
|
|
14
14
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
15
15
|
], {
|
|
16
16
|
id: 'CE-equipartition',
|
|
17
|
+
prefactor: {
|
|
18
|
+
value: 1.5,
|
|
19
|
+
quote: String.raw `\langle H_{\mathrm{kin}} \rangle = \left\langle \frac{p^2}{2m} \right\rangle = \langle \tfrac{1}{2} m v^{2} \rangle = \tfrac{3}{2} k_\text{B} T.`,
|
|
20
|
+
locator: "Wikipedia, 'Equipartition theorem', revision 1373697867, wikitext line 304",
|
|
21
|
+
},
|
|
22
|
+
holds: 'temperature >= 0',
|
|
17
23
|
name: 'Equipartition (mean kinetic energy)',
|
|
18
24
|
domain: 'statistical',
|
|
19
25
|
formula_latex: '\\langle E \\rangle = \\tfrac{3}{2} k_B T',
|
|
20
26
|
epistemicStatus: 'scalar-up-to-constant',
|
|
21
27
|
scalarAst: op('*', [
|
|
22
|
-
sym('
|
|
28
|
+
sym('k_B', BOLTZMANN_CONSTANT),
|
|
23
29
|
sym('temperature', TEMPERATURE),
|
|
24
30
|
]),
|
|
25
31
|
regime: { scale: 'classical' },
|
|
@@ -28,19 +34,25 @@ export const STATISTICAL_MECHANICS = [
|
|
|
28
34
|
partnerBridges: [],
|
|
29
35
|
}),
|
|
30
36
|
l1({ name: 'diffusion-coefficient', dim: DIFFUSION_COEFFICIENT }, [
|
|
31
|
-
{ name: '
|
|
37
|
+
{ name: 'k_B', dim: BOLTZMANN_CONSTANT },
|
|
32
38
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
33
39
|
{ name: 'dynamic-viscosity', dim: DYNAMIC_VISCOSITY },
|
|
34
40
|
{ name: 'particle-radius', dim: PARTICLE_RADIUS },
|
|
35
41
|
], {
|
|
36
42
|
id: 'CE-stokes-einstein',
|
|
43
|
+
prefactor: {
|
|
44
|
+
value: 1 / (6 * Math.PI),
|
|
45
|
+
quote: String.raw `D = \frac{k_\text{B} T}{6\pi\,\eta\,r}.`,
|
|
46
|
+
locator: "Wikipedia, 'Einstein relation (kinetic theory)', revision 1353047788, wikitext line 79",
|
|
47
|
+
},
|
|
48
|
+
holds: 'temperature > 0 and dynamic-viscosity > 0 and particle-radius > 0',
|
|
37
49
|
name: 'Stokes-Einstein diffusion',
|
|
38
50
|
domain: 'statistical',
|
|
39
51
|
formula_latex: 'D = k_B T/(6\\pi\\mu r)',
|
|
40
52
|
epistemicStatus: 'scalar-up-to-constant',
|
|
41
53
|
scalarAst: op('/', [
|
|
42
54
|
op('*', [
|
|
43
|
-
sym('
|
|
55
|
+
sym('k_B', BOLTZMANN_CONSTANT),
|
|
44
56
|
sym('temperature', TEMPERATURE),
|
|
45
57
|
]),
|
|
46
58
|
op('*', [
|
|
@@ -59,6 +71,12 @@ export const STATISTICAL_MECHANICS = [
|
|
|
59
71
|
{ name: 'mean-square-speed', dim: MEAN_SQUARE_SPEED },
|
|
60
72
|
], {
|
|
61
73
|
id: 'CE-kinetic-pressure',
|
|
74
|
+
prefactor: {
|
|
75
|
+
value: 1 / 3,
|
|
76
|
+
quote: String.raw `= \frac{1}{3} n mv_\text{rms}^2`,
|
|
77
|
+
locator: "Wikipedia, 'Kinetic theory of gases', revision 1371478093, wikitext line 173",
|
|
78
|
+
},
|
|
79
|
+
holds: 'number-density >= 0 and molecular-mass > 0 and mean-square-speed >= 0',
|
|
62
80
|
name: 'Kinetic pressure of an ideal gas',
|
|
63
81
|
domain: 'statistical',
|
|
64
82
|
formula_latex: 'P = \\tfrac{1}{3} n m \\langle v^2 \\rangle',
|
|
@@ -76,11 +94,12 @@ export const STATISTICAL_MECHANICS = [
|
|
|
76
94
|
partnerBridges: [],
|
|
77
95
|
}),
|
|
78
96
|
l1({ name: 'most-probable-speed', dim: VELOCITY }, [
|
|
79
|
-
{ name: '
|
|
97
|
+
{ name: 'k_B', dim: BOLTZMANN_CONSTANT },
|
|
80
98
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
81
99
|
{ name: 'molecular-mass', dim: MASS },
|
|
82
100
|
], {
|
|
83
101
|
id: 'CE-mb-most-probable-speed',
|
|
102
|
+
holds: 'temperature >= 0 and molecular-mass > 0',
|
|
84
103
|
name: 'Maxwell-Boltzmann most-probable speed',
|
|
85
104
|
domain: 'statistical',
|
|
86
105
|
formula_latex: 'v_p = \\sqrt{2 k_B T/m}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistical-mechanics.js","sourceRoot":"","sources":["../../../src/canonical/entries/statistical-mechanics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"statistical-mechanics.js","sourceRoot":"","sources":["../../../src/canonical/entries/statistical-mechanics.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * L1 (scalar-AST) canonical entries — statistical mechanics. 4 standard\n * kinetic-theory / equilibrium-statistics monomial laws (equipartition,\n * Stokes-Einstein diffusion, kinetic pressure, Maxwell-Boltzmann speed).\n * Each is a unique dimensional monomial (0 free groups); L0 fields are\n * engine-derived (see `_l1-build`).\n *\n * Mean free path (`λ = 1/(nσ)`) was deliberately EXCLUDED from this batch:\n * number density and cross-section are both pure-length dimension, so the\n * combination is dimensionally underdetermined (`nσ^1.5` is dimensionless) —\n * forcing it would violate the 0-free-groups invariant this file otherwise\n * holds to.\n *\n * 3 of the 4 laws are clean monomials with an exact prefactor left aside\n * (`scalarAst` included, `scalar-up-to-constant`); the Maxwell-Boltzmann\n * most-probable speed is a fractional-power monomial (a square root) —\n * `scalarAst` is OMITTED and `epistemicStatus` is `dimensional`, exactly like\n * the Fermi-gas √-laws in `condensed-matter.ts`.\n *\n * @module canonical/entries/statistical-mechanics\n */\nimport type { CanonicalEquation } from '../canonical-equation.js';\nimport { sym } from '../../dimensional/ast-builders.js';\nimport { MASS, VELOCITY, ENERGY, TEMPERATURE } from '../../dimensional/types.js';\nimport { dim, op, l1 } from './_l1-build.js';\n\nconst BOLTZMANN_CONSTANT = dim(2, 1, -2, 0, -1); // J/K [L² M T⁻² Θ⁻¹]\nconst DIFFUSION_COEFFICIENT = dim(2, 0, -1, 0, 0); // m²/s [L² T⁻¹]\nconst DYNAMIC_VISCOSITY = dim(-1, 1, -1, 0, 0); // Pa·s [L⁻¹ M T⁻¹]\nconst PARTICLE_RADIUS = dim(1, 0, 0, 0, 0); // [L]\nconst NUMBER_DENSITY = dim(-3, 0, 0, 0, 0); // [L⁻³]\nconst KINETIC_PRESSURE = dim(-1, 1, -2, 0, 0); // Pa [L⁻¹ M T⁻²]\nconst MEAN_SQUARE_SPEED = dim(2, 0, -2, 0, 0); // m²/s² [L² T⁻²]\n\nexport const STATISTICAL_MECHANICS: readonly CanonicalEquation[] = [\n l1({ name: 'thermal-energy', dim: ENERGY }, [\n { name: 'k_B', dim: BOLTZMANN_CONSTANT },\n { name: 'temperature', dim: TEMPERATURE },\n ], {\n id: 'CE-equipartition',\n prefactor: {\n value: 1.5,\n quote: String.raw`\\langle H_{\\mathrm{kin}} \\rangle = \\left\\langle \\frac{p^2}{2m} \\right\\rangle = \\langle \\tfrac{1}{2} m v^{2} \\rangle = \\tfrac{3}{2} k_\\text{B} T.`,\n locator: \"Wikipedia, 'Equipartition theorem', revision 1373697867, wikitext line 304\",\n },\n holds: 'temperature >= 0',\n name: 'Equipartition (mean kinetic energy)',\n domain: 'statistical',\n formula_latex: '\\\\langle E \\\\rangle = \\\\tfrac{3}{2} k_B T',\n epistemicStatus: 'scalar-up-to-constant',\n scalarAst: op('*', [\n sym('k_B', BOLTZMANN_CONSTANT),\n sym('temperature', TEMPERATURE),\n ]),\n regime: { scale: 'classical' },\n assumptions: ['ideal gas', 'thermal equilibrium', '3 translational DOF'],\n references: ['Reif, Fundamentals of Statistical and Thermal Physics'],\n partnerBridges: [],\n }),\n l1({ name: 'diffusion-coefficient', dim: DIFFUSION_COEFFICIENT }, [\n { name: 'k_B', dim: BOLTZMANN_CONSTANT },\n { name: 'temperature', dim: TEMPERATURE },\n { name: 'dynamic-viscosity', dim: DYNAMIC_VISCOSITY },\n { name: 'particle-radius', dim: PARTICLE_RADIUS },\n ], {\n id: 'CE-stokes-einstein',\n prefactor: {\n value: 1 / (6 * Math.PI),\n quote: String.raw`D = \\frac{k_\\text{B} T}{6\\pi\\,\\eta\\,r}.`,\n locator: \"Wikipedia, 'Einstein relation (kinetic theory)', revision 1353047788, wikitext line 79\",\n },\n holds: 'temperature > 0 and dynamic-viscosity > 0 and particle-radius > 0',\n name: 'Stokes-Einstein diffusion',\n domain: 'statistical',\n formula_latex: 'D = k_B T/(6\\\\pi\\\\mu r)',\n epistemicStatus: 'scalar-up-to-constant',\n scalarAst: op('/', [\n op('*', [\n sym('k_B', BOLTZMANN_CONSTANT),\n sym('temperature', TEMPERATURE),\n ]),\n op('*', [\n sym('dynamic-viscosity', DYNAMIC_VISCOSITY),\n sym('particle-radius', PARTICLE_RADIUS),\n ]),\n ]),\n regime: { scale: 'mesoscopic' },\n assumptions: ['spherical particle', 'low Reynolds number'],\n references: ['Einstein 1905', 'Sutherland 1905'],\n partnerBridges: [],\n }),\n l1({ name: 'kinetic-pressure', dim: KINETIC_PRESSURE }, [\n { name: 'number-density', dim: NUMBER_DENSITY },\n { name: 'molecular-mass', dim: MASS },\n { name: 'mean-square-speed', dim: MEAN_SQUARE_SPEED },\n ], {\n id: 'CE-kinetic-pressure',\n prefactor: {\n value: 1 / 3,\n quote: String.raw`= \\frac{1}{3} n mv_\\text{rms}^2`,\n locator: \"Wikipedia, 'Kinetic theory of gases', revision 1371478093, wikitext line 173\",\n },\n holds: 'number-density >= 0 and molecular-mass > 0 and mean-square-speed >= 0',\n name: 'Kinetic pressure of an ideal gas',\n domain: 'statistical',\n formula_latex: 'P = \\\\tfrac{1}{3} n m \\\\langle v^2 \\\\rangle',\n epistemicStatus: 'scalar-up-to-constant',\n scalarAst: op('*', [\n op('*', [\n sym('number-density', NUMBER_DENSITY),\n sym('molecular-mass', MASS),\n ]),\n sym('mean-square-speed', MEAN_SQUARE_SPEED),\n ]),\n regime: { scale: 'classical' },\n assumptions: ['ideal gas', 'isotropic velocity distribution'],\n references: ['Maxwell 1860', 'Reif, Fundamentals of Statistical and Thermal Physics'],\n partnerBridges: [],\n }),\n l1({ name: 'most-probable-speed', dim: VELOCITY }, [\n { name: 'k_B', dim: BOLTZMANN_CONSTANT },\n { name: 'temperature', dim: TEMPERATURE },\n { name: 'molecular-mass', dim: MASS },\n ], {\n id: 'CE-mb-most-probable-speed',\n holds: 'temperature >= 0 and molecular-mass > 0',\n name: 'Maxwell-Boltzmann most-probable speed',\n domain: 'statistical',\n formula_latex: 'v_p = \\\\sqrt{2 k_B T/m}',\n epistemicStatus: 'dimensional',\n regime: { scale: 'classical' },\n assumptions: ['Maxwell-Boltzmann distribution'],\n references: ['Maxwell 1860', 'Reif, Fundamentals of Statistical and Thermal Physics'],\n partnerBridges: [],\n }),\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermo-nuclear-cosmo.d.ts","sourceRoot":"","sources":["../../../src/canonical/entries/thermo-nuclear-cosmo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA0BlE,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,
|
|
1
|
+
{"version":3,"file":"thermo-nuclear-cosmo.d.ts","sourceRoot":"","sources":["../../../src/canonical/entries/thermo-nuclear-cosmo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA0BlE,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAwO5D,CAAC"}
|
|
@@ -18,6 +18,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
18
18
|
{ name: 'temperature-change', dim: TEMPERATURE },
|
|
19
19
|
], {
|
|
20
20
|
id: 'CE-heat-capacity',
|
|
21
|
+
holds: 'mass > 0',
|
|
21
22
|
name: 'Sensible heat (heat capacity)',
|
|
22
23
|
domain: 'thermodynamics',
|
|
23
24
|
formula_latex: 'Q = m c \\Delta T',
|
|
@@ -36,6 +37,11 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
36
37
|
{ name: 'decay-constant', dim: FREQUENCY },
|
|
37
38
|
], {
|
|
38
39
|
id: 'CE-half-life',
|
|
40
|
+
prefactor: {
|
|
41
|
+
value: Math.log(2),
|
|
42
|
+
quote: String.raw `t_{1/2} = \frac{\ln (2)}{\lambda} = \tau \ln(2)`,
|
|
43
|
+
locator: "Wikipedia, 'Half-life', revision 1373221894, wikitext line 64",
|
|
44
|
+
},
|
|
39
45
|
name: 'Radioactive half-life',
|
|
40
46
|
domain: 'quantum',
|
|
41
47
|
formula_latex: 't_{1/2} = \\ln 2 / \\lambda',
|
|
@@ -51,6 +57,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
51
57
|
{ name: 'hubble-rate', dim: FREQUENCY },
|
|
52
58
|
], {
|
|
53
59
|
id: 'CE-hubble-distance',
|
|
60
|
+
holds: 'hubble-rate > 0',
|
|
54
61
|
name: 'Hubble distance',
|
|
55
62
|
domain: 'cosmology',
|
|
56
63
|
formula_latex: 'D_H = c / H_0',
|
|
@@ -69,6 +76,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
69
76
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
70
77
|
], {
|
|
71
78
|
id: 'CE-landauer',
|
|
79
|
+
holds: 'temperature >= 0',
|
|
72
80
|
name: 'Landauer erasure bound',
|
|
73
81
|
domain: 'information',
|
|
74
82
|
formula_latex: 'E = k_B T \\ln 2',
|
|
@@ -93,6 +101,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
93
101
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
94
102
|
], {
|
|
95
103
|
id: 'CE-jarzynski',
|
|
104
|
+
holds: 'temperature > 0',
|
|
96
105
|
name: 'Jarzynski free-energy equality',
|
|
97
106
|
domain: 'statistical',
|
|
98
107
|
formula_latex: '\\Delta F = -k_B T \\ln \\langle \\exp(-W/(k_B T)) \\rangle',
|
|
@@ -125,6 +134,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
125
134
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
126
135
|
], {
|
|
127
136
|
id: 'CE-stefan-boltzmann',
|
|
137
|
+
holds: 'temperature >= 0',
|
|
128
138
|
name: 'Stefan–Boltzmann law',
|
|
129
139
|
domain: 'thermodynamics',
|
|
130
140
|
formula_latex: 'j = \\sigma T^4',
|
|
@@ -143,6 +153,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
143
153
|
{ name: 'V', dim: VOLUME },
|
|
144
154
|
], {
|
|
145
155
|
id: 'CE-ideal-gas',
|
|
156
|
+
holds: 'temperature > 0 and V > 0 and N >= 0',
|
|
146
157
|
name: 'Ideal gas law',
|
|
147
158
|
domain: 'thermodynamics',
|
|
148
159
|
formula_latex: 'P = N k_B T/V',
|
|
@@ -162,6 +173,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
162
173
|
{ name: 'temperature', dim: dim(0, 0, 0, 0, 1) },
|
|
163
174
|
], {
|
|
164
175
|
id: 'CE-wien',
|
|
176
|
+
holds: 'temperature > 0',
|
|
165
177
|
name: "Wien's displacement law",
|
|
166
178
|
domain: 'thermodynamics',
|
|
167
179
|
formula_latex: '\\lambda_{max} = b/T',
|
|
@@ -179,6 +191,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
179
191
|
{ name: 'specific-latent-heat', dim: SPECIFIC_LATENT_HEAT },
|
|
180
192
|
], {
|
|
181
193
|
id: 'CE-latent-heat',
|
|
194
|
+
holds: 'mass > 0',
|
|
182
195
|
name: 'Latent heat of phase transition',
|
|
183
196
|
domain: 'thermodynamics',
|
|
184
197
|
formula_latex: 'Q = m L',
|
|
@@ -198,6 +211,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
198
211
|
{ name: 'temperature', dim: TEMPERATURE },
|
|
199
212
|
], {
|
|
200
213
|
id: 'CE-clausius-entropy',
|
|
214
|
+
holds: 'temperature > 0',
|
|
201
215
|
name: 'Clausius entropy change',
|
|
202
216
|
domain: 'thermodynamics',
|
|
203
217
|
formula_latex: '\\Delta S = Q/T',
|
|
@@ -215,6 +229,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
215
229
|
{ name: 'specific-heat-capacity', dim: SPECIFIC_HEAT },
|
|
216
230
|
], {
|
|
217
231
|
id: 'CE-thermal-diffusivity',
|
|
232
|
+
holds: 'thermal-conductivity > 0 and density > 0 and specific-heat-capacity > 0',
|
|
218
233
|
name: 'Thermal diffusivity',
|
|
219
234
|
domain: 'thermodynamics',
|
|
220
235
|
formula_latex: '\\alpha = k/(\\rho c_p)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermo-nuclear-cosmo.js","sourceRoot":"","sources":["../../../src/canonical/entries/thermo-nuclear-cosmo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thermo-nuclear-cosmo.js","sourceRoot":"","sources":["../../../src/canonical/entries/thermo-nuclear-cosmo.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * L1 (scalar-AST) canonical entries — thermodynamic, statistical, nuclear, and\n * cosmological monomial laws: sensible heat capacity, radioactive half-life,\n * the Hubble distance, plus the Landauer bound, the Jarzynski equality, the\n * Stefan–Boltzmann law, the ideal-gas law, and Wien's displacement (the\n * latter five folded in from the former l1-gravity-thermo / l1-quantum-em\n * batch files in the 2026-06-22 god-file split), plus a batch-4 (2026-07-03)\n * trio of thermodynamics monomials: latent heat, the Clausius entropy change,\n * and thermal diffusivity. L0 fields are engine-derived (see `_l1-build`).\n *\n * Scope: generic dimensional MONOMIAL laws (Adam+Eve adversarial audit,\n * 2026-06-20). `domain` is the nearest `CanonicalDomain` arm (the enum has no\n * `nuclear`; radioactive decay → `quantum`). Skipped as degenerate:\n * radioactive-activity `A=λN` (N dimensionless ⇒ activity ≡ decay-constant) and\n * the Chandrasekhar mass (the (ℏc/G)/m_p² group is dimensionless ⇒\n * underdetermined). See docs/research/bridges-vs-canonical-map.md.\n *\n * @module canonical/entries/thermo-nuclear-cosmo\n */\nimport type { CanonicalEquation } from '../canonical-equation.js';\nimport { sym } from '../../dimensional/ast-builders.js';\nimport {\n MASS,\n VELOCITY,\n ENERGY,\n LENGTH,\n TIME,\n FREQUENCY,\n TEMPERATURE,\n ENTROPY,\n DIMENSIONLESS,\n} from '../../dimensional/types.js';\nimport { dim, op, pow, l1 } from './_l1-build.js';\n\nconst SPECIFIC_HEAT = dim(2, 0, -2, 0, -1); // [L² T⁻² Θ⁻¹] (J·kg⁻¹·K⁻¹)\nconst SB_FLUX = dim(0, 1, -3); // radiative flux W/m² = [M T⁻³]\nconst SIGMA_SB = dim(0, 1, -3, 0, -4); // Stefan–Boltzmann σ [M T⁻³ Θ⁻⁴] (Θ is 5th arg)\nconst PRESSURE = dim(-1, 1, -2); // [M L⁻¹ T⁻²]\nconst VOLUME = dim(3); // [L³]\nconst WIEN_B = dim(1, 0, 0, 0, 1); // Wien constant [L Θ]\nconst SPECIFIC_LATENT_HEAT = dim(2, 0, -2, 0, 0); // [L² T⁻²] (J·kg⁻¹, no Θ dependence)\nconst THERMAL_CONDUCTIVITY = dim(1, 1, -3, 0, -1); // [L M T⁻³ Θ⁻¹] (W·m⁻¹·K⁻¹)\nconst DENSITY = dim(-3, 1, 0, 0, 0); // [M L⁻³] (kg/m³)\nconst THERMAL_DIFFUSIVITY = dim(2, 0, -1, 0, 0); // [L² T⁻¹] (m²/s)\n\nexport const THERMO_NUCLEAR_COSMO: readonly CanonicalEquation[] = [\n l1({ name: 'heat-energy', dim: ENERGY }, [\n { name: 'mass', dim: MASS },\n { name: 'specific-heat', dim: SPECIFIC_HEAT },\n { name: 'temperature-change', dim: TEMPERATURE },\n ], {\n id: 'CE-heat-capacity',\n holds: 'mass > 0',\n name: 'Sensible heat (heat capacity)',\n domain: 'thermodynamics',\n formula_latex: 'Q = m c \\\\Delta T',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('*', [\n sym('mass', MASS),\n sym('specific-heat', SPECIFIC_HEAT),\n sym('temperature-change', TEMPERATURE),\n ]),\n regime: { scale: 'classical' },\n assumptions: ['no phase change', 'constant specific heat'],\n references: ['Standard thermodynamics'],\n partnerBridges: [],\n }),\n l1({ name: 'half-life', dim: TIME }, [\n { name: 'decay-constant', dim: FREQUENCY },\n ], {\n id: 'CE-half-life',\n prefactor: {\n value: Math.log(2),\n quote: String.raw`t_{1/2} = \\frac{\\ln (2)}{\\lambda} = \\tau \\ln(2)`,\n locator: \"Wikipedia, 'Half-life', revision 1373221894, wikitext line 64\",\n },\n name: 'Radioactive half-life',\n domain: 'quantum',\n formula_latex: 't_{1/2} = \\\\ln 2 / \\\\lambda',\n epistemicStatus: 'scalar-up-to-constant',\n scalarAst: pow(sym('decay-constant', FREQUENCY), '-1'),\n regime: { scale: 'quantum' },\n assumptions: ['first-order (exponential) decay'],\n references: ['Rutherford–Soddy 1902'],\n partnerBridges: [],\n }),\n l1({ name: 'hubble-distance', dim: LENGTH }, [\n { name: 'c', dim: VELOCITY },\n { name: 'hubble-rate', dim: FREQUENCY },\n ], {\n id: 'CE-hubble-distance',\n holds: 'hubble-rate > 0',\n name: 'Hubble distance',\n domain: 'cosmology',\n formula_latex: 'D_H = c / H_0',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [sym('c', VELOCITY), sym('hubble-rate', FREQUENCY)]),\n regime: { scale: 'cosmological' },\n assumptions: ['present-epoch Hubble parameter'],\n references: ['Hubble 1929'],\n partnerBridges: [],\n }),\n // ── Folded in from the former l1-gravity-thermo / l1-quantum-em batch files\n // (2026-06-22 god-file split): the thermodynamic / statistical monomials. ──\n // Landauer minimum erasure energy E = k_B T ln2 (natural log)\n l1({ name: 'erasure-energy', dim: ENERGY }, [\n { name: 'k_B', dim: ENTROPY },\n { name: 'temperature', dim: TEMPERATURE },\n ], {\n id: 'CE-landauer',\n holds: 'temperature >= 0',\n name: 'Landauer erasure bound',\n domain: 'information',\n formula_latex: 'E = k_B T \\\\ln 2',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('*', [\n sym('k_B', ENTROPY),\n sym('temperature', TEMPERATURE),\n sym('ln2', DIMENSIONLESS),\n ]),\n forms: { logBase: 'e' },\n regime: { scale: 'mesoscopic', information: 'shannon' },\n assumptions: ['isothermal', 'quasi-static erasure'],\n references: ['Landauer 1961'],\n // 16 = \"Information-Thermodynamics Bridge (Landauer's principle)\" — a\n // genuine restatement (the canonical Landauer bound IS bridge 16).\n partnerBridges: ['16'],\n restatesBridge: '16',\n }),\n // Jarzynski equality ΔF = −k_B T ln⟨exp(−W/k_B T)⟩ (dimensionless log factor)\n l1({ name: 'free-energy-difference', dim: ENERGY }, [\n { name: 'k_B', dim: ENTROPY },\n { name: 'temperature', dim: TEMPERATURE },\n ], {\n id: 'CE-jarzynski',\n holds: 'temperature > 0',\n name: 'Jarzynski free-energy equality',\n domain: 'statistical',\n formula_latex: '\\\\Delta F = -k_B T \\\\ln \\\\langle \\\\exp(-W/(k_B T)) \\\\rangle',\n // The leading dimensionless factor is the ensemble functional\n // ln⟨exp(−βW)⟩, not a universal constant, so the strongest honest claim\n // is the algebraic form up to that factor.\n epistemicStatus: 'scalar-up-to-constant',\n // Mirrors the Jarzynski right-hand side: −1 · k_B · T · ln⟨exp(−βW)⟩, the log encoded\n // as a dimensionless stub (the AST has no ln primitive). Structurally this\n // is the k_B·T·(dimensionless) thermodynamic form — the same one Landauer\n // shares, which is exactly why BE-29 \"recovers\" CE-landauer.\n scalarAst: op('*', [\n sym('-1', DIMENSIONLESS),\n sym('k_B', ENTROPY),\n sym('temperature', TEMPERATURE),\n sym('ln_avg_exp_minus_betaW', DIMENSIONLESS),\n ]),\n regime: { scale: 'mesoscopic' },\n assumptions: ['isothermal', 'arbitrary work protocol between two equilibria'],\n references: ['Jarzynski 1997 PRL 78:2690'],\n // 29 = BE-29 (Jarzynski equality) — this canonical entry IS that bridge's\n // own relation, so it is a declared restatement (NOT a discovery). Its\n // structural match to CE-landauer stays a `recovers` form-coincidence.\n partnerBridges: ['29'],\n restatesBridge: '29',\n }),\n // Stefan–Boltzmann law j = σ T⁴ (radiative FLUX)\n l1({ name: 'radiative-flux', dim: SB_FLUX }, [\n { name: 'sigma_sb', dim: SIGMA_SB },\n { name: 'temperature', dim: TEMPERATURE },\n ], {\n id: 'CE-stefan-boltzmann',\n holds: 'temperature >= 0',\n name: 'Stefan–Boltzmann law',\n domain: 'thermodynamics',\n formula_latex: 'j = \\\\sigma T^4',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('*', [sym('sigma_sb', SIGMA_SB), pow(sym('temperature', TEMPERATURE), '4')]),\n forms: { quantityKind: 'flux' },\n regime: { scale: 'classical', force: 'electromagnetic' },\n assumptions: ['blackbody', 'thermal equilibrium'],\n references: ['Stefan 1879; Boltzmann 1884'],\n partnerBridges: [],\n }),\n // Ideal gas law P = N k_B T / V (N is a dimensionless count)\n l1({ name: 'pressure', dim: PRESSURE }, [\n { name: 'k_B', dim: ENTROPY },\n { name: 'temperature', dim: TEMPERATURE },\n { name: 'V', dim: VOLUME },\n ], {\n id: 'CE-ideal-gas',\n holds: 'temperature > 0 and V > 0 and N >= 0',\n name: 'Ideal gas law',\n domain: 'thermodynamics',\n formula_latex: 'P = N k_B T/V',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('N', DIMENSIONLESS), sym('k_B', ENTROPY), sym('temperature', TEMPERATURE)]),\n sym('V', VOLUME),\n ]),\n regime: { scale: 'classical', force: 'electromagnetic' },\n assumptions: ['ideal gas', 'thermal equilibrium'],\n references: ['Clapeyron 1834'],\n partnerBridges: [],\n }),\n // Wien's displacement λ_max = b / T (blackbody peak wavelength)\n l1({ name: 'peak-wavelength', dim: LENGTH }, [\n { name: 'b', dim: WIEN_B },\n { name: 'temperature', dim: dim(0, 0, 0, 0, 1) },\n ], {\n id: 'CE-wien',\n holds: 'temperature > 0',\n name: \"Wien's displacement law\",\n domain: 'thermodynamics',\n formula_latex: '\\\\lambda_{max} = b/T',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [sym('b', WIEN_B), sym('temperature', dim(0, 0, 0, 0, 1))]),\n regime: { scale: 'classical', force: 'electromagnetic' },\n assumptions: ['blackbody', 'thermal equilibrium'],\n references: ['Wien 1893'],\n partnerBridges: [],\n }),\n // ── Batch 4 (2026-07-03): 3 more thermodynamics monomials. ─────────────────\n // Latent heat of phase transition Q = m L (specific latent heat L)\n l1({ name: 'latent-heat', dim: ENERGY }, [\n { name: 'mass', dim: MASS },\n { name: 'specific-latent-heat', dim: SPECIFIC_LATENT_HEAT },\n ], {\n id: 'CE-latent-heat',\n holds: 'mass > 0',\n name: 'Latent heat of phase transition',\n domain: 'thermodynamics',\n formula_latex: 'Q = m L',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('*', [\n sym('mass', MASS),\n sym('specific-latent-heat', SPECIFIC_LATENT_HEAT),\n ]),\n regime: { scale: 'classical' },\n assumptions: ['isothermal phase transition'],\n references: ['Callen, Thermodynamics'],\n partnerBridges: [],\n }),\n // Clausius entropy change ΔS = Q/T (reversible, constant-temperature)\n l1({ name: 'entropy-change', dim: ENTROPY }, [\n { name: 'heat', dim: ENERGY },\n { name: 'temperature', dim: TEMPERATURE },\n ], {\n id: 'CE-clausius-entropy',\n holds: 'temperature > 0',\n name: 'Clausius entropy change',\n domain: 'thermodynamics',\n formula_latex: '\\\\Delta S = Q/T',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [sym('heat', ENERGY), sym('temperature', TEMPERATURE)]),\n regime: { scale: 'classical' },\n assumptions: ['reversible process', 'constant temperature'],\n references: ['Clausius 1865', 'Callen, Thermodynamics'],\n partnerBridges: [],\n }),\n // Thermal diffusivity α = k/(ρ c_p)\n l1({ name: 'thermal-diffusivity', dim: THERMAL_DIFFUSIVITY }, [\n { name: 'thermal-conductivity', dim: THERMAL_CONDUCTIVITY },\n { name: 'density', dim: DENSITY },\n { name: 'specific-heat-capacity', dim: SPECIFIC_HEAT },\n ], {\n id: 'CE-thermal-diffusivity',\n holds: 'thermal-conductivity > 0 and density > 0 and specific-heat-capacity > 0',\n name: 'Thermal diffusivity',\n domain: 'thermodynamics',\n formula_latex: '\\\\alpha = k/(\\\\rho c_p)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n sym('thermal-conductivity', THERMAL_CONDUCTIVITY),\n op('*', [sym('density', DENSITY), sym('specific-heat-capacity', SPECIFIC_HEAT)]),\n ]),\n regime: { scale: 'classical' },\n assumptions: ['homogeneous isotropic medium'],\n references: ['Carslaw & Jaeger, Conduction of Heat in Solids'],\n partnerBridges: [],\n }),\n];\n"]}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridge↔canonical linkage (Sub-project B) — the "validate against standard
|
|
3
|
+
* physics" engine. For a canonical equation with a scalar-AST and a bridge with
|
|
4
|
+
* an RHS AST, it asks:
|
|
5
|
+
* 1. do they share the same dimension? (necessary)
|
|
6
|
+
* 2. are they the same relation up to dimensionless factors? (`normalForm`)
|
|
7
|
+
* 3. (best-effort) do they agree numerically up to a constant ratio?
|
|
8
|
+
*
|
|
9
|
+
* The structural half — same dimension, `normalForm`, and the F4
|
|
10
|
+
* `restatesBridge` guard — is `classifyStructure` in `structural.ts`. This
|
|
11
|
+
* module calls that function and then runs numerical recovery. A structural
|
|
12
|
+
* match is `restates-canonical` (a trivial X≡X, NOT a discovery) only when
|
|
13
|
+
* the canonical entry's `restatesBridge` actually names that bridge. A
|
|
14
|
+
* structural match the registry did NOT pre-declare is a genuine `recovers`
|
|
15
|
+
* correspondence. Numerical agreement is not a confirmation.
|
|
16
|
+
*
|
|
17
|
+
* @module canonical/linkage
|
|
18
|
+
*/
|
|
19
|
+
import type { ExprNode } from '../dimensional/validator.js';
|
|
1
20
|
/** Best-effort numerical-recovery outcome. */
|
|
2
21
|
export interface RecoveryOutcome {
|
|
3
22
|
/** Both ASTs evaluated at every sample (no unresolved leaf). */
|
|
@@ -17,16 +36,22 @@ export interface LinkageResult {
|
|
|
17
36
|
readonly recovery: RecoveryOutcome | null;
|
|
18
37
|
readonly classification: 'restates-canonical' | 'recovers' | 'dimensional-only' | 'unrelated';
|
|
19
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Best-effort check that two ASTs agree up to a constant ratio.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export declare function numericalRecovery(canon: ExprNode, bridge: ExprNode): RecoveryOutcome;
|
|
20
45
|
/** Compare one canonical entry against one bridge. */
|
|
21
46
|
export declare function classifyLinkage(canonicalId: string, bridgeId: number): LinkageResult;
|
|
22
47
|
/**
|
|
23
48
|
* Scan every canonical entry (with a scalar-AST) against every bridge RHS, and
|
|
24
49
|
* return the non-`unrelated` results — the physicist's linkage worklist.
|
|
25
50
|
*
|
|
26
|
-
* Each bridge
|
|
27
|
-
* each canonical's normal-form is
|
|
28
|
-
* (bridge-invariant); the inner loop then
|
|
29
|
-
*
|
|
51
|
+
* Each bridge's shape comes from the process-wide `bridgeShapes` table
|
|
52
|
+
* (validated and normal-formed once), and each canonical's normal-form is
|
|
53
|
+
* computed once per outer iteration (bridge-invariant); the inner loop then
|
|
54
|
+
* only compares pre-computed strings and dimensions.
|
|
30
55
|
*/
|
|
31
56
|
export declare function scanLinkages(): LinkageResult[];
|
|
32
57
|
//# sourceMappingURL=linkage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkage.d.ts","sourceRoot":"","sources":["../../src/canonical/linkage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linkage.d.ts","sourceRoot":"","sources":["../../src/canonical/linkage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAU5D,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;kEAC8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,EACnB,oBAAoB,GACpB,UAAU,GACV,kBAAkB,GAClB,WAAW,CAAC;CACjB;AAsDD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,eAAe,CAmCpF;AA+CD,sDAAsD;AACtD,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,aAAa,CAsBf;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAmB9C"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { validate } from '../dimensional/validator.js';
|
|
2
1
|
import { evalExpr } from '../composition/expr-eval.js';
|
|
3
2
|
import { CONSTANTS } from '../dimensional/symbolic-constants.js';
|
|
4
|
-
import { BRIDGE_RHS_BY_ID } from '../bridges/rhs-registry.js';
|
|
5
3
|
import { CANONICAL_EQUATIONS, canonicalById } from './registry.js';
|
|
6
4
|
import { canonicalQuantityName, normalForm } from './normal-form.js';
|
|
7
|
-
import { classifyStructure } from './structural.js';
|
|
5
|
+
import { bridgeShapes, classifyStructure } from './structural.js';
|
|
8
6
|
const isDimensionless = (d) => d.L === 0 &&
|
|
9
7
|
d.M === 0 &&
|
|
10
8
|
d.T === 0 &&
|
|
@@ -42,9 +40,22 @@ function collectLeaves(node, vars, dimless) {
|
|
|
42
40
|
return;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
/**
|
|
44
|
+
* The sample points: variable `i` (in sorted canonical-name order) takes the
|
|
45
|
+
* value `(1.3 + 0.7·i)^p` at exponent `p`. Each variable has its own base, so
|
|
46
|
+
* the RATIOS between variables change from point to point too. One common
|
|
47
|
+
* scale factor would leave every ratio such as y/x fixed, and two homogeneous
|
|
48
|
+
* expressions of the same degree (`x + 2y` and `x + y`) would then pass as a
|
|
49
|
+
* constant ratio at every point: a recovery that could not fail (9.0.0 audit
|
|
50
|
+
* §4 C3). `canonical-compare.ts` uses the same scheme.
|
|
51
|
+
*/
|
|
52
|
+
const SAMPLE_EXPONENTS = [1, 1.3, 1.6];
|
|
53
|
+
/**
|
|
54
|
+
* Best-effort check that two ASTs agree up to a constant ratio.
|
|
55
|
+
*
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export function numericalRecovery(canon, bridge) {
|
|
48
59
|
const vars = new Map();
|
|
49
60
|
const dimless = new Set();
|
|
50
61
|
collectLeaves(canon, vars, dimless);
|
|
@@ -54,10 +65,10 @@ function numericalRecovery(canon, bridge) {
|
|
|
54
65
|
const canonicals = [...new Set(vars.values())].sort();
|
|
55
66
|
const index = new Map(canonicals.map((n, i) => [n, i]));
|
|
56
67
|
const ratios = [];
|
|
57
|
-
for (const
|
|
68
|
+
for (const p of SAMPLE_EXPONENTS) {
|
|
58
69
|
const values = {};
|
|
59
70
|
for (const [raw, canonName] of vars) {
|
|
60
|
-
values[raw] = (1.3 + 0.7 * index.get(canonName))
|
|
71
|
+
values[raw] = Math.pow(1.3 + 0.7 * index.get(canonName), p);
|
|
61
72
|
}
|
|
62
73
|
// Hold unresolved dimensionless leaves fixed — recovery is "up to" them.
|
|
63
74
|
for (const n of dimless)
|
|
@@ -82,19 +93,12 @@ function numericalRecovery(canon, bridge) {
|
|
|
82
93
|
const maxRelErr = Math.max(...ratios.map((r) => Math.abs((r - r0) / r0)));
|
|
83
94
|
return { tested: true, maxRelErr };
|
|
84
95
|
}
|
|
85
|
-
/** Validate + normal-form a bridge RHS once. */
|
|
86
|
-
function precomputeBridge(rhs) {
|
|
87
|
-
const v = validate(rhs);
|
|
88
|
-
return {
|
|
89
|
-
rhs,
|
|
90
|
-
dim: v.ok ? v.inferredDimension : null,
|
|
91
|
-
normal: normalForm(rhs),
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
96
|
/**
|
|
95
97
|
* The comparison core, given a canonical entry (with its pre-computed
|
|
96
|
-
* normal-form) and a
|
|
97
|
-
*
|
|
98
|
+
* normal-form) and a bridge's shape from the process-wide `bridgeShapes`
|
|
99
|
+
* table (validated dimension and normal-form hash, computed once). Pure: no
|
|
100
|
+
* AST re-walks except the rare `numericalRecovery` that only fires on a
|
|
101
|
+
* structural match.
|
|
98
102
|
*/
|
|
99
103
|
function classifyAgainst(canon, canonAst, canonNormal, bridgeId, bridge) {
|
|
100
104
|
const relation = classifyStructure({
|
|
@@ -130,8 +134,8 @@ function classifyAgainst(canon, canonAst, canonNormal, bridgeId, bridge) {
|
|
|
130
134
|
/** Compare one canonical entry against one bridge. */
|
|
131
135
|
export function classifyLinkage(canonicalId, bridgeId) {
|
|
132
136
|
const canon = canonicalById(canonicalId);
|
|
133
|
-
const
|
|
134
|
-
if (!canon || !
|
|
137
|
+
const bridge = bridgeShapes().get(bridgeId);
|
|
138
|
+
if (!canon || !bridge || !canon.scalarAst) {
|
|
135
139
|
return {
|
|
136
140
|
canonicalId,
|
|
137
141
|
bridgeId,
|
|
@@ -141,22 +145,20 @@ export function classifyLinkage(canonicalId, bridgeId) {
|
|
|
141
145
|
classification: 'unrelated',
|
|
142
146
|
};
|
|
143
147
|
}
|
|
144
|
-
return classifyAgainst(canon, canon.scalarAst, normalForm(canon.scalarAst), bridgeId,
|
|
148
|
+
return classifyAgainst(canon, canon.scalarAst, normalForm(canon.scalarAst), bridgeId, bridge);
|
|
145
149
|
}
|
|
146
150
|
/**
|
|
147
151
|
* Scan every canonical entry (with a scalar-AST) against every bridge RHS, and
|
|
148
152
|
* return the non-`unrelated` results — the physicist's linkage worklist.
|
|
149
153
|
*
|
|
150
|
-
* Each bridge
|
|
151
|
-
* each canonical's normal-form is
|
|
152
|
-
* (bridge-invariant); the inner loop then
|
|
153
|
-
*
|
|
154
|
+
* Each bridge's shape comes from the process-wide `bridgeShapes` table
|
|
155
|
+
* (validated and normal-formed once), and each canonical's normal-form is
|
|
156
|
+
* computed once per outer iteration (bridge-invariant); the inner loop then
|
|
157
|
+
* only compares pre-computed strings and dimensions.
|
|
154
158
|
*/
|
|
155
159
|
export function scanLinkages() {
|
|
156
160
|
const results = [];
|
|
157
|
-
const bridges =
|
|
158
|
-
...BRIDGE_RHS_BY_ID,
|
|
159
|
-
].map(([id, rhs]) => [id, precomputeBridge(rhs)]);
|
|
161
|
+
const bridges = bridgeShapes();
|
|
160
162
|
for (const ce of CANONICAL_EQUATIONS) {
|
|
161
163
|
if (!ce.scalarAst)
|
|
162
164
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkage.js","sourceRoot":"","sources":["../../src/canonical/linkage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"linkage.js","sourceRoot":"","sources":["../../src/canonical/linkage.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Bridge↔canonical linkage (Sub-project B) — the \"validate against standard\n * physics\" engine. For a canonical equation with a scalar-AST and a bridge with\n * an RHS AST, it asks:\n * 1. do they share the same dimension? (necessary)\n * 2. are they the same relation up to dimensionless factors? (`normalForm`)\n * 3. (best-effort) do they agree numerically up to a constant ratio?\n *\n * The structural half — same dimension, `normalForm`, and the F4\n * `restatesBridge` guard — is `classifyStructure` in `structural.ts`. This\n * module calls that function and then runs numerical recovery. A structural\n * match is `restates-canonical` (a trivial X≡X, NOT a discovery) only when\n * the canonical entry's `restatesBridge` actually names that bridge. A\n * structural match the registry did NOT pre-declare is a genuine `recovers`\n * correspondence. Numerical agreement is not a confirmation.\n *\n * @module canonical/linkage\n */\nimport type { ExprNode } from '../dimensional/validator.js';\nimport type { Dimension } from '../dimensional/types.js';\nimport { evalExpr } from '../composition/expr-eval.js';\nimport { CONSTANTS } from '../dimensional/symbolic-constants.js';\nimport type { CanonicalEquation } from './canonical-equation.js';\nimport { CANONICAL_EQUATIONS, canonicalById } from './registry.js';\nimport { canonicalQuantityName, normalForm } from './normal-form.js';\nimport { bridgeShapes, classifyStructure } from './structural.js';\nimport type { BridgeShape } from './structural.js';\n\n/** Best-effort numerical-recovery outcome. */\nexport interface RecoveryOutcome {\n /** Both ASTs evaluated at every sample (no unresolved leaf). */\n readonly tested: boolean;\n /** Spread of the canonical/bridge value ratio across samples (0 ⇒ they agree\n * up to a single constant factor). `NaN` when not tested. */\n readonly maxRelErr: number;\n}\n\n/** One bridge↔canonical comparison. */\nexport interface LinkageResult {\n readonly canonicalId: string;\n readonly bridgeId: number;\n /** Inferred dimensions agree. */\n readonly dimMatch: boolean;\n /** Same relation up to dimensionless factors (`normalForm`). */\n readonly structuralMatch: boolean;\n readonly recovery: RecoveryOutcome | null;\n readonly classification:\n | 'restates-canonical'\n | 'recovers'\n | 'dimensional-only'\n | 'unrelated';\n}\n\nconst isDimensionless = (d: Dimension): boolean =>\n d.L === 0 &&\n d.M === 0 &&\n d.T === 0 &&\n d.I === 0 &&\n d.Theta === 0 &&\n d.N === 0 &&\n d.J === 0;\n\n/**\n * Collect leaves `evalExpr` can't resolve (not a registered constant, not a\n * numeric literal), split into physical `vars` (non-dimensionless — varied\n * across samples) and `dimless` (dimensionless — held fixed: they ARE the\n * constant factor \"up to\" which recovery is measured).\n */\nfunction collectLeaves(\n node: ExprNode,\n vars: Map<string, string>,\n dimless: Set<string>,\n): void {\n switch (node.kind) {\n case 'symbol':\n if (!(node.name in CONSTANTS) && Number.isNaN(Number(node.name))) {\n if (isDimensionless(node.dim)) dimless.add(node.name);\n else vars.set(node.name, canonicalQuantityName(node.name, node.dim));\n }\n return;\n case 'op':\n for (const a of node.args) collectLeaves(a, vars, dimless);\n return;\n case 'transcendental':\n collectLeaves(node.arg, vars, dimless);\n return;\n case 'abs':\n collectLeaves(node.arg, vars, dimless);\n return;\n default:\n return;\n }\n}\n\n/**\n * The sample points: variable `i` (in sorted canonical-name order) takes the\n * value `(1.3 + 0.7·i)^p` at exponent `p`. Each variable has its own base, so\n * the RATIOS between variables change from point to point too. One common\n * scale factor would leave every ratio such as y/x fixed, and two homogeneous\n * expressions of the same degree (`x + 2y` and `x + y`) would then pass as a\n * constant ratio at every point: a recovery that could not fail (9.0.0 audit\n * §4 C3). `canonical-compare.ts` uses the same scheme.\n */\nconst SAMPLE_EXPONENTS = [1, 1.3, 1.6];\n\n/**\n * Best-effort check that two ASTs agree up to a constant ratio.\n *\n * @internal\n */\nexport function numericalRecovery(canon: ExprNode, bridge: ExprNode): RecoveryOutcome {\n const vars = new Map<string, string>();\n const dimless = new Set<string>();\n collectLeaves(canon, vars, dimless);\n collectLeaves(bridge, vars, dimless);\n // `M` and `mass` are one quantity. They share a sample, or the ratio is a\n // float artifact of two independent draws of the same mass.\n const canonicals = [...new Set(vars.values())].sort();\n const index = new Map(canonicals.map((n, i) => [n, i]));\n const ratios: number[] = [];\n for (const p of SAMPLE_EXPONENTS) {\n const values: Record<string, number> = {};\n for (const [raw, canonName] of vars) {\n values[raw] = Math.pow(1.3 + 0.7 * index.get(canonName)!, p);\n }\n // Hold unresolved dimensionless leaves fixed — recovery is \"up to\" them.\n for (const n of dimless) values[n] = 1;\n let cv: number;\n let bv: number;\n try {\n cv = evalExpr(canon, values);\n bv = evalExpr(bridge, values);\n } catch {\n return { tested: false, maxRelErr: NaN };\n }\n // Guard cv===0 too: with cv===0 the ratio is 0 at every sample, so the\n // relative-spread denominator r0===0 ⇒ NaN — a false \"tested\" result.\n if (!Number.isFinite(cv) || !Number.isFinite(bv) || bv === 0 || cv === 0) {\n return { tested: false, maxRelErr: NaN };\n }\n ratios.push(cv / bv);\n }\n const r0 = ratios[0];\n const maxRelErr = Math.max(...ratios.map((r) => Math.abs((r - r0) / r0)));\n return { tested: true, maxRelErr };\n}\n\n/**\n * The comparison core, given a canonical entry (with its pre-computed\n * normal-form) and a bridge's shape from the process-wide `bridgeShapes`\n * table (validated dimension and normal-form hash, computed once). Pure: no\n * AST re-walks except the rare `numericalRecovery` that only fires on a\n * structural match.\n */\nfunction classifyAgainst(\n canon: CanonicalEquation,\n canonAst: ExprNode,\n canonNormal: string,\n bridgeId: number,\n bridge: BridgeShape,\n): LinkageResult {\n const relation = classifyStructure({\n left: canonAst,\n leftDim: canon.dimensional.target.dim,\n leftNormal: canonNormal,\n right: bridge.rhs,\n rightDim: bridge.dim,\n rightNormal: bridge.normal,\n restatesBridge: canon.restatesBridge,\n bridgeId: String(bridgeId),\n });\n const recovery = relation.structuralMatch ? numericalRecovery(canonAst, bridge.rhs) : null;\n\n let classification: LinkageResult['classification'];\n if (relation.structuralMatch) {\n classification = relation.restates ? 'restates-canonical' : 'recovers';\n } else if (relation.dimMatch) {\n classification = 'dimensional-only';\n } else {\n classification = 'unrelated';\n }\n\n return {\n canonicalId: canon.id,\n bridgeId,\n dimMatch: relation.dimMatch,\n structuralMatch: relation.structuralMatch,\n recovery,\n classification,\n };\n}\n\n/** Compare one canonical entry against one bridge. */\nexport function classifyLinkage(\n canonicalId: string,\n bridgeId: number,\n): LinkageResult {\n const canon = canonicalById(canonicalId);\n const bridge = bridgeShapes().get(bridgeId);\n\n if (!canon || !bridge || !canon.scalarAst) {\n return {\n canonicalId,\n bridgeId,\n dimMatch: false,\n structuralMatch: false,\n recovery: null,\n classification: 'unrelated',\n };\n }\n\n return classifyAgainst(\n canon,\n canon.scalarAst,\n normalForm(canon.scalarAst),\n bridgeId,\n bridge,\n );\n}\n\n/**\n * Scan every canonical entry (with a scalar-AST) against every bridge RHS, and\n * return the non-`unrelated` results — the physicist's linkage worklist.\n *\n * Each bridge's shape comes from the process-wide `bridgeShapes` table\n * (validated and normal-formed once), and each canonical's normal-form is\n * computed once per outer iteration (bridge-invariant); the inner loop then\n * only compares pre-computed strings and dimensions.\n */\nexport function scanLinkages(): LinkageResult[] {\n const results: LinkageResult[] = [];\n const bridges = bridgeShapes();\n\n for (const ce of CANONICAL_EQUATIONS) {\n if (!ce.scalarAst) continue;\n const canonNormal = normalForm(ce.scalarAst);\n for (const [bridgeId, bridge] of bridges) {\n const r = classifyAgainst(\n ce,\n ce.scalarAst,\n canonNormal,\n bridgeId,\n bridge,\n );\n if (r.classification !== 'unrelated') results.push(r);\n }\n }\n return results;\n}\n"]}
|
|
@@ -22,14 +22,6 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import type { ExprNode } from '../dimensional/validator.js';
|
|
24
24
|
import type { Dimension } from '../dimensional/types.js';
|
|
25
|
-
/**
|
|
26
|
-
* A dimensionless symbol is a droppable "up to a constant" factor only when it
|
|
27
|
-
* is a numeric literal (`2`, `-1`, `0.5`), a registered named constant
|
|
28
|
-
* (`ln2`, `4pi`, …), or a spelled-out numeric constant (`6pi`, `ln_2_constant`).
|
|
29
|
-
* Any OTHER dimensionless symbol is a stub for an unknown dimensionless quantity
|
|
30
|
-
* (a parameter or a functional like `ln⟨exp(−βW)⟩`) and is structural —
|
|
31
|
-
* dropping it would conflate distinct interiors.
|
|
32
|
-
*/
|
|
33
25
|
/**
|
|
34
26
|
* Bridge ASTs still spell a governing quantity with the short symbol (`T`, `M`,
|
|
35
27
|
* `m_1`, `m_2`). The registry uses one name. The structural hash treats the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normal-form.d.ts","sourceRoot":"","sources":["../../src/canonical/normal-form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"normal-form.d.ts","sourceRoot":"","sources":["../../src/canonical/normal-form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BzD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAK1E;AAoDD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAiEjD;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAEnE"}
|
|
@@ -13,20 +13,13 @@ const UNIT = '1';
|
|
|
13
13
|
/**
|
|
14
14
|
* Spelled-out dimensionless numeric constants some encoders write as a named
|
|
15
15
|
* symbol rather than a literal — genuine constants the eval `CONSTANTS`
|
|
16
|
-
* registry
|
|
17
|
-
*
|
|
18
|
-
* of `ln 2`. These stay droppable;
|
|
19
|
-
* PARAMETER stub (`alpha`,
|
|
16
|
+
* registry does not list under that spelling (its own keys are the canonical
|
|
17
|
+
* rows of the constant registry; `piMultipleValue` reads `pi`/`2pi`/`6pi`/…).
|
|
18
|
+
* `ln_2_constant` is BE-16's spelling of `ln 2`. These stay droppable;
|
|
19
|
+
* everything else dimensionless-and-named is a PARAMETER stub (`alpha`,
|
|
20
|
+
* `lambda`, `g_dark`, `ln⟨e^−βW⟩`, …) and is kept.
|
|
20
21
|
*/
|
|
21
22
|
const NAMED_DIMENSIONLESS_CONSTANTS = new Set(['ln_2_constant']);
|
|
22
|
-
/**
|
|
23
|
-
* A dimensionless symbol is a droppable "up to a constant" factor only when it
|
|
24
|
-
* is a numeric literal (`2`, `-1`, `0.5`), a registered named constant
|
|
25
|
-
* (`ln2`, `4pi`, …), or a spelled-out numeric constant (`6pi`, `ln_2_constant`).
|
|
26
|
-
* Any OTHER dimensionless symbol is a stub for an unknown dimensionless quantity
|
|
27
|
-
* (a parameter or a functional like `ln⟨exp(−βW)⟩`) and is structural —
|
|
28
|
-
* dropping it would conflate distinct interiors.
|
|
29
|
-
*/
|
|
30
23
|
/**
|
|
31
24
|
* Bridge ASTs still spell a governing quantity with the short symbol (`T`, `M`,
|
|
32
25
|
* `m_1`, `m_2`). The registry uses one name. The structural hash treats the
|
|
@@ -42,6 +35,14 @@ export function canonicalQuantityName(name, dim) {
|
|
|
42
35
|
}
|
|
43
36
|
return quantityIdForSpelling(name) ?? name;
|
|
44
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* A dimensionless symbol is a droppable "up to a constant" factor only when it
|
|
40
|
+
* is a numeric literal (`2`, `-1`, `0.5`), a registered named constant
|
|
41
|
+
* (`ln2`, `4pi`, …), or a spelled-out numeric constant (`6pi`, `ln_2_constant`).
|
|
42
|
+
* Any OTHER dimensionless symbol is a stub for an unknown dimensionless quantity
|
|
43
|
+
* (a parameter or a functional like `ln⟨exp(−βW)⟩`) and is structural —
|
|
44
|
+
* dropping it would conflate distinct interiors.
|
|
45
|
+
*/
|
|
45
46
|
function isDroppableConstant(name) {
|
|
46
47
|
return (name in CONSTANTS ||
|
|
47
48
|
Number.isFinite(Number(name)) ||
|
|
@@ -124,6 +125,10 @@ export function normalForm(node) {
|
|
|
124
125
|
// dimensionless exponent is never dropped (symmetric for direct
|
|
125
126
|
// symbols and op sub-expressions alike).
|
|
126
127
|
const base = normalForm(node.args[0]);
|
|
128
|
+
// A dimensionless constant to any power is still a dimensionless constant (π², √(2π)),
|
|
129
|
+
// dropped as the constant is; the exponent is structural only on a dimensionful base.
|
|
130
|
+
if (base === UNIT)
|
|
131
|
+
return UNIT;
|
|
127
132
|
return `^(${base},${rawForm(node.args[1])})`;
|
|
128
133
|
}
|
|
129
134
|
case '+':
|