universal-physics-tensor 9.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 +19 -16
- package/data/atlas/atlas.json +55 -44
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +19 -18
- package/data/atlas/oscillators.json +15 -10
- package/data/atlas/waves.json +23 -18
- package/data/bridge-catalog.json +886 -1473
- package/data/bridge-catalog.schema.json +349 -132
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- 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.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 +15 -8
- 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.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +79 -45
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +143 -62
- 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.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 +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +171 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +48 -24
- 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 +15 -2
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +49 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +27 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +90 -10
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +5 -1
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +18 -3
- 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.js.map +1 -1
- 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.js.map +1 -1
- 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.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.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +4 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +2 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +2 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- 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 +29 -22
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- 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.js.map +1 -1
- 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.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +42 -7
- 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 +1 -3
- 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 -20
- 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.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 +42 -17
- 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 +15 -9
- 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 +13 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +53 -31
- 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 +14 -7
- 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 +40 -10
- 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 +82 -89
- 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 -18
- 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 +24 -26
- 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 +13 -9
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +1 -1
- package/dist/cli/commands/testplan.js.map +1 -1
- 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.js.map +1 -1
- 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.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.js +1 -1
- 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 +15 -9
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +14 -13
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- 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 -18
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +57 -47
- 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 +8 -9
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +25 -67
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- 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 +153 -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 +21 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +81 -21
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -8
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +24 -11
- 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.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +46 -13
- package/dist/composition/explain.js.map +1 -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 +6 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +4 -3
- 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 +11 -4
- 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 +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +34 -9
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- 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 +8 -8
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +8 -10
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +1 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +31 -7
- package/dist/core/json-schema.js.map +1 -1
- 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.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 +10 -6
- 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 +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +16 -4
- 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.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.map +1 -1
- package/dist/dimensional/constant-rows.js +9 -5
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- 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 +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- 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.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- 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 +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- 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.map +1 -1
- package/dist/dimensional/symbolic-constants.js +7 -2
- 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.map +1 -1
- package/dist/dimensional/unit-data.js +9 -5
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- 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 +50 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -20
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- 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.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- 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 +5 -2
- 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 +41 -42
- 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 +13 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +126 -248
- 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 +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/waves/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,QAAQ,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAY7C,SAAS,KAAK,CAAC,IAAe;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;IACrD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,iBAAiB;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,mBAAmB,EAAE,aAAa;QAClC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,EAAE;YACN,MAAM,EAAE,iBAAiB;YACzB,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;SACxF;KACF,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,KAAK,CAAC;QACJ,EAAE,EAAE,cAAc;QAClB,UAAU,EAAE,wDAAwD;QACpE,QAAQ,EAAE,2CAA2C;QACrD,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,yBAAyB,CAAC;QACpD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;YACzB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE;SACpC;QACD,aAAa,EAAE,CAAC,sBAAsB,CAAC;KACxC,CAAC;IACF,KAAK,CAAC;QACJ,EAAE,EAAE,iBAAiB;QACrB,UAAU,EAAE,+DAA+D;QAC3E,QAAQ,EAAE,wCAAwC;QAClD,WAAW,EAAE,CAAC,GAAG,EAAE,6BAA6B,CAAC;QACjD,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC1C,aAAa,EAAE,CAAC,eAAe,CAAC;KACjC,CAAC;IACF,KAAK,CAAC;QACJ,EAAE,EAAE,oBAAoB;QACxB,UAAU,EAAE,uDAAuD;QACnE,QAAQ,EAAE,yCAAyC;QACnD,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;QAC9B,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;YAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC9B;QACD,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,KAAK,CAAC;QACJ,EAAE,EAAE,qBAAqB;QACzB,UAAU,EAAE,4BAA4B;QACxC,QAAQ,EAAE,iBAAiB;QAC3B,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;YAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC9B;QACD,mBAAmB,EAAE,CAAC,OAAO,CAAC;QAC9B,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,KAAK,CAAC;QACJ,EAAE,EAAE,aAAa;QACjB,UAAU,EAAE,iCAAiC;QAC7C,QAAQ,EAAE,wCAAwC;QAClD,WAAW,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACtC,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;YAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC9B;QACD,mBAAmB,EAAE,CAAC,OAAO,CAAC;QAC9B,aAAa,EAAE,CAAC,gBAAgB,CAAC;KAClC,CAAC;IACF,KAAK,CAAC;QACJ,EAAE,EAAE,oBAAoB;QACxB,UAAU,EAAE,2BAA2B;QACvC,QAAQ,EAAE,sDAAsD;QAChE,WAAW,EAAE,CAAC,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;QACvD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;SACnC;QACD,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,KAAK,CAAC;QACJ,EAAE,EAAE,oBAAoB;QACxB,UAAU,EAAE,qEAAqE;QACjF,QAAQ,EAAE,mEAAmE;QAC7E,WAAW,EAAE,CAAC,GAAG,EAAE,qCAAqC,CAAC;QACzD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;YACzB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE;YACnC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,iBAAiB,EAAE;SACvC;QACD,aAAa,EAAE,EAAE;KAClB,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/waves/models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.5 — the models of the wave family.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4.\n *\n * The 1-D wave equation itself is NOT redefined here. It is `model-wave-1d` in\n * the oscillator family, where Phase 0 put it as the conclusion of the chain →\n * wave coarse-graining. The wave family's bridges point at that same record,\n * because a second definition of one model would be a second source of truth.\n * `tests/atlas/families.test.ts` pins that model ids are unique across the\n * whole atlas and that every bridge endpoint resolves in SOME registered family.\n *\n * @module atlas/waves/models\n */\n\nimport { dim } from '../../dimensional/ast-builders.js';\nimport type { DimensionalVariable } from '../../dimensional/buckingham.js';\nimport type { Dimension } from '../../dimensional/types.js';\nimport { FORCE, FREQUENCY, VELOCITY } from '../../dimensional/types.js';\nimport { DENSITY } from '../diffusion/dimensions.js';\nimport type { AtlasModel } from '../model.js';\nimport { deriveRegimeGroups } from '../regime.js';\n\n/** The family name every wave record carries. @internal */\nexport const WAVES_FAMILY_NAME = 'waves';\n\n/** kg/m, `L^-1 M` — `src/canonical/entries/dimensional-classics.ts` (`LIN_DENSITY`). @internal */\nexport const LINEAR_DENSITY: Dimension = dim(-1, 1);\n\n/** Pa, `L^-1 M T^-2` — `src/canonical/entries/fluids-waves.ts` (`PRESSURE`). @internal */\nexport const PRESSURE: Dimension = dim(-1, 1, -2);\n\n/** Flexural rigidity E·I, N·m², `L^3 M T^-2`. @internal */\nexport const FLEXURAL_RIGIDITY: Dimension = dim(3, 1, -2);\n\n/** rad/m, `L^-1`. @internal */\nexport const WAVENUMBER: Dimension = dim(-1);\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 dimensionlessInputs?: readonly string[];\n readonly canonicalRefs: readonly string[];\n}\n\nfunction model(spec: ModelSpec): AtlasModel {\n const dimensionless = spec.dimensionlessInputs ?? [];\n return {\n id: spec.id,\n family: WAVES_FAMILY_NAME,\n stateSpace: spec.stateSpace,\n dynamics: spec.dynamics,\n observables: spec.observables,\n parameters: spec.parameters,\n dimensionlessInputs: dimensionless,\n canonicalRefs: spec.canonicalRefs,\n regime: {\n family: WAVES_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(WAVES_FAMILY_NAME, spec.parameters, dimensionless),\n },\n };\n}\n\n/** The wave-family models, in design-note order. @internal */\nexport const WAVE_MODELS: readonly AtlasModel[] = [\n model({\n id: 'model-string',\n stateSpace: 'y(x, t), transverse displacement of a string on [0, ℓ]',\n dynamics: 'μ y_tt = F y_xx (small slopes, |y_x| ≪ 1)',\n observables: ['y', 'y_t', 'normal-mode frequencies'],\n parameters: [\n { name: 'F', dim: FORCE },\n { name: 'mu', dim: LINEAR_DENSITY },\n ],\n canonicalRefs: ['CE-string-wave-speed'],\n }),\n model({\n id: 'model-dalembert',\n stateSpace: 'u(x, t) = f(x − ct) + g(x + ct), f and g twice differentiable',\n dynamics: 'two profiles translating rigidly at ±c',\n observables: ['u', 'the two travelling profiles'],\n parameters: [{ name: 'c', dim: VELOCITY }],\n canonicalRefs: ['CE-wave-speed'],\n }),\n model({\n id: 'model-euler-linear',\n stateSpace: '(ρ′, v)(x, t), small perturbations of a fluid at rest',\n dynamics: '∂ρ′/∂t = −ρ₀ ∂v/∂x, ρ₀ ∂v/∂t = −∂p′/∂x',\n observables: ['ρ′', 'v', 'p′'],\n parameters: [\n { name: 'rho0', dim: DENSITY },\n { name: 'p0', dim: PRESSURE },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-adiabatic-eos',\n stateSpace: 'p(ρ), a barotropic closure',\n dynamics: 'p = p₀ (ρ/ρ₀)^γ',\n observables: ['p', 'dp/dρ'],\n parameters: [\n { name: 'rho0', dim: DENSITY },\n { name: 'p0', dim: PRESSURE },\n ],\n dimensionlessInputs: ['gamma'],\n canonicalRefs: [],\n }),\n model({\n id: 'model-sound',\n stateSpace: 'p′(x, t), the acoustic pressure',\n dynamics: 'p′_tt = c_s² p′_xx with c_s² = γ p₀/ρ₀',\n observables: ['p′', 'sound speed c_s'],\n parameters: [\n { name: 'rho0', dim: DENSITY },\n { name: 'p0', dim: PRESSURE },\n ],\n dimensionlessInputs: ['gamma'],\n canonicalRefs: ['CE-sound-speed'],\n }),\n model({\n id: 'model-klein-gordon',\n stateSpace: 'u(x, t), a field on ℝ × ℝ',\n dynamics: 'u_tt = c² u_xx − ω₀² u (dispersive: ω² = c²k² + ω₀²)',\n observables: ['u', 'dispersion ω(k)', 'phase velocity'],\n parameters: [\n { name: 'c', dim: VELOCITY },\n { name: 'omega0', dim: FREQUENCY },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-stiff-string',\n stateSpace: 'y(x, t), transverse displacement of a string with bending stiffness',\n dynamics: 'μ y_tt = F y_xx − EI y_xxxx (dispersive: ω² = (F/μ)k² + (EI/μ)k⁴)',\n observables: ['y', 'partial frequencies (inharmonicity)'],\n parameters: [\n { name: 'F', dim: FORCE },\n { name: 'mu', dim: LINEAR_DENSITY },\n { name: 'EI', dim: FLEXURAL_RIGIDITY },\n ],\n canonicalRefs: [],\n }),\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/waves/numerics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/waves/numerics.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.5 — the numerics behind the wave family's witnesses.\n *\n * Each function evaluates one claim at a RESOLUTION, so the numeric witness\n * runner can record how the error shrinks under refinement. No function\n * asserts an order; the runner reports the ratio (Phase 4 design note §2.3).\n *\n * @module atlas/waves/numerics\n */\n\n/** Parameters of the WS1 string fixture. @internal */\nexport interface StringFixture {\n /** Tension F. */\n readonly tension: number;\n /** Linear mass density μ. */\n readonly mu: number;\n /** Final time. */\n readonly tEnd: number;\n}\n\n/**\n * WS1 — the displacement at the midpoint `x = ½, t = tEnd` of a string of unit\n * length with fixed ends, from a leapfrog solution of `μ y_tt = F y_xx` written\n * in the string's OWN variables, starting from `y = sin(πx)` at rest.\n *\n * The comparison target, `sin(πx) cos(π c t)` with `c = √(F/μ)`, is the 1-D\n * wave equation's solution, so the pair tests the restriction's dictionary.\n * The Courant number `cΔt/Δx` is held at 1/2.\n *\n * @param cells - spatial intervals (made even so the midpoint is a node).\n * @internal\n */\nexport function stringLeapfrogMidpoint(cells: number, f: StringFixture): number {\n const nx = 2 * Math.ceil(cells / 2);\n const dx = 1 / nx;\n // Courant 1/2 from the string's own coefficients: Δt = ½ Δx √(μ/F).\n const dtMax = 0.5 * dx * Math.sqrt(f.mu / f.tension);\n const steps = Math.ceil(f.tEnd / dtMax);\n const dt = f.tEnd / steps;\n const r2 = (f.tension * dt * dt) / (f.mu * dx * dx);\n\n let prev = new Float64Array(nx + 1);\n let cur = new Float64Array(nx + 1);\n let next = new Float64Array(nx + 1);\n for (let i = 0; i <= nx; i++) prev[i] = Math.sin(Math.PI * i * dx);\n // First step from rest: y¹ = y⁰ + ½ r² δ²y⁰ (second-order start).\n for (let i = 1; i < nx; i++) {\n cur[i] = prev[i]! + 0.5 * r2 * (prev[i + 1]! - 2 * prev[i]! + prev[i - 1]!);\n }\n for (let n = 1; n < steps; n++) {\n for (let i = 1; i < nx; i++) {\n next[i] = 2 * cur[i]! - prev[i]! + r2 * (cur[i + 1]! - 2 * cur[i]! + cur[i - 1]!);\n }\n [prev, cur, next] = [cur, next, prev];\n }\n return cur[nx / 2]!;\n}\n\n/** Parameters of the WS2 d'Alembert fixture. @internal */\nexport interface DalembertFixture {\n readonly c: number;\n /** The point `(x, t)` the residual is evaluated at. */\n readonly x: number;\n readonly t: number;\n /** Base finite-difference step; the resolution divides it. */\n readonly h0: number;\n}\n\n/** The two profiles of WS2: deliberately different, so neither direction is trivial. */\nconst profileRight = (s: number): number => Math.exp(-s * s);\nconst profileLeft = (s: number): number => 0.5 * Math.exp(-((s - 1) * (s - 1)) / 0.5);\n\n/**\n * The d'Alembert form `u = f(x − ct) + g(x + ct)` with the WS2 profiles.\n *\n * @internal\n */\nexport function dalembert(x: number, t: number, c: number): number {\n return profileRight(x - c * t) + profileLeft(x + c * t);\n}\n\n/**\n * WS2 — the finite-difference residual `|u_tt − c² u_xx|` of the d'Alembert\n * form at one point, step `h = h0/resolution` in both variables. Exactly zero\n * in the limit; the runner records how fast the estimate gets there.\n *\n * @internal\n */\nexport function dalembertResidual(resolution: number, f: DalembertFixture): number {\n const h = f.h0 / resolution;\n const u = (x: number, t: number): number => dalembert(x, t, f.c);\n const utt = (u(f.x, f.t + h) - 2 * u(f.x, f.t) + u(f.x, f.t - h)) / (h * h);\n const uxx = (u(f.x + h, f.t) - 2 * u(f.x, f.t) + u(f.x - h, f.t)) / (h * h);\n return Math.abs(utt - f.c * f.c * uxx);\n}\n\n/** Parameters of the WS3 acoustic fixture. @internal */\nexport interface AcousticFixture {\n /** Ambient pressure p₀. */\n readonly p0: number;\n /** Ambient density ρ₀. */\n readonly rho0: number;\n /** Adiabatic index γ. */\n readonly gamma: number;\n readonly tEnd: number;\n}\n\n/**\n * The adiabatic equation of state `p(ρ) = p₀ (ρ/ρ₀)^γ` — the SECOND premise of\n * the sound-speed hyperedge — and its derivative at `ρ`.\n *\n * @internal\n */\nexport function adiabaticSlope(rho: number, f: AcousticFixture): number {\n return (f.gamma * f.p0 * Math.pow(rho / f.rho0, f.gamma - 1)) / f.rho0;\n}\n\n/**\n * WS3 — the pressure perturbation at `x = ¼, t = tEnd` from a staggered\n * leapfrog solution of the LINEARIZED EULER equations\n * `∂ρ′/∂t = −ρ₀ ∂v/∂x`, `ρ₀ ∂v/∂t = −∂p′/∂x`, closed by the ADIABATIC EOS\n * `p′ = (dp/dρ)|ρ₀ ρ′`, on a periodic unit domain from `p′ = sin 2πx` at rest.\n *\n * Both premises enter in their own form: the Euler pair steps `ρ′` and `v`,\n * and the only link from `ρ′` to `p′` is {@link adiabaticSlope}. The\n * comparison target `sin(2πx) cos(2π c t)` with `c² = γ p₀/ρ₀` is the SOUND\n * model's solution, so the pair tests the hyperedge's derivation.\n *\n * @param cells - grid intervals (made a multiple of 4 so `x = ¼` is a node).\n * @internal\n */\nexport function acousticLeapfrogQuarter(cells: number, f: AcousticFixture): number {\n const nx = 4 * Math.ceil(cells / 4);\n const dx = 1 / nx;\n const slope = adiabaticSlope(f.rho0, f);\n const cMax = Math.sqrt(slope);\n const dtMax = (0.5 * dx) / cMax;\n const steps = Math.ceil(f.tEnd / dtMax);\n const dt = f.tEnd / steps;\n\n // ρ′ at nodes i·Δx; v at half-nodes (i + ½)Δx, periodic.\n const rho = new Float64Array(nx);\n const v = new Float64Array(nx);\n for (let i = 0; i < nx; i++) rho[i] = Math.sin(2 * Math.PI * i * dx) / slope;\n const pressure = (i: number): number => slope * rho[(i + nx) % nx]!;\n // Half step from rest: v^{1/2} = −(Δt/2ρ₀) ∂p′/∂x.\n for (let i = 0; i < nx; i++) v[i] = (-(0.5 * dt) / f.rho0) * ((pressure(i + 1) - pressure(i)) / dx);\n for (let n = 0; n < steps; n++) {\n for (let i = 0; i < nx; i++) {\n const dv = (v[i]! - v[(i - 1 + nx) % nx]!) / dx;\n rho[i] = rho[i]! - dt * f.rho0 * dv;\n }\n if (n < steps - 1) {\n for (let i = 0; i < nx; i++) v[i] = v[i]! - (dt / f.rho0) * ((pressure(i + 1) - pressure(i)) / dx);\n }\n }\n return pressure(nx / 4);\n}\n\n/**\n * Speed of sound from the adiabatic (Laplace) and isothermal (Newton) closures.\n *\n * @internal\n */\nexport function soundSpeeds(p0: number, rho0: number, gamma: number): {\n readonly adiabatic: number;\n readonly isothermal: number;\n} {\n return { adiabatic: Math.sqrt((gamma * p0) / rho0), isothermal: Math.sqrt(p0 / rho0) };\n}\n\n/**\n * Relative phase-velocity error of the Klein–Gordon mode against the\n * dispersion-free wave: `√(1 + (ω₀/(c k))²) − 1`.\n *\n * This is the exact quantity the approximation bound of `ab-klein-gordon-wave`\n * is stated in; it is increasing in `ω₀/(c k)`, so its value at the edge of the\n * declared range is the supremum over the range.\n *\n * @internal\n */\nexport function kleinGordonPhaseError(omega0: number, c: number, k: number): number {\n const ratio = omega0 / (c * k);\n return Math.sqrt(1 + ratio * ratio) - 1;\n}\n\n/**\n * WS4 — the Klein–Gordon phase velocity `√(c² + ω₀²/k²)` at wavenumber\n * `k = k₀ · resolution`. It tends to the wave speed `c` as `k` grows: the\n * dispersion-free limit, approached from above.\n *\n * @internal\n */\nexport function kleinGordonPhaseVelocity(\n resolution: number,\n omega0: number,\n c: number,\n k0: number,\n): number {\n const k = k0 * resolution;\n return Math.sqrt(c * c + (omega0 * omega0) / (k * k));\n}\n\n// ── Sprint 4 closure: Klein–Gordon limits, weak damping ────────────────────\n\n/**\n * The relative error of the non-relativistic kinetic frequency: the\n * Klein–Gordon mode's `ω − ω₀ = ω₀(√(1 + x²) − 1)` against the free\n * Schrödinger particle's `ω₀ x²/2` under `ħ/m ↦ c²/ω₀`, with `x = c k/ω₀`.\n * Equals `|(√(1 + x²) − 1)/(x²/2) − 1|`, increasing in x.\n *\n * @internal\n */\nexport function kgNonrelativisticError(x: number): number {\n if (x === 0) return 0;\n return Math.abs((Math.sqrt(1 + x * x) - 1) / ((x * x) / 2) - 1);\n}\n\n/**\n * WS6 — `u(tEnd)` of the SPATIALLY UNIFORM Klein–Gordon field on a periodic\n * grid, stepped by leapfrog in the full PDE `u_tt = c² u_xx − ω₀² u` from\n * `u = 1` at rest, with `steps` time steps. The uniform mode's Laplacian\n * vanishes, so the field should follow the oscillator solution `cos(ω₀ t)`.\n *\n * @internal\n */\nexport function kgUniformModeValue(\n steps: number,\n c: number,\n omega0: number,\n tEnd: number,\n cells = 16,\n): number {\n const dt = tEnd / steps;\n const dx = 1 / cells;\n let prev = new Float64Array(cells).fill(1);\n let cur = new Float64Array(cells);\n let next = new Float64Array(cells);\n const lap = (a: Float64Array, i: number): number =>\n (a[(i + 1) % cells]! - 2 * a[i]! + a[(i - 1 + cells) % cells]!) / (dx * dx);\n for (let i = 0; i < cells; i++) {\n cur[i] = prev[i]! + 0.5 * dt * dt * (c * c * lap(prev, i) - omega0 * omega0 * prev[i]!);\n }\n for (let n = 1; n < steps; n++) {\n for (let i = 0; i < cells; i++) {\n next[i] = 2 * cur[i]! - prev[i]! + dt * dt * (c * c * lap(cur, i) - omega0 * omega0 * cur[i]!);\n }\n [prev, cur, next] = [cur, next, prev];\n }\n return cur[0]!;\n}\n\n/**\n * Relative phase-velocity error of a stiff string against the flexible string:\n * `√(1 + β) − 1` with `β = EI k²/F`. Increasing in β, so its value at the\n * domain edge is the supremum over the domain.\n *\n * @internal\n */\nexport function stiffStringPhaseError(F: number, EI: number, k: number): number {\n return Math.sqrt(1 + (EI * k * k) / F) - 1;\n}\n\n/**\n * WS7 — the stiff string's phase velocity `√(F/μ + (EI/μ)k²)` at wavenumber\n * `k = k₀/resolution`: it tends to the flexible-string speed `√(F/μ)` as the\n * wavelength grows.\n *\n * @internal\n */\nexport function stiffStringPhaseVelocity(\n resolution: number,\n F: number,\n mu: number,\n EI: number,\n k0: number,\n): number {\n const k = k0 / resolution;\n return Math.sqrt(F / mu + (EI / mu) * k * k);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-artifact.js","sourceRoot":"","sources":["../../src/atlas/witness-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqBtD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAQ,GAAiC,gBAAgB,EACzD,UAAsC;IAEtC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,uEAAuE;QACvE,wEAAwE;QACxE,qCAAqC;QACrC,IAAI,GAAqB,CAAC;QAC1B,IAAI,WAAoC,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,GAAG,GAAG,OAAO,CAAC;YACd,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAgC,EAChC,QAAgB;IAEhB,OAAO,IAAI,GAAG,CACZ,QAAQ,CAAC,OAAO;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;SAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"witness-artifact.js","sourceRoot":"","sources":["../../src/atlas/witness-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqBtD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAQ,GAAiC,gBAAgB,EACzD,UAAsC;IAEtC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,uEAAuE;QACvE,wEAAwE;QACxE,qCAAqC;QACrC,IAAI,GAAqB,CAAC;QAC1B,IAAI,WAAoC,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,GAAG,GAAG,OAAO,CAAC;YACd,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAgC,EAChC,QAAgB;IAEhB,OAAO,IAAI,GAAG,CACZ,QAAQ,CAAC,OAAO;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;SAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3B,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Atlas Phase 4, S4.3 — the witness-results ARTIFACT: its shape, the run that\n * produces it, and the one reader that turns it into passing witness ids.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §3.\n *\n * **The load-bearing invariant: no test writes the artifact.** The Lead runs\n * `scripts/emit-witness-results.mjs`, which calls {@link runWitnessRegistry}\n * and writes `data/atlas/witness-results.json`. `tests/atlas/witness-results.test.ts`\n * deep-equals the committed file against a fresh in-process run — the\n * `atlas-json` pattern. A test that wrote the artifact would certify whatever\n * the last run happened to produce, which is the opposite of a check.\n *\n * **The artifact is deterministic by construction.** `elapsedMs` is dropped:\n * wall-clock time differs on every run, and a pin that deep-equals it could\n * never pass twice. Everything kept is a function of the specs and the peer.\n *\n * @module atlas/witness-artifact\n * @internal\n */\n\nimport type { Convergence } from './witness-numeric.js';\nimport { runNumericWitness } from './witness-numeric.js';\nimport type { UnresolvedReason, WitnessRunResult, WitnessStatus } from './witness-result.js';\nimport type { SymbolicSimplifier } from './witness-symbolic.js';\nimport { runSymbolicWitness } from './witness-symbolic.js';\nimport type { RegisteredWitness } from './witness-specs.js';\nimport { WITNESS_REGISTRY } from './witness-specs.js';\n\n/** One row of the artifact. @internal */\nexport interface WitnessResultRecord {\n readonly recordId: string;\n readonly witnessId: string;\n readonly kind: 'symbolic' | 'numeric';\n readonly status: WitnessStatus;\n /** Present iff `status === 'unresolved'`. */\n readonly reason?: UnresolvedReason;\n readonly detail: string;\n /** Numeric witnesses only, and only when a number was produced. */\n readonly convergence?: Convergence;\n}\n\n/** The committed artifact, `data/atlas/witness-results.json`. @internal */\nexport interface WitnessResultsArtifact {\n readonly schemaVersion: '0';\n readonly results: readonly WitnessResultRecord[];\n}\n\n/**\n * Run every registered witness and assemble the artifact.\n *\n * @param registry - the witnesses to run; defaults to {@link WITNESS_REGISTRY}.\n * @param simplifier - forwarded to `runSymbolicWitness`. Omit it for the real\n * peer (resolved through `isSimplifierAvailable()`); pass `null` to run every\n * symbolic witness as peer-absent.\n * @returns the artifact; never throws, because neither runner does.\n * @internal\n */\nexport async function runWitnessRegistry(\n registry: readonly RegisteredWitness[] = WITNESS_REGISTRY,\n simplifier?: SymbolicSimplifier | null,\n): Promise<WitnessResultsArtifact> {\n const results: WitnessResultRecord[] = [];\n for (const entry of registry) {\n // Sequential on purpose: the order of the artifact is the order of the\n // registry, and a symbolic run's timeout budget should not compete with\n // its neighbours for the event loop.\n let run: WitnessRunResult;\n let convergence: Convergence | undefined;\n if (entry.kind === 'symbolic') {\n run = await runSymbolicWitness(entry.spec, simplifier);\n } else {\n const numeric = runNumericWitness(entry.spec);\n run = numeric;\n convergence = numeric.convergence;\n }\n results.push({\n recordId: entry.recordId,\n witnessId: run.witnessId,\n kind: run.kind,\n status: run.status,\n ...(run.reason === undefined ? {} : { reason: run.reason }),\n detail: run.detail,\n ...(convergence === undefined ? {} : { convergence }),\n });\n }\n return { schemaVersion: '0', results };\n}\n\n/**\n * The ids of witnesses of `recordId` that the artifact records as `'checked'`\n * — the value to pass as `deriveEvidence`'s `passingWitnessIds` for the\n * artifact-governed kinds.\n *\n * Only `'checked'` counts. An `'unresolved'` row (peer absent, timeout, an\n * irreducible difference) is not a pass, and admitting it would hand\n * `symbolically-checked` to a claim nobody examined.\n *\n * @internal\n */\nexport function artifactPassingWitnessIds(\n artifact: WitnessResultsArtifact,\n recordId: string,\n): ReadonlySet<string> {\n return new Set(\n artifact.results\n .filter((r) => r.recordId === recordId && r.status === 'checked')\n .map((r) => r.witnessId),\n );\n}\n"]}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* `witness-numeric.ts` checks agreement with a target, which is the wrong
|
|
6
6
|
* shape for a bound: a bound that holds is not equal to anything. Here each
|
|
7
7
|
* resolution returns the measured quantity and the bound at the SAME samples.
|
|
8
|
-
* At each sample the coarse-to-fine difference of the measurement
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* At each sample the coarse-to-fine difference of the measurement, plus the
|
|
9
|
+
* coarse-to-fine difference of the bound when the bound itself is computed
|
|
10
|
+
* numerically, is taken as the numerical uncertainty `u`, and the fine margin
|
|
11
|
+
* `bound − measured` is judged against it:
|
|
11
12
|
*
|
|
12
13
|
* - `'refuted'` iff at some sample the measurement exceeds the bound by more
|
|
13
14
|
* than `u` there;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-dominance.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-dominance.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"witness-dominance.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-dominance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,6GAA6G;AAC7G,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IACvH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,kGAAkG;AAClG,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kGAAkG;IAClG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,sGAAsG;AACtG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAmElF"}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* `witness-numeric.ts` checks agreement with a target, which is the wrong
|
|
6
6
|
* shape for a bound: a bound that holds is not equal to anything. Here each
|
|
7
7
|
* resolution returns the measured quantity and the bound at the SAME samples.
|
|
8
|
-
* At each sample the coarse-to-fine difference of the measurement
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* At each sample the coarse-to-fine difference of the measurement, plus the
|
|
9
|
+
* coarse-to-fine difference of the bound when the bound itself is computed
|
|
10
|
+
* numerically, is taken as the numerical uncertainty `u`, and the fine margin
|
|
11
|
+
* `bound − measured` is judged against it:
|
|
11
12
|
*
|
|
12
13
|
* - `'refuted'` iff at some sample the measurement exceeds the bound by more
|
|
13
14
|
* than `u` there;
|
|
@@ -38,7 +39,14 @@ export function runDominanceWitness(spec) {
|
|
|
38
39
|
}
|
|
39
40
|
const n = fine.measured.length;
|
|
40
41
|
const finite = (xs) => xs.every(Number.isFinite);
|
|
41
|
-
if (n === 0 ||
|
|
42
|
+
if (n === 0 ||
|
|
43
|
+
coarse.measured.length !== n ||
|
|
44
|
+
fine.bound.length !== n ||
|
|
45
|
+
coarse.bound.length !== n ||
|
|
46
|
+
!finite(fine.measured) ||
|
|
47
|
+
!finite(coarse.measured) ||
|
|
48
|
+
!finite(fine.bound) ||
|
|
49
|
+
!finite(coarse.bound)) {
|
|
42
50
|
return {
|
|
43
51
|
...base,
|
|
44
52
|
status: 'unresolved',
|
|
@@ -55,7 +63,9 @@ export function runDominanceWitness(spec) {
|
|
|
55
63
|
for (let i = 0; i < n; i++) {
|
|
56
64
|
const m = fine.measured[i];
|
|
57
65
|
const b = fine.bound[i];
|
|
58
|
-
|
|
66
|
+
// A closed-form bound is the same at both resolutions and adds nothing;
|
|
67
|
+
// a bound that moved between them is uncertain by that movement.
|
|
68
|
+
const u = Math.abs(m - coarse.measured[i]) + Math.abs(b - coarse.bound[i]);
|
|
59
69
|
margin = Math.min(margin, b - m);
|
|
60
70
|
uncertainty = Math.max(uncertainty, u);
|
|
61
71
|
if (b > 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-dominance.js","sourceRoot":"","sources":["../../src/atlas/witness-dominance.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"witness-dominance.js","sourceRoot":"","sources":["../../src/atlas/witness-dominance.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The dominance witness runner: a claimed UPPER BOUND checked against a\n * measured quantity at every sample, at two resolutions.\n *\n * `witness-numeric.ts` checks agreement with a target, which is the wrong\n * shape for a bound: a bound that holds is not equal to anything. Here each\n * resolution returns the measured quantity and the bound at the SAME samples.\n * At each sample the coarse-to-fine difference of the measurement, plus the\n * coarse-to-fine difference of the bound when the bound itself is computed\n * numerically, is taken as the numerical uncertainty `u`, and the fine margin\n * `bound − measured` is judged against it:\n *\n * - `'refuted'` iff at some sample the measurement exceeds the bound by more\n * than `u` there;\n * - `'checked'` iff at every sample the bound exceeds the measurement by more\n * than `u` there;\n * - `'unresolved'` (`'no-convergence'`) otherwise: the two resolutions do not\n * settle which side the bound is on at some sample.\n *\n * `u` is conservative: for a convergent scheme the fine error is smaller than\n * the coarse-to-fine difference.\n *\n * @module atlas/witness-dominance\n * @internal\n */\n\nimport type { WitnessRunResult } from './witness-result.js';\n\n/** The executable specification for checking a measured quantity against a claimed upper bound. @internal */\nexport interface DominanceWitnessSpec {\n readonly id: string;\n readonly kind: 'dominance';\n /** At a resolution: the measured quantity and the claimed bound, sample by sample. */\n readonly evaluate: (resolution: number) => { readonly measured: readonly number[]; readonly bound: readonly number[] };\n readonly coarseResolution: number;\n readonly fineResolution: number;\n}\n\n/** The numeric outcome of one dominance-witness run, including margin and tightness. @internal */\nexport interface DominanceRunResult extends WitnessRunResult {\n readonly kind: 'numeric';\n /** min(bound − measured) at the fine resolution; absent when evaluation failed. */\n readonly margin?: number;\n /** max |measured_fine − measured_coarse|. */\n readonly uncertainty?: number;\n /** max(measured / bound) at the fine resolution: how close the bound comes to the measurement. */\n readonly tightness?: number;\n}\n\n/** Run one dominance witness. Never throws: an evaluation that throws is `'unresolved'`. @internal */\nexport function runDominanceWitness(spec: DominanceWitnessSpec): DominanceRunResult {\n const started = Date.now();\n const base = { witnessId: spec.id, kind: 'numeric' as const };\n const elapsed = (): number => Date.now() - started;\n let coarse: ReturnType<DominanceWitnessSpec['evaluate']>;\n let fine: ReturnType<DominanceWitnessSpec['evaluate']>;\n try {\n coarse = spec.evaluate(spec.coarseResolution);\n fine = spec.evaluate(spec.fineResolution);\n } catch (err) {\n return { ...base, status: 'unresolved', reason: 'parse-error', detail: `Evaluation threw: ${String(err)}.`, elapsedMs: elapsed() };\n }\n const n = fine.measured.length;\n const finite = (xs: readonly number[]): boolean => xs.every(Number.isFinite);\n if (\n n === 0 ||\n coarse.measured.length !== n ||\n fine.bound.length !== n ||\n coarse.bound.length !== n ||\n !finite(fine.measured) ||\n !finite(coarse.measured) ||\n !finite(fine.bound) ||\n !finite(coarse.bound)\n ) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail: 'The two resolutions did not produce the same number of finite samples; nothing is concluded.',\n elapsedMs: elapsed(),\n };\n }\n let margin = Infinity;\n let uncertainty = 0;\n let tightness = 0;\n let holds = true;\n let exceeds = false;\n for (let i = 0; i < n; i++) {\n const m = fine.measured[i]!;\n const b = fine.bound[i]!;\n // A closed-form bound is the same at both resolutions and adds nothing;\n // a bound that moved between them is uncertain by that movement.\n const u = Math.abs(m - coarse.measured[i]!) + Math.abs(b - coarse.bound[i]!);\n margin = Math.min(margin, b - m);\n uncertainty = Math.max(uncertainty, u);\n if (b > 0) tightness = Math.max(tightness, m / b);\n if (!(b - m > u)) holds = false;\n if (m - b > u) exceeds = true;\n }\n const record = { margin, uncertainty, tightness };\n const numbers =\n `smallest margin bound − measured = ${margin}, largest numerical uncertainty ${uncertainty}, ` +\n `max measured/bound = ${tightness} over ${n} samples`;\n if (exceeds) {\n return { ...base, status: 'refuted', ...record, detail: `The measurement exceeds the bound by more than its uncertainty: ${numbers}.`, elapsedMs: elapsed() };\n }\n if (holds) {\n return { ...base, status: 'checked', ...record, detail: `The bound holds at every sample by more than its uncertainty: ${numbers}.`, elapsedMs: elapsed() };\n }\n return {\n ...base,\n status: 'unresolved',\n reason: 'no-convergence',\n ...record,\n detail: `The two resolutions do not settle which side of the bound the measurement is on: ${numbers}.`,\n elapsedMs: elapsed(),\n };\n}\n"]}
|
|
@@ -36,8 +36,10 @@ export interface Convergence {
|
|
|
36
36
|
readonly fine: number;
|
|
37
37
|
/**
|
|
38
38
|
* `coarse / fine`. Greater than 1 ⇒ refinement helped. `Infinity` when the
|
|
39
|
-
* fine error is exactly zero
|
|
40
|
-
* scheme and must not be reported as a
|
|
39
|
+
* fine error is exactly zero and the coarse one is not, which is a
|
|
40
|
+
* legitimate outcome for an exact scheme and must not be reported as a
|
|
41
|
+
* failure. `NaN` when BOTH errors are exactly zero: `0/0` has no value,
|
|
42
|
+
* and the run is `'unresolved'` with reason `'no-error-to-reduce'`.
|
|
41
43
|
*/
|
|
42
44
|
readonly ratio: number;
|
|
43
45
|
}
|
|
@@ -51,14 +53,16 @@ export interface NumericWitnessSpec {
|
|
|
51
53
|
* only requires that `fineResolution` is the more refined of the two.
|
|
52
54
|
*/
|
|
53
55
|
readonly evaluate: (resolution: number) => number;
|
|
54
|
-
/** The value the claim should reproduce. */
|
|
56
|
+
/** The value the claim should reproduce. A non-finite target is `'unresolved'`. */
|
|
55
57
|
readonly target: number;
|
|
56
58
|
readonly coarseResolution: number;
|
|
57
59
|
readonly fineResolution: number;
|
|
58
60
|
/**
|
|
59
61
|
* Absolute tolerance the FINE evaluation must meet. Required: a default
|
|
60
62
|
* tolerance is a claim about accuracy that the caller, not this module,
|
|
61
|
-
* is entitled to make.
|
|
63
|
+
* is entitled to make. A tolerance that is not a finite number ≥ 0 is
|
|
64
|
+
* `'unresolved'`: `fine > NaN` is false, so a NaN here would otherwise
|
|
65
|
+
* report `'checked'` for any fine value.
|
|
62
66
|
*/
|
|
63
67
|
readonly tolerance: number;
|
|
64
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-numeric.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"witness-numeric.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,mFAAmF;AACnF,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,uBAAuB,CAuGnF"}
|
|
@@ -40,6 +40,19 @@ export function runNumericWitness(spec) {
|
|
|
40
40
|
const started = Date.now();
|
|
41
41
|
const base = { witnessId: spec.id, kind: 'numeric' };
|
|
42
42
|
const elapsed = () => Date.now() - started;
|
|
43
|
+
// A NaN target or tolerance makes every comparison below false, which
|
|
44
|
+
// would read as `'checked'`. Nothing is evaluated against a claim that
|
|
45
|
+
// does not state a finite target and a finite, non-negative tolerance.
|
|
46
|
+
if (!Number.isFinite(spec.target) || !Number.isFinite(spec.tolerance) || spec.tolerance < 0) {
|
|
47
|
+
return {
|
|
48
|
+
...base,
|
|
49
|
+
status: 'unresolved',
|
|
50
|
+
reason: 'parse-error',
|
|
51
|
+
detail: `The claim does not state a finite target and a finite non-negative tolerance ` +
|
|
52
|
+
`(target ${spec.target}, tolerance ${spec.tolerance}). Nothing is concluded from it.`,
|
|
53
|
+
elapsedMs: elapsed(),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
43
56
|
let coarseValue;
|
|
44
57
|
let fineValue;
|
|
45
58
|
try {
|
|
@@ -68,9 +81,21 @@ export function runNumericWitness(spec) {
|
|
|
68
81
|
const coarse = Math.abs(coarseValue - spec.target);
|
|
69
82
|
const fine = Math.abs(fineValue - spec.target);
|
|
70
83
|
// fine === 0 ⇒ an exact scheme. Infinity is the honest ratio there, and the
|
|
71
|
-
// comparisons below treat it as "refinement helped", which it did.
|
|
72
|
-
|
|
84
|
+
// comparisons below treat it as "refinement helped", which it did. Both
|
|
85
|
+
// zero is 0/0: no ratio exists, and that case is reported on its own below.
|
|
86
|
+
const ratio = fine === 0 ? (coarse === 0 ? Number.NaN : Infinity) : coarse / fine;
|
|
73
87
|
const convergence = { coarse, fine, ratio };
|
|
88
|
+
if (coarse === 0 && fine === 0) {
|
|
89
|
+
return {
|
|
90
|
+
...base,
|
|
91
|
+
status: 'unresolved',
|
|
92
|
+
reason: 'no-error-to-reduce',
|
|
93
|
+
convergence,
|
|
94
|
+
detail: 'Both resolutions reproduce the target exactly, so there was no error for ' +
|
|
95
|
+
'refinement to reduce. Agreement is recorded; convergence is not shown.',
|
|
96
|
+
elapsedMs: elapsed(),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
74
99
|
if (fine > spec.tolerance) {
|
|
75
100
|
return {
|
|
76
101
|
...base,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-numeric.js","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA+CH;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,WAAmB,CAAC;IACxB,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,oDAAoD,MAAM,CAAC,GAAG,CAAC,GAAG;YAC1E,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,kDAAkD,WAAW,SAAS;gBACtE,GAAG,SAAS,kCAAkC;YAChD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACzE,MAAM,WAAW,GAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEzD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,WAAW;YACX,MAAM,EACJ,4CAA4C,IAAI,uBAAuB;gBACvE,aAAa,IAAI,CAAC,SAAS,GAAG;YAChC,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,gBAAgB;YACxB,WAAW;YACX,MAAM,EACJ,8CAA8C,KAAK,uBAAuB;gBAC1E,2EAA2E;gBAC3E,uDAAuD;YACzD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,SAAS;QACjB,WAAW;QACX,MAAM,EACJ,cAAc,IAAI,wBAAwB,IAAI,CAAC,SAAS,mBAAmB;YAC3E,oCAAoC,KAAK,GAAG;QAC9C,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"witness-numeric.js","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.2 — the numeric witness runner.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §2.3.\n *\n * A numeric witness evaluates a claim at TWO resolutions and reports whether\n * refinement moved the answer toward the target. Two resolutions are the\n * minimum that can say anything at all: one number agreeing with a target is\n * consistent with a scheme that is simply wrong by an amount the tolerance\n * happens to admit.\n *\n * ## The ratio is REPORTED, never compared against an expected order\n *\n * `convergence.ratio = |coarse − target| / |fine − target|` is the factor by\n * which refinement reduced the error. A second-order scheme halving its step\n * should give ≈ 4; a first-order one ≈ 2. **Nothing here asserts which.** The\n * witnesses in hand do not all record their scheme's order, and asserting an\n * order nobody wrote down would be fabrication of exactly the kind this sprint\n * forbids. The number goes into the results artifact; a reviewer reads it.\n *\n * What the runner DOES decide is the weaker, checkable thing: a ratio at or\n * below 1 means refinement did NOT improve the answer, and that earns\n * `'unresolved'` rather than `'checked'` — a fine value that happens to land\n * inside the tolerance while refinement is not converging is agreement by\n * accident, and the tolerance alone cannot tell the two apart.\n *\n * @module atlas/witness-numeric\n * @internal\n */\n\nimport type { WitnessRunResult } from './witness-result.js';\n\n/** The two-resolution error record a numeric witness carries. @internal */\nexport interface Convergence {\n /** |coarse − target| in the witness's own units. */\n readonly coarse: number;\n /** |fine − target|. */\n readonly fine: number;\n /**\n * `coarse / fine`. Greater than 1 ⇒ refinement helped. `Infinity` when the\n * fine error is exactly zero and the coarse one is not, which is a\n * legitimate outcome for an exact scheme and must not be reported as a\n * failure. `NaN` when BOTH errors are exactly zero: `0/0` has no value,\n * and the run is `'unresolved'` with reason `'no-error-to-reduce'`.\n */\n readonly ratio: number;\n}\n\n/** What a numeric witness asserts, and how to evaluate it. @internal */\nexport interface NumericWitnessSpec {\n /** The `Witness.id`. */\n readonly id: string;\n /**\n * Evaluate the claim at a resolution. The meaning of the argument is the\n * witness's own (a step count, a grid size, a truncation order); the runner\n * only requires that `fineResolution` is the more refined of the two.\n */\n readonly evaluate: (resolution: number) => number;\n /** The value the claim should reproduce. A non-finite target is `'unresolved'`. */\n readonly target: number;\n readonly coarseResolution: number;\n readonly fineResolution: number;\n /**\n * Absolute tolerance the FINE evaluation must meet. Required: a default\n * tolerance is a claim about accuracy that the caller, not this module,\n * is entitled to make. A tolerance that is not a finite number ≥ 0 is\n * `'unresolved'`: `fine > NaN` is false, so a NaN here would otherwise\n * report `'checked'` for any fine value.\n */\n readonly tolerance: number;\n}\n\n/** A result that also carries the two-resolution record, when one was produced. */\nexport interface NumericWitnessRunResult extends WitnessRunResult {\n readonly kind: 'numeric';\n /** Absent only when evaluation threw before any number existed. */\n readonly convergence?: Convergence;\n}\n\n/**\n * Run one numeric witness at two resolutions.\n *\n * @param spec - the claim and its two resolutions.\n * @returns a result carrying `convergence`; **never throws** — an evaluation\n * that throws is `'unresolved'` with `'parse-error'`, because a scheme that\n * blew up has not refuted the physics it was evaluating.\n * @internal\n */\nexport function runNumericWitness(spec: NumericWitnessSpec): NumericWitnessRunResult {\n const started = Date.now();\n const base = { witnessId: spec.id, kind: 'numeric' as const };\n const elapsed = (): number => Date.now() - started;\n\n // A NaN target or tolerance makes every comparison below false, which\n // would read as `'checked'`. Nothing is evaluated against a claim that\n // does not state a finite target and a finite, non-negative tolerance.\n if (!Number.isFinite(spec.target) || !Number.isFinite(spec.tolerance) || spec.tolerance < 0) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail:\n `The claim does not state a finite target and a finite non-negative tolerance ` +\n `(target ${spec.target}, tolerance ${spec.tolerance}). Nothing is concluded from it.`,\n elapsedMs: elapsed(),\n };\n }\n\n let coarseValue: number;\n let fineValue: number;\n try {\n coarseValue = spec.evaluate(spec.coarseResolution);\n fineValue = spec.evaluate(spec.fineResolution);\n } catch (err) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail: `Evaluation threw rather than producing a number: ${String(err)}.`,\n elapsedMs: elapsed(),\n };\n }\n\n if (!Number.isFinite(coarseValue) || !Number.isFinite(fineValue)) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail:\n `Evaluation produced a non-finite value (coarse ${coarseValue}, fine ` +\n `${fineValue}). Nothing is concluded from it.`,\n elapsedMs: elapsed(),\n };\n }\n\n const coarse = Math.abs(coarseValue - spec.target);\n const fine = Math.abs(fineValue - spec.target);\n // fine === 0 ⇒ an exact scheme. Infinity is the honest ratio there, and the\n // comparisons below treat it as \"refinement helped\", which it did. Both\n // zero is 0/0: no ratio exists, and that case is reported on its own below.\n const ratio = fine === 0 ? (coarse === 0 ? Number.NaN : Infinity) : coarse / fine;\n const convergence: Convergence = { coarse, fine, ratio };\n\n if (coarse === 0 && fine === 0) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'no-error-to-reduce',\n convergence,\n detail:\n 'Both resolutions reproduce the target exactly, so there was no error for ' +\n 'refinement to reduce. Agreement is recorded; convergence is not shown.',\n elapsedMs: elapsed(),\n };\n }\n\n if (fine > spec.tolerance) {\n return {\n ...base,\n status: 'refuted',\n convergence,\n detail:\n `The fine evaluation misses the target by ${fine}, outside the stated ` +\n `tolerance ${spec.tolerance}.`,\n elapsedMs: elapsed(),\n };\n }\n\n if (ratio <= 1) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'no-convergence',\n convergence,\n detail:\n `Refinement did not reduce the error (ratio ${ratio}). The fine value is ` +\n 'inside tolerance, but agreement that does not improve with refinement is ' +\n 'not evidence that the scheme converges to the target.',\n elapsedMs: elapsed(),\n };\n }\n\n return {\n ...base,\n status: 'checked',\n convergence,\n detail:\n `Fine error ${fine} is within tolerance ${spec.tolerance}, and refinement ` +\n `reduced the error by a factor of ${ratio}.`,\n elapsedMs: elapsed(),\n };\n}\n"]}
|
|
@@ -47,7 +47,13 @@ export type UnresolvedReason =
|
|
|
47
47
|
/** The check ran to completion and neither confirmed nor refuted. */
|
|
48
48
|
| 'not-simplified'
|
|
49
49
|
/** Refinement did not improve the answer, so nothing is concluded. */
|
|
50
|
-
| 'no-convergence'
|
|
50
|
+
| 'no-convergence'
|
|
51
|
+
/**
|
|
52
|
+
* Both resolutions hit the target exactly, so there was no error for
|
|
53
|
+
* refinement to reduce and convergence cannot be shown. Not a failure of
|
|
54
|
+
* the scheme and not a demonstration of it.
|
|
55
|
+
*/
|
|
56
|
+
| 'no-error-to-reduce';
|
|
51
57
|
/** What one witness run produced. @internal */
|
|
52
58
|
export interface WitnessRunResult {
|
|
53
59
|
/** The `Witness.id` this run corresponds to (`'W7b'`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-result.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB;AAC1B,kEAAkE;AAChE,aAAa;AACf,8DAA8D;GAC5D,SAAS;AACX,yDAAyD;GACvD,aAAa;AACf,qEAAqE;GACnE,gBAAgB;AAClB,sEAAsE;GACpE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"witness-result.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB;AAC1B,kEAAkE;AAChE,aAAa;AACf,8DAA8D;GAC5D,SAAS;AACX,yDAAyD;GACvD,aAAa;AACf,qEAAqE;GACnE,gBAAgB;AAClB,sEAAsE;GACpE,gBAAgB;AAClB;;;;GAIG;GACD,oBAAoB,CAAC;AAEzB,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,WAAW,CAAC,MAAM,CAAC,CAErB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-result.js","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"witness-result.js","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmDH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoC;IAEpC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACxF,CAAC","sourcesContent":["/**\n * Atlas Phase 4, S4.2 — the shape a witness run reports.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §2.2.\n *\n * **The load-bearing distinction in this file: a check that DID NOT RUN is not\n * a check that FAILED.** Peer absent, budget exhausted, and parser throw are\n * all `'unresolved'`, each carrying the reason it could not answer. Only a\n * check that COMPLETES and finds a disagreement is `'refuted'`.\n *\n * This repo has been bitten by exactly that conflation more than once — a\n * checker that discarded its own stderr manufactured a false negative\n * indistinguishable from a clean pass. Folding \"could not run\" into \"failed\"\n * is the same defect with the sign flipped: it turns a missing optional peer\n * into a refutation of the physics.\n *\n * Nothing here throws. A runner that threw would force every caller into a\n * `try`/`catch` whose `catch` arm cannot tell which of the three outcomes it\n * is looking at.\n *\n * @module atlas/witness-result\n * @internal\n */\n\n/**\n * What a witness run concluded.\n *\n * - `'checked'` — the check RAN and the claim held.\n * - `'refuted'` — the check RAN and the claim did not hold.\n * - `'unresolved'` — the check did not run, or ran and could not decide.\n *\n * @internal\n */\nexport type WitnessStatus = 'checked' | 'refuted' | 'unresolved';\n\n/**\n * Why a witness is `'unresolved'`. Required on that status so a reader never\n * has to guess which of four very different situations produced it.\n *\n * @internal\n */\nexport type UnresolvedReason =\n /** The optional peer that performs the check is not installed. */\n | 'peer-absent'\n /** The wall-clock budget elapsed before an answer arrived. */\n | 'timeout'\n /** The input could not be parsed or evaluated at all. */\n | 'parse-error'\n /** The check ran to completion and neither confirmed nor refuted. */\n | 'not-simplified'\n /** Refinement did not improve the answer, so nothing is concluded. */\n | 'no-convergence'\n /**\n * Both resolutions hit the target exactly, so there was no error for\n * refinement to reduce and convergence cannot be shown. Not a failure of\n * the scheme and not a demonstration of it.\n */\n | 'no-error-to-reduce';\n\n/** What one witness run produced. @internal */\nexport interface WitnessRunResult {\n /** The `Witness.id` this run corresponds to (`'W7b'`). */\n readonly witnessId: string;\n readonly kind: 'symbolic' | 'numeric';\n readonly status: WitnessStatus;\n /** REQUIRED when `status === 'unresolved'`, absent otherwise. */\n readonly reason?: UnresolvedReason;\n /** Human-readable note — never the discriminator, always the explanation. */\n readonly detail: string;\n /** Milliseconds the runner waited. */\n readonly elapsedMs: number;\n}\n\n/**\n * The ids of runs that CHECKED, as `deriveEvidence` wants its\n * `passingWitnessIds` argument.\n *\n * A convenience with one purpose: keep the mapping from run results to\n * \"passing\" in ONE place. Writing `results.filter(r => r.status !== 'refuted')`\n * at a call site would hand `symbolically-checked` to every unresolved run —\n * the free-tag defect `derive-evidence.ts` documents at length, reintroduced\n * one layer up.\n *\n * @internal\n */\nexport function passingWitnessIds(\n results: readonly WitnessRunResult[],\n): ReadonlySet<string> {\n return new Set(results.filter((r) => r.status === 'checked').map((r) => r.witnessId));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-specs.js","sourceRoot":"","sources":["../../src/atlas/witness-specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"witness-specs.js","sourceRoot":"","sources":["../../src/atlas/witness-specs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.3 — the EXECUTABLE witness registry.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §3.\n *\n * A `Witness` record names a check and the test file that runs it; it carries\n * nothing a runner can execute. This module holds the executable form of every\n * witness the results artifact covers, keyed by the record it supports. The\n * Lead-run `scripts/emit-witness-results.mjs` runs exactly this list, and\n * `tests/atlas/witness-results.test.ts` deep-equals the committed artifact\n * against a fresh run of it.\n *\n * ## The symbolic specs apply the bridge's DICTIONARY, they do not restate it\n *\n * Writing `lhs` and `rhs` as two hand-typed ASTs that happen to be equal would\n * check nothing but the typist. Each spec below starts from the PREMISE\n * model's expression and pushes it through the bridge's variable dictionary\n * with `substitute`; the CAS then has to show that the result equals the\n * CONCLUSION model's expression. What is checked is the dictionary.\n *\n * @module atlas/witness-specs\n * @internal\n */\n\nimport type { ExprNode } from '../dimensional/ast-types.js';\nimport { sym } from '../dimensional/ast-builders.js';\nimport { DIMENSIONLESS, ENERGY, LENGTH, MASS } from '../dimensional/types.js';\nimport { substitute } from '../composition/expr-subst.js';\nimport {\n CAPACITANCE,\n DAMPING,\n INDUCTANCE,\n RESISTANCE,\n SPRING_CONSTANT,\n} from './oscillators/dimensions.js';\nimport {\n heatSteadyDeviation,\n langevinMsdRatio,\n telegraphSlowRateRatio,\n telegraphWaveFrequencyRatio,\n diffusionKernel,\n gaussianSpread,\n heatFtcsCentre,\n randomWalkCentralDensity,\n wickHeatResidual,\n} from './diffusion/numerics.js';\nimport type {\n HeatFixture,\n LangevinFixture,\n SteadyStateFixture,\n WickFixture,\n} from './diffusion/numerics.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './diffusion/dimensions.js';\nimport { VISCOSITY } from './diffusion/models.js';\nimport { wickRotatedFreeKernel } from './witnesses/quantum-support.js';\nimport {\n kgNonrelativisticError,\n kgUniformModeValue,\n stiffStringPhaseVelocity,\n acousticLeapfrogQuarter,\n dalembertResidual,\n kleinGordonPhaseVelocity,\n stringLeapfrogMidpoint,\n} from './waves/numerics.js';\nimport type { AcousticFixture, DalembertFixture, StringFixture } from './waves/numerics.js';\nimport { pendulumPeriodErrorAt } from './oscillators/bridges-limits.js';\nimport { SPRING_LC_RELATIVE_PERIOD_TRANSPORT, W1TAU_FIXTURE } from './oscillators/norm-transport.js';\nimport { measureTransportedPeriodError } from './oscillators/norm-transport-witness.js';\nimport { dampedOffsetBoundAt } from './oscillators/bridges-limits.js';\nimport { dispersionErrorApproximation } from './oscillators/bridges-coarse.js';\nimport {\n measureChainDispersionError,\n measureMasslessOffset,\n measurePendulumPeriodRatio,\n W7_FIXTURE,\n W8B_FIXTURE,\n W9_FIXTURE,\n} from './oscillators/limit-witnesses.js';\nimport type { NumericWitnessSpec } from './witness-numeric.js';\nimport type { SymbolicWitnessSpec } from './witness-symbolic.js';\n\n/** A symbolic spec bound to the record it supports. @internal */\nexport interface RegisteredSymbolicWitness {\n /** The `AtlasBridge.id` (or other record id) the witness belongs to. */\n readonly recordId: string;\n readonly kind: 'symbolic';\n readonly spec: SymbolicWitnessSpec;\n}\n\n/**\n * The claim of its record a witness tests. `tests/atlas/witness-claims.test.ts`\n * checks each attribution against the spec.\n *\n * - `'bound'`: at `at(fineResolution)`, a point inside the record's regime, the\n * witness's error is the bound's own quantity in the bound's norm (it equals\n * `deltaAt` there: the bound is sharp), and its tolerance is no looser than\n * `delta`, so the bound failing there refutes the witness.\n * - `'bound-holds-at'`: for a bound that is not sharp. At that point, inside the\n * regime, the witness's error is measured in the bound's norm and its\n * tolerance IS `deltaAt` there, so the bound failing at that point refutes the\n * witness. That the spec measures the bound's norm is checked beside the spec.\n * - `'preserves'`: the witness tests `item`, one entry of the record's\n * `preserves`, at a point inside the regime.\n *\n * @internal\n */\nexport type WitnessClaim =\n | {\n readonly name: 'bound' | 'bound-holds-at';\n /** The point the spec evaluates at a resolution, in the names the bound's `deltaAt` reads. */\n readonly at: (resolution: number) => Readonly<Record<string, number>>;\n }\n | {\n readonly name: 'preserves';\n /** One entry of the record's `preserves`, verbatim. */\n readonly item: string;\n /** The point the spec evaluates at a resolution, in the names the regime's groups read. */\n readonly at: (resolution: number) => Readonly<Record<string, number>>;\n };\n\n/** A numeric spec bound to the record it supports. @internal */\nexport interface RegisteredNumericWitness {\n readonly recordId: string;\n readonly kind: 'numeric';\n readonly spec: NumericWitnessSpec;\n /** Absent: the witness is not attributed to any one claim of its record. */\n readonly claim?: WitnessClaim;\n}\n\n/** One entry of the registry. @internal */\nexport type RegisteredWitness = RegisteredSymbolicWitness | RegisteredNumericWitness;\n\nconst op = (o: '*' | '/' | '+' | '-' | '^', ...args: ExprNode[]): ExprNode => ({\n kind: 'op',\n op: o,\n args,\n});\nconst n = (value: number): ExprNode => sym(String(value), DIMENSIONLESS);\n\n/**\n * Push `expr` through a variable dictionary, REFUSING a mapping that matches no\n * leaf. A zero-occurrence substitution is a silent no-op that would leave the\n * premise variable in place and let the check pass or fail for the wrong\n * reason — the same guard `composeSymbolic` applies (Adam A-3).\n */\nfunction applyDictionary(expr: ExprNode, dictionary: Readonly<Record<string, ExprNode>>): ExprNode {\n let out = expr;\n for (const [name, replacement] of Object.entries(dictionary)) {\n const r = substitute(out, name, replacement);\n if (r.count === 0) {\n throw new Error(`witness-specs: dictionary entry '${name}' matches no leaf`);\n }\n out = r.expr;\n }\n return out;\n}\n\n// Spring and LC symbols, with the dimensions the oscillator models declare.\nconst m = sym('m', MASS);\nconst k = sym('k', SPRING_CONSTANT);\nconst b = sym('b', DAMPING);\nconst L = sym('L', INDUCTANCE);\nconst C = sym('C', CAPACITANCE);\nconst R = sym('R', RESISTANCE);\n\n/** The spring ↔ circuit dictionary of `ab-spring-lc` / `ab-damped-rlc`: m ↔ L, k ↔ 1/C, b ↔ R. */\nconst SPRING_TO_CIRCUIT: Readonly<Record<string, ExprNode>> = {\n m: L,\n k: op('/', n(1), C),\n b: R,\n};\n\n// ── Diffusion family (S4.4) ────────────────────────────────────────────────\n\n/** WD1 fixture: D and t, fixed while the walk is refined. @internal */\nexport const WD1_FIXTURE = { D: 0.5, t: 2 } as const;\n\n/**\n * WD2 fixture. κ, ρ and c_p are chosen so the heat equation's own variables\n * are all different from 1 while κ/(ρ c_p) = 1: a dictionary that dropped or\n * inverted a factor would move the answer.\n *\n * @internal\n */\nexport const WD2_FIXTURE: HeatFixture = {\n kappa: 2,\n rho: 4,\n cp: 0.5,\n s0: 0.05,\n tEnd: 0.2,\n halfWidth: 4,\n};\n\n/** WD3 fixture: an off-centre point, so no symmetry zeroes a derivative. @internal */\nexport const WD3_FIXTURE: WickFixture = { hbar: 1, m: 0.5, s: 0.7, x: 0.3, tau: 0.4, h0: 0.1 };\n\nconst kappa = sym('kappa', THERMAL_CONDUCTIVITY);\nconst rho = sym('rho', DENSITY);\nconst cp = sym('cp', SPECIFIC_HEAT);\nconst D = sym('D', DIFFUSIVITY);\nconst q = sym('q', { ...LENGTH, L: -1 });\n\n// ── Wave family (S4.5) ─────────────────────────────────────────────────────\n\n/** WS1 fixture: F and μ both ≠ 1 while c = √(F/μ) = 2. @internal */\nexport const WS1_FIXTURE: StringFixture = { tension: 2, mu: 0.5, tEnd: 0.3 };\n\n/** WS2 fixture: an off-centre point where both profiles contribute. @internal */\nexport const WS2_FIXTURE: DalembertFixture = { c: 1.5, x: 0.4, t: 0.3, h0: 0.1 };\n\n/** WS3 fixture: γ = 1.4 with nondimensional p₀ = 1, ρ₀ = 1.2. @internal */\nexport const WS3_FIXTURE: AcousticFixture = { p0: 1, rho0: 1.2, gamma: 1.4, tEnd: 0.37 };\n\n/** WS4 fixture: ω₀ = c = 1, base wavenumber k₀ = 10 (the domain edge ω₀/(ck) = 0.1). @internal */\nexport const WS4_FIXTURE = { omega0: 1, c: 1, k0: 10 } as const;\n\n// ── Sprint 4 closure ───────────────────────────────────────────────────────\n\n/** WD4 fixture: m, γ, k_BT all ≠ 1; τ_p = m/γ = 4. @internal */\nexport const WD4_FIXTURE: LangevinFixture = { m: 2, gamma: 0.5, kT: 1.5 };\n\n/** WD6 base: τ₀ = 0.1 with D = q = 1, so ε = τ at the resolution's τ = τ₀/resolution. @internal */\nexport const WD6_FIXTURE = { tau0: 0.1, D: 1, q: 1 } as const;\n\n/** WD7 base: ε = 25 · resolution with D = q = 1. @internal */\nexport const WD7_FIXTURE = { eps0: 25, D: 1, q: 1 } as const;\n\n/** WD8 fixture: a unit rod held at 2 and 5, base time 0.1 (Fourier number 0.1 per unit). @internal */\nexport const WD8_FIXTURE: SteadyStateFixture = {\n alpha: 1,\n ell: 1,\n tLeft: 2,\n tRight: 5,\n t0: 0.1,\n cells: 40,\n};\n\n/** WS5 base: x₀ = ck/ω₀ = 0.1, halved per resolution step. @internal */\nexport const WS5_FIXTURE = { x0: 0.1 } as const;\n\n/** WS6 fixture: c = 1, ω₀ = 2, t = 3; resolution = time steps. @internal */\nexport const WS6_FIXTURE = { c: 1, omega0: 2, tEnd: 3 } as const;\n\n/** WS7 fixture: F = 100, μ = 0.01 (so √(F/μ) = 100), EI = 0.01, k₀ = 10 (β = 0.01 at res 1). @internal */\nexport const WS7_FIXTURE = { F: 100, mu: 0.01, EI: 0.01, k0: 10 } as const;\n\nconst kT = sym('kT', ENERGY);\nconst gammaSym = sym('gamma', DAMPING);\nconst eta = sym('eta', VISCOSITY);\nconst a = sym('a', LENGTH);\nconst pi = sym('pi', DIMENSIONLESS);\n\n/**\n * Every witness the results artifact covers, in a fixed order (the artifact is\n * emitted in this order, so reordering is a reviewable diff, not churn).\n *\n * @internal\n */\nexport const WITNESS_REGISTRY: readonly RegisteredWitness[] = [\n {\n // ω0² of the spring, pushed through the dictionary, is ω0² of the LC circuit.\n recordId: 'ab-spring-lc',\n kind: 'symbolic',\n spec: {\n id: 'W1s',\n lhs: applyDictionary(op('/', k, m), { m: SPRING_TO_CIRCUIT['m']!, k: SPRING_TO_CIRCUIT['k']! }),\n rhs: op('/', n(1), op('*', L, C)),\n },\n },\n {\n // ζ² of the damped spring, b²/(4mk), pushed through the dictionary, is ζ² of\n // the RLC circuit, R²C/(4L). The squared form avoids a fractional exponent\n // on a dimensioned base, which the grammar forbids.\n recordId: 'ab-damped-rlc',\n kind: 'symbolic',\n spec: {\n id: 'W2s',\n lhs: applyDictionary(op('/', op('^', b, n(2)), op('*', n(4), m, k)), SPRING_TO_CIRCUIT),\n rhs: op('/', op('*', op('^', R, n(2)), C), op('*', n(4), L)),\n },\n },\n {\n // Norm transport, not a bridge claim: the pendulum's image under ab-spring-lc's\n // map, integrated in circuit time, has K times the pendulum's relative period\n // error against the circuit. Keyed by the transport id, so the bridge's own\n // evidence is not derived from it (ADR-transported-norm-composition.md §4).\n recordId: SPRING_LC_RELATIVE_PERIOD_TRANSPORT.id,\n kind: 'numeric',\n spec: {\n id: SPRING_LC_RELATIVE_PERIOD_TRANSPORT.witness.id,\n evaluate: (steps) => measureTransportedPeriodError(W1TAU_FIXTURE.theta0, steps),\n target: SPRING_LC_RELATIVE_PERIOD_TRANSPORT.KAt({}) * pendulumPeriodErrorAt({ theta0: W1TAU_FIXTURE.theta0 }),\n coarseResolution: 160,\n fineResolution: 640,\n tolerance: 1e-9,\n },\n },\n {\n // Coarse-graining: the walk's density at the origin converges to the\n // diffusion kernel as the closure D = Δx²/(2Δt) is held and Δt → 0.\n recordId: 'ab-walk-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD1',\n evaluate: (steps) => randomWalkCentralDensity(steps, WD1_FIXTURE.D, WD1_FIXTURE.t),\n target: diffusionKernel(0, WD1_FIXTURE.t, WD1_FIXTURE.D),\n coarseResolution: 100,\n fineResolution: 1000,\n tolerance: 1e-4,\n },\n },\n {\n // Exact equivalence: the HEAT equation, solved in κ, ρ, c_p, reproduces the\n // FICK solution with D = κ/(ρ c_p).\n recordId: 'ab-heat-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD2',\n evaluate: (cells) => heatFtcsCentre(cells, WD2_FIXTURE),\n target: gaussianSpread(\n 0,\n WD2_FIXTURE.tEnd,\n WD2_FIXTURE.kappa / (WD2_FIXTURE.rho * WD2_FIXTURE.cp),\n WD2_FIXTURE.s0,\n ),\n coarseResolution: 80,\n fineResolution: 160,\n tolerance: 5e-4,\n },\n },\n {\n // The heat side's Fourier-mode decay rate κq²/(ρ c_p), pushed through the\n // inverse dictionary κ ↦ D ρ c_p, is the Fick side's D q².\n recordId: 'ab-heat-diffusion',\n kind: 'symbolic',\n spec: {\n id: 'WD2s',\n lhs: applyDictionary(op('/', op('*', kappa, op('^', q, n(2))), op('*', rho, cp)), {\n kappa: op('*', D, rho, cp),\n }),\n rhs: op('*', D, op('^', q, n(2))),\n },\n },\n {\n // Analytic continuation: the Wick-rotated free kernel satisfies the\n // diffusion equation with D = ħ/(2m); the residual's target is zero.\n recordId: 'ab-schrodinger-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD3',\n evaluate: (resolution) => wickHeatResidual(resolution, WD3_FIXTURE, wickRotatedFreeKernel),\n target: 0,\n coarseResolution: 1,\n fineResolution: 4,\n tolerance: 1e-3,\n },\n },\n {\n // Restriction: the string, solved in F and μ, reproduces the 1-D wave\n // solution with c = √(F/μ).\n recordId: 'ab-string-wave',\n kind: 'numeric',\n spec: {\n id: 'WS1',\n evaluate: (cells) => stringLeapfrogMidpoint(cells, WS1_FIXTURE),\n target:\n Math.sin(Math.PI * 0.5) *\n Math.cos(Math.PI * Math.sqrt(WS1_FIXTURE.tension / WS1_FIXTURE.mu) * WS1_FIXTURE.tEnd),\n coarseResolution: 40,\n fineResolution: 80,\n tolerance: 2e-4,\n },\n },\n {\n // Derivation: d'Alembert's form satisfies the wave equation; residual → 0.\n recordId: 'ab-wave-dalembert',\n kind: 'numeric',\n spec: {\n id: 'WS2',\n evaluate: (resolution) => dalembertResidual(resolution, WS2_FIXTURE),\n target: 0,\n coarseResolution: 4,\n fineResolution: 8,\n tolerance: 2e-3,\n },\n },\n {\n // Hyperedge: linearized Euler closed by the adiabatic EOS reproduces the\n // sound model with c_s² = γp₀/ρ₀.\n recordId: 'ab-sound-speed',\n kind: 'numeric',\n spec: {\n id: 'WS3',\n evaluate: (cells) => acousticLeapfrogQuarter(cells, WS3_FIXTURE),\n target: Math.cos(\n 2 * Math.PI * Math.sqrt((WS3_FIXTURE.gamma * WS3_FIXTURE.p0) / WS3_FIXTURE.rho0) * WS3_FIXTURE.tEnd,\n ),\n coarseResolution: 64,\n fineResolution: 128,\n tolerance: 2e-4,\n },\n },\n {\n // Approximation: the Klein–Gordon phase velocity tends to c as k grows.\n recordId: 'ab-klein-gordon-wave',\n kind: 'numeric',\n spec: {\n id: 'WS4',\n evaluate: (resolution) =>\n kleinGordonPhaseVelocity(resolution, WS4_FIXTURE.omega0, WS4_FIXTURE.c, WS4_FIXTURE.k0),\n target: WS4_FIXTURE.c,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 2e-3,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({ omega0: WS4_FIXTURE.omega0, c: WS4_FIXTURE.c, k: WS4_FIXTURE.k0 * resolution }),\n },\n },\n // ── Sprint 4 closure ─────────────────────────────────────────────────────\n {\n // Coarse-graining: Langevin second moments at t = resolution · τ_p, over 2Dt.\n recordId: 'ab-langevin-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD4',\n evaluate: (resolution) => langevinMsdRatio(resolution, WD4_FIXTURE),\n target: 1,\n coarseResolution: 10,\n fineResolution: 100,\n tolerance: 0.02,\n },\n },\n {\n // Hyperedge: γ = 6πηa pushed into Einstein's D = k_BT/γ.\n recordId: 'ab-stokes-einstein',\n kind: 'symbolic',\n spec: {\n id: 'WD5s',\n lhs: applyDictionary(op('/', kT, gammaSym), { gamma: op('*', n(6), pi, eta, a) }),\n rhs: op('/', kT, op('*', n(6), pi, eta, a)),\n },\n },\n {\n // Singular limit τ → 0: the telegraph slow rate over Dq² tends to 1.\n recordId: 'ab-telegraph-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD6',\n evaluate: (resolution) =>\n telegraphSlowRateRatio(WD6_FIXTURE.tau0 / resolution, WD6_FIXTURE.D, WD6_FIXTURE.q),\n target: 1,\n coarseResolution: 2,\n fineResolution: 4,\n tolerance: 0.03,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({ tau: WD6_FIXTURE.tau0 / resolution, D: WD6_FIXTURE.D, q: WD6_FIXTURE.q }),\n },\n },\n {\n // ε → ∞: the telegraph oscillation frequency over c q tends to 1.\n recordId: 'ab-telegraph-wave',\n kind: 'numeric',\n spec: {\n id: 'WD7',\n evaluate: (resolution) =>\n telegraphWaveFrequencyRatio(WD7_FIXTURE.eps0 * resolution, WD7_FIXTURE.D, WD7_FIXTURE.q),\n target: 1,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 3e-3,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({\n tau: (WD7_FIXTURE.eps0 * resolution) / (WD7_FIXTURE.D * WD7_FIXTURE.q ** 2),\n D: WD7_FIXTURE.D,\n q: WD7_FIXTURE.q,\n }),\n },\n },\n {\n // Steady state: the heat solution's deviation from the Laplace profile → 0.\n recordId: 'ab-heat-laplace',\n kind: 'numeric',\n spec: {\n id: 'WD8',\n evaluate: (resolution) => heatSteadyDeviation(resolution, WD8_FIXTURE),\n target: 0,\n coarseResolution: 2,\n fineResolution: 4,\n tolerance: 0.025,\n },\n },\n {\n // Non-relativistic limit: kinetic-frequency error → 0 as x = ck/ω₀ halves.\n recordId: 'ab-kg-schrodinger',\n kind: 'numeric',\n spec: {\n id: 'WS5',\n evaluate: (resolution) => kgNonrelativisticError(WS5_FIXTURE.x0 / resolution),\n target: 0,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 1e-3,\n },\n // The spec reads only x = ck/ω₀; c = ω₀ = 1 is one point with that x.\n claim: { name: 'bound', at: (resolution) => ({ c: 1, omega0: 1, k: WS5_FIXTURE.x0 / resolution }) },\n },\n {\n // Uniform-mode restriction: the full KG PDE, uniform data, vs cos(ω₀t).\n recordId: 'ab-kg-oscillator',\n kind: 'numeric',\n spec: {\n id: 'WS6',\n evaluate: (steps) =>\n kgUniformModeValue(steps, WS6_FIXTURE.c, WS6_FIXTURE.omega0, WS6_FIXTURE.tEnd),\n target: Math.cos(WS6_FIXTURE.omega0 * WS6_FIXTURE.tEnd),\n coarseResolution: 50,\n fineResolution: 100,\n tolerance: 3e-4,\n },\n },\n {\n // Flexible-string limit: stiff-string phase velocity → √(F/μ) as k shrinks.\n recordId: 'ab-stiff-string',\n kind: 'numeric',\n spec: {\n id: 'WS7',\n evaluate: (resolution) =>\n stiffStringPhaseVelocity(resolution, WS7_FIXTURE.F, WS7_FIXTURE.mu, WS7_FIXTURE.EI, WS7_FIXTURE.k0),\n target: Math.sqrt(WS7_FIXTURE.F / WS7_FIXTURE.mu),\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 0.15,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({\n F: WS7_FIXTURE.F,\n mu: WS7_FIXTURE.mu,\n EI: WS7_FIXTURE.EI,\n k: WS7_FIXTURE.k0 / resolution,\n }),\n },\n },\n // ── The three oscillator bridges that had no in-process witness ──────────\n {\n // Regular limit θ0 → 0: T/T0 of the pendulum, integrated by RK4, tends to 1.\n // The tolerance is the upper end W7 records, 0.002507 at θ0 = 0.2; the\n // bound's deltaAt there is the AGM form, a second method.\n recordId: 'ab-pendulum-linear',\n kind: 'numeric',\n spec: {\n id: 'W7',\n evaluate: (resolution) => measurePendulumPeriodRatio(W7_FIXTURE.theta0 / resolution),\n target: 1,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 0.002507,\n },\n claim: { name: 'bound', at: (resolution) => ({ theta0: W7_FIXTURE.theta0 / resolution }) },\n },\n {\n // Singular limit m → 0: the full damped spring's offset from the reduced\n // model outside the layer, integrated by RK4; the tolerance is the bound's\n // own deltaAt at the fine mass, which is not sharp there.\n recordId: 'ab-damped-massless',\n kind: 'numeric',\n spec: {\n id: 'W8b',\n evaluate: (resolution) => measureMasslessOffset(W8B_FIXTURE.m / resolution),\n target: 0,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: dampedOffsetBoundAt({ m: W8B_FIXTURE.m / 2, b: W8B_FIXTURE.b, k: W8B_FIXTURE.k, x0: W8B_FIXTURE.x0, v0: W8B_FIXTURE.v0 }),\n },\n claim: {\n name: 'bound-holds-at',\n at: (resolution) => ({ m: W8B_FIXTURE.m / resolution, b: W8B_FIXTURE.b, k: W8B_FIXTURE.k, x0: W8B_FIXTURE.x0, v0: W8B_FIXTURE.v0 }),\n },\n },\n {\n // Coarse-graining, long wavelength: 1 − ω/(c q) measured on the integrated\n // ring, over (qa)²/24, tends to 1 within the 0.5% W9 records.\n recordId: 'ab-chain-wave',\n kind: 'numeric',\n spec: {\n id: 'W9',\n evaluate: (resolution) => {\n const masses = W9_FIXTURE.masses * resolution;\n return measureChainDispersionError(masses) / dispersionErrorApproximation((2 * Math.PI) / masses);\n },\n target: 1,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 0.005,\n },\n claim: {\n name: 'preserves',\n item: 'long-wavelength dispersion ω ≈ c q',\n at: (resolution) => ({ qa: (2 * Math.PI) / (W9_FIXTURE.masses * resolution) }),\n },\n },\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-symbolic.js","sourceRoot":"","sources":["../../src/atlas/witness-symbolic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAgCtF,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,mFAAmF;AACnF,SAAS,YAAY,CAAC,IAAc;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,iFAAiF;AACjF,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAyB,EACzB,UAAsC;IAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,4EAA4E;gBAC5E,0BAA0B;YAC5B,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IAElD,IAAI,OAAmE,CAAC;IACxE,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC3B,UAAU,CAAC,UAAU,CAAC;YACtB,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;gBACxC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,+CAA+C,MAAM,CAAC,GAAG,CAAC,qBAAqB;gBAC/E,aAAa;YACf,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,SAAS;YACjB,MAAM,EACJ,4BAA4B,MAAM,2CAA2C;gBAC7E,0DAA0D;YAC5D,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,oCAAoC;YAC5C,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,iDAAiD,KAAK,GAAG;YACjE,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,gBAAgB;QACxB,MAAM,EACJ,8EAA8E;YAC9E,+BAA+B;QACjC,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"witness-symbolic.js","sourceRoot":"","sources":["../../src/atlas/witness-symbolic.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.2 — the symbolic witness runner.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §2.\n *\n * A symbolic witness claims `lhs = rhs`. The runner forms the DIFFERENCE and\n * asks the optional CAS peer to simplify it: a difference that collapses to a\n * literal zero is `'checked'`; one that collapses to a non-zero literal is\n * `'refuted'`; anything else is `'unresolved'` with the reason it could not\n * decide.\n *\n * ## The simplifier is INJECTED, and no test touches the registry\n *\n * `src/numerical/formula-registry.ts` caches its selection in module scope and\n * exposes no reset hook, so a test that registered a stub would leak it into\n * every later test in the same worker. {@link runSymbolicWitness} therefore\n * takes the simplifier as a PARAMETER, defaulting to `simplifyExpr`. Tests\n * pass a stub for the present path and `null` for the absent path; the\n * registry is never written. One test exercises the real peer under the\n * existing skip-when-absent pattern.\n *\n * `null` means \"the peer is absent\" and is a first-class argument value, not a\n * forgotten one. `simplifyExpr` itself CANNOT tell absence from \"nothing to\n * simplify\" — both return `simplified: false` — so when the argument is\n * OMITTED the runner asks `isSimplifierAvailable()` first and maps absence to\n * `null`. Without that step the default path would report a missing peer as\n * `'not-simplified'`, the wrong reason on the one path most callers take.\n *\n * Deviation from the plan's wording, recorded in the design note §2.1: the\n * plan names `getFormulaParser()` as the default. A parser cannot decide\n * `lhs − rhs = 0`; the capability needed is SIMPLIFICATION, which lives in\n * `expr-simplify.ts` (a different peer, `@danielsimonjr/mathts-functions`).\n *\n * @module atlas/witness-symbolic\n * @internal\n */\n\nimport type { ExprNode } from '../dimensional/ast-types.js';\nimport { isSimplifierAvailable, simplifyExpr } from '../composition/expr-simplify.js';\nimport type { WitnessRunResult } from './witness-result.js';\n\n/**\n * The simplification capability this runner needs, as a function rather than\n * the whole module — so a stub is five lines and cannot accidentally depend on\n * anything else `expr-simplify.ts` exports.\n *\n * @internal\n */\nexport type SymbolicSimplifier = (\n expr: ExprNode,\n) => Promise<{ readonly expr: ExprNode; readonly simplified: boolean }>;\n\n/** What a symbolic witness asserts. @internal */\nexport interface SymbolicWitnessSpec {\n /** The `Witness.id` (`'W7b'`). */\n readonly id: string;\n readonly lhs: ExprNode;\n readonly rhs: ExprNode;\n /**\n * Wall-clock budget in milliseconds. Default 5000.\n *\n * ⚠ **This bounds how long the RUNNER WAITS, not how long the CAS works.**\n * The peer's `simplify` is synchronous inside its promise, so nothing here\n * can interrupt it; a timeout reports that no answer arrived in time and the\n * underlying work may still be running. Saying otherwise would be the\n * \"a running process is not a working one\" error in reverse.\n */\n readonly budgetMs?: number;\n}\n\nconst DEFAULT_BUDGET_MS = 5000;\n\n/** The numeric value of a literal leaf, or `null`. Same rule as `validator.ts`. */\nfunction literalValue(node: ExprNode): number | null {\n if (node.kind !== 'symbol') return null;\n if (node.name.trim() === '') return null;\n const v = Number(node.name);\n return Number.isFinite(v) ? v : null;\n}\n\n/** A sentinel the timeout race resolves with; never confusable with a result. */\nconst TIMED_OUT = Symbol('timed-out');\n\n/**\n * Run one symbolic witness.\n *\n * @param spec - the claim, as two ASTs whose difference should vanish.\n * @param simplifier - the CAS capability, or `null` when the optional peer is\n * absent. When omitted, resolves to `simplifyExpr` if the peer is available and\n * to `null` otherwise. Pass `null` EXPLICITLY to exercise the absent path.\n * @returns a result; **never throws**, because a thrown error forces callers\n * into a `catch` that cannot distinguish \"did not run\" from \"failed\".\n * @internal\n */\nexport async function runSymbolicWitness(\n spec: SymbolicWitnessSpec,\n simplifier?: SymbolicSimplifier | null,\n): Promise<WitnessRunResult> {\n const started = Date.now();\n if (simplifier === undefined) {\n simplifier = (await isSimplifierAvailable()) ? simplifyExpr : null;\n }\n const base = { witnessId: spec.id, kind: 'symbolic' as const };\n const elapsed = (): number => Date.now() - started;\n\n if (simplifier === null) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'peer-absent',\n detail:\n 'The optional CAS peer is absent, so the claim was never examined. This is ' +\n 'not evidence against it.',\n elapsedMs: elapsed(),\n };\n }\n\n const difference: ExprNode = { kind: 'op', op: '-', args: [spec.lhs, spec.rhs] };\n const budget = spec.budgetMs ?? DEFAULT_BUDGET_MS;\n\n let outcome: Awaited<ReturnType<SymbolicSimplifier>> | typeof TIMED_OUT;\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n outcome = await Promise.race([\n simplifier(difference),\n new Promise<typeof TIMED_OUT>((resolve) => {\n timer = setTimeout(() => resolve(TIMED_OUT), budget);\n }),\n ]);\n } catch (err) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail:\n `The simplifier threw rather than answering: ${String(err)}. A throw is not a ` +\n 'refutation.',\n elapsedMs: elapsed(),\n };\n } finally {\n if (timer !== undefined) clearTimeout(timer);\n }\n\n if (outcome === TIMED_OUT) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'timeout',\n detail:\n `No answer arrived within ${budget} ms. The budget bounds the WAIT, not the ` +\n 'CAS: the underlying simplification may still be running.',\n elapsedMs: elapsed(),\n };\n }\n\n const value = literalValue(outcome.expr);\n if (value === 0) {\n return {\n ...base,\n status: 'checked',\n detail: 'lhs − rhs simplified to literal 0.',\n elapsedMs: elapsed(),\n };\n }\n if (value !== null) {\n return {\n ...base,\n status: 'refuted',\n detail: `lhs − rhs simplified to the non-zero constant ${value}.`,\n elapsedMs: elapsed(),\n };\n }\n return {\n ...base,\n status: 'unresolved',\n reason: 'not-simplified',\n detail:\n 'The difference did not reduce to a constant. The claim may still hold; this ' +\n 'simplifier could not show it.',\n elapsedMs: elapsed(),\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quantum-support.js","sourceRoot":"","sources":["../../../src/atlas/witnesses/quantum-support.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iCAAiC,CAAC,CAAS,EAAE,KAAa,EAAE,IAAI,GAAG,CAAC;IAClF,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,CAAS;IAET,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,CAAS,EACT,GAAW,EACX,CAAS,EACT,IAAY,EACZ,CAAS;IAET,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"quantum-support.js","sourceRoot":"","sources":["../../../src/atlas/witnesses/quantum-support.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iCAAiC,CAAC,CAAS,EAAE,KAAa,EAAE,IAAI,GAAG,CAAC;IAClF,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,CAAS;IAET,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,CAAS,EACT,GAAW,EACX,CAAS,EACT,IAAY,EACZ,CAAS;IAET,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC","sourcesContent":["/**\n * Quantum-side support functions for Phase 3's `deformation-quantization` and\n * `analytic-continuation` bridges. Phase 0 records NO quantum bridge: these\n * are the two closed forms the later bridges will need, landed early so their\n * witnesses (W4, W5) exist before the records that cite them.\n *\n * @module atlas/witnesses/quantum-support\n */\n\n/**\n * Uncertainty product σx σp of the chirped Gaussian\n * `ψ(x) = N exp(−x²/4s² + i α x²)`.\n *\n * Writing `ψ ~ exp(−A x²)` with `A = 1/(4 s²) − i α` gives `σx = s` and\n * `σp = (ħ/2s) √(1 + 16 α² s⁴)`, so the product is\n * `(ħ/2) √(1 + 16 α² s⁴)`. The chirp raises the product above the\n * Heisenberg floor without changing the position spread; at `α = 0` it is\n * exactly `ħ/2`.\n *\n * @internal\n */\nexport function chirpedGaussianUncertaintyProduct(s: number, alpha: number, hbar = 1): number {\n return (hbar / 2) * Math.sqrt(1 + 16 * alpha * alpha * s * s * s * s);\n}\n\n/** Coefficients of the Wick-rotated Schrödinger equation. @internal */\nexport interface WickRotatedCoefficients {\n /** Coefficient of ∇²φ: ħ/(2m). */\n readonly diffusion: number;\n /** Sign of the potential (reaction) term: −1. */\n readonly reactionSign: number;\n /** Magnitude scale of the potential term: 1/ħ. */\n readonly reactionScale: number;\n}\n\n/**\n * Wick rotation `t = −i τ` turns `i ħ ∂_t ψ = −(ħ²/2m) ∇²ψ + V ψ` into the\n * reaction–diffusion equation `∂_τ φ = (ħ/2m) ∇²φ − V φ / ħ`.\n *\n * The returned coefficients are that equation's: diffusivity `ħ/(2m)`, and a\n * reaction term of sign `−1` and scale `1/ħ`.\n *\n * @internal\n */\nexport function wickRotatedSchrodingerCoefficients(\n hbar: number,\n m: number,\n): WickRotatedCoefficients {\n return { diffusion: hbar / (2 * m), reactionSign: -1, reactionScale: 1 / hbar };\n}\n\n/**\n * Free-particle heat kernel of the Wick-rotated equation with `V = 0`:\n * `φ(x, τ) = (s²/σ(τ))^{1/2} exp(−x²/(4 σ(τ)))` with\n * `σ(τ) = s² + ħ τ / (2 m)`. Normalised so `φ(x, 0)` is the `α = 0` Gaussian\n * of {@link chirpedGaussianUncertaintyProduct} up to a constant.\n *\n * @internal\n */\nexport function wickRotatedFreeKernel(\n x: number,\n tau: number,\n s: number,\n hbar: number,\n m: number,\n): number {\n const sigma = s * s + (hbar * tau) / (2 * m);\n return Math.sqrt((s * s) / sigma) * Math.exp(-(x * x) / (4 * sigma));\n}\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module bridges/caller-table
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
8
|
+
import { type ConfrontationOutcome } from './observations/types.js';
|
|
9
9
|
/** One row of a caller-supplied measured table. @public */
|
|
10
10
|
export interface MeasuredCouplingRow {
|
|
11
11
|
readonly scale: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caller-table.d.ts","sourceRoot":"","sources":["../../src/bridges/caller-table.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"caller-table.d.ts","sourceRoot":"","sources":["../../src/bridges/caller-table.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAErF,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EACf;QACE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;QACzD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC,GACD,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAC3B,IAAI,CAAC;CACV;AAED,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,cAAc,CAAC;AA4CpE;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA6CnG"}
|