universal-physics-tensor 8.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -21
- package/data/atlas/atlas.json +75 -64
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +23 -22
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +33 -28
- package/data/bridge-catalog.json +1356 -1791
- package/data/bridge-catalog.schema.json +789 -46
- package/data/quantities.json +280 -234
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +1178 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +151 -117
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +244 -211
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +22 -14
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +19 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +233 -14
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +96 -27
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +89 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +136 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +48 -8
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +173 -38
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -7
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +129 -156
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +16 -8
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +130 -236
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +7 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +50 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +32 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +34 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +24 -0
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +42 -24
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +24 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -18
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +7 -12
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -21
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +50 -26
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +18 -13
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +29 -26
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +99 -208
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +57 -45
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -11
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -15
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -27
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +14 -7
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +4 -4
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +57 -18
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +49 -21
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -14
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +66 -57
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +15 -18
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +59 -85
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +154 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +67 -7
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +83 -23
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -22
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +25 -28
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -4
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +53 -19
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +9 -5
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -4
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +14 -6
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +18 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +37 -7
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +35 -12
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +46 -15
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +177 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +16 -23
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +18 -6
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +17 -5
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +115 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +7 -17
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +12 -21
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +21 -6
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +150 -160
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +23 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +55 -18
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +114 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +139 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +290 -295
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +65 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +32 -7
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +218 -209
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +134 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +67 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +68 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +17 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +120 -44
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +10 -3
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +44 -45
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +17 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +158 -250
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +26 -6
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +15 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -141,14 +141,16 @@ export interface EvidenceInput {
|
|
|
141
141
|
readonly conventions?: Conventions;
|
|
142
142
|
readonly counterexamples?: readonly CounterexampleLike[];
|
|
143
143
|
/**
|
|
144
|
-
* The record's formal reference, read for its fidelity and its
|
|
145
|
-
* Structural so a caller can pass an `AtlasBridge` directly. A
|
|
146
|
-
* cannot be supplied by this function: only `'bridge'` derives
|
|
147
|
-
* `formally-proved`.
|
|
144
|
+
* The record's formal reference, read for its fidelity, its kind, and its
|
|
145
|
+
* axioms. Structural so a caller can pass an `AtlasBridge` directly. A
|
|
146
|
+
* missing kind cannot be supplied by this function: only `'bridge'` derives
|
|
147
|
+
* `formally-proved`. An axiom list naming `sorryAx` is a proof with a hole
|
|
148
|
+
* (Lean exits 0 on `sorry`; TOOLS.md) and derives no proof label.
|
|
148
149
|
*/
|
|
149
150
|
readonly formalRef?: {
|
|
150
151
|
readonly fidelity: FormalFidelity;
|
|
151
152
|
readonly kind: FormalRefKind;
|
|
153
|
+
readonly axioms?: readonly string[];
|
|
152
154
|
};
|
|
153
155
|
}
|
|
154
156
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-evidence.d.ts","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;IACjE,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,aAAa,GAAG,SAAS,GACnC,SAAS,kBAAkB,EAAE,CAqB/B;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzD
|
|
1
|
+
{"version":3,"file":"derive-evidence.d.ts","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,8 @@ export function counterexamplesWithRejection(record, rejection) {
|
|
|
114
114
|
* exactly the decision that must never be implicit.
|
|
115
115
|
*/
|
|
116
116
|
export const NO_PASSING_WITNESSES = new Set();
|
|
117
|
+
/** The axiom Lean 4 records for a proof that contains `sorry`. */
|
|
118
|
+
const SORRY_AXIOM = 'sorryAx';
|
|
117
119
|
/** The fields `Conventions` may declare. Kept in one place so the check is total. */
|
|
118
120
|
const CONVENTION_FIELDS = [
|
|
119
121
|
'heatWorkSign',
|
|
@@ -154,8 +156,11 @@ export function deriveEvidence(record, passingWitnessIds) {
|
|
|
154
156
|
// records a reference without earning a tag — a proof of the wrong statement
|
|
155
157
|
// proves nothing. A property and a cross-check earn their own labels and do
|
|
156
158
|
// not count as a proved bridge. A reduction, a limit, and a derivation-step
|
|
157
|
-
// earn neither.
|
|
158
|
-
|
|
159
|
+
// earn neither. A proof resting on `sorryAx` is a hole, not a proof, and
|
|
160
|
+
// earns none of the three whatever its fidelity says.
|
|
161
|
+
if (record.formalRef !== undefined &&
|
|
162
|
+
record.formalRef.fidelity !== 'unreviewed' &&
|
|
163
|
+
!(record.formalRef.axioms ?? []).includes(SORRY_AXIOM)) {
|
|
159
164
|
if (record.formalRef.kind === 'bridge')
|
|
160
165
|
tags.add('formally-proved');
|
|
161
166
|
else if (record.formalRef.kind === 'property')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-evidence.js","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"derive-evidence.js","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 1, S1.3 — evidence tags, DERIVED AT READ TIME.\n *\n * Design note: `docs/planning/Atlas-Phase-1-Design.md` §3 and §4.\n *\n * **The contract of this module: it has no write path.** No record stores an\n * evidence set; every tag is computed from the artifacts a record actually\n * carries, each time it is asked for. A tag is emitted ONLY when the artifact\n * it names is present and passing. There is no default-true tag, no tag\n * derived from another tag, no tag derived from `reviewStatus`, and no tag\n * derived from prose. A record carrying no passing witness derives exactly\n * `{'proposed'}`.\n *\n * ## The empty-set trap (design note §3, Adam A1 RED — confirmed by execution)\n *\n * `convention-checked` is the ONLY rule in the table whose quantifier is\n * universal (`every`). Written as \"`conventions` is present AND every declared\n * field is consumed by a witness\", it hands the tag to a record with ZERO\n * witnesses, because `conventions = {}` declares nothing and `[].every(…)` is\n * vacuously true. {@link deriveEvidence} therefore requires a NON-EMPTY\n * declaration before the universal runs, and\n * `tests/atlas/derive-evidence.test.ts` pins the empty-object case.\n *\n * **The general rule, for anything added here later:** a universal quantifier\n * in a tag derivation must be paired with a non-emptiness check, or the tag is\n * free. The other rules are existentials (`some`), which are false on the\n * empty set and therefore safe.\n *\n * ## What \"passing\" means, and why the caller supplies it\n *\n * `Witness` records an id and the test file that runs it; nothing on the\n * record says whether that test passed. Proving it is a filesystem act (see\n * `tests/atlas/evidence-rule.test.ts`, which matches witness ids against test\n * titles), and this module is pure. So the set of passing witness ids is an\n * ARGUMENT, and it is REQUIRED — {@link NO_PASSING_WITNESSES} must be passed\n * explicitly when nothing is verified.\n *\n * It used to DEFAULT to empty, which sounds conservative and was in fact a\n * defect (Eve E1 RED, confirmed by execution). Defaulting the other way, to\n * \"all\", would have been the free-tag defect above in a second location — but\n * defaulting to empty created the mirror-image failure: a forgotten argument\n * produced an answer identical to a real negative. A catalog-wide check written\n * that way could only ever report \"no row gains evidence\", whatever the rows\n * held, so it could not fail. Requiring the argument makes a vacuous result a\n * STATED choice, and `tests/atlas/coverage.test.ts` now carries a positive\n * control so that a negative result carries information.\n *\n * @module atlas/derive-evidence\n * @internal\n */\n\nimport type { Conventions, EvidenceTag, FormalFidelity, FormalRefKind } from './types.js';\nimport { catalogFormalRef } from './catalog-formal-ref.js';\n\n/**\n * The verdict of `adjudicateBridgeEntry` (`src/bridges/membership.ts`),\n * restated structurally so this module takes no dependency on `src/bridges`\n * (the dependency must run one way — design note §1).\n *\n * `tests/atlas/derive-evidence.test.ts` pins this union against the real\n * `BridgeVerdict` at compile time AND at runtime over the live catalog, so a\n * fourth verdict fails the test rather than silently falling through.\n *\n * @internal\n */\nexport type MembershipVerdict = 'bridge' | 'not-a-bridge' | 'unadjudicated';\n\n/**\n * A witness as this derivation reads it.\n *\n * Structural, not an import of `Witness`, for two reasons that are findings in\n * their own right (both reported to the Lead):\n *\n * - `Witness.kind` is `'symbolic' | 'numeric' | 'formal'` — there is NO\n * `'dimensional'` member, so `dimension-checked` has no source on today's\n * data. The kind is widened here to include `'dimensional'` so the rule is\n * written once and correctly; it simply never fires until such a witness\n * exists. Widening it is not inventing evidence: no record carries one.\n * - `Witness` records no list of the convention fields a check consumes, so\n * `consumes` is optional here. Absent ⇒ the witness consumes nothing ⇒\n * `convention-checked` cannot be earned. Conservative by construction.\n *\n * @internal\n */\nexport interface WitnessLike {\n readonly id: string;\n readonly kind: 'symbolic' | 'numeric' | 'formal' | 'dimensional';\n /** Convention fields this check actually consumes, when it declares any. */\n readonly consumes?: readonly (keyof Conventions)[];\n}\n\n/**\n * A counterexample as this derivation reads it.\n *\n * `Counterexample` (`src/atlas/types.ts`) carries `description` and `witness`\n * and has NO `resolvedBy` field — so on today's data every counterexample is\n * unresolved. `resolvedBy` is read here as an optional property rather than\n * assumed absent, so that adding it later resolves counterexamples without\n * touching this file. This module adds no field to any type.\n *\n * @internal\n */\nexport interface CounterexampleLike {\n readonly description?: string;\n readonly witness?: string;\n /** Present and non-empty ⇒ the counterexample is resolved and does not contradict. */\n readonly resolvedBy?: string;\n}\n\n/**\n * A rejection as this projection reads it — structural, so this module still\n * imports nothing from `src/bridges`.\n *\n * @internal\n */\nexport interface RejectionLike {\n readonly beId: number;\n readonly reason: string;\n}\n\n/**\n * A row's counterexamples INCLUDING the one its rejection constitutes.\n *\n * ROADMAP §7 Phase 1 asks for \"a `RejectedBridgeAdjudication` ⇒ `contradicted`\n * with the counterexample LINKED\". The linking half is what matters and was\n * missing: BE-35 had a counterexample written by hand and earned `contradicted`\n * honestly, while BE-28, BE-29, BE-32 and BE-40 had none — and an earlier rule\n * papered over that by FORCING `contradicted` onto every rejected row, which\n * manufactured a refutation from nothing (Eve E1).\n *\n * This is the linking done properly. The rejection's own `reason` IS the\n * counterexample: a row rejected for being single-regime is refuted AS A BRIDGE\n * by exactly that argument. Projecting it means `contradicted` is then EARNED\n * through the ordinary derivation rather than asserted by a special case.\n *\n * **It is a projection, not a copy.** The reason string is never duplicated into\n * a catalog row; `bridges/rejected.ts` remains its single source, which is what\n * the ROADMAP means by \"cross-linked ... rather than duplicating it\". The caller\n * supplies the rejection, so this module still owns no view of WHICH ids are\n * rejected.\n *\n * @internal\n */\nexport function counterexamplesWithRejection(\n record: EvidenceInput,\n rejection: RejectionLike | undefined,\n): readonly CounterexampleLike[] {\n const own = record.counterexamples ?? [];\n if (rejection === undefined) return own;\n // Do not double-count. A row may ALREADY cite the rejection by hand — BE-35\n // does, with `witness: 'src/bridges/rejected.ts - REJECTED_BRIDGE_ADJUDICATIONS,\n // beId 35'`. My first predicate matched only the machine key `rejection:<id>`\n // and so missed it, appending the SAME argument a second time in different\n // words, which is exactly the duplication the ROADMAP says to avoid. The\n // predicate therefore accepts either form: the machine key, or any witness\n // that names the rejection registry together with this beId.\n const key = `rejection:${rejection.beId}`;\n const alreadyLinked = own.some((c) => {\n const w = c.witness ?? '';\n if (w === key) return true;\n return w.includes('REJECTED_BRIDGE_ADJUDICATIONS') && w.includes(String(rejection.beId));\n });\n if (alreadyLinked) return own;\n return [\n ...own,\n { description: rejection.reason, witness: `rejection:${rejection.beId}` },\n ];\n}\n\n/** The artifacts a record carries, all optional. @internal */\nexport interface EvidenceInput {\n readonly witnesses?: readonly WitnessLike[];\n readonly conventions?: Conventions;\n readonly counterexamples?: readonly CounterexampleLike[];\n /**\n * The record's formal reference, read for its fidelity, its kind, and its\n * axioms. Structural so a caller can pass an `AtlasBridge` directly. A\n * missing kind cannot be supplied by this function: only `'bridge'` derives\n * `formally-proved`. An axiom list naming `sorryAx` is a proof with a hole\n * (Lean exits 0 on `sorry`; TOOLS.md) and derives no proof label.\n */\n readonly formalRef?: {\n readonly fidelity: FormalFidelity;\n readonly kind: FormalRefKind;\n readonly axioms?: readonly string[];\n };\n}\n\n/**\n * The empty passing set, for a caller that genuinely has nothing marked passing.\n *\n * ⚠ This is EXPORTED and must be passed EXPLICITLY. It used to be a default\n * parameter value, and that was a defect found by post-implementation review\n * (Eve, E1) and confirmed by execution: a record carrying three passing\n * witnesses and a consumed convention derived `{'proposed'}` under the default —\n * byte-identical to an empty record. A caller who simply forgot the argument got\n * an answer indistinguishable from a real negative.\n *\n * That made a catalog-wide check VACUOUS rather than reassuring. \"No row gains\n * evidence\" was the only outcome the call could produce, whatever the rows\n * contained, so the check could not fail and proved nothing. Requiring the\n * argument forces the caller to STATE which witnesses were verified, which is\n * exactly the decision that must never be implicit.\n */\nexport const NO_PASSING_WITNESSES: ReadonlySet<string> = new Set<string>();\n\n/** The axiom Lean 4 records for a proof that contains `sorry`. */\nconst SORRY_AXIOM = 'sorryAx';\n\n/** The fields `Conventions` may declare. Kept in one place so the check is total. */\nconst CONVENTION_FIELDS = [\n 'heatWorkSign',\n 'metricSignature',\n 'fourierNormalization',\n 'unitSystem',\n 'capacitorChargeSign',\n] as const satisfies readonly (keyof Conventions)[];\n\n/** The convention fields a record actually declares (a `undefined` value declares nothing). */\nfunction declaredConventionFields(\n conventions: Conventions | undefined,\n): readonly (keyof Conventions)[] {\n if (conventions === undefined) return [];\n return CONVENTION_FIELDS.filter((field) => conventions[field] !== undefined);\n}\n\n/**\n * Derive the evidence set of one record.\n *\n * @param record - the artifacts the record carries.\n * @param passingWitnessIds - ids of witnesses VERIFIED to pass. REQUIRED: pass\n * {@link NO_PASSING_WITNESSES} explicitly when nothing is verified, so that a\n * vacuous result is a stated choice rather than a forgotten argument.\n * @returns a fresh set; never cached, never stored.\n * @internal\n */\nexport function deriveEvidence(\n record: EvidenceInput,\n passingWitnessIds: ReadonlySet<string>,\n): ReadonlySet<EvidenceTag> {\n const tags = new Set<EvidenceTag>();\n\n const passing = (record.witnesses ?? []).filter((w) => passingWitnessIds.has(w.id));\n\n // Existentials over the passing witnesses — false on the empty set.\n // `symbolically-checked` has exactly ONE derivation: a passing symbolic\n // witness. Which symbolic witnesses pass is DEFINED by the committed results\n // artifact (`data/atlas/witness-results.json`, Phase 4 §3) — the caller feeds\n // it in through `passingWitnessIds` via `artifactPassingWitnessIds`.\n if (passing.some((w) => w.kind === 'dimensional')) tags.add('dimension-checked');\n if (passing.some((w) => w.kind === 'symbolic')) tags.add('symbolically-checked');\n\n // `formally-proved` iff the reference is a reviewed bridge. `'unreviewed'`\n // records a reference without earning a tag — a proof of the wrong statement\n // proves nothing. A property and a cross-check earn their own labels and do\n // not count as a proved bridge. A reduction, a limit, and a derivation-step\n // earn neither. A proof resting on `sorryAx` is a hole, not a proof, and\n // earns none of the three whatever its fidelity says.\n if (\n record.formalRef !== undefined &&\n record.formalRef.fidelity !== 'unreviewed' &&\n !(record.formalRef.axioms ?? []).includes(SORRY_AXIOM)\n ) {\n if (record.formalRef.kind === 'bridge') tags.add('formally-proved');\n else if (record.formalRef.kind === 'property') tags.add('formally-proved-property');\n else if (record.formalRef.kind === 'cross-check') tags.add('formally-proved-cross-check');\n }\n if (passing.some((w) => w.kind === 'numeric')) tags.add('numerically-supported');\n\n // The ONE universal in the table — guarded by non-emptiness. See §3 above.\n const declared = declaredConventionFields(record.conventions);\n if (\n declared.length > 0 &&\n declared.every((field) => passing.some((w) => (w.consumes ?? []).includes(field)))\n ) {\n tags.add('convention-checked');\n }\n\n // Existential: a counterexample with no resolution.\n if (\n (record.counterexamples ?? []).some(\n (c) => c.resolvedBy === undefined || c.resolvedBy === '',\n )\n ) {\n tags.add('contradicted');\n }\n\n if (tags.size === 0) tags.add('proposed');\n return tags;\n}\n\n/**\n * A reviewed bridge whose delimiting counterexample is still unresolved.\n *\n * Both tags stay. This does not clear the counterexample and it does not\n * remove `formally-proved`. Callers that print only the proof tag hide the\n * other one; this is the flag that names the pair.\n *\n * @internal\n */\nexport function provedWithUnresolvedCounterexample(tags: ReadonlySet<EvidenceTag>): boolean {\n return tags.has('formally-proved') && tags.has('contradicted');\n}\n\n/**\n * The artifacts a catalog row may be judged on.\n *\n * A manifest-checked `lean4-physjs` reference of kind `bridge` is included.\n * {@link deriveEvidence} then lights `formally-proved`. A reduction, a limit,\n * a derivation-step, a property, and a cross-check are left off this input,\n * so those rows keep the grade they had. An unadjudicated verdict still\n * returns `proposed` and does not read this reference.\n *\n * @internal\n */\nexport function catalogEvidenceInput(row: {\n readonly id?: number;\n readonly conventions?: Conventions;\n readonly counterexamples?: readonly CounterexampleLike[];\n}): EvidenceInput {\n const formalRef = row.id === undefined ? undefined : catalogFormalRef(row.id);\n const provedBridge =\n formalRef !== undefined &&\n formalRef.system === 'lean4-physjs' &&\n formalRef.fidelity !== 'unreviewed' &&\n formalRef.kind === 'bridge';\n return {\n ...(row.conventions !== undefined ? { conventions: row.conventions } : {}),\n ...(row.counterexamples !== undefined ? { counterexamples: row.counterexamples } : {}),\n ...(provedBridge ? { formalRef } : {}),\n };\n}\n\n/**\n * Derive the evidence set of a catalog row, under the adjudication precedence\n * of design note §4. The verdict is supplied by the caller — it comes from\n * `adjudicateBridgeEntry`, which owns the rejected-id registry\n * (`REJECTED_BRIDGE_IDS`). Reading that registry here would make this file a\n * second source of truth about which ids are rejected.\n *\n * | Verdict | Derives |\n * |---|---|\n * | `'not-a-bridge'` | {@link deriveEvidence} runs normally — see below |\n * | `'unadjudicated'` | `{'proposed'}` only — never a refutation, never support |\n * | `'bridge'` | {@link deriveEvidence} runs normally |\n *\n * ## ⚠ `'not-a-bridge'` no longer forces `'contradicted'` (Eve E1, 2026-09-21)\n *\n * It used to, \"regardless of witnesses\", and that rule — written by me in design\n * note §4 — **violated §3 of the same document.** `contradicted` means THE CLAIM\n * IS REFUTED. `not-a-bridge` means THE ROW IS NOT A REGIME-CROSSING BRIDGE.\n * Those are different assertions about different things, and conflating them made\n * the library report BE-35 as `status: 'established'` and `evidence:\n * {'contradicted'}` in the same breath — from which a reader cannot tell whether\n * the equation is a true in-regime identity the bridge graph ignores, or a\n * refuted statement.\n *\n * Measured when the rule was removed: of the five rejected rows, only **BE-35**\n * carries an actual counterexample, and it derives `{'contradicted'}` NATURALLY\n * through the normal path. **BE-28, BE-29, BE-32 and BE-40 carry none** — the old\n * rule was manufacturing a refutation for four rows with no refuting artifact\n * whatsoever. That is exactly what §3 forbids: a tag is emitted only when the\n * artifact it names is present and passing.\n *\n * Membership already has a single owner — `adjudicateBridgeEntry` — and it does\n * not need restating in the evidence vocabulary. Removing the case leaves each\n * fact with exactly one source, which is what §4 was trying to achieve and this\n * rule was quietly undermining.\n *\n * @internal\n */\nexport function deriveEvidenceForVerdict(\n verdict: MembershipVerdict,\n record: EvidenceInput,\n passingWitnessIds: ReadonlySet<string>,\n): ReadonlySet<EvidenceTag> {\n switch (verdict) {\n // 'not-a-bridge' falls through to the normal derivation on purpose: a row\n // is refuted by a COUNTEREXAMPLE, not by failing a membership test. See the\n // block comment above for the measurement that forced this change.\n case 'not-a-bridge':\n return deriveEvidence(record, passingWitnessIds);\n case 'unadjudicated':\n return new Set<EvidenceTag>(['proposed']);\n case 'bridge':\n return deriveEvidence(record, passingWitnessIds);\n }\n}\n\n/**\n * The evidence set of a COMPOSITE claim, derived from its parts' sets: every\n * step of a route and every norm transport it applied\n * (`docs/planning/ADR-transported-norm-composition.md` §4).\n *\n * - A positive tag survives only if EVERY part carries it: a chain is never\n * better supported than its weakest link, so the composite is the\n * intersection. `formally-proved` therefore needs a proof of every part; a\n * transport declaration's set holds at most its numeric or symbolic basis, so\n * no route through one is formally proved.\n * - `contradicted` survives if ANY part carries it: a refuted part refutes the\n * chain that rests on it.\n * - With no positive tag left, the composite is `{'proposed'}` (plus\n * `contradicted` when present). An unwitnessed declaration contributes\n * `{'proposed'}` and so caps the composite there.\n *\n * @throws RangeError on no parts: a composite of nothing has no evidence to state.\n * @internal\n */\nexport function deriveCompositeEvidence(parts: readonly ReadonlySet<EvidenceTag>[]): ReadonlySet<EvidenceTag> {\n if (parts.length === 0) {\n throw new RangeError('deriveCompositeEvidence: a composite of no parts has no evidence to derive');\n }\n const positive = (s: ReadonlySet<EvidenceTag>) => [...s].filter((t) => t !== 'proposed' && t !== 'contradicted');\n let common = new Set(positive(parts[0]!));\n for (const part of parts.slice(1)) common = new Set(positive(part).filter((t) => common.has(t)));\n const tags = new Set<EvidenceTag>(common);\n if (parts.some((p) => p.has('contradicted'))) tags.add('contradicted');\n if (common.size === 0) tags.add('proposed');\n return tags;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,iGAAiG;AACjG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAwBpC,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,iGAAiG;AACjG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAwBpC,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,EAAE,WAyDvC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,WA4DpC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,WA0ExC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAkDnC,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,EAAE,WAqCjC,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,yBAAyB,EAAE,SAAS,WAAW,EAM3D,CAAC"}
|
|
@@ -84,7 +84,6 @@ export const BRIDGE_LANGEVIN_DIFFUSION = {
|
|
|
84
84
|
witness: 'WD4b',
|
|
85
85
|
},
|
|
86
86
|
],
|
|
87
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
88
87
|
witnesses: [
|
|
89
88
|
{
|
|
90
89
|
id: 'WD4',
|
|
@@ -148,7 +147,6 @@ export const BRIDGE_STOKES_EINSTEIN = {
|
|
|
148
147
|
},
|
|
149
148
|
]),
|
|
150
149
|
counterexamples: [],
|
|
151
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
152
150
|
witnesses: [
|
|
153
151
|
{
|
|
154
152
|
id: 'WD5',
|
|
@@ -231,7 +229,6 @@ export const BRIDGE_TELEGRAPH_DIFFUSION = {
|
|
|
231
229
|
witness: 'WD6b',
|
|
232
230
|
},
|
|
233
231
|
],
|
|
234
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
235
232
|
witnesses: [
|
|
236
233
|
{
|
|
237
234
|
id: 'WD6',
|
|
@@ -293,7 +290,6 @@ export const BRIDGE_TELEGRAPH_WAVE = {
|
|
|
293
290
|
{ name: 'c', dim: VELOCITY },
|
|
294
291
|
], [{ group: 'tau · D · q^2', op: '>=', bound: TELEGRAPH_WAVE_MIN_EPS, alias: 'ε = τDq² ≥ 25' }]),
|
|
295
292
|
counterexamples: [],
|
|
296
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
297
293
|
witnesses: [
|
|
298
294
|
{
|
|
299
295
|
id: 'WD7',
|
|
@@ -331,7 +327,6 @@ export const BRIDGE_HEAT_LAPLACE = {
|
|
|
331
327
|
},
|
|
332
328
|
]),
|
|
333
329
|
counterexamples: [],
|
|
334
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
335
330
|
witnesses: [
|
|
336
331
|
{
|
|
337
332
|
id: 'WD8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4 — the five diffusion-family bridges added to close Sprint 4's\n * \"≥ 20 bridges\" exit criterion.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4 (Sprint 4 closure).\n *\n * | Bridge | Relation | Witnesses |\n * |---|---|---|\n * | Langevin → Fick | `coarse-graining` | WD4 (convergence), WD4b (ballistic regime) |\n * | Langevin + Stokes drag → Fick | `derivation`, **hyperedge** | WD5 (canonical + water), WD5s (CAS) |\n * | telegraph → Fick | `approximation` (singular, τ → 0) | WD6 (convergence), WD6b (oscillatory modes) |\n * | telegraph → 1-D wave | `approximation` (τDq² → ∞, t ≪ τ) | WD7 (convergence) |\n * | heat → Laplace | `restriction` (steady state) | WD8 (convergence in time) |\n *\n * Every regime inequality keys a `PiGroup.formula` derived from the dimension\n * matrix. Every `delta` is the EXACT error at its domain edge; every error\n * function used for it is monotone on the domain, so the edge value is the\n * supremum.\n *\n * @module atlas/diffusion/bridges-closure\n */\n\nimport { ENERGY, LENGTH, MASS, TIME, VELOCITY } from '../../dimensional/types.js';\nimport { makeApproximation } from '../oscillators/bridges-limits.js';\nimport { DAMPING } from '../oscillators/dimensions.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport type { AtlasBridge } from '../types.js';\nimport { WAVENUMBER } from '../waves/models.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\nimport { DIFFUSION_FAMILY_NAME, VISCOSITY } from './models.js';\nimport { telegraphSlowRateRatio, telegraphWaveFrequencyRatio } from './numerics.js';\n\nconst TEST = 'tests/atlas/closure.test.ts';\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/** τ_p/t ceiling of the Langevin → Fick regime: WD4's fine resolution, t = 100 τ_p. @internal */\nexport const LANGEVIN_MAX_TAU_RATIO = 0.01;\n\n/** ε = τDq² ceiling of the telegraph → Fick domain. @internal */\nexport const TELEGRAPH_FICK_MAX_EPS = 0.05;\n\n/** ε = τDq² floor of the telegraph → wave domain. @internal */\nexport const TELEGRAPH_WAVE_MIN_EPS = 25;\n\n/** Fourier-number floor of the steady-state restriction. @internal */\nexport const STEADY_MIN_FOURIER = 1;\n\nconst regime = (\n parameters: readonly { name: string; dim: import('../../dimensional/types.js').Dimension }[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => regimeWithInputs(parameters, [], inequalities);\n\n/** A regime whose coordinates also include dimensionless model inputs (such as Re). */\nconst regimeWithInputs = (\n parameters: readonly { name: string; dim: import('../../dimensional/types.js').Dimension }[],\n dimensionlessInputs: readonly string[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => ({\n family: DIFFUSION_FAMILY_NAME,\n inequalities,\n groupDefinitions: deriveRegimeGroups(DIFFUSION_FAMILY_NAME, parameters, dimensionlessInputs),\n});\n\n/** Reynolds-number ceiling of the Stokes–Einstein derivation: a chosen threshold for Re ≪ 1. @internal */\nconst STOKES_MAX_RE = 0.1;\n\n/** Ceiling of τ_p/t = m/(γt) for the overdamped limit: a chosen threshold for ≪ 1. @internal */\nconst STOKES_MAX_TAU_RATIO = 0.01;\n\n/** Bridge: Langevin → Fick, the Einstein coarse-graining D = k_BT/γ. @internal */\nexport const BRIDGE_LANGEVIN_DIFFUSION: AtlasBridge = {\n id: 'ab-langevin-diffusion',\n relation: 'coarse-graining',\n premises: ['model-langevin'],\n conclusion: 'model-fick',\n transformation: 'average over times t ≫ τ_p = m/γ: ⟨x²⟩ → 2Dt with D = k_B T/γ (Einstein)',\n preserves: ['the long-time mean-square displacement', 'the equilibrium velocity variance k_B T/m'],\n doesNotPreserve: [\n 'the velocity as a state variable',\n 'the ballistic regime t ≲ τ_p, where ⟨x²⟩ ≈ (k_B T/m) t²',\n 'the momentum relaxation time τ_p as an independent scale',\n ],\n sideConditions: ['overdamped observation times: τ_p/t ≪ 1', 'white thermal noise, fluctuation–dissipation 2γk_BT'],\n regime: regime(\n [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 'kT', dim: ENERGY },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 't', dim: TIME },\n ],\n [\n {\n group: 'm · gamma^-1 · t^-1',\n op: '<=',\n bound: LANGEVIN_MAX_TAU_RATIO,\n alias: 'τ_p/t ≪ 1 (machine form ≤ 0.01)',\n },\n ],\n ),\n counterexamples: [\n {\n description:\n 'At t = 0.1 τ_p the Langevin mean-square displacement is 0.048 of 2Dt: the particle is ' +\n 'still ballistic, ⟨x²⟩ ≈ (k_BT/m)t², and the diffusion model does not describe it.',\n witness: 'WD4b',\n },\n ],\n witnesses: [\n {\n id: 'WD4',\n kind: 'numeric',\n test: TEST,\n tolerance: '⟨x²⟩/(2Dt) within 0.02 of 1 at t = 100 τ_p, from the Langevin moment equations by RK4',\n },\n {\n id: 'WD4b',\n kind: 'numeric',\n test: TEST,\n tolerance: '⟨x²⟩/(2Dt) = 0.0484 at t = 0.1 τ_p',\n },\n ],\n citations: [\n 'Uhlenbeck & Ornstein, Phys. Rev. 36 (1930) 823 - On the theory of the Brownian motion',\n 'Einstein, Ann. Phys. 17 (1905) 549 - the relation D = k_B T/γ',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: Langevin + Stokes drag → Fick with the Stokes–Einstein coefficient.\n *\n * A HYPEREDGE: the Langevin model supplies D = k_BT/γ with γ free; Stokes drag\n * supplies γ = 6πηa for a sphere. Neither alone gives D in terms of the fluid.\n *\n * @internal\n */\nexport const BRIDGE_STOKES_EINSTEIN: AtlasBridge = {\n id: 'ab-stokes-einstein',\n relation: 'derivation',\n premises: ['model-langevin', 'model-stokes-drag'],\n conclusion: 'model-fick',\n transformation: 'substitute γ = 6πηa into D = k_B T/γ: D = k_B T/(6πηa)',\n preserves: ['the long-time diffusion coefficient of a sphere'],\n doesNotPreserve: ['the particle mass (it drops out)', 'the shape beyond the radius a'],\n sideConditions: [\n 'creeping flow around the sphere, Re ≪ 1 (machine form Re ≤ 0.1: a chosen threshold for \"≪ 1\")',\n 'no-slip boundary',\n 'overdamped times t ≫ m/γ (machine form m/(γt) ≤ 0.01: a chosen threshold for \"≪ 1\", as in ab-langevin-diffusion)',\n ],\n // The prose conditions were not machine-checked, so `upt regime` reported this\n // bridge VACUOUS and \"valid\" at Re = 1000 (persona finding L8). Re is a\n // dimensionless input of the flow; m/(γt) is listed first so its π-group key is\n // the one ab-langevin-diffusion uses, and one --at value checks both bridges.\n regime: regimeWithInputs(\n [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 't', dim: TIME },\n { name: 'kT', dim: ENERGY },\n { name: 'eta', dim: VISCOSITY },\n { name: 'a', dim: LENGTH },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n ['Re'],\n [\n { group: 'Re', op: '<=', bound: STOKES_MAX_RE, alias: 'Re ≪ 1 (machine form Re ≤ 0.1)' },\n {\n group: 'm · gamma^-1 · t^-1',\n op: '<=',\n bound: STOKES_MAX_TAU_RATIO,\n alias: 'τ_p/t ≪ 1 (machine form m/(γt) ≤ 0.01)',\n },\n ],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD5',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'agrees with CE-stokes-einstein to 1e-12 relative; a sphere of radius a = 0.5 µm (1 µm diameter) in water ' +\n 'at T = 293.15 K, η = 1.0016e-3 Pa·s gives D = 4.29e-13 m²/s',\n },\n {\n id: 'WD5s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: k_BT/γ under γ ↦ 6πηa minus k_BT/(6πηa) simplifies to literal 0',\n },\n ],\n citations: [\n 'Einstein, Ann. Phys. 17 (1905) 549 - Brownian motion of a sphere, D = k_B T/(6πηa)',\n 'Stokes, Trans. Camb. Phil. Soc. 9 (1851) 8 - the drag on a sphere in creeping flow',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: telegraph → Fick, the SINGULAR limit τ → 0.\n *\n * Singular because the highest time derivative is lost: the telegraph equation\n * needs two initial conditions and diffusion takes one, so a fast mode\n * `e^{−t/τ}` forms an initial layer. The bound therefore holds only AFTER that\n * layer, and the machine horizon has a LOWER edge as well as an upper one.\n *\n * @internal\n */\nexport const BRIDGE_TELEGRAPH_DIFFUSION: AtlasBridge = {\n id: 'ab-telegraph-diffusion',\n relation: 'approximation',\n premises: ['model-telegraph'],\n conclusion: 'model-fick',\n transformation: 'drop τ u_tt: the slow mode decays at Dq²(1 + ε + 2ε² + …) → Dq², ε = τDq²',\n preserves: ['the slow decay rate of each Fourier mode to O(ε)', 'the total amount ∫u dx'],\n doesNotPreserve: [\n 'the finite signal speed √(D/τ)',\n 'the second initial condition u_t(x, 0)',\n 'oscillatory modes, which exist for ε > 1/4',\n ],\n sideConditions: ['ε = τDq² ≤ 0.05', 'after the initial layer: t ≫ τ'],\n bound: makeApproximation({\n K: 1,\n delta: telegraphSlowRateRatio(TELEGRAPH_FICK_MAX_EPS, 1, 1) - 1,\n deltaAt: (p) =>\n telegraphSlowRateRatio(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN) - 1,\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the slow-mode decay rate of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ε = τDq² ≤ 0.05',\n horizon:\n 'τ ≪ t ≪ 1/(δ D q²): after the initial layer and before the decay-rate error accumulates; ' +\n 'machine form 5τ < t < 0.1/(δ D q²)',\n horizonHolds: (t, p) => {\n const { tau, D, q } = p;\n if (tau === undefined || D === undefined || q === undefined) return false;\n const delta = telegraphSlowRateRatio(tau, D, q) - 1;\n if (!Number.isFinite(delta)) return false;\n if (t <= 5 * tau) return false;\n return delta === 0 || t < 0.1 / (delta * D * q * q);\n },\n parameterRange: 'ε = τDq² ≤ 0.05',\n limitCharacter: 'singular',\n // A slow-mode decay-rate error. The horizon says that error accumulates,\n // so time is not listed.\n uniformity: ['slow-mode decay rate of one Fourier mode, for ε = τDq² ≤ 0.05'],\n }),\n regime: regime(\n [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'q', dim: WAVENUMBER },\n ],\n [{ group: 'tau · D · q^2', op: '<=', bound: TELEGRAPH_FICK_MAX_EPS, alias: 'ε = τDq² ≤ 0.05' }],\n ),\n counterexamples: [\n {\n description:\n 'At ε = τDq² = 1 the telegraph mode is OSCILLATORY (complex rate, NaN on the slow branch): ' +\n 'no diffusion mode oscillates.',\n witness: 'WD6b',\n },\n ],\n witnesses: [\n {\n id: 'WD6',\n kind: 'numeric',\n test: TEST,\n tolerance: 'slow rate / Dq² within 0.03 of 1 at τ = 0.025 (D = q = 1); error halves with τ',\n },\n {\n id: 'WD6b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'no real slow rate at ε = 1',\n },\n ],\n citations: [\n 'Cattaneo, Atti Sem. Mat. Fis. Univ. Modena 3 (1948) 83 - heat conduction with a relaxation time',\n 'Goldstein, Q. J. Mech. Appl. Math. 4 (1951) 129 - On diffusion by discontinuous movements, and on the telegraph equation',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-telegraph-diffusion'),\n};\n\n/**\n * Bridge: telegraph → 1-D wave, for strongly underdamped modes over short times.\n *\n * @internal\n */\nexport const BRIDGE_TELEGRAPH_WAVE: AtlasBridge = {\n id: 'ab-telegraph-wave',\n relation: 'approximation',\n premises: ['model-telegraph'],\n conclusion: 'model-wave-1d',\n transformation: 'drop u_t: τ u_tt = D u_xx, a wave with c² = D/τ',\n preserves: ['the signal speed √(D/τ)', 'the oscillation frequency to O(1/ε)'],\n doesNotPreserve: ['damping: telegraph modes decay as e^{−t/(2τ)}', 'relaxation to diffusion at long times'],\n sideConditions: ['ε = τDq² ≥ 25', 'short times t ≪ τ (the bound is not uniform in time)'],\n bound: makeApproximation({\n K: 1,\n delta: 1 - telegraphWaveFrequencyRatio(TELEGRAPH_WAVE_MIN_EPS, 1, 1),\n deltaAt: (p) =>\n 1 - telegraphWaveFrequencyRatio(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN),\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the oscillation frequency of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ε = τDq² ≥ 25',\n horizon:\n 't ≪ τ: before damping e^{−t/(2τ)} removes 10% of the amplitude; machine form t < 2τ ln(10/9)',\n horizonHolds: (t, p) => {\n const { tau } = p;\n if (tau === undefined || !(tau > 0)) return false;\n return t >= 0 && t < 2 * tau * Math.log(10 / 9);\n },\n parameterRange: 'ε = τDq² ≥ 25',\n limitCharacter: 'regular',\n // An oscillation-frequency error. The record says it is not uniform in time.\n uniformity: ['oscillation frequency of one Fourier mode, for ε = τDq² ≥ 25'],\n }),\n regime: regime(\n [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'q', dim: WAVENUMBER },\n { name: 'c', dim: VELOCITY },\n ],\n [{ group: 'tau · D · q^2', op: '>=', bound: TELEGRAPH_WAVE_MIN_EPS, alias: 'ε = τDq² ≥ 25' }],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD7',\n kind: 'numeric',\n test: TEST,\n tolerance: 'frequency ratio within 3e-3 of 1 at ε = 50; error halves as ε doubles',\n },\n ],\n citations: ['Goldstein, Q. J. Mech. Appl. Math. 4 (1951) 129 - On diffusion by discontinuous movements, and on the telegraph equation'],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-telegraph-wave'),\n};\n\n/** Bridge: heat → Laplace, the steady-state restriction. @internal */\nexport const BRIDGE_HEAT_LAPLACE: AtlasBridge = {\n id: 'ab-heat-laplace',\n relation: 'restriction',\n premises: ['model-heat'],\n conclusion: 'model-laplace-1d',\n transformation: '∂T/∂t = 0: κ T_xx = 0, T linear between the end temperatures',\n preserves: ['the end temperatures', 'the steady heat flux κ(T_b − T_a)/ℓ'],\n doesNotPreserve: ['the transient', 'ρ and c_p, which drop out of the steady state'],\n sideConditions: ['fixed end temperatures', 'Fourier number αt/ℓ² ≥ 1 (transients decayed)'],\n regime: regime(\n [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'ell', dim: LENGTH },\n { name: 't', dim: TIME },\n ],\n [\n {\n group: 'kappa · rho^-1 · cp^-1 · ell^-2 · t',\n op: '>=',\n bound: STEADY_MIN_FOURIER,\n alias: 'Fo = αt/ℓ² ≥ 1',\n },\n ],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD8',\n kind: 'numeric',\n test: TEST,\n tolerance: 'max deviation from the linear profile below 0.025 at αt/ℓ² = 0.4; shrinks with time',\n },\n ],\n citations: ['Carslaw & Jaeger, Conduction of Heat in Solids - steady linear flow in a slab'],\n reviewStatus: 'proposed',\n};\n\n/** The diffusion-family closure bridges. @internal */\nexport const DIFFUSION_CLOSURE_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_LANGEVIN_DIFFUSION,\n BRIDGE_STOKES_EINSTEIN,\n BRIDGE_TELEGRAPH_DIFFUSION,\n BRIDGE_TELEGRAPH_WAVE,\n BRIDGE_HEAT_LAPLACE,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,WAuEnC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,EAAE,WA0DnC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,EAAE,WAkE1C,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,SAAS,WAAW,EAInD,CAAC"}
|
|
@@ -77,7 +77,6 @@ export const BRIDGE_WALK_DIFFUSION = {
|
|
|
77
77
|
witness: 'WD1b',
|
|
78
78
|
},
|
|
79
79
|
],
|
|
80
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
81
80
|
witnesses: [
|
|
82
81
|
{
|
|
83
82
|
id: 'WD1',
|
|
@@ -133,7 +132,6 @@ export const BRIDGE_HEAT_DIFFUSION = {
|
|
|
133
132
|
], []),
|
|
134
133
|
},
|
|
135
134
|
counterexamples: [],
|
|
136
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
137
135
|
witnesses: [
|
|
138
136
|
{
|
|
139
137
|
id: 'WD2',
|
|
@@ -190,7 +188,6 @@ export const BRIDGE_SCHRODINGER_DIFFUSION = {
|
|
|
190
188
|
witness: 'WD3b',
|
|
191
189
|
},
|
|
192
190
|
],
|
|
193
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
194
191
|
witnesses: [
|
|
195
192
|
{
|
|
196
193
|
id: 'W5',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,IAAI,GAAG,+BAA+B,CAAC;AAC7C,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAEnE,qGAAqG;AACrG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC/B,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,qEAAqE;IACrF,SAAS,EAAE;QACT,4DAA4D;QAC5D,mBAAmB;QACnB,gCAAgC;KACjC;IACD,eAAe,EAAE;QACf,qFAAqF;QACrF,oEAAoE;QACpE,8EAA8E;KAC/E;IACD,cAAc,EAAE;QACd,uDAAuD;QACvD,sBAAsB;QACtB,2BAA2B;KAC5B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,qBAAqB;QAC7B,YAAY,EAAE;YACZ;gBACE,KAAK,EAAE,WAAW;gBAClB,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,oEAAoE;aAC5E;SACF;QACD,gBAAgB,EAAE,kBAAkB,CAClC,qBAAqB,EACrB;YACE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;YACzB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE;YAC/B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;SACzB,EACD,EAAE,CACH;KACF;IACD,eAAe,EAAE;QACf;YACE,WAAW,EACT,mFAAmF;gBACnF,sFAAsF;gBACtF,yCAAyC;YAC3C,OAAO,EAAE,MAAM;SAChB;KACF;IACD,SAAS,EAAE;QACT;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,SAAS,EACP,+FAA+F;SAClG;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,sEAAsE;SAClF;KACF;IACD,SAAS,EAAE;QACT,iGAAiG;QACjG,wIAAwI;KACzI;IACD,YAAY,EAAE,UAAU;CACzB,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,sBAAsB;IACtC,OAAO,EAAE,sDAAsD;IAC/D,SAAS,EAAE;QACT,2EAA2E;QAC3E,+BAA+B;QAC/B,2BAA2B;KAC5B;IACD,eAAe,EAAE;QACf,2DAA2D;QAC3D,OAAO;QACP,iEAAiE;KAClE;IACD,cAAc,EAAE;QACd,kDAAkD;QAClD,mFAAmF;KACpF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,qBAAqB;QAC7B,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,kBAAkB,CAClC,qBAAqB,EACrB;YACE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;YAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE;YAClC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE;YAC/B,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;YAC5B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;SACzB,EACD,EAAE,CACH;KACF;IACD,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,SAAS,EACP,8FAA8F;SACjG;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,uEAAuE;SACnF;KACF;IACD,SAAS,EAAE;QACT,0GAA0G;QAC1G,4GAA4G;KAC7G;IACD,YAAY,EAAE,UAAU;CACzB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,4BAA4B,GAAgB;IACvD,EAAE,EAAE,0BAA0B;IAC9B,QAAQ,EAAE,uBAAuB;IACjC,QAAQ,EAAE,CAAC,wBAAwB,CAAC;IACpC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,+CAA+C;IAC/D,SAAS,EAAE;QACT,WAAW;QACX,uEAAuE;KACxE;IACD,eAAe,EAAE;QACf,iDAAiD;QACjD,+EAA+E;QAC/E,mDAAmD;KACpD;IACD,cAAc,EAAE;QACd,uBAAuB;QACvB,oFAAoF;KACrF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,qBAAqB;QAC7B,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,kBAAkB,CAClC,qBAAqB,EACrB;YACE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;YAC7B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;YACxB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE;SAChC,EACD,EAAE,CACH;KACF;IACD,eAAe,EAAE;QACf;YACE,WAAW,EACT,oFAAoF;gBACpF,iFAAiF;YACnF,OAAO,EAAE,MAAM;SAChB;KACF;IACD,SAAS,EAAE;QACT;YACE,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,qCAAqC;YAC3C,SAAS,EACP,+FAA+F;SAClG;QACD;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,uEAAuE;SACnF;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,4DAA4D;SACxE;KACF;IACD,SAAS,EAAE;QACT,8GAA8G;QAC9G,qIAAqI;KACtI;IACD,YAAY,EAAE,UAAU;CACzB,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,qBAAqB;IACrB,qBAAqB;IACrB,4BAA4B;CAC7B,CAAC","sourcesContent":["/**\n * Atlas Phase 4, S4.4 — the three bridges of the diffusion family.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4.\n *\n * | Bridge | Relation | Witnesses |\n * |---|---|---|\n * | random walk → Fick | `coarse-graining` | WD1 (convergence), WD1b (light cone) |\n * | heat ↔ Fick | `exact-equivalence` | WD2 (convergence), WD2s (CAS) |\n * | free Schrödinger → Fick | `analytic-continuation` | W5, WD3 (convergence), WD3b (norm) |\n *\n * Regime groups are DERIVED through `deriveRegimeGroups` and keyed by\n * `PiGroup.formula`; every inequality names one of those keys. The Fourier\n * number `D·t/ℓ²` appears as `kappa · rho^-1 · cp^-1 · ell^-2 · t` on the heat\n * side. **The Péclet number is not applicable to any model here**: it needs an\n * advection velocity, and none of the four models has one. It is stated as a\n * side condition (`no advection`) rather than invented as a group.\n *\n * Tolerances were set AFTER measuring each witness at several resolutions and\n * are stated in the witness records; `tests/atlas/diffusion.test.ts` asserts\n * the measured numbers.\n *\n * @module atlas/diffusion/bridges\n */\n\nimport { LENGTH, MASS, ACTION, TIME } from '../../dimensional/types.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport type { AtlasBridge } from '../types.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\nimport { DIFFUSION_FAMILY_NAME } from './models.js';\n\nconst TEST = 'tests/atlas/diffusion.test.ts';\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/** The Δt/t ceiling of the walk → diffusion regime: WD1's coarse resolution, 100 steps. @internal */\nexport const WALK_MAX_STEP_FRACTION = 0.01;\n\n/** Bridge: lattice random walk → Fick diffusion, by coarse-graining. @internal */\nexport const BRIDGE_WALK_DIFFUSION: AtlasBridge = {\n id: 'ab-walk-diffusion',\n relation: 'coarse-graining',\n premises: ['model-random-walk'],\n conclusion: 'model-fick',\n transformation: 'P(n, k)/(2Δx) ↦ c(x = nΔx, t = kΔt), with the closure D = Δx²/(2Δt)',\n preserves: [\n 'mean-square displacement ⟨x²⟩ = 2Dt, exactly at every step',\n 'total probability',\n 'the Gaussian long-time profile',\n ],\n doesNotPreserve: [\n 'the lattice spacing Δx and the step Δt as independent scales — only Δx²/Δt survives',\n 'parity: after an even number of steps only even sites are occupied',\n 'the finite propagation speed Δx/Δt: diffusion is positive everywhere at once',\n ],\n sideConditions: [\n 'the closure D = Δx²/(2Δt) is held fixed as Δx, Δt → 0',\n 'many steps: Δt/t ≪ 1',\n 'symmetric, unbiased steps',\n ],\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [\n {\n group: 'dt · t^-1',\n op: '<=',\n bound: WALK_MAX_STEP_FRACTION,\n alias: 'Δt/t ≪ 1 (machine form ≤ 0.01, the coarse resolution WD1 measures)',\n },\n ],\n groupDefinitions: deriveRegimeGroups(\n DIFFUSION_FAMILY_NAME,\n [\n { name: 'dx', dim: LENGTH },\n { name: 'dt', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 't', dim: TIME },\n ],\n [],\n ),\n },\n counterexamples: [\n {\n description:\n 'After 100 steps the walker cannot be more than 100 sites from the origin, so its ' +\n 'density at site 101 is exactly 0, while the diffusion kernel there is positive: the ' +\n 'coarse-grained model has no light cone.',\n witness: 'WD1b',\n },\n ],\n witnesses: [\n {\n id: 'WD1',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'density at the origin within 1e-4 of (4πDt)^-1/2 at 1000 steps; error shrinks with refinement',\n },\n {\n id: 'WD1b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'walk density exactly 0 beyond the light cone while the kernel is > 0',\n },\n ],\n citations: [\n 'Einstein, Ann. Phys. 17 (1905) 549 - Brownian motion; the mean-square displacement grows as 2Dt',\n 'Feller, An Introduction to Probability Theory and Its Applications, Vol. I - the symmetric random walk and the de Moivre-Laplace limit',\n ],\n reviewStatus: 'proposed',\n};\n\n/** Bridge: heat conduction ↔ Fick diffusion, an exact equivalence. @internal */\nexport const BRIDGE_HEAT_DIFFUSION: AtlasBridge = {\n id: 'ab-heat-diffusion',\n relation: 'exact-equivalence',\n premises: ['model-heat'],\n conclusion: 'model-fick',\n transformation: 'T ↦ c, κ/(ρ c_p) ↦ D',\n inverse: 'c ↦ T, D ↦ κ/(ρ c_p) (any κ, ρ, c_p with that ratio)',\n preserves: [\n 'the solution operator: equal initial data give equal solutions at every t',\n 'Fourier-mode decay rates D q²',\n 'the Fourier number D t/ℓ²',\n ],\n doesNotPreserve: [\n 'physical interpretation: temperature versus concentration',\n 'units',\n 'the separate values of κ, ρ and c_p — only their ratio survives',\n ],\n sideConditions: [\n 'homogeneous isotropic medium: κ, ρ, c_p constant',\n 'no sources and no advection (the Péclet number is not applicable to either model)',\n ],\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(\n DIFFUSION_FAMILY_NAME,\n [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'ell', dim: LENGTH },\n { name: 't', dim: TIME },\n ],\n [],\n ),\n },\n counterexamples: [],\n witnesses: [\n {\n id: 'WD2',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'FTCS heat solution at x = 0 within 5e-4 of the Fick solution with D = κ/(ρ c_p) at 160 cells',\n },\n {\n id: 'WD2s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: κq²/(ρ c_p) under κ ↦ D ρ c_p minus D q² simplifies to literal 0',\n },\n ],\n citations: [\n 'Carslaw & Jaeger, Conduction of Heat in Solids - the heat equation and the thermal diffusivity κ/(ρ c_p)',\n 'Crank, The Mathematics of Diffusion - Fick’s second law and its identity with the heat-conduction equation',\n ],\n reviewStatus: 'proposed',\n};\n\n/** Bridge: free Schrödinger → Fick diffusion, by Wick rotation. @internal */\nexport const BRIDGE_SCHRODINGER_DIFFUSION: AtlasBridge = {\n id: 'ab-schrodinger-diffusion',\n relation: 'analytic-continuation',\n premises: ['model-schrodinger-free'],\n conclusion: 'model-fick',\n transformation: 't = −iτ: ψ(x, −iτ) ↦ c(x, τ), with D = ħ/(2m)',\n preserves: [\n 'linearity',\n 'the Gaussian kernel structure, with a spread growing linearly in time',\n ],\n doesNotPreserve: [\n 'unitarity: ∫|ψ|² dx is conserved, ∫φ² dx decays',\n 'oscillation and phase: the oscillating propagator becomes a decaying Gaussian',\n 'time-reversal symmetry: diffusion is irreversible',\n ],\n sideConditions: [\n 'V = 0 (free particle)',\n 'the continuation is formal: real Schrödinger time maps to imaginary diffusion time',\n ],\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(\n DIFFUSION_FAMILY_NAME,\n [\n { name: 'hbar', dim: ACTION },\n { name: 'm', dim: MASS },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n [],\n ),\n },\n counterexamples: [\n {\n description:\n 'The squared norm of the Wick-rotated kernel falls from 1.755 at τ = 0 to 0.580 at ' +\n 'τ = 4 (ħ = 1, m = 0.5, s = 0.7), where the Schrödinger norm would be conserved.',\n witness: 'WD3b',\n },\n ],\n witnesses: [\n {\n id: 'W5',\n kind: 'numeric',\n test: 'tests/atlas/quantum-support.test.ts',\n tolerance:\n 'coefficients ħ/2m, −1, 1/ħ; free-kernel sup-norm residual ratio of ∂τφ = (ħ/2m)∂²φ below 1e-4',\n },\n {\n id: 'WD3',\n kind: 'numeric',\n test: TEST,\n tolerance: 'finite-difference residual of ∂τφ = (ħ/2m)∂²φ below 1e-3 at h = 0.025',\n },\n {\n id: 'WD3b',\n kind: 'numeric',\n test: TEST,\n tolerance: '∫φ² dx matches s²√(2π/σ(τ)) within 1e-9 and decreases in τ',\n },\n ],\n citations: [\n 'Feynman & Hibbs, Quantum Mechanics and Path Integrals - the free-particle kernel and its imaginary-time form',\n 'Nelson, J. Math. Phys. 5 (1964) 332 - Feynman integrals and the Schrödinger equation (the analytic continuation to the heat kernel)',\n ],\n reviewStatus: 'proposed',\n};\n\n/** The diffusion family's bridges, in design-note order. @internal */\nexport const DIFFUSION_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_WALK_DIFFUSION,\n BRIDGE_HEAT_DIFFUSION,\n BRIDGE_SCHRODINGER_DIFFUSION,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,uFAAuF;AACvF,MAAM,CAAC,MAAM,WAAW,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpD,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,sFAAsF;AACtF,MAAM,CAAC,MAAM,OAAO,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7C,kGAAkG;AAClG,MAAM,CAAC,MAAM,aAAa,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,uFAAuF;AACvF,MAAM,CAAC,MAAM,WAAW,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpD,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,sFAAsF;AACtF,MAAM,CAAC,MAAM,OAAO,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7C,kGAAkG;AAClG,MAAM,CAAC,MAAM,aAAa,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Dimension constants the diffusion family needs that the canonical entry\n * files declare MODULE-LOCAL and do not export.\n *\n * Redefined here with the same `dim(...)` arguments as their sources, the same\n * discipline as `oscillators/dimensions.ts`. `tests/atlas/diffusion.test.ts`\n * asserts the values against the canonical registry, so a future divergence\n * fails a test rather than silently forking the physics.\n *\n * @module atlas/diffusion/dimensions\n */\n\nimport { dim } from '../../dimensional/ast-builders.js';\nimport type { Dimension } from '../../dimensional/types.js';\n\n/** m²/s, `L^2 T^-1` — `src/canonical/entries/thermo-nuclear-cosmo.ts:44`. @internal */\nexport const DIFFUSIVITY: Dimension = dim(2, 0, -1);\n\n/** W·m⁻¹·K⁻¹, `L M T^-3 Θ^-1` — `src/canonical/entries/thermo-nuclear-cosmo.ts:42`. @internal */\nexport const THERMAL_CONDUCTIVITY: Dimension = dim(1, 1, -3, 0, -1);\n\n/** kg/m³, `L^-3 M` — `src/canonical/entries/thermo-nuclear-cosmo.ts:43`. @internal */\nexport const DENSITY: Dimension = dim(-3, 1);\n\n/** J·kg⁻¹·K⁻¹, `L^2 T^-2 Θ^-1` — `src/canonical/entries/thermo-nuclear-cosmo.ts:35`. @internal */\nexport const SPECIFIC_HEAT: Dimension = dim(2, 0, -2, 0, -1);\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module atlas/diffusion
|
|
7
7
|
*/
|
|
8
|
-
import type { AtlasFamily } from '../
|
|
8
|
+
import type { AtlasFamily } from '../family.js';
|
|
9
9
|
/**
|
|
10
10
|
* The diffusion family: eight models and eight bridges (three from S4.4, five
|
|
11
11
|
* from the Sprint 4 closure), no rejections.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAK9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,CAAC,GAAG,iBAAiB,EAAE,GAAG,yBAAyB,CAAC;IAC7D,UAAU,EAAE,EAAE;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,CAAC,GAAG,iBAAiB,EAAE,GAAG,yBAAyB,CAAC;IAC7D,UAAU,EAAE,EAAE;CACf,CAAC","sourcesContent":["/**\n * Diffusion-family assembly (Atlas Phase 4, S4.4).\n *\n * Assembly only: this module defines no physics and no numbers of its own.\n *\n * @module atlas/diffusion\n */\n\nimport type { AtlasFamily } from '../family.js';\nimport { DIFFUSION_BRIDGES } from './bridges.js';\nimport { DIFFUSION_CLOSURE_BRIDGES } from './bridges-closure.js';\nimport { DIFFUSION_FAMILY_NAME, DIFFUSION_MODELS } from './models.js';\n\n/**\n * The diffusion family: eight models and eight bridges (three from S4.4, five\n * from the Sprint 4 closure), no rejections.\n *\n * @internal\n */\nexport const DIFFUSION_FAMILY: AtlasFamily = {\n family: DIFFUSION_FAMILY_NAME,\n models: DIFFUSION_MODELS,\n bridges: [...DIFFUSION_BRIDGES, ...DIFFUSION_CLOSURE_BRIDGES],\n rejections: [],\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.4 — the four models of the diffusion family.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4.\n *\n * `canonicalRefs` lists an entry only where the canonical registry genuinely\n * holds one. It has `CE-thermal-diffusivity` (α = κ/(ρ c_p)) and nothing for\n * Fick's law, the heat equation as a PDE, the lattice random walk, or the free\n * Schrödinger equation — so those models carry `[]` rather than a nearby entry\n * that states something else.\n *\n * @module atlas/diffusion/models\n */\n\nimport type { DimensionalVariable } from '../../dimensional/buckingham.js';\nimport { ACTION, ENERGY, LENGTH, MASS, TIME } from '../../dimensional/types.js';\nimport { dim } from '../../dimensional/ast-builders.js';\nimport type { Dimension } from '../../dimensional/types.js';\nimport { DAMPING } from '../oscillators/dimensions.js';\nimport type { AtlasModel } from '../model.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\n\n/** The family name every diffusion record carries. @internal */\nexport const DIFFUSION_FAMILY_NAME = 'diffusion';\n\ninterface ModelSpec {\n readonly id: string;\n readonly stateSpace: string;\n readonly dynamics: string;\n readonly observables: readonly string[];\n readonly parameters: readonly DimensionalVariable[];\n readonly canonicalRefs: readonly string[];\n readonly symmetryGroup?: string;\n}\n\nfunction model(spec: ModelSpec): AtlasModel {\n return {\n id: spec.id,\n family: DIFFUSION_FAMILY_NAME,\n stateSpace: spec.stateSpace,\n dynamics: spec.dynamics,\n observables: spec.observables,\n parameters: spec.parameters,\n dimensionlessInputs: [],\n canonicalRefs: spec.canonicalRefs,\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(DIFFUSION_FAMILY_NAME, spec.parameters, []),\n },\n ...(spec.symmetryGroup === undefined ? {} : { symmetryGroup: spec.symmetryGroup }),\n };\n}\n\n/** Pa·s, `L^-1 M T^-1` — `src/canonical/entries/fluids-waves.ts:45` (`VISCOSITY`). @internal */\nexport const VISCOSITY: Dimension = dim(-1, 1, -1);\n\n/** The diffusion models, in design-note order; the last four were added to close Sprint 4. @internal */\nexport const DIFFUSION_MODELS: readonly AtlasModel[] = [\n model({\n id: 'model-random-walk',\n stateSpace: 'P(n, k): probability at lattice site n ∈ ℤ after k ∈ ℕ steps',\n dynamics: 'P(n, k+1) = ½ P(n−1, k) + ½ P(n+1, k), sites Δx apart, steps Δt apart',\n observables: ['P(n, k)', 'mean-square displacement ⟨x²⟩'],\n parameters: [\n { name: 'dx', dim: LENGTH },\n { name: 'dt', dim: TIME },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-fick',\n stateSpace: 'c(x, t), x ∈ ℝ',\n dynamics: '∂c/∂t = D ∂²c/∂x² (Fick’s second law)',\n observables: ['c(x, t)', 'total amount ∫c dx', 'variance of c'],\n parameters: [\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'ell', dim: LENGTH },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-heat',\n stateSpace: 'T(x, t), x ∈ ℝ',\n dynamics: 'ρ c_p ∂T/∂t = κ ∂²T/∂x²',\n observables: ['T(x, t)', 'heat content ∫ρ c_p T dx'],\n parameters: [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'ell', dim: LENGTH },\n ],\n canonicalRefs: ['CE-thermal-diffusivity'],\n }),\n model({\n id: 'model-schrodinger-free',\n stateSpace: 'ψ(x, t) ∈ ℂ, x ∈ ℝ',\n dynamics: 'i ħ ∂ψ/∂t = −(ħ²/2m) ∂²ψ/∂x²',\n observables: ['|ψ|²', 'position spread σx'],\n parameters: [\n { name: 'hbar', dim: ACTION },\n { name: 'm', dim: MASS },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-langevin',\n stateSpace: '(x, v)(t), a Brownian particle',\n dynamics: 'm v̇ = −γ v + ξ(t), ⟨ξ(t)ξ(t′)⟩ = 2γ k_B T δ(t − t′), ẋ = v',\n observables: ['⟨x²⟩(t)', '⟨v²⟩ = k_B T/m'],\n parameters: [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 'kT', dim: ENERGY },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-stokes-drag',\n stateSpace: 'a sphere of radius a moving at speed v through a viscous fluid',\n dynamics: 'F = −6π η a v (creeping flow, Re ≪ 1)',\n observables: ['drag force F', 'friction coefficient γ = 6πηa'],\n parameters: [\n { name: 'eta', dim: VISCOSITY },\n { name: 'a', dim: LENGTH },\n ],\n canonicalRefs: ['CE-stokes-drag'],\n }),\n model({\n id: 'model-telegraph',\n stateSpace: 'u(x, t), x ∈ ℝ',\n dynamics: 'τ u_tt + u_t = D u_xx (Cattaneo: diffusion with a relaxation time)',\n observables: ['u(x, t)', 'mode decay rates', 'signal speed √(D/τ)'],\n parameters: [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-laplace-1d',\n stateSpace: 'T(x) on [0, ℓ] with fixed end values',\n dynamics: 'T_xx = 0, so T is linear between T(0) and T(ℓ)',\n observables: ['T(x)', 'steady heat flux'],\n parameters: [{ name: 'ell', dim: LENGTH }],\n canonicalRefs: [],\n }),\n];\n\n/** Look up a diffusion model by id, throwing on an unknown one. @internal */\nexport function getDiffusionModel(id: string): AtlasModel {\n const found = DIFFUSION_MODELS.find((m) => m.id === id);\n if (found === undefined) throw new Error(`unknown diffusion model id: ${id}`);\n return found;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.4 — the numerics behind the diffusion family's witnesses.\n *\n * Each function evaluates one claim at a RESOLUTION, so the numeric witness\n * runner can evaluate it twice and record how the error shrank. None of them\n * asserts an order of convergence; the runner reports the ratio and a reviewer\n * reads it (Phase 4 design note §2.3).\n *\n * @module atlas/diffusion/numerics\n */\n\nimport { solveODESystem } from '@danielsimonjr/mathts-functions';\n\n/**\n * The Gaussian solution of `∂c/∂t = D ∂²c/∂x²` from a point source of unit\n * mass, evaluated at `x`: `(4πDt)^{-1/2} exp(−x²/(4Dt))`.\n *\n * @internal\n */\nexport function diffusionKernel(x: number, t: number, D: number): number {\n return Math.exp(-(x * x) / (4 * D * t)) / Math.sqrt(4 * Math.PI * D * t);\n}\n\n/** `ln C(n, k)` by summing logs — exact enough for the n ≤ 10⁵ used here. */\nfunction logBinomial(n: number, k: number): number {\n let s = 0;\n for (let i = 1; i <= k; i++) s += Math.log(n - k + i) - Math.log(i);\n return s;\n}\n\n/**\n * WD1 — the probability DENSITY at the origin of a symmetric lattice random\n * walk after `steps` steps, under the closure `D = Δx²/(2Δt)` at fixed `D`\n * and `t`.\n *\n * With `Δt = t/steps` and `Δx = √(2DΔt)`, the walker sits at the origin with\n * probability `C(steps, steps/2)/2^steps`. Only every other site is reachable\n * after an even number of steps, so the probability is spread over a cell of\n * width `2Δx`, and the density is that probability divided by `2Δx`.\n * As `steps → ∞` it converges to {@link diffusionKernel}`(0, t, D)`.\n *\n * @param steps - the resolution; rounded up to the next even integer.\n * @internal\n */\nexport function randomWalkCentralDensity(steps: number, D: number, t: number): number {\n const n = 2 * Math.ceil(steps / 2);\n const dt = t / n;\n const dx = Math.sqrt(2 * D * dt);\n const logP = logBinomial(n, n / 2) - n * Math.LN2;\n return Math.exp(logP) / (2 * dx);\n}\n\n/**\n * WD1b — the random walk's density at lattice site `site` after `steps` steps\n * (same closure and grid as {@link randomWalkCentralDensity}). Exactly zero\n * outside the light cone `|site| > steps` and on sites of the wrong parity.\n *\n * @internal\n */\nexport function randomWalkDensity(site: number, steps: number, D: number, t: number): number {\n const n = 2 * Math.ceil(steps / 2);\n if (Math.abs(site) > n || (site + n) % 2 !== 0) return 0;\n const dx = Math.sqrt((2 * D * t) / n);\n const k = (n + site) / 2;\n return Math.exp(logBinomial(n, k) - n * Math.LN2) / (2 * dx);\n}\n\n/** Parameters of the WD2 heat-conduction fixture. @internal */\nexport interface HeatFixture {\n /** Thermal conductivity κ. */\n readonly kappa: number;\n /** Density ρ. */\n readonly rho: number;\n /** Specific heat capacity c_p. */\n readonly cp: number;\n /** Initial Gaussian width parameter: `T(x, 0) = exp(−x²/(4 s0))`. */\n readonly s0: number;\n /** Final time. */\n readonly tEnd: number;\n /**\n * Half-width of the domain. The edges are held at ZERO, not at the exact\n * solution: the exact solution is the Fick side of the claim, and feeding it\n * to the heat solver would leak the dictionary under test into the side that\n * is supposed to be independent of it. The true edge value is below\n * `exp(−halfWidth²/(4(s0 + D tEnd)))`, far under the tolerance.\n */\n readonly halfWidth: number;\n}\n\n/**\n * The exact solution of the DIFFUSION equation with coefficient `D` from the\n * WD2 initial condition: `√(s0/(s0 + D t)) · exp(−x²/(4(s0 + D t)))`.\n *\n * @internal\n */\nexport function gaussianSpread(x: number, t: number, D: number, s0: number): number {\n const s = s0 + D * t;\n return Math.sqrt(s0 / s) * Math.exp(-(x * x) / (4 * s));\n}\n\n/**\n * WD2 — the temperature at `x = 0, t = tEnd` from an explicit FTCS solution of\n * the HEAT equation `ρ c_p ∂T/∂t = κ ∂²T/∂x²` on `cells` intervals.\n *\n * The heat equation is solved in its OWN variables: the step uses `κ`, `ρ` and\n * `c_p`, never a pre-combined `D`. Comparing the result against\n * {@link gaussianSpread} with `D = κ/(ρ c_p)` is what tests the dictionary.\n * The mesh ratio `κΔt/(ρ c_p Δx²)` is held at or below 1/4, inside the FTCS\n * stability limit of 1/2, so refinement halves `Δx` and quarters `Δt`.\n *\n * @param cells - the resolution: the number of spatial intervals (made even so\n * `x = 0` is a node).\n * @internal\n */\nexport function heatFtcsCentre(cells: number, f: HeatFixture): number {\n const nx = 2 * Math.ceil(cells / 2);\n const dx = (2 * f.halfWidth) / nx;\n const capacity = f.rho * f.cp;\n const dtMax = (0.25 * capacity * dx * dx) / f.kappa;\n const steps = Math.ceil(f.tEnd / dtMax);\n const dt = f.tEnd / steps;\n const r = (f.kappa * dt) / (capacity * dx * dx);\n\n let u = new Float64Array(nx + 1);\n let next = new Float64Array(nx + 1);\n // The initial condition exp(−x²/(4 s0)) involves no diffusivity at all.\n for (let i = 0; i <= nx; i++) {\n const x = -f.halfWidth + i * dx;\n u[i] = Math.exp(-(x * x) / (4 * f.s0));\n }\n u[0] = 0;\n u[nx] = 0;\n for (let n = 1; n <= steps; n++) {\n for (let i = 1; i < nx; i++) {\n next[i] = u[i]! + r * (u[i + 1]! - 2 * u[i]! + u[i - 1]!);\n }\n next[0] = 0;\n next[nx] = 0;\n [u, next] = [next, u];\n }\n return u[nx / 2]!;\n}\n\n/** Parameters of the WD3 Wick-rotation fixture. @internal */\nexport interface WickFixture {\n readonly hbar: number;\n readonly m: number;\n /** Initial width of the α = 0 Gaussian. */\n readonly s: number;\n /** The point `(x, τ)` the residual is evaluated at. */\n readonly x: number;\n readonly tau: number;\n /** Base finite-difference step; the resolution divides it. */\n readonly h0: number;\n}\n\n/**\n * WD3 — the finite-difference residual `|∂_τ φ − (ħ/2m) ∂²_x φ|` of the\n * Wick-rotated free kernel `φ(x, τ)` (`witnesses/quantum-support.ts`, W5) at\n * one point, with step `h = h0/resolution` in both variables.\n *\n * The residual measures whether the Wick rotation `t = −iτ` of the free\n * Schrödinger equation really lands on the DIFFUSION equation with\n * `D = ħ/(2m)`. Its exact value is zero; the finite-difference estimate\n * approaches zero as `h` shrinks, and the runner records how fast.\n *\n * @internal\n */\nexport function wickHeatResidual(\n resolution: number,\n f: WickFixture,\n kernel: (x: number, tau: number, s: number, hbar: number, m: number) => number,\n): number {\n const h = f.h0 / resolution;\n const phi = (x: number, tau: number): number => kernel(x, tau, f.s, f.hbar, f.m);\n const dTau = (phi(f.x, f.tau + h) - phi(f.x, f.tau - h)) / (2 * h);\n const dXX = (phi(f.x + h, f.tau) - 2 * phi(f.x, f.tau) + phi(f.x - h, f.tau)) / (h * h);\n return Math.abs(dTau - (f.hbar / (2 * f.m)) * dXX);\n}\n\n/**\n * WD3b — `∫ φ(x, τ)² dx` of the Wick-rotated free kernel, by the trapezoid\n * rule over `[−halfWidth, halfWidth]`. The Schrödinger norm `∫|ψ|² dx` is\n * conserved; this one DECAYS with τ, which is the unitarity the continuation\n * does not preserve.\n *\n * @internal\n */\nexport function wickKernelSquaredNorm(\n tau: number,\n f: WickFixture,\n kernel: (x: number, tau: number, s: number, hbar: number, m: number) => number,\n halfWidth = 20,\n cells = 4000,\n): number {\n const dx = (2 * halfWidth) / cells;\n let sum = 0;\n for (let i = 0; i <= cells; i++) {\n const v = kernel(-halfWidth + i * dx, tau, f.s, f.hbar, f.m);\n sum += (i === 0 || i === cells ? 0.5 : 1) * v * v;\n }\n return sum * dx;\n}\n\n// ── Sprint 4 closure: Langevin, telegraph, steady state ────────────────────\n\n/** Parameters of the Langevin (Ornstein–Uhlenbeck) fixture. @internal */\nexport interface LangevinFixture {\n /** Particle mass m. */\n readonly m: number;\n /** Friction coefficient γ (force per velocity). */\n readonly gamma: number;\n /** Thermal energy k_B T. */\n readonly kT: number;\n}\n\n/**\n * WD4 — `⟨x²⟩(t) / (2Dt)` for the Langevin model `m v̇ = −γv + ξ`,\n * `⟨ξ(t)ξ(t′)⟩ = 2γ k_B T δ(t − t′)`, started from x = 0 with a thermalized\n * velocity, at `t = resolution · τ_p` where `τ_p = m/γ`.\n *\n * The second moments are integrated from the LANGEVIN model's own moment\n * equations, `d⟨x²⟩/dt = 2⟨xv⟩`, `d⟨xv⟩/dt = ⟨v²⟩ − (γ/m)⟨xv⟩`, with\n * `⟨v²⟩ = k_B T/m` held at equipartition, by `solveODESystem` with `dt` on a fine fixed grid. The\n * diffusion coefficient `D = k_B T/γ` (Einstein) enters only the DENOMINATOR:\n * the ratio tends to 1 in the diffusive regime `t ≫ τ_p`.\n *\n * @internal\n */\nexport function langevinMsdRatio(resolution: number, f: LangevinFixture): number {\n const tauP = f.m / f.gamma;\n const tEnd = resolution * tauP;\n const v2 = f.kT / f.m;\n const steps = Math.max(2000, Math.ceil(200 * resolution));\n const h = tEnd / steps;\n const sol = solveODESystem(\n (_t, y) => [2 * y[1]!, v2 - y[1]! / tauP],\n [0, 0],\n [0, steps * h],\n { dt: h },\n );\n const end = sol.y[sol.y.length - 1];\n const x2 = end?.[0] ?? Number.NaN;\n const D = f.kT / f.gamma;\n return x2 / (2 * D * tEnd);\n}\n\n/**\n * The slow decay rate of a Fourier mode of the TELEGRAPH equation\n * `τ u_tt + u_t = D u_xx`, divided by the diffusion rate `D q²`:\n * `(1 − √(1 − 4ε)) / (2ε)` with `ε = τ D q²`. Tends to 1 as τ → 0; complex\n * (oscillatory) for `ε > 1/4`, where it returns NaN.\n *\n * @internal\n */\nexport function telegraphSlowRateRatio(tau: number, D: number, q: number): number {\n const eps = tau * D * q * q;\n if (eps === 0) return 1;\n const disc = 1 - 4 * eps;\n if (disc < 0) return Number.NaN;\n return (1 - Math.sqrt(disc)) / (2 * eps);\n}\n\n/**\n * The oscillation frequency of a telegraph mode in its underdamped range,\n * divided by the undamped wave frequency `c q` with `c² = D/τ`:\n * `√(1 − 1/(4ε))`, `ε = τ D q²`. Tends to 1 as ε grows.\n *\n * @internal\n */\nexport function telegraphWaveFrequencyRatio(tau: number, D: number, q: number): number {\n const eps = tau * D * q * q;\n if (eps <= 0.25) return Number.NaN;\n return Math.sqrt(1 - 1 / (4 * eps));\n}\n\n/** Parameters of the WD8 steady-state fixture. @internal */\nexport interface SteadyStateFixture {\n /** Thermal diffusivity α (= κ/(ρ c_p)). */\n readonly alpha: number;\n /** Rod length ℓ. */\n readonly ell: number;\n /** End temperatures. */\n readonly tLeft: number;\n readonly tRight: number;\n /** Base time; the resolution multiplies it. */\n readonly t0: number;\n readonly cells: number;\n}\n\n/**\n * WD8 — the largest deviation from the LINEAR steady profile (the Laplace\n * equation's solution) of an FTCS heat solution with fixed end temperatures,\n * started from a profile with a sin(πx/ℓ) bump, at `t = resolution · t0`.\n * Tends to zero as t → ∞: the steady state is the heat equation's attractor.\n * `reference` replaces the linear profile the deviation is measured against.\n *\n * @internal\n */\nexport function heatSteadyDeviation(\n resolution: number,\n f: SteadyStateFixture,\n reference?: (i: number, cells: number) => number,\n): number {\n const nx = f.cells;\n const dx = f.ell / nx;\n const dtMax = (0.25 * dx * dx) / f.alpha;\n const tEnd = resolution * f.t0;\n const steps = Math.ceil(tEnd / dtMax);\n const dt = tEnd / steps;\n const r = (f.alpha * dt) / (dx * dx);\n const linear = (i: number): number => f.tLeft + ((f.tRight - f.tLeft) * i) / nx;\n let u = new Float64Array(nx + 1);\n let next = new Float64Array(nx + 1);\n for (let i = 0; i <= nx; i++) u[i] = linear(i) + Math.sin((Math.PI * i) / nx);\n next[0] = f.tLeft;\n next[nx] = f.tRight;\n for (let n = 0; n < steps; n++) {\n for (let i = 1; i < nx; i++) next[i] = u[i]! + r * (u[i + 1]! - 2 * u[i]! + u[i - 1]!);\n [u, next] = [next, u];\n }\n // The deviation is measured against `reference` when given — the negative\n // control uses a WRONG steady state here — and against the linear Laplace\n // profile otherwise. The solver itself never sees the reference.\n const ref = reference ?? ((i: number) => linear(i));\n let worst = 0;\n for (let i = 0; i <= nx; i++) worst = Math.max(worst, Math.abs(u[i]! - ref(i, nx)));\n return worst;\n}\n"]}
|
|
@@ -25,6 +25,8 @@ export declare const IDENTITY_BOUND: BoundPair;
|
|
|
25
25
|
/**
|
|
26
26
|
* Compose two bounds, `outer` after `inner`.
|
|
27
27
|
*
|
|
28
|
+
* @throws RangeError when either pair has a `K` or `delta` that is not a
|
|
29
|
+
* finite number ≥ 0.
|
|
28
30
|
* @public
|
|
29
31
|
*/
|
|
30
32
|
export declare function composeBounds(outer: BoundPair, inner: BoundPair): BoundPair;
|
|
@@ -46,6 +48,10 @@ export interface ComposedPath {
|
|
|
46
48
|
* composite would be unbounded, and {@link MissingLipschitzError} is thrown
|
|
47
49
|
* rather than a number invented for it.
|
|
48
50
|
*
|
|
51
|
+
* @throws RangeError on an empty path: a path of nothing composes nothing,
|
|
52
|
+
* and returning the exact identity for it would state an error-free map
|
|
53
|
+
* where no map was given. A step that is not a bound throws through
|
|
54
|
+
* {@link composeBounds}.
|
|
49
55
|
* @public
|
|
50
56
|
*/
|
|
51
57
|
export declare function composeBoundPath(bounds: readonly (BoundPair | null)[]): ComposedPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-algebra.d.ts","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,SAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"error-algebra.d.ts","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,SAA8B,CAAC;AAkB5D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAI3E;AAED,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,YAAY,CAmBpF"}
|
|
@@ -18,12 +18,31 @@
|
|
|
18
18
|
import { MissingLipschitzError } from './types.js';
|
|
19
19
|
/** The two-sided identity of {@link composeBounds}: an exact, error-free map. @public */
|
|
20
20
|
export const IDENTITY_BOUND = { K: 1, delta: 0 };
|
|
21
|
+
/**
|
|
22
|
+
* A pair is a finite `K ≥ 0` and a finite `delta ≥ 0`: a Lipschitz constant
|
|
23
|
+
* and an offset. Anything else is not a bound, and composing it would
|
|
24
|
+
* propagate `NaN` or a negative error silently.
|
|
25
|
+
*
|
|
26
|
+
* @throws RangeError naming the offending field.
|
|
27
|
+
*/
|
|
28
|
+
function assertBoundPair(pair, which) {
|
|
29
|
+
if (!Number.isFinite(pair.K) || pair.K < 0) {
|
|
30
|
+
throw new RangeError(`composeBounds: ${which}.K must be a finite number ≥ 0, got ${pair.K}`);
|
|
31
|
+
}
|
|
32
|
+
if (!Number.isFinite(pair.delta) || pair.delta < 0) {
|
|
33
|
+
throw new RangeError(`composeBounds: ${which}.delta must be a finite number ≥ 0, got ${pair.delta}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
21
36
|
/**
|
|
22
37
|
* Compose two bounds, `outer` after `inner`.
|
|
23
38
|
*
|
|
39
|
+
* @throws RangeError when either pair has a `K` or `delta` that is not a
|
|
40
|
+
* finite number ≥ 0.
|
|
24
41
|
* @public
|
|
25
42
|
*/
|
|
26
43
|
export function composeBounds(outer, inner) {
|
|
44
|
+
assertBoundPair(outer, 'outer');
|
|
45
|
+
assertBoundPair(inner, 'inner');
|
|
27
46
|
return { K: outer.K * inner.K, delta: outer.K * inner.delta + outer.delta };
|
|
28
47
|
}
|
|
29
48
|
/**
|
|
@@ -35,9 +54,16 @@ export function composeBounds(outer, inner) {
|
|
|
35
54
|
* composite would be unbounded, and {@link MissingLipschitzError} is thrown
|
|
36
55
|
* rather than a number invented for it.
|
|
37
56
|
*
|
|
57
|
+
* @throws RangeError on an empty path: a path of nothing composes nothing,
|
|
58
|
+
* and returning the exact identity for it would state an error-free map
|
|
59
|
+
* where no map was given. A step that is not a bound throws through
|
|
60
|
+
* {@link composeBounds}.
|
|
38
61
|
* @public
|
|
39
62
|
*/
|
|
40
63
|
export function composeBoundPath(bounds) {
|
|
64
|
+
if (bounds.length === 0) {
|
|
65
|
+
throw new RangeError('composeBoundPath: an empty path composes nothing; there is no bound to state');
|
|
66
|
+
}
|
|
41
67
|
let acc = IDENTITY_BOUND;
|
|
42
68
|
for (let i = 0; i < bounds.length; i++) {
|
|
43
69
|
const step = bounds[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-algebra.js","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnD,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"error-algebra.js","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnD,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE5D;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAe,EAAE,KAAwB;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,UAAU,CAAC,kBAAkB,KAAK,uCAAuC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,kBAAkB,KAAK,2CAA2C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,KAAgB;IAC9D,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAC9E,CAAC;AAYD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqC;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,8EAA8E,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,GAAG,GAAc,cAAc,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAqB,CAC7B,gDAAgD,CAAC,OAAO,MAAM,CAAC,MAAM,IAAI;oBACvE,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC","sourcesContent":["/**\n * The Phase 0 error algebra: composition of Lipschitz-plus-offset bounds.\n *\n * With `∘` read as OUTER-AFTER-INNER, a bound `(K, δ)` states\n * `|f(x) − f̃(x̃)| ≤ K|x − x̃| + δ` in the bound's own norm. Composing an outer\n * map onto an inner one therefore gives\n *\n * (K_o, δ_o) ∘ (K_i, δ_i) = (K_o·K_i, K_o·δ_i + δ_o)\n *\n * which is associative and NOT commutative. `IDENTITY_BOUND` is the two-sided\n * identity, so `(bounds, ∘, IDENTITY_BOUND)` is a monoid.\n *\n * An exact equivalence contributes `IDENTITY_BOUND` **in the norms these\n * Phase 0 bridges state** — not in every norm (design note §9 YELLOW (a)).\n *\n * @module atlas/error-algebra\n */\n\nimport { MissingLipschitzError } from './types.js';\n\n/** The `K`/`delta` pair an `ApproximationBound` composes through. @public */\nexport interface BoundPair {\n readonly K: number;\n readonly delta: number;\n}\n\n/** The two-sided identity of {@link composeBounds}: an exact, error-free map. @public */\nexport const IDENTITY_BOUND: BoundPair = { K: 1, delta: 0 };\n\n/**\n * A pair is a finite `K ≥ 0` and a finite `delta ≥ 0`: a Lipschitz constant\n * and an offset. Anything else is not a bound, and composing it would\n * propagate `NaN` or a negative error silently.\n *\n * @throws RangeError naming the offending field.\n */\nfunction assertBoundPair(pair: BoundPair, which: 'outer' | 'inner'): void {\n if (!Number.isFinite(pair.K) || pair.K < 0) {\n throw new RangeError(`composeBounds: ${which}.K must be a finite number ≥ 0, got ${pair.K}`);\n }\n if (!Number.isFinite(pair.delta) || pair.delta < 0) {\n throw new RangeError(`composeBounds: ${which}.delta must be a finite number ≥ 0, got ${pair.delta}`);\n }\n}\n\n/**\n * Compose two bounds, `outer` after `inner`.\n *\n * @throws RangeError when either pair has a `K` or `delta` that is not a\n * finite number ≥ 0.\n * @public\n */\nexport function composeBounds(outer: BoundPair, inner: BoundPair): BoundPair {\n assertBoundPair(outer, 'outer');\n assertBoundPair(inner, 'inner');\n return { K: outer.K * inner.K, delta: outer.K * inner.delta + outer.delta };\n}\n\n/** Result of {@link composeBoundPath}. @public */\nexport interface ComposedPath {\n readonly bound: BoundPair;\n /**\n * True when the path ended on a step with no Lipschitz constant: `bound`\n * covers the prefix, and nothing is claimed past the final step.\n */\n readonly terminal: boolean;\n}\n\n/**\n * Fold a path of bounds in TRAVERSAL order — `[b1, b2]` means b1 then b2, so\n * the composite is `b2 ∘ b1`.\n *\n * A `null` entry is a step whose Lipschitz constant is unknown. It is tolerated\n * only as the LAST entry, where it terminates the claim; anywhere else the\n * composite would be unbounded, and {@link MissingLipschitzError} is thrown\n * rather than a number invented for it.\n *\n * @throws RangeError on an empty path: a path of nothing composes nothing,\n * and returning the exact identity for it would state an error-free map\n * where no map was given. A step that is not a bound throws through\n * {@link composeBounds}.\n * @public\n */\nexport function composeBoundPath(bounds: readonly (BoundPair | null)[]): ComposedPath {\n if (bounds.length === 0) {\n throw new RangeError('composeBoundPath: an empty path composes nothing; there is no bound to state');\n }\n let acc: BoundPair = IDENTITY_BOUND;\n for (let i = 0; i < bounds.length; i++) {\n const step = bounds[i];\n if (step === null) {\n if (i !== bounds.length - 1) {\n throw new MissingLipschitzError(\n `bound path has no Lipschitz constant at step ${i} of ${bounds.length}; ` +\n 'an unknown constant is tolerated only as the final step',\n );\n }\n return { bound: acc, terminal: true };\n }\n acc = composeBounds(step, acc);\n }\n return { bound: acc, terminal: false };\n}\n"]}
|