universal-physics-tensor 10.0.0 → 12.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 +39 -36
- package/bin/upt.mjs +13 -1
- package/data/applied-cases.json +1892 -0
- package/data/applied-cases.schema.json +194 -0
- package/data/atlas/atlas.json +25 -25
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +6 -6
- package/data/atlas/oscillators.json +7 -7
- package/data/atlas/waves.json +14 -14
- package/data/atlas/witness-results.json +11 -11
- package/data/bridge-catalog.json +389 -230
- package/data/bridge-catalog.schema.json +45 -7
- package/data/units.json +6 -25
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +21 -15
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +9 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +15 -13
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/loader.js +2 -2
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +2 -2
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +9 -15
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.d.ts +26 -3
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +52 -5
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +7 -8
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts +0 -4
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +8 -12
- 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 +27 -39
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.d.ts +6 -14
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
- package/dist/atlas/diffusion/dimensions.js +8 -16
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/models.d.ts +3 -3
- package/dist/atlas/diffusion/models.d.ts.map +1 -1
- package/dist/atlas/diffusion/models.js +5 -10
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.d.ts +16 -4
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
- package/dist/atlas/diffusion/numerics.js +38 -24
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +106 -3
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js +212 -66
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +7 -11
- 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 +6 -7
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +23 -34
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.d.ts +9 -21
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
- package/dist/atlas/oscillators/dimensions.js +9 -21
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -2
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js +17 -15
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +2 -6
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.d.ts +29 -6
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js +60 -40
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js +3 -4
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.d.ts +68 -7
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/position-translation.js +123 -12
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.d.ts +0 -2
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
- package/dist/atlas/oscillators/rejections.js +0 -7
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +35 -25
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +37 -25
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +34 -31
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +55 -53
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +1 -1
- package/dist/atlas/physjs-reviewed.js +15 -15
- package/dist/atlas/physjs-reviewed.js.map +1 -1
- package/dist/atlas/poster/statements.d.ts +0 -19
- package/dist/atlas/poster/statements.d.ts.map +1 -1
- package/dist/atlas/poster/statements.js +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +1 -1
- package/dist/atlas/proof-target.js +1 -1
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/regime.d.ts +1 -1
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/text-overlap.d.ts +23 -0
- package/dist/atlas/text-overlap.d.ts.map +1 -0
- package/dist/atlas/text-overlap.js +41 -0
- package/dist/atlas/text-overlap.js.map +1 -0
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +2 -6
- 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 +32 -48
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/models.d.ts +5 -6
- package/dist/atlas/waves/models.d.ts.map +1 -1
- package/dist/atlas/waves/models.js +7 -13
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.d.ts.map +1 -1
- package/dist/atlas/waves/numerics.js +10 -3
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +30 -0
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +53 -0
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-specs.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +19 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.d.ts +75 -3
- package/dist/atlas/witness-symbolic.d.ts.map +1 -1
- package/dist/atlas/witness-symbolic.js +116 -10
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +13 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +26 -2
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js +11 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +31 -1
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +7 -5
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +27 -12
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +11 -0
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +14 -5
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +35 -3
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +117 -23
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/notices.d.ts.map +1 -1
- package/dist/bridges/notices.js +5 -5
- package/dist/bridges/notices.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +4 -4
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +15 -16
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +3 -3
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/validity.d.ts +33 -0
- package/dist/bridges/validity.d.ts.map +1 -0
- package/dist/bridges/validity.js +67 -0
- package/dist/bridges/validity.js.map +1 -0
- package/dist/canonical/entries/atomic.js +1 -3
- 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 +4 -5
- 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 +3 -4
- 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 +4 -10
- 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 +3 -7
- 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 +4 -6
- 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 +9 -17
- 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 -6
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/fixed-points.d.ts +94 -0
- package/dist/canonical/fixed-points.d.ts.map +1 -0
- package/dist/canonical/fixed-points.js +81 -0
- package/dist/canonical/fixed-points.js.map +1 -0
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +25 -44
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +5 -11
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -21
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +40 -19
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/catalog-checks.d.ts +10 -0
- package/dist/cases/catalog-checks.d.ts.map +1 -0
- package/dist/cases/catalog-checks.js +241 -0
- package/dist/cases/catalog-checks.js.map +1 -0
- package/dist/cases/catalog.d.ts +83 -0
- package/dist/cases/catalog.d.ts.map +1 -0
- package/dist/cases/catalog.js +118 -0
- package/dist/cases/catalog.js.map +1 -0
- package/dist/cases/engine.d.ts +13 -0
- package/dist/cases/engine.d.ts.map +1 -0
- package/dist/cases/engine.js +179 -0
- package/dist/cases/engine.js.map +1 -0
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +5 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/methods.d.ts +215 -0
- package/dist/cases/methods.d.ts.map +1 -0
- package/dist/cases/methods.js +743 -0
- package/dist/cases/methods.js.map +1 -0
- package/dist/cases/quadrature.d.ts +7 -9
- package/dist/cases/quadrature.d.ts.map +1 -1
- package/dist/cases/quadrature.js +28 -32
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/types.d.ts +12 -0
- package/dist/cases/types.d.ts.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +25 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +30 -8
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts.map +1 -1
- package/dist/cli/bindings.js +5 -4
- package/dist/cli/bindings.js.map +1 -1
- package/dist/cli/command.d.ts +11 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +0 -9
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +8 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-route.js +6 -2
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +1 -0
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +9 -9
- 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 +8 -5
- 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 +8 -1
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.d.ts.map +1 -1
- package/dist/cli/commands/axes.js +20 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +8 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +22 -22
- 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 +122 -73
- 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 +1 -0
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +67 -39
- 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 +24 -3
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +7 -1
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -11
- 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 +12 -9
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.d.ts +10 -0
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +25 -3
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +59 -16
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +19 -28
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts.map +1 -1
- package/dist/cli/commands/testplan.js +4 -2
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/determination.d.ts +1 -0
- package/dist/cli/determination.d.ts.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/expr-print.d.ts +0 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +7 -31
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.d.ts +1 -0
- package/dist/cli/flag-help.d.ts.map +1 -1
- package/dist/cli/flag-help.js +1 -0
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.d.ts +2 -0
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +1 -0
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts +8 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +19 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/numeric-flag.d.ts +12 -0
- package/dist/cli/numeric-flag.d.ts.map +1 -0
- package/dist/cli/numeric-flag.js +44 -0
- package/dist/cli/numeric-flag.js.map +1 -0
- package/dist/cli/output.d.ts +28 -0
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +23 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/record-reach.js +2 -2
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +6 -5
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts +1 -5
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +9 -8
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +7 -6
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.d.ts +0 -2
- package/dist/cli/statuses.d.ts.map +1 -1
- package/dist/cli/statuses.js +12 -9
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/stored-results.d.ts +7 -0
- package/dist/cli/stored-results.d.ts.map +1 -0
- package/dist/cli/stored-results.js +23 -0
- package/dist/cli/stored-results.js.map +1 -0
- package/dist/cli/version.d.ts +1 -0
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +8 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +36 -5
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +30 -4
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/algebraic-equivalence.d.ts +43 -0
- package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
- package/dist/composition/algebraic-equivalence.js +115 -0
- package/dist/composition/algebraic-equivalence.js.map +1 -0
- package/dist/composition/axes.d.ts +0 -6
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +6 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.d.ts +47 -20
- package/dist/composition/axis-audit.d.ts.map +1 -1
- package/dist/composition/axis-audit.js +82 -9
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +17 -0
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +102 -55
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts +40 -0
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +122 -24
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +3 -3
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +11 -38
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js +2 -2
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +2 -5
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +8 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +9 -2
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.d.ts +6 -3
- package/dist/composition/chain-match.d.ts.map +1 -1
- package/dist/composition/chain-match.js +4 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-result.d.ts.map +1 -1
- package/dist/composition/chain-result.js +2 -14
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js +3 -2
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +13 -5
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts.map +1 -1
- package/dist/composition/composition-recovery.js +4 -7
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts +15 -5
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +6 -4
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/discovery.d.ts +129 -9
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +171 -67
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +21 -2
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +23 -1
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js +18 -3
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +35 -11
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +60 -39
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +3 -12
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +7 -20
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +6 -15
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +26 -14
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +64 -72
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +23 -4
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +57 -17
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/graph-structure.d.ts +98 -0
- package/dist/composition/graph-structure.d.ts.map +1 -0
- package/dist/composition/graph-structure.js +167 -0
- package/dist/composition/graph-structure.js.map +1 -0
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz-svg.js +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +8 -37
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.d.ts.map +1 -1
- package/dist/composition/grounding.js +19 -7
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.d.ts +91 -4
- package/dist/composition/identifiability.d.ts.map +1 -1
- package/dist/composition/identifiability.js +363 -6
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +8 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +3 -2
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +7 -8
- package/dist/composition/mathts-quiet.d.ts.map +1 -1
- package/dist/composition/mathts-quiet.js +7 -16
- package/dist/composition/mathts-quiet.js.map +1 -1
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +2 -1
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/own-equation-magnitude.d.ts +95 -0
- package/dist/composition/own-equation-magnitude.d.ts.map +1 -0
- package/dist/composition/own-equation-magnitude.js +270 -0
- package/dist/composition/own-equation-magnitude.js.map +1 -0
- package/dist/composition/probe/backend-protocol.d.ts +3 -0
- package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.d.ts +1 -0
- package/dist/composition/probe/candidate-store.d.ts.map +1 -1
- package/dist/composition/probe/candidate-store.js +1 -0
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.d.ts +8 -4
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +23 -12
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.d.ts +18 -0
- package/dist/composition/probe/dataset.d.ts.map +1 -1
- package/dist/composition/probe/dataset.js +95 -50
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.d.ts +7 -1
- package/dist/composition/probe/experiment-design.d.ts.map +1 -1
- package/dist/composition/probe/experiment-design.js +44 -24
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +2 -0
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +2 -0
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +7 -0
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +46 -22
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +33 -15
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.d.ts +30 -1
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +58 -36
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +14 -0
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +6 -0
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.d.ts +25 -1
- package/dist/composition/probe/limits.d.ts.map +1 -1
- package/dist/composition/probe/limits.js +53 -11
- package/dist/composition/probe/limits.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 +73 -24
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/power-law.d.ts +121 -0
- package/dist/composition/probe/power-law.d.ts.map +1 -0
- package/dist/composition/probe/power-law.js +251 -0
- package/dist/composition/probe/power-law.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +8 -4
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +177 -49
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.d.ts +7 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js +10 -7
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.d.ts +1 -0
- package/dist/composition/probe/run-manifest.d.ts.map +1 -1
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scalar-search.d.ts +50 -0
- package/dist/composition/probe/scalar-search.d.ts.map +1 -0
- package/dist/composition/probe/scalar-search.js +169 -0
- package/dist/composition/probe/scalar-search.js.map +1 -0
- package/dist/composition/probe/scoring.d.ts +1 -0
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/structure.d.ts +82 -17
- package/dist/composition/probe/structure.d.ts.map +1 -1
- package/dist/composition/probe/structure.js +129 -55
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +31 -9
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +235 -184
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/t-tail.d.ts +16 -0
- package/dist/composition/probe/t-tail.d.ts.map +1 -0
- package/dist/composition/probe/t-tail.js +29 -0
- package/dist/composition/probe/t-tail.js.map +1 -0
- package/dist/composition/probe/types.d.ts +3 -0
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +52 -12
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +107 -60
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantity-clusters.d.ts +48 -0
- package/dist/composition/quantity-clusters.d.ts.map +1 -0
- package/dist/composition/quantity-clusters.js +98 -0
- package/dist/composition/quantity-clusters.js.map +1 -0
- package/dist/composition/rational-exponent.d.ts +40 -0
- package/dist/composition/rational-exponent.d.ts.map +1 -0
- package/dist/composition/rational-exponent.js +65 -0
- package/dist/composition/rational-exponent.js.map +1 -0
- package/dist/composition/representative-values.d.ts +22 -0
- package/dist/composition/representative-values.d.ts.map +1 -1
- package/dist/composition/representative-values.js +29 -0
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +15 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +12 -4
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/user-equation.d.ts +1 -0
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +3 -2
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/assignment.d.ts +19 -0
- package/dist/core/assignment.d.ts.map +1 -0
- package/dist/core/assignment.js +19 -0
- package/dist/core/assignment.js.map +1 -0
- package/dist/core/compare.d.ts +32 -0
- package/dist/core/compare.d.ts.map +1 -0
- package/dist/core/compare.js +46 -0
- package/dist/core/compare.js.map +1 -0
- package/dist/core/constants.d.ts +42 -41
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +71 -51
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +7 -0
- package/dist/core/data-file.d.ts.map +1 -1
- package/dist/core/data-file.js +17 -0
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/format.d.ts +36 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +39 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/hash.d.ts +14 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +17 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/json-schema.d.ts +2 -0
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +14 -13
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +0 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/mathts-read.d.ts +25 -0
- package/dist/core/mathts-read.d.ts.map +1 -0
- package/dist/core/mathts-read.js +51 -0
- package/dist/core/mathts-read.js.map +1 -0
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +24 -0
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +5 -5
- package/dist/diff/bridge-ast-gradient.d.ts +27 -23
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +75 -173
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +19 -6
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +19 -11
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +3 -0
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.d.ts +18 -0
- package/dist/dimensional/algebra.d.ts.map +1 -1
- package/dist/dimensional/algebra.js +41 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +7 -0
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +11 -0
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-leaves.d.ts +81 -0
- package/dist/dimensional/ast-leaves.d.ts.map +1 -0
- package/dist/dimensional/ast-leaves.js +146 -0
- package/dist/dimensional/ast-leaves.js.map +1 -0
- package/dist/dimensional/ast-types.d.ts +15 -0
- package/dist/dimensional/ast-types.d.ts.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/buckingham.js +15 -27
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/constant-rows.js +9 -9
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/dimension-inference.d.ts.map +1 -1
- package/dist/dimensional/dimension-inference.js +1 -2
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/errors.d.ts +1 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +1 -15
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +24 -11
- package/dist/dimensional/exact-scale.d.ts.map +1 -1
- package/dist/dimensional/exact-scale.js +122 -130
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +2 -2
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts +12 -2
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +44 -19
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/mathts-unit-delegation.d.ts +29 -0
- package/dist/dimensional/mathts-unit-delegation.d.ts.map +1 -0
- package/dist/dimensional/mathts-unit-delegation.js +187 -0
- package/dist/dimensional/mathts-unit-delegation.js.map +1 -0
- package/dist/dimensional/mathts-unit-wrapper.d.ts +33 -0
- package/dist/dimensional/mathts-unit-wrapper.d.ts.map +1 -0
- package/dist/dimensional/mathts-unit-wrapper.js +190 -0
- package/dist/dimensional/mathts-unit-wrapper.js.map +1 -0
- package/dist/dimensional/metric.d.ts.map +1 -1
- package/dist/dimensional/metric.js +0 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/scalar-lowering.d.ts +21 -0
- package/dist/dimensional/scalar-lowering.d.ts.map +1 -0
- package/dist/dimensional/scalar-lowering.js +45 -0
- package/dist/dimensional/scalar-lowering.js.map +1 -0
- package/dist/dimensional/symbolic-constants.d.ts +9 -0
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +13 -1
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/types.d.ts +36 -0
- package/dist/dimensional/types.d.ts.map +1 -1
- package/dist/dimensional/types.js +45 -7
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +5 -1
- package/dist/dimensional/unit-data.d.ts.map +1 -1
- package/dist/dimensional/unit-data.js +30 -6
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts +2 -0
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +59 -3
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator.d.ts +2 -0
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/numerical/christoffel-flat.d.ts.map +1 -1
- package/dist/numerical/christoffel-flat.js +3 -2
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.d.ts +3 -1
- package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js +11 -15
- 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 +34 -11
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +3 -2
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +0 -3
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/finite-difference.d.ts +22 -0
- package/dist/numerical/finite-difference.d.ts.map +1 -0
- package/dist/numerical/finite-difference.js +27 -0
- package/dist/numerical/finite-difference.js.map +1 -0
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +22 -14
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/geometrized.js +0 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +10 -24
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +83 -46
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ray-integrator.d.ts +2 -1
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +12 -12
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js +2 -2
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +2 -6
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +0 -36
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +41 -87
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +11 -13
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/rk4-trajectory.d.ts +10 -0
- package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
- package/dist/numerical/rk4-trajectory.js +37 -0
- package/dist/numerical/rk4-trajectory.js.map +1 -0
- package/dist/numerical/schwarzschild.d.ts +14 -0
- package/dist/numerical/schwarzschild.d.ts.map +1 -0
- package/dist/numerical/schwarzschild.js +17 -0
- package/dist/numerical/schwarzschild.js.map +1 -0
- package/dist/numerical/spacetime-metrics.d.ts +12 -0
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +72 -56
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/statistics.d.ts +24 -0
- package/dist/numerical/statistics.d.ts.map +1 -0
- package/dist/numerical/statistics.js +52 -0
- package/dist/numerical/statistics.js.map +1 -0
- package/dist/numerical/strides.d.ts +3 -2
- package/dist/numerical/strides.d.ts.map +1 -1
- package/dist/numerical/strides.js +3 -10
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +21 -0
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js +12 -0
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/relations/regime.d.ts +10 -0
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +18 -1
- package/dist/relations/regime.js.map +1 -1
- package/package.json +9 -12
- package/dist/cases/brownian-sphere.d.ts +0 -68
- package/dist/cases/brownian-sphere.d.ts.map +0 -1
- package/dist/cases/brownian-sphere.js +0 -354
- package/dist/cases/brownian-sphere.js.map +0 -1
- package/dist/cases/damped-resonator.d.ts +0 -23
- package/dist/cases/damped-resonator.d.ts.map +0 -1
- package/dist/cases/damped-resonator.js +0 -224
- package/dist/cases/damped-resonator.js.map +0 -1
- package/dist/cases/kepler-rv.d.ts +0 -13
- package/dist/cases/kepler-rv.d.ts.map +0 -1
- package/dist/cases/kepler-rv.js +0 -172
- package/dist/cases/kepler-rv.js.map +0 -1
- package/dist/cases/lumped-cooling.d.ts +0 -46
- package/dist/cases/lumped-cooling.d.ts.map +0 -1
- package/dist/cases/lumped-cooling.js +0 -261
- package/dist/cases/lumped-cooling.js.map +0 -1
- package/dist/cases/resistor-noise.d.ts +0 -14
- package/dist/cases/resistor-noise.d.ts.map +0 -1
- package/dist/cases/resistor-noise.js +0 -215
- package/dist/cases/resistor-noise.js.map +0 -1
- package/dist/cases/skin-depth.d.ts +0 -21
- package/dist/cases/skin-depth.d.ts.map +0 -1
- package/dist/cases/skin-depth.js +0 -174
- package/dist/cases/skin-depth.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relativity.js","sourceRoot":"","sources":["../../../src/canonical/entries/relativity.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Relativity canonical entries: the Einstein field equation (L2 — a structural\n * `EinsteinFieldEquationNode` validated by the existing field-equation\n * predicate) and the Friedmann equation (L1 — the flat, matter-dominated scalar\n * form H² = 8πG ρ / 3).\n *\n * @module canonical/entries/relativity\n */\nimport type { CanonicalEquation } from '../canonical-equation.js';\nimport type { EinsteinFieldEquationNode } from '../../dimensional/einstein-equation.js';\nimport type { EinsteinTensorNode } from '../../dimensional/curvature.js';\nimport type {\n StressEnergyTensorNode,\n CosmologicalConstantNode,\n} from '../../dimensional/stress-energy-validators.js';\nimport type { MetricTensorNode } from '../../dimensional/metric-validators.js';\nimport type { RiemannTensorNode } from '../../dimensional/connection-validators.js';\nimport { metric } from '../../dimensional/metric.js';\nimport { tsym } from '../../dimensional/tensor.js';\nimport { sym } from '../../dimensional/ast-builders.js';\nimport {\n LENGTH,\n DIMENSIONLESS,\n MASS,\n VELOCITY,\n ACTION,\n ENTROPY,\n TEMPERATURE,\n AREA,\n FORCE,\n} from '../../dimensional/types.js';\nimport { dim, op, pow, l1 } from './_l1-build.js';\n\n// ── EFE node builders (the canonical G_μν + Λg_μν = (8πG/c⁴)T_μν structure) ──\nconst L_INV2 = dim(-2); // [L⁻²] — per-component dim of every EFE term\nconst ENERGY_DENSITY = dim(-1, 1, -2); // T_μν componentDim [M L⁻¹ T⁻²]\n\nfunction buildRiemann(mu = 'mu', nu = 'nu'): RiemannTensorNode {\n const gLower = metric(\n 'g',\n [\n { label: 'a', variance: 'lower' },\n { label: 'b', variance: 'lower' },\n ],\n DIMENSIONLESS,\n '-,+,+,+',\n );\n const gInverse = metric(\n 'g_inv',\n [\n { label: 'a', variance: 'upper' },\n { label: 'b', variance: 'upper' },\n ],\n DIMENSIONLESS,\n '-,+,+,+',\n );\n const xCoord = tsym(\n 'x',\n [{ label: 'c', variance: 'upper' }],\n LENGTH,\n 'coordinate',\n );\n return {\n kind: 'riemann-tensor',\n upperIndex: { label: 'rho', variance: 'upper' },\n lowerIndices: [\n { label: mu, variance: 'lower' },\n { label: 'lambda', variance: 'lower' },\n { label: nu, variance: 'lower' },\n ],\n gLower,\n gInverse,\n xCoord,\n };\n}\n\nfunction buildEinstein(mu = 'mu', nu = 'nu'): EinsteinTensorNode {\n const riemann = buildRiemann(mu, nu);\n return {\n kind: 'einstein-tensor',\n riemann,\n gLower: riemann.gLower,\n gInverse: riemann.gInverse,\n };\n}\n\nconst buildT = (mu = 'mu', nu = 'nu'): StressEnergyTensorNode => ({\n kind: 'stress-energy',\n symbol: 'T',\n indices: [\n { label: mu, variance: 'lower' },\n { label: nu, variance: 'lower' },\n ],\n symmetry: 'symmetric',\n componentDim: ENERGY_DENSITY,\n});\n\nconst buildLambda = (): CosmologicalConstantNode => ({\n kind: 'cosmological-constant',\n symbol: 'Λ',\n dim: L_INV2,\n});\n\nconst buildMetric = (): MetricTensorNode =>\n metric(\n 'g_metric',\n [\n { label: 'mu', variance: 'lower' },\n { label: 'nu', variance: 'lower' },\n ],\n DIMENSIONLESS,\n '-,+,+,+',\n );\n\n/** The canonical Einstein field equation node, G_μν + Λg_μν = (8πG/c⁴)T_μν. @internal */\nconst EFE_NODE: EinsteinFieldEquationNode = {\n kind: 'einstein-equation',\n lhs: buildEinstein('mu', 'nu'),\n cosmological: buildLambda(),\n metric: buildMetric(),\n rhs: buildT('mu', 'nu'),\n coupling: 'einstein',\n};\n\n// ── dimensional layer for the EFE (per-component [L⁻²] from 8πG·T/c⁴) ────────\nconst GRAV = dim(3, -1, -2);\nconst EFE_TARGET = { name: 'efe-curvature', dim: L_INV2 };\nconst EFE_GOV = [\n { name: 'G', dim: GRAV },\n { name: 'c', dim: dim(1, 0, -1) },\n { name: 'stress-energy-density', dim: ENERGY_DENSITY },\n];\n\n// ── Friedmann (flat, matter-dominated): H² = 8πG ρ / 3 ───────────────────────\nconst HSQUARED = dim(0, 0, -2); // [T⁻²]\nconst DENSITY = dim(-3, 1); // [M L⁻³]\nconst FRIEDMANN_TARGET = { name: 'hubble-rate-squared', dim: HSQUARED };\nconst FRIEDMANN_GOV = [\n { name: 'G', dim: GRAV },\n { name: 'rho', dim: DENSITY },\n];\n\nexport const RELATIVITY: readonly CanonicalEquation[] = [\n l1(EFE_TARGET, EFE_GOV, {\n id: 'CE-einstein-field-eq',\n conventionNote: 'the Einstein-equation metric node is mostly-plus (−,+,+,+), the same signature as upt metric. The 8π is in the scalar AST, so a comparison checks it.',\n name: 'Einstein field equation',\n domain: 'general-relativity',\n formula_latex: 'G_{\\\\mu\\\\nu} + \\\\Lambda g_{\\\\mu\\\\nu} = (8\\\\pi G/c^4) T_{\\\\mu\\\\nu}',\n epistemicStatus: 'fully-quantitative',\n // The 8π is in this scalar record as well as in the field equation, so a\n // comparison checks it. The metric node is mostly-plus, the signature\n // `upt metric` differentiates.\n scalarAst: op('/', [\n op('*', [sym('8pi', DIMENSIONLESS), sym('G', GRAV), sym('stress-energy-density', ENERGY_DENSITY)]),\n pow(sym('c', VELOCITY), '4'),\n ]),\n fieldEquation: EFE_NODE,\n regime: { force: 'gravitational', symmetry: 'poincare' },\n assumptions: ['classical GR', 'pseudo-Riemannian spacetime'],\n references: ['Einstein 1915'],\n partnerBridges: ['13'], // 13 = Einstein trace reduction (Jacobson stays framing)\n }),\n l1(\n FRIEDMANN_TARGET,\n [\n ...FRIEDMANN_GOV,\n { name: 'c', dim: dim(1, 0, -1) },\n { name: 'curvature-k', dim: DIMENSIONLESS },\n { name: 'scale-factor', dim: LENGTH },\n ],\n {\n id: 'CE-friedmann-curvature',\n holds: 'rho >= 0 and scale-factor > 0 and 8 * pi * G * rho / 3 - curvature-k * c ^ 2 / scale-factor ^ 2 >= 0',\n name: 'Friedmann equation (with curvature)',\n domain: 'cosmology',\n formula_latex: 'H^2 = 8\\\\pi G \\\\rho/3 - k c^2/a^2',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('-', [\n op('/', [\n op('*', [sym('8pi', DIMENSIONLESS), sym('G', GRAV), sym('rho', DENSITY)]),\n sym('3', DIMENSIONLESS),\n ]),\n op('/', [\n op('*', [sym('curvature-k', DIMENSIONLESS), pow(sym('c', VELOCITY), '2')]),\n pow(sym('scale-factor', LENGTH), '2'),\n ]),\n ]),\n regime: { scale: 'cosmological', force: 'gravitational' },\n assumptions: ['matter-dominated', 'Λ=0', 'FLRW', 'k the normalized curvature'],\n references: ['Friedmann 1922'],\n partnerBridges: [],\n },\n ),\n l1(FRIEDMANN_TARGET, FRIEDMANN_GOV, {\n id: 'CE-friedmann',\n holds: 'rho >= 0',\n name: 'Friedmann equation (flat, matter-dominated)',\n domain: 'cosmology',\n formula_latex: 'H^2 = 8\\\\pi G \\\\rho/3',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('8pi', DIMENSIONLESS), sym('G', GRAV), sym('rho', DENSITY)]),\n sym('3', DIMENSIONLESS),\n ]),\n regime: { scale: 'cosmological', force: 'gravitational' },\n assumptions: ['flat (k=0)', 'matter-dominated', 'Λ=0', 'FLRW'],\n references: ['Friedmann 1922'],\n partnerBridges: [],\n }),\n l1(\n { name: 'hawking-temperature', dim: TEMPERATURE },\n [\n { name: 'hbar', dim: ACTION },\n { name: 'c', dim: VELOCITY },\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'k_B', dim: ENTROPY },\n ],\n {\n id: 'CE-hawking-temperature',\n holds: 'mass > 0',\n name: 'Hawking temperature',\n domain: 'general-relativity',\n formula_latex: 'T_H = \\\\hbar c^3/(8\\\\pi G M k_B)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('hbar', ACTION), pow(sym('c', VELOCITY), '3')]),\n op('*', [\n sym('8pi', DIMENSIONLESS),\n sym('G', GRAV),\n sym('mass', MASS),\n sym('k_B', ENTROPY),\n ]),\n ]),\n regime: { force: 'gravitational' },\n assumptions: ['Schwarzschild', 'semiclassical'],\n references: ['Hawking 1975'],\n // 42 = \"Hawking temperature (canonical 1975)\" — a genuine restatement.\n partnerBridges: ['42'],\n restatesBridge: '42',\n },\n ),\n l1(\n { name: 'light-deflection', dim: DIMENSIONLESS },\n [\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'c', dim: VELOCITY },\n { name: 'impact_parameter', dim: LENGTH },\n ],\n {\n id: 'CE-light-deflection',\n name: 'Light deflection (Eddington weak-field)',\n domain: 'general-relativity',\n formula_latex: '\\\\alpha = 4 G M/(c^2 b)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('4', DIMENSIONLESS), sym('G', GRAV), sym('mass', MASS)]),\n op('*', [pow(sym('c', VELOCITY), '2'), sym('impact_parameter', LENGTH)]),\n ]),\n regime: { force: 'gravitational' },\n assumptions: ['weak field', 'grazing ray'],\n references: ['Einstein 1915; Eddington 1919'],\n partnerBridges: ['51'],\n restatesBridge: '51',\n },\n ),\n l1(\n { name: 'perihelion-precession', dim: DIMENSIONLESS },\n [\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'c', dim: VELOCITY },\n { name: 'a', dim: LENGTH },\n ],\n {\n id: 'CE-perihelion-precession',\n name: 'Perihelion precession (Einstein)',\n domain: 'general-relativity',\n formula_latex: '\\\\Delta\\\\phi = 6\\\\pi G M/(c^2 a (1-e^2))',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('6pi', DIMENSIONLESS), sym('G', GRAV), sym('mass', MASS)]),\n op('*', [\n pow(sym('c', VELOCITY), '2'),\n sym('a', LENGTH),\n sym('one_minus_e_sq', DIMENSIONLESS),\n ]),\n ]),\n regime: { force: 'gravitational' },\n assumptions: ['weak field', 'nearly-circular orbit'],\n references: ['Einstein 1915'],\n partnerBridges: ['52'],\n restatesBridge: '52',\n },\n ),\n // ── Folded in from the former l1-gravity-thermo batch file (2026-06-22\n // god-file split): the gravitation-domain monomials. ──────────────────────\n // Bekenstein–Hawking entropy S = k_B c³ A / (4 G ℏ) (AREA form; free group)\n l1(\n { name: 'bh-entropy', dim: ENTROPY },\n [\n { name: 'k_B', dim: ENTROPY },\n { name: 'c', dim: VELOCITY },\n { name: 'A', dim: AREA },\n { name: 'G', dim: GRAV },\n { name: 'hbar', dim: ACTION },\n ],\n {\n id: 'CE-bekenstein-hawking',\n holds: 'A >= 0',\n name: 'Bekenstein–Hawking entropy',\n domain: 'general-relativity',\n formula_latex: 'S = k_B c^3 A/(4 G \\\\hbar)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('k_B', ENTROPY), pow(sym('c', VELOCITY), '3'), sym('A', AREA)]),\n op('*', [sym('4', DIMENSIONLESS), sym('G', GRAV), sym('hbar', ACTION)]),\n ]),\n forms: { areaOrRadius: 'area' },\n regime: { force: 'gravitational', information: 'vonNeumann' },\n assumptions: ['stationary horizon', 'semiclassical'],\n references: ['Bekenstein 1973; Hawking 1975'],\n // 42 = Hawking temperature (same black-hole-thermodynamics family). No\n // bridge literally encodes S=A/4, so no restatesBridge.\n partnerBridges: ['42'],\n },\n ),\n // Newton's law of gravitation F = G m₁ m₂ / r² (free mass-ratio group)\n l1(\n { name: 'gravitational-force', dim: FORCE },\n [\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'secondary-mass', dim: MASS },\n { name: 'r', dim: LENGTH },\n ],\n {\n id: 'CE-newton-gravitation',\n holds: 'mass >= 0 and secondary-mass >= 0 and r > 0',\n name: \"Newton's law of gravitation\",\n domain: 'gravitation',\n formula_latex: 'F = G m_1 m_2/r^2',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('G', GRAV), sym('mass', MASS), sym('secondary-mass', MASS)]),\n pow(sym('r', LENGTH), '2'),\n ]),\n regime: { scale: 'classical', force: 'gravitational' },\n assumptions: ['point masses', 'non-relativistic'],\n references: ['Newton 1687'],\n partnerBridges: [],\n },\n ),\n];\n"]}
|
|
1
|
+
{"version":3,"file":"relativity.js","sourceRoot":"","sources":["../../../src/canonical/entries/relativity.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Relativity canonical entries: the Einstein field equation (L2 — a structural\n * `EinsteinFieldEquationNode` validated by the existing field-equation\n * predicate) and the Friedmann equation (L1 — the flat, matter-dominated scalar\n * form H² = 8πG ρ / 3).\n *\n * @module canonical/entries/relativity\n */\nimport type { CanonicalEquation } from '../canonical-equation.js';\nimport type { EinsteinFieldEquationNode } from '../../dimensional/einstein-equation.js';\nimport type { EinsteinTensorNode } from '../../dimensional/curvature.js';\nimport type {\n StressEnergyTensorNode,\n CosmologicalConstantNode,\n} from '../../dimensional/stress-energy-validators.js';\nimport type { MetricTensorNode } from '../../dimensional/metric-validators.js';\nimport type { RiemannTensorNode } from '../../dimensional/connection-validators.js';\nimport { metric } from '../../dimensional/metric.js';\nimport { tsym } from '../../dimensional/tensor.js';\nimport { sym } from '../../dimensional/ast-builders.js';\nimport {\n LENGTH,\n DIMENSIONLESS,\n MASS,\n VELOCITY,\n ACTION,\n ENTROPY,\n TEMPERATURE,\n AREA,\n FORCE,\n PRESSURE,\n GRAVITATIONAL_CONSTANT,\n MASS_DENSITY,\n} from '../../dimensional/types.js';\nimport { dim, op, pow, l1 } from './_l1-build.js';\n\n// ── EFE node builders (the canonical G_μν + Λg_μν = (8πG/c⁴)T_μν structure) ──\nconst L_INV2 = dim(-2); // [L⁻²] — per-component dim of every EFE term\nconst ENERGY_DENSITY = PRESSURE; // T_μν componentDim [M L⁻¹ T⁻²]\n\nfunction buildRiemann(mu = 'mu', nu = 'nu'): RiemannTensorNode {\n const gLower = metric(\n 'g',\n [\n { label: 'a', variance: 'lower' },\n { label: 'b', variance: 'lower' },\n ],\n DIMENSIONLESS,\n '-,+,+,+',\n );\n const gInverse = metric(\n 'g_inv',\n [\n { label: 'a', variance: 'upper' },\n { label: 'b', variance: 'upper' },\n ],\n DIMENSIONLESS,\n '-,+,+,+',\n );\n const xCoord = tsym(\n 'x',\n [{ label: 'c', variance: 'upper' }],\n LENGTH,\n 'coordinate',\n );\n return {\n kind: 'riemann-tensor',\n upperIndex: { label: 'rho', variance: 'upper' },\n lowerIndices: [\n { label: mu, variance: 'lower' },\n { label: 'lambda', variance: 'lower' },\n { label: nu, variance: 'lower' },\n ],\n gLower,\n gInverse,\n xCoord,\n };\n}\n\nfunction buildEinstein(mu = 'mu', nu = 'nu'): EinsteinTensorNode {\n const riemann = buildRiemann(mu, nu);\n return {\n kind: 'einstein-tensor',\n riemann,\n gLower: riemann.gLower,\n gInverse: riemann.gInverse,\n };\n}\n\nconst buildT = (mu = 'mu', nu = 'nu'): StressEnergyTensorNode => ({\n kind: 'stress-energy',\n symbol: 'T',\n indices: [\n { label: mu, variance: 'lower' },\n { label: nu, variance: 'lower' },\n ],\n symmetry: 'symmetric',\n componentDim: ENERGY_DENSITY,\n});\n\nconst buildLambda = (): CosmologicalConstantNode => ({\n kind: 'cosmological-constant',\n symbol: 'Λ',\n dim: L_INV2,\n});\n\nconst buildMetric = (): MetricTensorNode =>\n metric(\n 'g_metric',\n [\n { label: 'mu', variance: 'lower' },\n { label: 'nu', variance: 'lower' },\n ],\n DIMENSIONLESS,\n '-,+,+,+',\n );\n\n/** The canonical Einstein field equation node, G_μν + Λg_μν = (8πG/c⁴)T_μν. @internal */\nconst EFE_NODE: EinsteinFieldEquationNode = {\n kind: 'einstein-equation',\n lhs: buildEinstein('mu', 'nu'),\n cosmological: buildLambda(),\n metric: buildMetric(),\n rhs: buildT('mu', 'nu'),\n coupling: 'einstein',\n};\n\n// ── dimensional layer for the EFE (per-component [L⁻²] from 8πG·T/c⁴) ────────\nconst GRAV = GRAVITATIONAL_CONSTANT;\nconst EFE_TARGET = { name: 'efe-curvature', dim: L_INV2 };\nconst EFE_GOV = [\n { name: 'G', dim: GRAV },\n { name: 'c', dim: VELOCITY },\n { name: 'stress-energy-density', dim: ENERGY_DENSITY },\n];\n\n// ── Friedmann (flat, matter-dominated): H² = 8πG ρ / 3 ───────────────────────\nconst HSQUARED = dim(0, 0, -2); // [T⁻²]\nconst DENSITY = MASS_DENSITY; // [M L⁻³]\nconst FRIEDMANN_TARGET = { name: 'hubble-rate-squared', dim: HSQUARED };\nconst FRIEDMANN_GOV = [\n { name: 'G', dim: GRAV },\n { name: 'rho', dim: DENSITY },\n];\n\nexport const RELATIVITY: readonly CanonicalEquation[] = [\n l1(EFE_TARGET, EFE_GOV, {\n id: 'CE-einstein-field-eq',\n conventionNote: 'the Einstein-equation metric node is mostly-plus (−,+,+,+), the same signature as upt metric. The 8π is in the scalar AST, so a comparison checks it.',\n name: 'Einstein field equation',\n domain: 'general-relativity',\n formula_latex: 'G_{\\\\mu\\\\nu} + \\\\Lambda g_{\\\\mu\\\\nu} = (8\\\\pi G/c^4) T_{\\\\mu\\\\nu}',\n epistemicStatus: 'fully-quantitative',\n // The 8π is in this scalar record as well as in the field equation, so a\n // comparison checks it. The metric node is mostly-plus, the signature\n // `upt metric` differentiates.\n scalarAst: op('/', [\n op('*', [sym('8pi', DIMENSIONLESS), sym('G', GRAV), sym('stress-energy-density', ENERGY_DENSITY)]),\n pow(sym('c', VELOCITY), '4'),\n ]),\n fieldEquation: EFE_NODE,\n regime: { force: 'gravitational', symmetry: 'poincare' },\n assumptions: ['classical GR', 'pseudo-Riemannian spacetime'],\n references: ['Einstein 1915'],\n partnerBridges: ['13'], // 13 = Einstein trace reduction (Jacobson stays framing)\n }),\n l1(\n FRIEDMANN_TARGET,\n [\n ...FRIEDMANN_GOV,\n { name: 'c', dim: VELOCITY },\n { name: 'curvature-k', dim: DIMENSIONLESS },\n { name: 'scale-factor', dim: LENGTH },\n ],\n {\n id: 'CE-friedmann-curvature',\n holds: 'rho >= 0 and scale-factor > 0 and 8 * pi * G * rho / 3 - curvature-k * c ^ 2 / scale-factor ^ 2 >= 0',\n name: 'Friedmann equation (with curvature)',\n domain: 'cosmology',\n formula_latex: 'H^2 = 8\\\\pi G \\\\rho/3 - k c^2/a^2',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('-', [\n op('/', [\n op('*', [sym('8pi', DIMENSIONLESS), sym('G', GRAV), sym('rho', DENSITY)]),\n sym('3', DIMENSIONLESS),\n ]),\n op('/', [\n op('*', [sym('curvature-k', DIMENSIONLESS), pow(sym('c', VELOCITY), '2')]),\n pow(sym('scale-factor', LENGTH), '2'),\n ]),\n ]),\n regime: { scale: 'cosmological', force: 'gravitational' },\n assumptions: ['matter-dominated', 'Λ=0', 'FLRW', 'k the normalized curvature'],\n references: ['Friedmann 1922'],\n partnerBridges: [],\n },\n ),\n l1(FRIEDMANN_TARGET, FRIEDMANN_GOV, {\n id: 'CE-friedmann',\n holds: 'rho >= 0',\n name: 'Friedmann equation (flat, matter-dominated)',\n domain: 'cosmology',\n formula_latex: 'H^2 = 8\\\\pi G \\\\rho/3',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('8pi', DIMENSIONLESS), sym('G', GRAV), sym('rho', DENSITY)]),\n sym('3', DIMENSIONLESS),\n ]),\n regime: { scale: 'cosmological', force: 'gravitational' },\n assumptions: ['flat (k=0)', 'matter-dominated', 'Λ=0', 'FLRW'],\n references: ['Friedmann 1922'],\n partnerBridges: [],\n }),\n l1(\n { name: 'hawking-temperature', dim: TEMPERATURE },\n [\n { name: 'hbar', dim: ACTION },\n { name: 'c', dim: VELOCITY },\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'k_B', dim: ENTROPY },\n ],\n {\n id: 'CE-hawking-temperature',\n holds: 'mass > 0',\n name: 'Hawking temperature',\n domain: 'general-relativity',\n formula_latex: 'T_H = \\\\hbar c^3/(8\\\\pi G M k_B)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('hbar', ACTION), pow(sym('c', VELOCITY), '3')]),\n op('*', [\n sym('8pi', DIMENSIONLESS),\n sym('G', GRAV),\n sym('mass', MASS),\n sym('k_B', ENTROPY),\n ]),\n ]),\n regime: { force: 'gravitational' },\n assumptions: ['Schwarzschild', 'semiclassical'],\n references: ['Hawking 1975'],\n // 42 = \"Hawking temperature (canonical 1975)\" — a genuine restatement.\n partnerBridges: ['42'],\n restatesBridge: '42',\n },\n ),\n l1(\n { name: 'light-deflection', dim: DIMENSIONLESS },\n [\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'c', dim: VELOCITY },\n { name: 'impact_parameter', dim: LENGTH },\n ],\n {\n id: 'CE-light-deflection',\n name: 'Light deflection (Eddington weak-field)',\n domain: 'general-relativity',\n formula_latex: '\\\\alpha = 4 G M/(c^2 b)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('4', DIMENSIONLESS), sym('G', GRAV), sym('mass', MASS)]),\n op('*', [pow(sym('c', VELOCITY), '2'), sym('impact_parameter', LENGTH)]),\n ]),\n regime: { force: 'gravitational' },\n assumptions: ['weak field', 'grazing ray'],\n references: ['Einstein 1915; Eddington 1919'],\n partnerBridges: ['51'],\n restatesBridge: '51',\n },\n ),\n l1(\n { name: 'perihelion-precession', dim: DIMENSIONLESS },\n [\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'c', dim: VELOCITY },\n { name: 'a', dim: LENGTH },\n ],\n {\n id: 'CE-perihelion-precession',\n name: 'Perihelion precession (Einstein)',\n domain: 'general-relativity',\n formula_latex: '\\\\Delta\\\\phi = 6\\\\pi G M/(c^2 a (1-e^2))',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('6pi', DIMENSIONLESS), sym('G', GRAV), sym('mass', MASS)]),\n op('*', [\n pow(sym('c', VELOCITY), '2'),\n sym('a', LENGTH),\n sym('one_minus_e_sq', DIMENSIONLESS),\n ]),\n ]),\n regime: { force: 'gravitational' },\n assumptions: ['weak field', 'nearly-circular orbit'],\n references: ['Einstein 1915'],\n partnerBridges: ['52'],\n restatesBridge: '52',\n },\n ),\n // ── Folded in from the former l1-gravity-thermo batch file (2026-06-22\n // god-file split): the gravitation-domain monomials. ──────────────────────\n // Bekenstein–Hawking entropy S = k_B c³ A / (4 G ℏ) (AREA form; free group)\n l1(\n { name: 'bh-entropy', dim: ENTROPY },\n [\n { name: 'k_B', dim: ENTROPY },\n { name: 'c', dim: VELOCITY },\n { name: 'A', dim: AREA },\n { name: 'G', dim: GRAV },\n { name: 'hbar', dim: ACTION },\n ],\n {\n id: 'CE-bekenstein-hawking',\n holds: 'A >= 0',\n name: 'Bekenstein–Hawking entropy',\n domain: 'general-relativity',\n formula_latex: 'S = k_B c^3 A/(4 G \\\\hbar)',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('k_B', ENTROPY), pow(sym('c', VELOCITY), '3'), sym('A', AREA)]),\n op('*', [sym('4', DIMENSIONLESS), sym('G', GRAV), sym('hbar', ACTION)]),\n ]),\n forms: { areaOrRadius: 'area' },\n regime: { force: 'gravitational', information: 'vonNeumann' },\n assumptions: ['stationary horizon', 'semiclassical'],\n references: ['Bekenstein 1973; Hawking 1975'],\n // 42 = Hawking temperature (same black-hole-thermodynamics family). No\n // bridge literally encodes S=A/4, so no restatesBridge.\n partnerBridges: ['42'],\n },\n ),\n // Newton's law of gravitation F = G m₁ m₂ / r² (free mass-ratio group)\n l1(\n { name: 'gravitational-force', dim: FORCE },\n [\n { name: 'G', dim: GRAV },\n { name: 'mass', dim: MASS },\n { name: 'secondary-mass', dim: MASS },\n { name: 'r', dim: LENGTH },\n ],\n {\n id: 'CE-newton-gravitation',\n holds: 'mass >= 0 and secondary-mass >= 0 and r > 0',\n name: \"Newton's law of gravitation\",\n domain: 'gravitation',\n formula_latex: 'F = G m_1 m_2/r^2',\n epistemicStatus: 'fully-quantitative',\n scalarAst: op('/', [\n op('*', [sym('G', GRAV), sym('mass', MASS), sym('secondary-mass', MASS)]),\n pow(sym('r', LENGTH), '2'),\n ]),\n regime: { scale: 'classical', force: 'gravitational' },\n assumptions: ['point masses', 'non-relativistic'],\n references: ['Newton 1687'],\n partnerBridges: [],\n },\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;
|
|
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;AA6BlE,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAwO5D,CAAC"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { sym } from '../../dimensional/ast-builders.js';
|
|
2
|
-
import { MASS, VELOCITY, ENERGY, LENGTH, TIME, FREQUENCY, TEMPERATURE, ENTROPY, DIMENSIONLESS, } from '../../dimensional/types.js';
|
|
2
|
+
import { MASS, VELOCITY, ENERGY, LENGTH, TIME, FREQUENCY, TEMPERATURE, ENTROPY, DIMENSIONLESS, SPECIFIC_HEAT, ENERGY_FLUX, PRESSURE, VOLUME, THERMAL_CONDUCTIVITY, MASS_DENSITY, DIFFUSIVITY, } from '../../dimensional/types.js';
|
|
3
3
|
import { dim, op, pow, l1 } from './_l1-build.js';
|
|
4
|
-
const
|
|
5
|
-
const SB_FLUX = dim(0, 1, -3); // radiative flux W/m² = [M T⁻³]
|
|
4
|
+
const SB_FLUX = ENERGY_FLUX; // radiative flux W/m² = [M T⁻³]
|
|
6
5
|
const SIGMA_SB = dim(0, 1, -3, 0, -4); // Stefan–Boltzmann σ [M T⁻³ Θ⁻⁴] (Θ is 5th arg)
|
|
7
|
-
const PRESSURE = dim(-1, 1, -2); // [M L⁻¹ T⁻²]
|
|
8
|
-
const VOLUME = dim(3); // [L³]
|
|
9
6
|
const WIEN_B = dim(1, 0, 0, 0, 1); // Wien constant [L Θ]
|
|
10
7
|
const SPECIFIC_LATENT_HEAT = dim(2, 0, -2, 0, 0); // [L² T⁻²] (J·kg⁻¹, no Θ dependence)
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const THERMAL_DIFFUSIVITY = dim(2, 0, -1, 0, 0); // [L² T⁻¹] (m²/s)
|
|
8
|
+
const DENSITY = MASS_DENSITY; // [M L⁻³] (kg/m³)
|
|
9
|
+
const THERMAL_DIFFUSIVITY = DIFFUSIVITY; // [L² T⁻¹] (m²/s)
|
|
14
10
|
export const THERMO_NUCLEAR_COSMO = [
|
|
15
11
|
l1({ name: 'heat-energy', dim: ENERGY }, [
|
|
16
12
|
{ name: 'mass', dim: MASS },
|
|
@@ -170,7 +166,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
170
166
|
// Wien's displacement λ_max = b / T (blackbody peak wavelength)
|
|
171
167
|
l1({ name: 'peak-wavelength', dim: LENGTH }, [
|
|
172
168
|
{ name: 'b', dim: WIEN_B },
|
|
173
|
-
{ name: 'temperature', dim:
|
|
169
|
+
{ name: 'temperature', dim: TEMPERATURE },
|
|
174
170
|
], {
|
|
175
171
|
id: 'CE-wien',
|
|
176
172
|
holds: 'temperature > 0',
|
|
@@ -178,7 +174,7 @@ export const THERMO_NUCLEAR_COSMO = [
|
|
|
178
174
|
domain: 'thermodynamics',
|
|
179
175
|
formula_latex: '\\lambda_{max} = b/T',
|
|
180
176
|
epistemicStatus: 'fully-quantitative',
|
|
181
|
-
scalarAst: op('/', [sym('b', WIEN_B), sym('temperature',
|
|
177
|
+
scalarAst: op('/', [sym('b', WIEN_B), sym('temperature', TEMPERATURE)]),
|
|
182
178
|
regime: { scale: 'classical', force: 'electromagnetic' },
|
|
183
179
|
assumptions: ['blackbody', 'thermal equilibrium'],
|
|
184
180
|
references: ['Wien 1893'],
|
|
@@ -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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","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
|
+
{"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 SPECIFIC_HEAT,\n ENERGY_FLUX,\n PRESSURE,\n VOLUME,\n THERMAL_CONDUCTIVITY,\n MASS_DENSITY,\n DIFFUSIVITY,\n} from '../../dimensional/types.js';\nimport { dim, op, pow, l1 } from './_l1-build.js';\n\nconst SB_FLUX = ENERGY_FLUX; // radiative flux W/m² = [M T⁻³]\nconst SIGMA_SB = dim(0, 1, -3, 0, -4); // Stefan–Boltzmann σ [M T⁻³ Θ⁻⁴] (Θ is 5th arg)\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 DENSITY = MASS_DENSITY; // [M L⁻³] (kg/m³)\nconst THERMAL_DIFFUSIVITY = DIFFUSIVITY; // [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: TEMPERATURE },\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', TEMPERATURE)]),\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"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One owner for "a constant times that one".
|
|
3
|
+
*
|
|
4
|
+
* Several callers decide whether two formulas agree up to a constant: the
|
|
5
|
+
* derivation audit, the canonical comparison, the linkage recovery, explain's
|
|
6
|
+
* monomial check and `upt derive`. Each once carried its own sample points,
|
|
7
|
+
* its own ratio statistic and its own tolerance, so the same question could be
|
|
8
|
+
* answered differently in different commands. The three pieces live here, and
|
|
9
|
+
* every caller passes the base, step, exponent schedule, statistic and
|
|
10
|
+
* tolerance it used before, so no verdict moved
|
|
11
|
+
* (`tests/canonical/fixed-point-verdicts.test.ts` is the pin).
|
|
12
|
+
*
|
|
13
|
+
* A sample point gives variable `i` (in the caller's name order) the value
|
|
14
|
+
* `(base + step·i)^p`. Each variable has its own base, so the RATIOS between
|
|
15
|
+
* variables change from point to point too: a common scale factor would leave
|
|
16
|
+
* every ratio such as ℓ/g fixed, and `T ∝ ℓ/g` would then pass as the form of
|
|
17
|
+
* `T ∝ √(ℓ/g)`.
|
|
18
|
+
*
|
|
19
|
+
* @module canonical/fixed-points
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* The exponent schedule the canonical comparison and the linkage recovery
|
|
23
|
+
* share: three points, so a constant ratio is checked at three places.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare const FIXED_POINT_EXPONENTS: readonly number[];
|
|
28
|
+
/** The per-variable base and step of a sample scheme. @internal */
|
|
29
|
+
export interface FixedPointScheme {
|
|
30
|
+
/** The base of the first variable. */
|
|
31
|
+
readonly base: number;
|
|
32
|
+
/** Added to the base once per later variable. */
|
|
33
|
+
readonly step: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The sample point at exponent `p`: `names[i]` takes `(base + step·i)^p`.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare function fixedPoint(names: readonly string[], p: number, scheme: FixedPointScheme): Record<string, number>;
|
|
41
|
+
/** The statistic a constancy decision rests on. @internal */
|
|
42
|
+
export type RatioStatistic = 'max-rel-err' | 'cv';
|
|
43
|
+
/** Options of {@link constantRatio}. @internal */
|
|
44
|
+
export interface ConstantRatioOptions {
|
|
45
|
+
/**
|
|
46
|
+
* `max-rel-err` (the default): the largest `|r/r0 − 1|` over the ratios,
|
|
47
|
+
* `r0` the first; the value is `r0`. `cv`: the population standard
|
|
48
|
+
* deviation over the absolute mean (`ratioSpread`); the value is the mean.
|
|
49
|
+
*/
|
|
50
|
+
readonly statistic?: RatioStatistic;
|
|
51
|
+
}
|
|
52
|
+
/** Whether a list of ratios is one constant, and what it is. @internal */
|
|
53
|
+
export interface ConstantRatio {
|
|
54
|
+
/** True when the statistic is within `tolerance`. */
|
|
55
|
+
readonly constant: boolean;
|
|
56
|
+
/** The constant: the first ratio, or the mean under `cv`. */
|
|
57
|
+
readonly value: number;
|
|
58
|
+
/** The statistic: the largest relative departure, or the coefficient of variation. */
|
|
59
|
+
readonly maxRelErr: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Decide whether `ratios` are one constant to within `tolerance`. An empty
|
|
63
|
+
* list, a zero, or a non-finite ratio is never constant.
|
|
64
|
+
*
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
export declare function constantRatio(ratios: readonly number[], tolerance: number, options?: ConstantRatioOptions): ConstantRatio;
|
|
68
|
+
/** The scheme `upt derive` recovers a prefactor with. @internal */
|
|
69
|
+
export interface PrefactorRecoveryScheme extends FixedPointScheme {
|
|
70
|
+
/** The exponents sampled, one point each. */
|
|
71
|
+
readonly exponents: readonly number[];
|
|
72
|
+
readonly tolerance: number;
|
|
73
|
+
readonly statistic: RatioStatistic;
|
|
74
|
+
}
|
|
75
|
+
/** The outcome of {@link recoverMonomialPrefactor}. @internal */
|
|
76
|
+
export interface PrefactorRecovery {
|
|
77
|
+
/** True when `evaluate / monomial` is one constant over the points. */
|
|
78
|
+
readonly matches: boolean;
|
|
79
|
+
/** That constant, present only when `matches`. */
|
|
80
|
+
readonly prefactor?: number;
|
|
81
|
+
/** The ratio statistic over the points. */
|
|
82
|
+
readonly spread: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Recover the constant in front of a monomial: evaluate the caller's formula
|
|
86
|
+
* at each point of the scheme, divide by the monomial there, and ask
|
|
87
|
+
* {@link constantRatio}. The formula is called with the point keyed by
|
|
88
|
+
* `names`; a caller whose formula spells a name differently maps it inside
|
|
89
|
+
* `evaluate`. An exponent the monomial does not state is 0.
|
|
90
|
+
*
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
export declare function recoverMonomialPrefactor(evaluate: (point: Readonly<Record<string, number>>) => number, monomial: Readonly<Record<string, number>>, names: readonly string[], scheme: PrefactorRecoveryScheme): PrefactorRecovery;
|
|
94
|
+
//# sourceMappingURL=fixed-points.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixed-points.d.ts","sourceRoot":"","sources":["../../src/canonical/fixed-points.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAkB,CAAC;AAEtE,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,IAAI,CAAC;AAElD,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAWf;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACpC;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,EAC7D,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC1C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,uBAAuB,GAC9B,iBAAiB,CAWnB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One owner for "a constant times that one".
|
|
3
|
+
*
|
|
4
|
+
* Several callers decide whether two formulas agree up to a constant: the
|
|
5
|
+
* derivation audit, the canonical comparison, the linkage recovery, explain's
|
|
6
|
+
* monomial check and `upt derive`. Each once carried its own sample points,
|
|
7
|
+
* its own ratio statistic and its own tolerance, so the same question could be
|
|
8
|
+
* answered differently in different commands. The three pieces live here, and
|
|
9
|
+
* every caller passes the base, step, exponent schedule, statistic and
|
|
10
|
+
* tolerance it used before, so no verdict moved
|
|
11
|
+
* (`tests/canonical/fixed-point-verdicts.test.ts` is the pin).
|
|
12
|
+
*
|
|
13
|
+
* A sample point gives variable `i` (in the caller's name order) the value
|
|
14
|
+
* `(base + step·i)^p`. Each variable has its own base, so the RATIOS between
|
|
15
|
+
* variables change from point to point too: a common scale factor would leave
|
|
16
|
+
* every ratio such as ℓ/g fixed, and `T ∝ ℓ/g` would then pass as the form of
|
|
17
|
+
* `T ∝ √(ℓ/g)`.
|
|
18
|
+
*
|
|
19
|
+
* @module canonical/fixed-points
|
|
20
|
+
*/
|
|
21
|
+
import { ratioSpread } from '../numerical/statistics.js';
|
|
22
|
+
/**
|
|
23
|
+
* The exponent schedule the canonical comparison and the linkage recovery
|
|
24
|
+
* share: three points, so a constant ratio is checked at three places.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export const FIXED_POINT_EXPONENTS = [1, 1.3, 1.6];
|
|
29
|
+
/**
|
|
30
|
+
* The sample point at exponent `p`: `names[i]` takes `(base + step·i)^p`.
|
|
31
|
+
*
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export function fixedPoint(names, p, scheme) {
|
|
35
|
+
const point = {};
|
|
36
|
+
names.forEach((name, i) => {
|
|
37
|
+
point[name] = Math.pow(scheme.base + scheme.step * i, p);
|
|
38
|
+
});
|
|
39
|
+
return point;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Decide whether `ratios` are one constant to within `tolerance`. An empty
|
|
43
|
+
* list, a zero, or a non-finite ratio is never constant.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export function constantRatio(ratios, tolerance, options = {}) {
|
|
48
|
+
const r0 = ratios[0];
|
|
49
|
+
if (r0 === undefined || ratios.some((r) => !Number.isFinite(r) || r === 0)) {
|
|
50
|
+
return { constant: false, value: r0 ?? Number.NaN, maxRelErr: Number.NaN };
|
|
51
|
+
}
|
|
52
|
+
if ((options.statistic ?? 'max-rel-err') === 'cv') {
|
|
53
|
+
const { mean, cv } = ratioSpread(ratios);
|
|
54
|
+
return { constant: cv < tolerance, value: mean, maxRelErr: cv };
|
|
55
|
+
}
|
|
56
|
+
const maxRelErr = Math.max(...ratios.map((r) => Math.abs((r - r0) / r0)));
|
|
57
|
+
return { constant: maxRelErr <= tolerance, value: r0, maxRelErr };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Recover the constant in front of a monomial: evaluate the caller's formula
|
|
61
|
+
* at each point of the scheme, divide by the monomial there, and ask
|
|
62
|
+
* {@link constantRatio}. The formula is called with the point keyed by
|
|
63
|
+
* `names`; a caller whose formula spells a name differently maps it inside
|
|
64
|
+
* `evaluate`. An exponent the monomial does not state is 0.
|
|
65
|
+
*
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
export function recoverMonomialPrefactor(evaluate, monomial, names, scheme) {
|
|
69
|
+
const ratios = scheme.exponents.map((p) => {
|
|
70
|
+
const point = fixedPoint(names, p, scheme);
|
|
71
|
+
let candidate = 1;
|
|
72
|
+
for (const name of names)
|
|
73
|
+
candidate *= Math.pow(point[name], monomial[name] ?? 0);
|
|
74
|
+
return evaluate(point) / candidate;
|
|
75
|
+
});
|
|
76
|
+
const decided = constantRatio(ratios, scheme.tolerance, { statistic: scheme.statistic });
|
|
77
|
+
return decided.constant
|
|
78
|
+
? { matches: true, prefactor: decided.value, spread: decided.maxRelErr }
|
|
79
|
+
: { matches: false, spread: decided.maxRelErr };
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=fixed-points.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixed-points.js","sourceRoot":"","sources":["../../src/canonical/fixed-points.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * One owner for \"a constant times that one\".\n *\n * Several callers decide whether two formulas agree up to a constant: the\n * derivation audit, the canonical comparison, the linkage recovery, explain's\n * monomial check and `upt derive`. Each once carried its own sample points,\n * its own ratio statistic and its own tolerance, so the same question could be\n * answered differently in different commands. The three pieces live here, and\n * every caller passes the base, step, exponent schedule, statistic and\n * tolerance it used before, so no verdict moved\n * (`tests/canonical/fixed-point-verdicts.test.ts` is the pin).\n *\n * A sample point gives variable `i` (in the caller's name order) the value\n * `(base + step·i)^p`. Each variable has its own base, so the RATIOS between\n * variables change from point to point too: a common scale factor would leave\n * every ratio such as ℓ/g fixed, and `T ∝ ℓ/g` would then pass as the form of\n * `T ∝ √(ℓ/g)`.\n *\n * @module canonical/fixed-points\n */\n\nimport { ratioSpread } from '../numerical/statistics.js';\n\n/**\n * The exponent schedule the canonical comparison and the linkage recovery\n * share: three points, so a constant ratio is checked at three places.\n *\n * @internal\n */\nexport const FIXED_POINT_EXPONENTS: readonly number[] = [1, 1.3, 1.6];\n\n/** The per-variable base and step of a sample scheme. @internal */\nexport interface FixedPointScheme {\n /** The base of the first variable. */\n readonly base: number;\n /** Added to the base once per later variable. */\n readonly step: number;\n}\n\n/**\n * The sample point at exponent `p`: `names[i]` takes `(base + step·i)^p`.\n *\n * @internal\n */\nexport function fixedPoint(\n names: readonly string[],\n p: number,\n scheme: FixedPointScheme,\n): Record<string, number> {\n const point: Record<string, number> = {};\n names.forEach((name, i) => {\n point[name] = Math.pow(scheme.base + scheme.step * i, p);\n });\n return point;\n}\n\n/** The statistic a constancy decision rests on. @internal */\nexport type RatioStatistic = 'max-rel-err' | 'cv';\n\n/** Options of {@link constantRatio}. @internal */\nexport interface ConstantRatioOptions {\n /**\n * `max-rel-err` (the default): the largest `|r/r0 − 1|` over the ratios,\n * `r0` the first; the value is `r0`. `cv`: the population standard\n * deviation over the absolute mean (`ratioSpread`); the value is the mean.\n */\n readonly statistic?: RatioStatistic;\n}\n\n/** Whether a list of ratios is one constant, and what it is. @internal */\nexport interface ConstantRatio {\n /** True when the statistic is within `tolerance`. */\n readonly constant: boolean;\n /** The constant: the first ratio, or the mean under `cv`. */\n readonly value: number;\n /** The statistic: the largest relative departure, or the coefficient of variation. */\n readonly maxRelErr: number;\n}\n\n/**\n * Decide whether `ratios` are one constant to within `tolerance`. An empty\n * list, a zero, or a non-finite ratio is never constant.\n *\n * @internal\n */\nexport function constantRatio(\n ratios: readonly number[],\n tolerance: number,\n options: ConstantRatioOptions = {},\n): ConstantRatio {\n const r0 = ratios[0];\n if (r0 === undefined || ratios.some((r) => !Number.isFinite(r) || r === 0)) {\n return { constant: false, value: r0 ?? Number.NaN, maxRelErr: Number.NaN };\n }\n if ((options.statistic ?? 'max-rel-err') === 'cv') {\n const { mean, cv } = ratioSpread(ratios);\n return { constant: cv < tolerance, value: mean, maxRelErr: cv };\n }\n const maxRelErr = Math.max(...ratios.map((r) => Math.abs((r - r0) / r0)));\n return { constant: maxRelErr <= tolerance, value: r0, maxRelErr };\n}\n\n/** The scheme `upt derive` recovers a prefactor with. @internal */\nexport interface PrefactorRecoveryScheme extends FixedPointScheme {\n /** The exponents sampled, one point each. */\n readonly exponents: readonly number[];\n readonly tolerance: number;\n readonly statistic: RatioStatistic;\n}\n\n/** The outcome of {@link recoverMonomialPrefactor}. @internal */\nexport interface PrefactorRecovery {\n /** True when `evaluate / monomial` is one constant over the points. */\n readonly matches: boolean;\n /** That constant, present only when `matches`. */\n readonly prefactor?: number;\n /** The ratio statistic over the points. */\n readonly spread: number;\n}\n\n/**\n * Recover the constant in front of a monomial: evaluate the caller's formula\n * at each point of the scheme, divide by the monomial there, and ask\n * {@link constantRatio}. The formula is called with the point keyed by\n * `names`; a caller whose formula spells a name differently maps it inside\n * `evaluate`. An exponent the monomial does not state is 0.\n *\n * @internal\n */\nexport function recoverMonomialPrefactor(\n evaluate: (point: Readonly<Record<string, number>>) => number,\n monomial: Readonly<Record<string, number>>,\n names: readonly string[],\n scheme: PrefactorRecoveryScheme,\n): PrefactorRecovery {\n const ratios = scheme.exponents.map((p) => {\n const point = fixedPoint(names, p, scheme);\n let candidate = 1;\n for (const name of names) candidate *= Math.pow(point[name]!, monomial[name] ?? 0);\n return evaluate(point) / candidate;\n });\n const decided = constantRatio(ratios, scheme.tolerance, { statistic: scheme.statistic });\n return decided.constant\n ? { matches: true, prefactor: decided.value, spread: decided.maxRelErr }\n : { matches: false, spread: decided.maxRelErr };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAY5D,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;AAoCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,eAAe,CAgCpF;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,15 +1,11 @@
|
|
|
1
|
+
import { isDimensionless } from '../dimensional/algebra.js';
|
|
1
2
|
import { evalExpr } from '../composition/expr-eval.js';
|
|
2
|
-
import {
|
|
3
|
+
import { forEachScalarLeaf, isDecimalLiteral } from '../dimensional/ast-leaves.js';
|
|
4
|
+
import { isRegisteredConstant } from '../dimensional/symbolic-constants.js';
|
|
3
5
|
import { CANONICAL_EQUATIONS, canonicalById } from './registry.js';
|
|
4
6
|
import { canonicalQuantityName, normalForm } from './normal-form.js';
|
|
5
7
|
import { bridgeShapes, classifyStructure } from './structural.js';
|
|
6
|
-
|
|
7
|
-
d.M === 0 &&
|
|
8
|
-
d.T === 0 &&
|
|
9
|
-
d.I === 0 &&
|
|
10
|
-
d.Theta === 0 &&
|
|
11
|
-
d.N === 0 &&
|
|
12
|
-
d.J === 0;
|
|
8
|
+
import { FIXED_POINT_EXPONENTS, constantRatio, fixedPoint } from './fixed-points.js';
|
|
13
9
|
/**
|
|
14
10
|
* Collect leaves `evalExpr` can't resolve (not a registered constant, not a
|
|
15
11
|
* numeric literal), split into physical `vars` (non-dimensionless — varied
|
|
@@ -17,39 +13,26 @@ const isDimensionless = (d) => d.L === 0 &&
|
|
|
17
13
|
* constant factor "up to" which recovery is measured).
|
|
18
14
|
*/
|
|
19
15
|
function collectLeaves(node, vars, dimless) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (!(node.name in CONSTANTS) && Number.isNaN(Number(node.name))) {
|
|
23
|
-
if (isDimensionless(node.dim))
|
|
24
|
-
dimless.add(node.name);
|
|
25
|
-
else
|
|
26
|
-
vars.set(node.name, canonicalQuantityName(node.name, node.dim));
|
|
27
|
-
}
|
|
16
|
+
forEachScalarLeaf(node, (leaf) => {
|
|
17
|
+
if (isRegisteredConstant(leaf.name) || isDecimalLiteral(leaf.name))
|
|
28
18
|
return;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
collectLeaves(node.arg, vars, dimless);
|
|
35
|
-
return;
|
|
36
|
-
case 'abs':
|
|
37
|
-
collectLeaves(node.arg, vars, dimless);
|
|
38
|
-
return;
|
|
39
|
-
default:
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
19
|
+
if (isDimensionless(leaf.dim))
|
|
20
|
+
dimless.add(leaf.name);
|
|
21
|
+
else
|
|
22
|
+
vars.set(leaf.name, canonicalQuantityName(leaf.name, leaf.dim));
|
|
23
|
+
}, { transcendental: true, abs: true });
|
|
42
24
|
}
|
|
43
25
|
/**
|
|
44
26
|
* The sample points: variable `i` (in sorted canonical-name order) takes the
|
|
45
|
-
* value `(1.3 + 0.7·i)^p` at exponent `
|
|
46
|
-
* the RATIOS between variables change from
|
|
47
|
-
* scale factor would leave every ratio such
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* §4 C3). `canonical-compare.ts`
|
|
27
|
+
* value `(1.3 + 0.7·i)^p` at each exponent of `FIXED_POINT_EXPONENTS`. Each
|
|
28
|
+
* variable has its own base, so the RATIOS between variables change from
|
|
29
|
+
* point to point too. One common scale factor would leave every ratio such
|
|
30
|
+
* as y/x fixed, and two homogeneous expressions of the same degree
|
|
31
|
+
* (`x + 2y` and `x + y`) would then pass as a constant ratio at every point:
|
|
32
|
+
* a recovery that could not fail (9.0.0 audit §4 C3). `canonical-compare.ts`
|
|
33
|
+
* uses the same exponents on its own base.
|
|
51
34
|
*/
|
|
52
|
-
const
|
|
35
|
+
const RECOVERY_SCHEME = { base: 1.3, step: 0.7 };
|
|
53
36
|
/**
|
|
54
37
|
* Best-effort check that two ASTs agree up to a constant ratio.
|
|
55
38
|
*
|
|
@@ -63,13 +46,12 @@ export function numericalRecovery(canon, bridge) {
|
|
|
63
46
|
// `M` and `mass` are one quantity. They share a sample, or the ratio is a
|
|
64
47
|
// float artifact of two independent draws of the same mass.
|
|
65
48
|
const canonicals = [...new Set(vars.values())].sort();
|
|
66
|
-
const index = new Map(canonicals.map((n, i) => [n, i]));
|
|
67
49
|
const ratios = [];
|
|
68
|
-
for (const p of
|
|
50
|
+
for (const p of FIXED_POINT_EXPONENTS) {
|
|
51
|
+
const point = fixedPoint(canonicals, p, RECOVERY_SCHEME);
|
|
69
52
|
const values = {};
|
|
70
|
-
for (const [raw, canonName] of vars)
|
|
71
|
-
values[raw] =
|
|
72
|
-
}
|
|
53
|
+
for (const [raw, canonName] of vars)
|
|
54
|
+
values[raw] = point[canonName];
|
|
73
55
|
// Hold unresolved dimensionless leaves fixed — recovery is "up to" them.
|
|
74
56
|
for (const n of dimless)
|
|
75
57
|
values[n] = 1;
|
|
@@ -89,9 +71,8 @@ export function numericalRecovery(canon, bridge) {
|
|
|
89
71
|
}
|
|
90
72
|
ratios.push(cv / bv);
|
|
91
73
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return { tested: true, maxRelErr };
|
|
74
|
+
// The recovery records the spread; the reader decides. Every ratio is finite and nonzero here.
|
|
75
|
+
return { tested: true, maxRelErr: constantRatio(ratios, 0).maxRelErr };
|
|
95
76
|
}
|
|
96
77
|
/**
|
|
97
78
|
* The comparison core, given a canonical entry (with its pre-computed
|