universal-physics-tensor 9.0.0 → 11.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 +21 -17
- package/bin/upt.mjs +13 -1
- package/data/atlas/atlas.json +79 -68
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +24 -23
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +36 -31
- package/data/atlas/witness-results.json +11 -11
- package/data/bridge-catalog.json +1192 -1636
- package/data/bridge-catalog.schema.json +390 -135
- 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 +35 -18
- 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 +12 -3
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
- 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 +2 -2
- 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 +3 -3
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +16 -8
- 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.d.ts +26 -3
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +52 -5
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +12 -24
- 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 +0 -4
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +8 -17
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +27 -42
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.d.ts +6 -14
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
- package/dist/atlas/diffusion/dimensions.js +8 -16
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/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.d.ts +3 -3
- package/dist/atlas/diffusion/models.d.ts.map +1 -1
- package/dist/atlas/diffusion/models.js +5 -10
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.d.ts +16 -4
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
- package/dist/atlas/diffusion/numerics.js +38 -24
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/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 +107 -4
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js +212 -66
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +7 -12
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +6 -10
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +23 -36
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.d.ts +9 -21
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
- package/dist/atlas/oscillators/dimensions.js +9 -21
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/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.d.ts +2 -2
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js +17 -15
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +2 -6
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/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.d.ts +29 -6
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js +60 -40
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js +3 -4
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.d.ts +68 -7
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/position-translation.js +123 -12
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.d.ts +0 -2
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
- package/dist/atlas/oscillators/rejections.js +0 -7
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +25 -24
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +25 -24
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +107 -70
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +184 -101
- 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.d.ts +0 -19
- package/dist/atlas/poster/statements.d.ts.map +1 -1
- package/dist/atlas/poster/statements.js +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +1 -1
- package/dist/atlas/proof-target.js +1 -1
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/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.d.ts +1 -1
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/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/text-overlap.d.ts +23 -0
- package/dist/atlas/text-overlap.d.ts.map +1 -0
- package/dist/atlas/text-overlap.js +41 -0
- package/dist/atlas/text-overlap.js.map +1 -0
- package/dist/atlas/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 +2 -9
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +32 -52
- 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.d.ts +5 -6
- package/dist/atlas/waves/models.d.ts.map +1 -1
- package/dist/atlas/waves/models.js +7 -13
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.d.ts.map +1 -1
- package/dist/atlas/waves/numerics.js +10 -3
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-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 +38 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +80 -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.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +19 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.d.ts +75 -3
- package/dist/atlas/witness-symbolic.d.ts.map +1 -1
- package/dist/atlas/witness-symbolic.js +116 -10
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/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 +181 -13
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +74 -26
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js +11 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/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 +46 -3
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +40 -4
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +7 -5
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +76 -28
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +101 -12
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +40 -4
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +128 -19
- 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.d.ts.map +1 -1
- package/dist/bridges/notices.js +5 -5
- 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 +6 -7
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +20 -50
- 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 +27 -13
- 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/bridges/validity.d.ts +33 -0
- package/dist/bridges/validity.d.ts.map +1 -0
- package/dist/bridges/validity.js +67 -0
- package/dist/bridges/validity.js.map +1 -0
- package/dist/canonical/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 +1 -3
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +8 -9
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +5 -6
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +6 -12
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +3 -7
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +4 -6
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +38 -39
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -6
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/fixed-points.d.ts +94 -0
- package/dist/canonical/fixed-points.d.ts.map +1 -0
- package/dist/canonical/fixed-points.js +81 -0
- package/dist/canonical/fixed-points.js.map +1 -0
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +47 -64
- 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 +22 -23
- 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 +42 -21
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +64 -23
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.d.ts +3 -3
- package/dist/cases/brownian-sphere.d.ts.map +1 -1
- package/dist/cases/brownian-sphere.js +10 -9
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.d.ts.map +1 -1
- package/dist/cases/damped-resonator.js +8 -11
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.d.ts +1 -1
- package/dist/cases/kepler-rv.d.ts.map +1 -1
- package/dist/cases/kepler-rv.js +3 -2
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.d.ts +8 -3
- package/dist/cases/lumped-cooling.d.ts.map +1 -1
- package/dist/cases/lumped-cooling.js +22 -24
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.d.ts +7 -9
- package/dist/cases/quadrature.d.ts.map +1 -1
- package/dist/cases/quadrature.js +28 -32
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +7 -7
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.d.ts +0 -4
- package/dist/cases/skin-depth.d.ts.map +1 -1
- package/dist/cases/skin-depth.js +3 -7
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +30 -3
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +47 -9
- 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 +33 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.d.ts +8 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +2 -11
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +50 -35
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-route.js +6 -2
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -14
- 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 +9 -8
- 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 +20 -20
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.d.ts.map +1 -1
- package/dist/cli/commands/axes.js +20 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/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 -20
- 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 +60 -35
- 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 +20 -10
- 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 +14 -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 +108 -58
- 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 +16 -8
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -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 +155 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +58 -20
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.d.ts +10 -0
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +29 -7
- 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 +105 -38
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -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 +23 -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 +9 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.js +31 -36
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts.map +1 -1
- package/dist/cli/commands/testplan.js +5 -3
- 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 +28 -3
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +42 -22
- 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.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +25 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/numeric-flag.d.ts +12 -0
- package/dist/cli/numeric-flag.d.ts.map +1 -0
- package/dist/cli/numeric-flag.js +44 -0
- package/dist/cli/numeric-flag.js.map +1 -0
- package/dist/cli/output.d.ts +23 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +15 -0
- 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 +17 -11
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +7 -6
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts +1 -5
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +40 -20
- 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 +19 -7
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.d.ts +0 -2
- package/dist/cli/statuses.d.ts.map +1 -1
- package/dist/cli/statuses.js +0 -7
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/stored-results.d.ts +7 -0
- package/dist/cli/stored-results.d.ts.map +1 -0
- package/dist/cli/stored-results.js +23 -0
- package/dist/cli/stored-results.js.map +1 -0
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +7 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +49 -14
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +42 -17
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/algebraic-equivalence.d.ts +43 -0
- package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
- package/dist/composition/algebraic-equivalence.js +115 -0
- package/dist/composition/algebraic-equivalence.js.map +1 -0
- package/dist/composition/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 +6 -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.d.ts +47 -20
- package/dist/composition/axis-audit.d.ts.map +1 -1
- package/dist/composition/axis-audit.js +82 -9
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +14 -15
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +148 -91
- 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 +40 -0
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +134 -26
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +9 -10
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +33 -102
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js +2 -2
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +8 -25
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +10 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +11 -2
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.d.ts +6 -3
- package/dist/composition/chain-match.d.ts.map +1 -1
- package/dist/composition/chain-match.js +4 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.d.ts.map +1 -1
- package/dist/composition/chain-result.js +2 -14
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js +3 -2
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +166 -41
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts.map +1 -1
- package/dist/composition/composition-recovery.js +4 -7
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.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 +77 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +194 -80
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +40 -10
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +47 -12
- 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 +18 -3
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +35 -11
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +60 -39
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +5 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +38 -18
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -11
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +16 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +24 -59
- 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 +28 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +96 -2
- 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-structure.d.ts +98 -0
- package/dist/composition/graph-structure.d.ts.map +1 -0
- package/dist/composition/graph-structure.js +167 -0
- package/dist/composition/graph-structure.js.map +1 -0
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz-svg.js +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +8 -37
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.d.ts +91 -4
- package/dist/composition/identifiability.d.ts.map +1 -1
- package/dist/composition/identifiability.js +363 -6
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +14 -8
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -5
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +29 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +57 -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 +20 -35
- 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.d.ts +4 -2
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +20 -9
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.d.ts +17 -0
- package/dist/composition/probe/dataset.d.ts.map +1 -1
- package/dist/composition/probe/dataset.js +95 -50
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.d.ts +5 -1
- package/dist/composition/probe/experiment-design.d.ts.map +1 -1
- package/dist/composition/probe/experiment-design.js +44 -24
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/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 +16 -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 +7 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +48 -23
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +33 -15
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.d.ts +27 -1
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +53 -30
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +18 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +10 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.d.ts +24 -1
- package/dist/composition/probe/limits.d.ts.map +1 -1
- package/dist/composition/probe/limits.js +53 -11
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/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 +22 -9
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/power-law.d.ts +121 -0
- package/dist/composition/probe/power-law.d.ts.map +1 -0
- package/dist/composition/probe/power-law.js +255 -0
- package/dist/composition/probe/power-law.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +12 -1
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +242 -48
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.d.ts +6 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js +9 -7
- 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.d.ts +82 -17
- package/dist/composition/probe/structure.d.ts.map +1 -1
- package/dist/composition/probe/structure.js +129 -55
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +35 -12
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +241 -184
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/t-tail.d.ts +17 -0
- package/dist/composition/probe/t-tail.d.ts.map +1 -0
- package/dist/composition/probe/t-tail.js +32 -0
- package/dist/composition/probe/t-tail.js.map +1 -0
- package/dist/composition/probe/types.d.ts +6 -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 +51 -13
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +110 -58
- 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-clusters.d.ts +48 -0
- package/dist/composition/quantity-clusters.d.ts.map +1 -0
- package/dist/composition/quantity-clusters.js +98 -0
- package/dist/composition/quantity-clusters.js.map +1 -0
- package/dist/composition/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/rational-exponent.d.ts +40 -0
- package/dist/composition/rational-exponent.d.ts.map +1 -0
- package/dist/composition/rational-exponent.js +65 -0
- package/dist/composition/rational-exponent.js.map +1 -0
- package/dist/composition/representative-values.d.ts +22 -0
- package/dist/composition/representative-values.d.ts.map +1 -1
- package/dist/composition/representative-values.js +23 -0
- 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 +36 -10
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +2 -2
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/assignment.d.ts +19 -0
- package/dist/core/assignment.d.ts.map +1 -0
- package/dist/core/assignment.js +19 -0
- package/dist/core/assignment.js.map +1 -0
- package/dist/core/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/compare.d.ts +32 -0
- package/dist/core/compare.d.ts.map +1 -0
- package/dist/core/compare.js +46 -0
- package/dist/core/compare.js.map +1 -0
- package/dist/core/constants.d.ts +35 -35
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +52 -37
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +7 -0
- package/dist/core/data-file.d.ts.map +1 -1
- package/dist/core/data-file.js +17 -0
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/format.d.ts +36 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +39 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/hash.d.ts +14 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +17 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/json-schema.d.ts +3 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +41 -16
- 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 -16
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/mathts-read.d.ts +25 -0
- package/dist/core/mathts-read.d.ts.map +1 -0
- package/dist/core/mathts-read.js +51 -0
- package/dist/core/mathts-read.js.map +1 -0
- package/dist/core/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 +64 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +5 -5
- 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 +43 -86
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +40 -109
- 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 +19 -4
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.d.ts +18 -0
- package/dist/dimensional/algebra.d.ts.map +1 -1
- package/dist/dimensional/algebra.js +41 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +12 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +17 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-leaves.d.ts +81 -0
- package/dist/dimensional/ast-leaves.d.ts.map +1 -0
- package/dist/dimensional/ast-leaves.js +146 -0
- package/dist/dimensional/ast-leaves.js.map +1 -0
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/buckingham.js +15 -27
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/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 +17 -13
- 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.d.ts.map +1 -1
- package/dist/dimensional/dimension-inference.js +1 -2
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/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 +4 -2
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +3 -17
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +0 -17
- package/dist/dimensional/exact-scale.d.ts.map +1 -1
- package/dist/dimensional/exact-scale.js +8 -8
- 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 +2 -3
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts +12 -2
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +45 -12
- 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.d.ts.map +1 -1
- package/dist/dimensional/metric.js +0 -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 +9 -0
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +20 -3
- 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.d.ts +36 -0
- package/dist/dimensional/types.d.ts.map +1 -1
- package/dist/dimensional/types.js +45 -7
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-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 +11 -7
- 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 +59 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -24
- 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.d.ts.map +1 -1
- package/dist/numerical/christoffel-flat.js +3 -2
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +36 -13
- 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 +9 -5
- 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 -8
- 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/finite-difference.d.ts +22 -0
- package/dist/numerical/finite-difference.d.ts.map +1 -0
- package/dist/numerical/finite-difference.js +27 -0
- package/dist/numerical/finite-difference.js.map +1 -0
- package/dist/numerical/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.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +22 -14
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/geometrized.js +0 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/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 +16 -25
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +83 -46
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.d.ts +2 -1
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +12 -12
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js +2 -2
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +0 -36
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +41 -87
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +19 -4
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/rk4-trajectory.d.ts +10 -0
- package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
- package/dist/numerical/rk4-trajectory.js +37 -0
- package/dist/numerical/rk4-trajectory.js.map +1 -0
- package/dist/numerical/schwarzschild.d.ts +14 -0
- package/dist/numerical/schwarzschild.d.ts.map +1 -0
- package/dist/numerical/schwarzschild.js +17 -0
- package/dist/numerical/schwarzschild.js.map +1 -0
- package/dist/numerical/spacetime-metrics.d.ts +25 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +180 -286
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/statistics.d.ts +24 -0
- package/dist/numerical/statistics.d.ts.map +1 -0
- package/dist/numerical/statistics.js +52 -0
- package/dist/numerical/statistics.js.map +1 -0
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +30 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js +12 -0
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/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 +28 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +44 -15
- 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 +16 -20
- 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
|
@@ -13,9 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* @module atlas/chain-pipeline
|
|
15
15
|
*/
|
|
16
|
+
import { byKey } from '../core/compare.js';
|
|
16
17
|
import { DIMENSIONLESS } from '../dimensional/types.js';
|
|
17
18
|
import { equals } from '../dimensional/algebra.js';
|
|
18
|
-
import { CONSTANTS } from '../dimensional/symbolic-constants.js';
|
|
19
|
+
import { CONSTANTS, isRegisteredConstant } from '../dimensional/symbolic-constants.js';
|
|
20
|
+
import { isDecimalLiteral } from '../dimensional/ast-leaves.js';
|
|
19
21
|
import { enumerateCompositionsWithRefusals } from '../composition/enumerate.js';
|
|
20
22
|
import { buckinghamFilter } from '../composition/buckingham-filter.js';
|
|
21
23
|
import { matchChain } from '../composition/chain-match.js';
|
|
@@ -25,14 +27,11 @@ import { joinRegimeMismatch } from '../composition/chain-regime.js';
|
|
|
25
27
|
import { bridgeSeedKeys, physjsTheorem } from './physjs-ref.js';
|
|
26
28
|
import { emitProofTarget } from './proof-target.js';
|
|
27
29
|
import { scalarSymbolsFromMathTs } from '../composition/mathts-scalar-symbols.js';
|
|
28
|
-
|
|
29
|
-
return /^\d+(\.\d+)?$/.test(name);
|
|
30
|
-
}
|
|
30
|
+
/** A registered constant whose dimension is none, or a `pi` multiple (`2pi`). Own keys only. */
|
|
31
31
|
function isDimensionlessConstant(name) {
|
|
32
32
|
if (/^\d*pi$/.test(name))
|
|
33
33
|
return true;
|
|
34
|
-
|
|
35
|
-
return registered !== undefined && equals(registered.dim, DIMENSIONLESS);
|
|
34
|
+
return isRegisteredConstant(name) && equals(CONSTANTS[name].dim, DIMENSIONLESS);
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* Dimensioned leaves of the composed formula, excluding the target name.
|
|
@@ -47,28 +46,13 @@ export function governingOf(expr, targetName) {
|
|
|
47
46
|
for (const leaf of scalarSymbolsFromMathTs(expr)) {
|
|
48
47
|
if (leaf.name === targetName)
|
|
49
48
|
continue;
|
|
50
|
-
if (
|
|
49
|
+
if (isDecimalLiteral(leaf.name) || isDimensionlessConstant(leaf.name))
|
|
51
50
|
continue;
|
|
52
51
|
vars.push(leaf);
|
|
53
52
|
}
|
|
54
|
-
vars.sort((
|
|
53
|
+
vars.sort(byKey((v) => v.name));
|
|
55
54
|
return vars;
|
|
56
55
|
}
|
|
57
|
-
/**
|
|
58
|
-
* The category claim recorded for two quantity edges.
|
|
59
|
-
*
|
|
60
|
-
* A quantity edge stores a quantity name, not a category object id.
|
|
61
|
-
* This step does not invent that id, so the recorded result is unset
|
|
62
|
-
* even when both edges store a relation. The pair is not dropped.
|
|
63
|
-
*
|
|
64
|
-
* @internal
|
|
65
|
-
*/
|
|
66
|
-
export function categoryCompositionForChain(first, second) {
|
|
67
|
-
const relationsAreStored = first.relation !== undefined && second.relation !== undefined;
|
|
68
|
-
if (!relationsAreStored)
|
|
69
|
-
return undefined;
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
56
|
function theoremsFor(edgeIds) {
|
|
73
57
|
return edgeIds.map((id) => {
|
|
74
58
|
const name = physjsTheorem(id);
|
|
@@ -172,7 +156,11 @@ export function runChainPipeline(edges) {
|
|
|
172
156
|
classification,
|
|
173
157
|
theorem: filtered.theorem,
|
|
174
158
|
mismatch: undefined,
|
|
175
|
-
|
|
159
|
+
// A quantity edge stores a quantity name, not a category object id, so
|
|
160
|
+
// no step can state a category claim for the pair. Unset, and the pair
|
|
161
|
+
// is not dropped. The sentence that a function computed this value is
|
|
162
|
+
// the record from before it was found to return nothing else.
|
|
163
|
+
categoryComposition: undefined,
|
|
176
164
|
};
|
|
177
165
|
if (classification.kind === 'confirmation' || classification.kind === 'restatement') {
|
|
178
166
|
records.push(record);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Internal bridge-discovery pipeline.\n *\n * Seeds, then seed-filtered symbolic enumeration, the Buckingham filter,\n * the structural classifier, the regime join gate, the chain order,\n * and the proof-target stub.\n * A confirmation reports the catalog id. A restatement reports the\n * pre-declared canonical equation. A regime mismatch is recorded and\n * is not a stub. Any other survivor is a statement skeleton. Nothing\n * is written into the catalog.\n *\n * No command calls this. `discovery.ts` and the probe are not inputs.\n *\n * @module atlas/chain-pipeline\n */\n\nimport { byKey } from '../core/compare.js';\nimport type { ExprNode } from '../dimensional/validator.js';\nimport type { Dimension } from '../dimensional/types.js';\nimport { DIMENSIONLESS } from '../dimensional/types.js';\nimport { equals } from '../dimensional/algebra.js';\nimport { CONSTANTS, isRegisteredConstant } from '../dimensional/symbolic-constants.js';\nimport { isDecimalLiteral } from '../dimensional/ast-leaves.js';\nimport type { BridgeEdge } from '../composition/edge.js';\nimport { enumerateCompositionsWithRefusals } from '../composition/enumerate.js';\nimport { buckinghamFilter } from '../composition/buckingham-filter.js';\nimport { matchChain } from '../composition/chain-match.js';\nimport { compareChainEdgeIds, type ChainCandidate } from '../composition/chain-candidate.js';\nimport {\n chainOrderKey,\n orderChainRecords,\n type ChainRecord,\n} from '../composition/chain-result.js';\nimport { joinRegimeMismatch, type ChainRegimeMismatch } from '../composition/chain-regime.js';\nimport { bridgeSeedKeys, physjsTheorem } from './physjs-ref.js';\nimport { emitProofTarget } from './proof-target.js';\nimport { scalarSymbolsFromMathTs } from '../composition/mathts-scalar-symbols.js';\n\n/** A chain whose normal form matches a catalog equation. Nothing was written. @internal */\nexport interface ChainConfirmationRecord {\n readonly kind: 'confirmation';\n readonly catalogId: number;\n readonly edgeIds: readonly string[];\n}\n\n/** A chain the registry pre-declared with `restatesBridge`. Not a new equation. @internal */\nexport interface ChainRestatementRecord {\n readonly kind: 'restatement';\n readonly canonicalId: string;\n readonly restatesBridge: string;\n readonly edgeIds: readonly string[];\n}\n\n/** A provisional chain, as a Lean statement skeleton. @internal */\nexport interface ChainStubRecord {\n readonly kind: 'stub';\n readonly id: string;\n readonly edgeIds: readonly string[];\n readonly text: string;\n}\n\n/**\n * A pair the composition table refused.\n *\n * The message is `UndefinedCompositionError`. A dimension mismatch is not\n * this record.\n *\n * @internal\n */\nexport interface ChainCompositionRefusal {\n readonly kind: 'rejected: composition table';\n readonly edgeIds: readonly [string, string];\n readonly message: string;\n}\n\n/** One ordered survivor, a regime rejection, or a composition-table refusal. @internal */\nexport type ChainPipelineResult =\n | ChainConfirmationRecord\n | ChainRestatementRecord\n | ChainStubRecord\n | ChainRegimeMismatch\n | ChainCompositionRefusal;\n\n/** A registered constant whose dimension is none, or a `pi` multiple (`2pi`). Own keys only. */\nfunction isDimensionlessConstant(name: string): boolean {\n if (/^\\d*pi$/.test(name)) return true;\n return isRegisteredConstant(name) && equals(CONSTANTS[name]!.dim, DIMENSIONLESS);\n}\n\n/**\n * Dimensioned leaves of the composed formula, excluding the target name.\n * The names are the MathTS symbol filter. A dimensionless constant is not\n * a governing symbol. The elementary charge is, because its dimension is\n * charge.\n *\n * @internal\n */\nexport function governingOf(expr: ExprNode, targetName: string): { name: string; dim: Dimension }[] {\n const vars: { name: string; dim: Dimension }[] = [];\n for (const leaf of scalarSymbolsFromMathTs(expr)) {\n if (leaf.name === targetName) continue;\n if (isDecimalLiteral(leaf.name) || isDimensionlessConstant(leaf.name)) continue;\n vars.push(leaf);\n }\n vars.sort(byKey((v) => v.name));\n return vars;\n}\n\nfunction theoremsFor(edgeIds: readonly string[]): string[] {\n return edgeIds.map((id) => {\n const name = physjsTheorem(id);\n if (name === undefined) {\n throw new Error(`chain pipeline: manifest copy has no theorem for seed '${id}'`);\n }\n return name;\n });\n}\n\nfunction proofCandidate(record: ChainRecord): ChainCandidate {\n const kind = chainOrderKey(record);\n const theorem = record.theorem ?? undefined;\n const carried = theorem === undefined ? {} : { theorem };\n if (record.classification.kind === 'confirmation') {\n return {\n kind,\n edgeIds: record.edgeIds,\n catalogId: record.classification.catalogId,\n ...carried,\n };\n }\n if (record.classification.kind === 'restatement') {\n return {\n kind,\n edgeIds: record.edgeIds,\n canonicalId: record.classification.canonicalId,\n restatesBridge: record.classification.restatesBridge,\n ...carried,\n };\n }\n return {\n kind,\n edgeIds: record.edgeIds,\n id: record.classification.id,\n ...carried,\n };\n}\n\n/**\n * The orchestrator view of one {@link ChainRecord}.\n *\n * A confirmation and a restatement ignore `mismatch`. A provisional\n * record with a mismatch is that rejection. Any other provisional record\n * is a stub whose id and theorem come from the same record the order key\n * reads.\n *\n * @internal\n */\nexport function renderChainRecord(\n record: ChainRecord,\n seedTheorems: readonly string[] = [],\n): ChainPipelineResult {\n if (record.classification.kind === 'confirmation') {\n return {\n kind: 'confirmation',\n catalogId: record.classification.catalogId,\n edgeIds: record.edgeIds,\n };\n }\n if (record.classification.kind === 'restatement') {\n return {\n kind: 'restatement',\n canonicalId: record.classification.canonicalId,\n restatesBridge: record.classification.restatesBridge,\n edgeIds: record.edgeIds,\n };\n }\n if (record.mismatch !== undefined) return record.mismatch;\n const candidate = proofCandidate(record);\n const id = candidate.id ?? `chain-${record.edgeIds.join('-')}`;\n return {\n kind: 'stub',\n id,\n edgeIds: record.edgeIds,\n text: emitProofTarget({ ...candidate, id }, seedTheorems),\n };\n}\n\n/**\n * Run the pipeline on `edges`.\n *\n * A manifest key whose derived kind is not `bridge` is not a premise.\n * A chain the Buckingham filter drops is absent. A confirmation or a\n * restatement is not sent to the regime gate. Any other mismatch is\n * `rejected: regime mismatch` and is not a stub. A composition-table\n * refusal is `rejected: composition table` and is not a dimension\n * failure. The catalog array is not modified.\n *\n * @internal\n */\nexport function runChainPipeline(edges: readonly BridgeEdge[]): readonly ChainPipelineResult[] {\n const seedIds = new Set(bridgeSeedKeys());\n const found = enumerateCompositionsWithRefusals(edges, { seedIds });\n const report = found.report;\n const records: ChainRecord[] = [];\n const rejections: ChainRecord[] = [];\n for (const target of report.proofTargets) {\n const filtered = buckinghamFilter(\n { name: target.second.target.name, dim: target.second.target.dim },\n governingOf(target.expr, target.second.target.name),\n );\n if (filtered === undefined) continue;\n const classification = matchChain(target.expr, [target.first.id, target.second.id]);\n const edgeIds = [target.first.id, target.second.id];\n const record: ChainRecord = {\n edgeIds,\n classification,\n theorem: filtered.theorem,\n mismatch: undefined,\n // A quantity edge stores a quantity name, not a category object id, so\n // no step can state a category claim for the pair. Unset, and the pair\n // is not dropped. The sentence that a function computed this value is\n // the record from before it was found to return nothing else.\n categoryComposition: undefined,\n };\n if (classification.kind === 'confirmation' || classification.kind === 'restatement') {\n records.push(record);\n continue;\n }\n const mismatch = joinRegimeMismatch(target.first, target.second);\n if (mismatch !== undefined) {\n rejections.push({ ...record, mismatch });\n continue;\n }\n records.push(record);\n }\n const orderedRejections = [...rejections].sort((a, b) =>\n compareChainEdgeIds(a.edgeIds, b.edgeIds),\n );\n const tableRefusals: ChainCompositionRefusal[] = found.relationRefusals\n .map((row) => ({\n kind: 'rejected: composition table' as const,\n edgeIds: [row.first.id, row.second.id] as [string, string],\n message: row.message,\n }))\n .sort((a, b) => compareChainEdgeIds(a.edgeIds, b.edgeIds));\n return [\n ...orderChainRecords(records).map((record) =>\n renderChainRecord(record, theoremsFor(record.edgeIds)),\n ),\n ...orderedRejections.map((record) => renderChainRecord(record)),\n ...tableRefusals,\n ];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition-table.js","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"composition-table.js","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,mCAAmC,CAAC","sourcesContent":["/**\n * Re-export of the composition table. The table lives in\n * `src/relations/composition-table.ts`. These consts are the same bindings.\n *\n * @module atlas/composition-table\n */\n\n/**\n * The composition table, the silent-cell value, and the function that reads a cell.\n *\n * @public\n */\nexport {\n COMPOSITION_TABLE,\n composeRelation,\n NO_COMPOSITE_CLAIM,\n} from '../relations/composition-table.js';\n\n/** What `composeRelation` returns when the chain asserts nothing. @public */\nexport type NoCompositeClaim = import('../relations/composition-table.js').NoCompositeClaim;\n\n/** The result of composing two relations: a relation type, or no composite claim. @public */\nexport type CompositionResult = import('../relations/composition-table.js').CompositionResult;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/atlas/conventions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/atlas/conventions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["/**\n * Re-export of the convention comparison. The implementation lives in\n * `src/relations/conventions.ts`.\n *\n * @module atlas/conventions\n */\n\nexport { checkConventions, unknownConventionKeys } from '../relations/conventions.js';\nexport type { ConventionKey } from '../relations/conventions.js';\n"]}
|
package/dist/atlas/coverage.d.ts
CHANGED
|
@@ -45,8 +45,8 @@ export declare function summarizeEvidence(evidenceSets: Iterable<ReadonlySet<Evi
|
|
|
45
45
|
* non-empty, which a machine check produces) while nobody has recorded a
|
|
46
46
|
* `relation` for it at all.
|
|
47
47
|
*
|
|
48
|
-
* - `schema` — the denominator: the
|
|
49
|
-
* registry. The atlas families are NOT in it; they are reported separately,
|
|
48
|
+
* - `schema` — the denominator: the catalog rows plus the canonical
|
|
49
|
+
* registry (the counts are the caller's; this module stores none). The atlas families are NOT in it; they are reported separately,
|
|
50
50
|
* because a nine-model pilot would otherwise dilute a catalog-wide fraction.
|
|
51
51
|
* - `audited` — a HUMAN set `relation` or `conventions` on the record.
|
|
52
52
|
* - `verified` — a derived evidence tag set is non-empty. Passed IN, never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/atlas/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,8EAA8E;AAC9E,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAU/C;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAgD;IAEhD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAGpE,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AA8CD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,aAAwC,EACxC,aAAqB,EACrB,YAA4C;IAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CAC/D,CAAC,MAAM,CAAC;IACT,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,OAAO;QACP,QAAQ,EAAE,aAAa;QACvB,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,OAAO;QAC7C,KAAK,EAAE;YACL,OAAO,EAAE,YAAY,CAAC,MAAM;YAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,MAAM;SAC3E;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/atlas/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,8EAA8E;AAC9E,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAU/C;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAgD;IAEhD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAGpE,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AA8CD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,aAAwC,EACxC,aAAqB,EACrB,YAA4C;IAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CAC/D,CAAC,MAAM,CAAC;IACT,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,OAAO;QACP,QAAQ,EAAE,aAAa;QACvB,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,OAAO;QAC7C,KAAK,EAAE;YACL,OAAO,EAAE,YAAY,CAAC,MAAM;YAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,MAAM;SAC3E;KACF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Atlas Phase 1, S1.3 — evidence coverage, counted BY TAG.\n *\n * Design note `docs/planning/Atlas-Phase-1-Design.md` §3: *\"Any future commit\n * that appears to raise a row's evidence without adding a witness is a bug,\n * and the coverage report is what makes it visible: it reports counts BY TAG,\n * so a jump is legible.\"*\n *\n * A single \"how many records have evidence\" total would hide exactly the\n * movement this report exists to expose — one tag inflating while another\n * drains reads as no change at all. So the report is per tag, every tag is\n * present with an explicit zero, and `records` is reported beside the counts\n * (the counts do not sum to it: a record carries several tags).\n *\n * Pure: no I/O, no catalog import, no caching — every function here takes\n * what it counts as an argument, so it can never disagree with a registry.\n *\n * @module atlas/coverage\n * @internal\n */\n\nimport { ALL_EVIDENCE_TAGS } from './types.js';\nimport type { EvidenceTag } from './types.js';\n\n// Moved to `types.ts`: the derived-tag literals may appear under `src/atlas/`\n// only there and in `derive-evidence.ts`. Re-exported so callers are unchanged.\nexport { ALL_EVIDENCE_TAGS } from './types.js';\n\n/** Counts by tag over a set of records. @internal */\nexport interface EvidenceCoverage {\n /** How many records were counted. */\n readonly records: number;\n /** One entry per `EvidenceTag`, zero included. Counts overlap by design. */\n readonly byTag: Readonly<Record<EvidenceTag, number>>;\n}\n\n/**\n * Count derived evidence sets by tag.\n *\n * @param evidenceSets - one derived set per record, e.g. the output of\n * `deriveEvidence` mapped over a catalog. Deriving is the caller's job; this\n * function never derives, so it cannot disagree with the derivation.\n * @internal\n */\nexport function summarizeEvidence(\n evidenceSets: Iterable<ReadonlySet<EvidenceTag>>,\n): EvidenceCoverage {\n const byTag = Object.fromEntries(ALL_EVIDENCE_TAGS.map((t) => [t, 0])) as Record<\n EvidenceTag,\n number\n >;\n let records = 0;\n for (const set of evidenceSets) {\n records += 1;\n for (const tag of set) byTag[tag] += 1;\n }\n return { records, byTag };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Overlay coverage — how much of the catalog a HUMAN has audited\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * How much of the catalog carries the Phase 1 overlay.\n *\n * `summarizeEvidence` above answers \"what support do these records have\";\n * this answers the different question \"how much has anyone LOOKED at\". The two\n * must not be conflated: a row can be `verified` (its derived tag set is\n * non-empty, which a machine check produces) while nobody has recorded a\n * `relation` for it at all.\n *\n * - `schema` — the denominator: the catalog rows plus the canonical\n * registry (the counts are the caller's; this module stores none). The atlas families are NOT in it; they are reported separately,\n * because a nine-model pilot would otherwise dilute a catalog-wide fraction.\n * - `audited` — a HUMAN set `relation` or `conventions` on the record.\n * - `verified` — a derived evidence tag set is non-empty. Passed IN, never\n * derived here, for the same reason `summarizeEvidence` never derives.\n * - `notYetAudited` — `schema − audited`, stated rather than left to arithmetic.\n *\n * @internal\n */\nexport interface OverlayCoverage {\n readonly schema: number;\n readonly audited: number;\n readonly verified: number;\n readonly notYetAudited: number;\n /** The atlas pilot, reported beside the catalog and never mixed into it. */\n readonly atlas: { readonly bridges: number; readonly reviewed: number };\n}\n\n/** A record that may carry the Phase 1 overlay. Structural, so this module\n * imports no registry and cannot become a second source of truth. @internal */\nexport interface OverlayBearing {\n readonly relation?: unknown;\n readonly conventions?: unknown;\n}\n\n/** An atlas bridge, reduced to the one field this report reads. @internal */\nexport interface ReviewStatusBearing {\n readonly reviewStatus: 'proposed' | 'reviewed';\n}\n\n/**\n * Count overlay coverage over the catalog rows and canonical entries.\n *\n * Every input is PASSED IN. The module stays pure and importless, so it can\n * never disagree with the registries — the caller states which registries it\n * counted, exactly as `summarizeEvidence` requires its caller to state which\n * evidence sets it derived.\n *\n * @param schemaRecords - the catalog rows and canonical entries, concatenated.\n * @param verifiedCount - how many of them have a non-empty derived tag set.\n * @param atlasBridges - the atlas pilot's bridges, reported separately.\n * @internal\n */\nexport function overlayCoverage(\n schemaRecords: readonly OverlayBearing[],\n verifiedCount: number,\n atlasBridges: readonly ReviewStatusBearing[],\n): OverlayCoverage {\n const audited = schemaRecords.filter(\n (r) => r.relation !== undefined || r.conventions !== undefined,\n ).length;\n return {\n schema: schemaRecords.length,\n audited,\n verified: verifiedCount,\n notYetAudited: schemaRecords.length - audited,\n atlas: {\n bridges: atlasBridges.length,\n reviewed: atlasBridges.filter((b) => b.reviewStatus === 'reviewed').length,\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivation.js","sourceRoot":"","sources":["../../src/atlas/derivation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"derivation.js","sourceRoot":"","sources":["../../src/atlas/derivation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 3 — `Derivation` (a hyperedge) and multicategory composition.\n *\n * A `Derivation` is many premises and one conclusion. Composing two of them is\n * the operation design note `docs/planning/Atlas-Phase-3-Design.md` §0 names as\n * the one that can silently produce a false claim, and it states the invariant\n * this module exists to enforce:\n *\n * > A hyperedge composes only when EVERY premise edge is exact, and the\n * > composite's premises are the union of the inputs' premises MINUS the\n * > internal conclusions.\n *\n * Four gates enforce it, and each one is a reason to refuse:\n *\n * 1. **Consumption.** `second` must actually consume `first`'s conclusion. If\n * it does not, the two are unrelated hyperedges and gluing them would\n * assert a chain that was never drawn.\n * 2. **Relation.** `composeRelation` decides, exactly as it does for a binary\n * chain. **A hyperedge cannot launder a pair the binary table refuses**\n * (§3): if the two relations land on one of the fifty-six\n * `'no-composite-claim'` cells, the hyperedge carries no claim either. This\n * is also where \"only exact hyperedges compose\" is enforced — the table's\n * eight defined cells ARE that set, and re-deciding exactness here with a\n * second rule would be a second place for it to rot.\n * 3. **Context.** The union over every statement involved must EXIST.\n * `statementContextUnion` returns a refusal rather than a merge when it\n * does not, and that refusal propagates: no union, no composite.\n * 4. **Premises.** The composite's premises are `first.premises ∪\n * second.premises` minus the internal conclusions — here, `first.conclusion`.\n *\n * ## Why the primary API returns a union and does not throw\n *\n * The S3.1 brief says composition \"throws\". The design note (§2) says the\n * refusal \"is the correct output rather than an error\", and requires the\n * result type to make \"these do not compose\" expressible WITHOUT a number or a\n * conclusion attached — mirroring `boundPath`'s no-claim. Both are served\n * here: {@link composeDerivations} returns a discriminated union, and\n * {@link composeDerivationsOrThrow} is a thin strict wrapper for callers that\n * genuinely want a failure. The union is primary because it is the shape a\n * caller cannot misread — a refusal has no `.derivation` to read.\n *\n * Pure: no I/O, no registry reads beyond the map a caller passes in.\n *\n * @module atlas/derivation\n */\n\nimport { composeRelation, NO_COMPOSITE_CLAIM } from './composition-table.js';\nimport type { CompositionResult } from './composition-table.js';\nimport { statementContextUnion } from './statement.js';\nimport type { ContextUnionResult, Statement, StatementId } from './statement.js';\nimport type { RelationType } from './types.js';\n\n/** A `Derivation` id — `'d-noether-energy'`, … . @internal */\nexport type DerivationId = string;\n\n/**\n * Many premises, one conclusion.\n *\n * `contextUnion` is a FIELD rather than a method because it is checked once,\n * at construction, and carried: a record whose premises do not pool is a\n * record that states no claim, and that fact travels with it.\n *\n * @internal\n */\nexport interface Derivation {\n readonly id: DerivationId;\n readonly relation: RelationType;\n readonly premises: readonly StatementId[];\n readonly conclusion: StatementId;\n readonly sideConditions: readonly string[];\n /** CHECKED, never merged. A `'no-union'` here means this record claims nothing. */\n readonly contextUnion: ContextUnionResult;\n}\n\n/** A `Derivation` without its checked union — what {@link makeDerivation} takes. @internal */\nexport type DerivationSpec = Omit<Derivation, 'contextUnion'>;\n\n/**\n * Build a `Derivation`, checking the context union of its premises AND its\n * conclusion.\n *\n * The conclusion is included deliberately: a conclusion stated in a context\n * incompatible with its own premises is exactly the false claim §0 warns\n * about, and leaving it out would let one through.\n *\n * @throws RangeError via `statementContextUnion` if an id does not resolve.\n * @internal\n */\nexport function makeDerivation(\n spec: DerivationSpec,\n registry: ReadonlyMap<StatementId, Statement>,\n): Derivation {\n return {\n ...spec,\n contextUnion: statementContextUnion([...spec.premises, spec.conclusion], registry),\n };\n}\n\n/** Why two hyperedges do not compose. @internal */\nexport type NoCompositeReason =\n /** `second` does not consume `first`'s conclusion. */\n | 'not-consumed'\n /** The binary composition table refuses the pair of relations. */\n | 'no-composite-claim'\n /** The statements involved have no context union. */\n | 'no-context-union'\n /** One of the inputs already states no claim of its own. */\n | 'input-states-no-claim';\n\n/** The composite hyperedge. @internal */\nexport interface CompositeFormed {\n readonly kind: 'composite';\n readonly derivation: Derivation;\n}\n\n/** The two hyperedges do NOT compose, and this is why. @internal */\nexport interface CompositeRefused {\n readonly kind: 'no-composite';\n readonly reason: NoCompositeReason;\n readonly detail: string;\n}\n\n/** The result of {@link composeDerivations}. @internal */\nexport type DerivationCompositionResult = CompositeFormed | CompositeRefused;\n\n/** Thrown by {@link composeDerivationsOrThrow}. Carries the refusal verbatim. @internal */\nexport class DerivationCompositionError extends Error {\n readonly reason: NoCompositeReason;\n constructor(refusal: CompositeRefused) {\n super(refusal.detail);\n this.name = 'DerivationCompositionError';\n this.reason = refusal.reason;\n }\n}\n\n/**\n * Compose `first` then `second` into one hyperedge, or refuse and say why.\n *\n * `D1: {A, B} ⊢ C` composed with `D2: {C, E} ⊢ F` yields `{A, B, E} ⊢ F`:\n * `C` is the internal conclusion and leaves the composite's premises.\n *\n * Premise ORDER is `first`'s surviving premises followed by `second`'s, each\n * de-duplicated on first appearance. Stable rather than sorted, so a composite\n * reads in the order the derivation was performed.\n *\n * @param id - the composite's id. Supplied by the caller rather than derived\n * from the inputs, because a generated id would be a new identifier the\n * registry does not know about.\n * @internal\n */\nexport function composeDerivations(\n id: DerivationId,\n first: Derivation,\n second: Derivation,\n registry: ReadonlyMap<StatementId, Statement>,\n): DerivationCompositionResult {\n // ── Gate 0: an input that claims nothing composes to nothing ──────────────\n for (const [label, d] of [\n ['first', first],\n ['second', second],\n ] as const) {\n if (d.contextUnion.kind === 'no-union') {\n return {\n kind: 'no-composite',\n reason: 'input-states-no-claim',\n detail:\n `${label} derivation '${d.id}' has no context union ` +\n `(${d.contextUnion.reason}: ${d.contextUnion.detail}), so it states no claim to compose`,\n };\n }\n }\n\n // ── Gate 1: `second` must consume `first`'s conclusion ────────────────────\n if (!second.premises.includes(first.conclusion)) {\n return {\n kind: 'no-composite',\n reason: 'not-consumed',\n detail:\n `'${second.id}' does not take '${first.conclusion}' as a premise ` +\n `(its premises are ${second.premises.map((p) => `'${p}'`).join(', ')}), ` +\n `so '${first.id}' does not feed it`,\n };\n }\n\n // ── Gate 2: the binary table governs, and a hyperedge cannot launder it ───\n const relation: CompositionResult = composeRelation(first.relation, second.relation);\n if (relation === NO_COMPOSITE_CLAIM) {\n return {\n kind: 'no-composite',\n reason: NO_COMPOSITE_CLAIM,\n detail:\n `'${first.id}' (${first.relation}) then '${second.id}' (${second.relation}) ` +\n 'composes to no relation; a hyperedge cannot assert what the binary table refuses',\n };\n }\n\n // ── Gate 4 (computed before gate 3 so the union covers the right set) ─────\n // The composite's premises: the union of the inputs' premises MINUS the\n // internal conclusions. `first.conclusion` is the only internal one for a\n // two-input composition; it is removed from BOTH sides, so a premise that\n // `first` also happened to require does not survive as an input it no longer\n // needs.\n const internal = new Set<StatementId>([first.conclusion]);\n const premises: StatementId[] = [];\n for (const p of [...first.premises, ...second.premises]) {\n if (internal.has(p)) continue;\n if (premises.includes(p)) continue;\n premises.push(p);\n }\n\n // ── Gate 3: the pooled context must exist over EVERY statement involved ───\n // Every statement, not just the surviving premises: the internal conclusion\n // is what the two halves meet at, and an incompatibility there is exactly\n // the one that would vanish from the composite's own field.\n const involved = [\n ...new Set([\n ...first.premises,\n first.conclusion,\n ...second.premises,\n second.conclusion,\n ]),\n ];\n const union = statementContextUnion(involved, registry);\n if (union.kind === 'no-union') {\n return {\n kind: 'no-composite',\n reason: 'no-context-union',\n detail:\n `'${first.id}' and '${second.id}' have no context union ` +\n `(${union.reason}: ${union.detail})`,\n };\n }\n\n return {\n kind: 'composite',\n derivation: {\n id,\n relation,\n premises,\n conclusion: second.conclusion,\n sideConditions: [\n ...new Set([...first.sideConditions, ...second.sideConditions]),\n ],\n contextUnion: union,\n },\n };\n}\n\n/**\n * {@link composeDerivations}, throwing on refusal.\n *\n * For callers that treat a refusal as a failure. Prefer the union-returning\n * form: a thrown error is easy to catch and discard, and a discarded refusal\n * is how a composite gets used anyway.\n *\n * @throws DerivationCompositionError on any refusal.\n * @internal\n */\nexport function composeDerivationsOrThrow(\n id: DerivationId,\n first: Derivation,\n second: Derivation,\n registry: ReadonlyMap<StatementId, Statement>,\n): Derivation {\n const result = composeDerivations(id, first, second, registry);\n if (result.kind === 'no-composite') throw new DerivationCompositionError(result);\n return result.derivation;\n}\n"]}
|
|
@@ -141,14 +141,16 @@ export interface EvidenceInput {
|
|
|
141
141
|
readonly conventions?: Conventions;
|
|
142
142
|
readonly counterexamples?: readonly CounterexampleLike[];
|
|
143
143
|
/**
|
|
144
|
-
* The record's formal reference, read for its fidelity and its
|
|
145
|
-
* Structural so a caller can pass an `AtlasBridge` directly. A
|
|
146
|
-
* cannot be supplied by this function: only `'bridge'` derives
|
|
147
|
-
* `formally-proved`.
|
|
144
|
+
* The record's formal reference, read for its fidelity, its kind, and its
|
|
145
|
+
* axioms. Structural so a caller can pass an `AtlasBridge` directly. A
|
|
146
|
+
* missing kind cannot be supplied by this function: only `'bridge'` derives
|
|
147
|
+
* `formally-proved`. An axiom list naming `sorryAx` is a proof with a hole
|
|
148
|
+
* (Lean exits 0 on `sorry`; TOOLS.md) and derives no proof label.
|
|
148
149
|
*/
|
|
149
150
|
readonly formalRef?: {
|
|
150
151
|
readonly fidelity: FormalFidelity;
|
|
151
152
|
readonly kind: FormalRefKind;
|
|
153
|
+
readonly axioms?: readonly string[];
|
|
152
154
|
};
|
|
153
155
|
}
|
|
154
156
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-evidence.d.ts","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;IACjE,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,aAAa,GAAG,SAAS,GACnC,SAAS,kBAAkB,EAAE,CAqB/B;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzD
|
|
1
|
+
{"version":3,"file":"derive-evidence.d.ts","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,8 @@ export function counterexamplesWithRejection(record, rejection) {
|
|
|
114
114
|
* exactly the decision that must never be implicit.
|
|
115
115
|
*/
|
|
116
116
|
export const NO_PASSING_WITNESSES = new Set();
|
|
117
|
+
/** The axiom Lean 4 records for a proof that contains `sorry`. */
|
|
118
|
+
const SORRY_AXIOM = 'sorryAx';
|
|
117
119
|
/** The fields `Conventions` may declare. Kept in one place so the check is total. */
|
|
118
120
|
const CONVENTION_FIELDS = [
|
|
119
121
|
'heatWorkSign',
|
|
@@ -154,8 +156,11 @@ export function deriveEvidence(record, passingWitnessIds) {
|
|
|
154
156
|
// records a reference without earning a tag — a proof of the wrong statement
|
|
155
157
|
// proves nothing. A property and a cross-check earn their own labels and do
|
|
156
158
|
// not count as a proved bridge. A reduction, a limit, and a derivation-step
|
|
157
|
-
// earn neither.
|
|
158
|
-
|
|
159
|
+
// earn neither. A proof resting on `sorryAx` is a hole, not a proof, and
|
|
160
|
+
// earns none of the three whatever its fidelity says.
|
|
161
|
+
if (record.formalRef !== undefined &&
|
|
162
|
+
record.formalRef.fidelity !== 'unreviewed' &&
|
|
163
|
+
!(record.formalRef.axioms ?? []).includes(SORRY_AXIOM)) {
|
|
159
164
|
if (record.formalRef.kind === 'bridge')
|
|
160
165
|
tags.add('formally-proved');
|
|
161
166
|
else if (record.formalRef.kind === 'property')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-evidence.js","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"derive-evidence.js","sourceRoot":"","sources":["../../src/atlas/derive-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoE3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAqB,EACrB,SAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACzC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACxC,4EAA4E;IAC5E,iFAAiF;IACjF,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,GAAG,GAAG,aAAa,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IACH,IAAI,aAAa;QAAE,OAAO,GAAG,CAAC;IAC9B,OAAO;QACL,GAAG,GAAG;QACN,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,SAAS,CAAC,IAAI,EAAE,EAAE;KAC1E,CAAC;AACJ,CAAC;AAqBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,EAAU,CAAC;AAE3E,kEAAkE;AAClE,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,qFAAqF;AACrF,MAAM,iBAAiB,GAAG;IACxB,cAAc;IACd,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IACZ,qBAAqB;CAC4B,CAAC;AAEpD,+FAA+F;AAC/F,SAAS,wBAAwB,CAC/B,WAAoC;IAEpC,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,iBAAsC;IAEtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IAEpC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpF,oEAAoE;IACpE,wEAAwE;IACxE,6EAA6E;IAC7E,8EAA8E;IAC9E,qEAAqE;IACrE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEjF,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,sDAAsD;IACtD,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,YAAY;QAC1C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EACtD,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aAC/D,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;aAC/E,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa;YAAE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAEjF,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D,IACE,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAClF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjC,CAAC;IAED,oDAAoD;IACpD,IACE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,EAAE,CACzD,EACD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAIpC;IACC,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9E,MAAM,YAAY,GAChB,SAAS,KAAK,SAAS;QACvB,SAAS,CAAC,MAAM,KAAK,cAAc;QACnC,SAAS,CAAC,QAAQ,KAAK,YAAY;QACnC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC9B,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA0B,EAC1B,MAAqB,EACrB,iBAAsC;IAEtC,QAAQ,OAAO,EAAE,CAAC;QAChB,0EAA0E;QAC1E,4EAA4E;QAC5E,mEAAmE;QACnE,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACnD,KAAK,eAAe;YAClB,OAAO,IAAI,GAAG,CAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5C,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA0C;IAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAAC,4EAA4E,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;IACjH,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAc,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * Atlas Phase 1, S1.3 — evidence tags, DERIVED AT READ TIME.\n *\n * Design note: `docs/planning/Atlas-Phase-1-Design.md` §3 and §4.\n *\n * **The contract of this module: it has no write path.** No record stores an\n * evidence set; every tag is computed from the artifacts a record actually\n * carries, each time it is asked for. A tag is emitted ONLY when the artifact\n * it names is present and passing. There is no default-true tag, no tag\n * derived from another tag, no tag derived from `reviewStatus`, and no tag\n * derived from prose. A record carrying no passing witness derives exactly\n * `{'proposed'}`.\n *\n * ## The empty-set trap (design note §3, Adam A1 RED — confirmed by execution)\n *\n * `convention-checked` is the ONLY rule in the table whose quantifier is\n * universal (`every`). Written as \"`conventions` is present AND every declared\n * field is consumed by a witness\", it hands the tag to a record with ZERO\n * witnesses, because `conventions = {}` declares nothing and `[].every(…)` is\n * vacuously true. {@link deriveEvidence} therefore requires a NON-EMPTY\n * declaration before the universal runs, and\n * `tests/atlas/derive-evidence.test.ts` pins the empty-object case.\n *\n * **The general rule, for anything added here later:** a universal quantifier\n * in a tag derivation must be paired with a non-emptiness check, or the tag is\n * free. The other rules are existentials (`some`), which are false on the\n * empty set and therefore safe.\n *\n * ## What \"passing\" means, and why the caller supplies it\n *\n * `Witness` records an id and the test file that runs it; nothing on the\n * record says whether that test passed. Proving it is a filesystem act (see\n * `tests/atlas/evidence-rule.test.ts`, which matches witness ids against test\n * titles), and this module is pure. So the set of passing witness ids is an\n * ARGUMENT, and it is REQUIRED — {@link NO_PASSING_WITNESSES} must be passed\n * explicitly when nothing is verified.\n *\n * It used to DEFAULT to empty, which sounds conservative and was in fact a\n * defect (Eve E1 RED, confirmed by execution). Defaulting the other way, to\n * \"all\", would have been the free-tag defect above in a second location — but\n * defaulting to empty created the mirror-image failure: a forgotten argument\n * produced an answer identical to a real negative. A catalog-wide check written\n * that way could only ever report \"no row gains evidence\", whatever the rows\n * held, so it could not fail. Requiring the argument makes a vacuous result a\n * STATED choice, and `tests/atlas/coverage.test.ts` now carries a positive\n * control so that a negative result carries information.\n *\n * @module atlas/derive-evidence\n * @internal\n */\n\nimport type { Conventions, EvidenceTag, FormalFidelity, FormalRefKind } from './types.js';\nimport { catalogFormalRef } from './catalog-formal-ref.js';\n\n/**\n * The verdict of `adjudicateBridgeEntry` (`src/bridges/membership.ts`),\n * restated structurally so this module takes no dependency on `src/bridges`\n * (the dependency must run one way — design note §1).\n *\n * `tests/atlas/derive-evidence.test.ts` pins this union against the real\n * `BridgeVerdict` at compile time AND at runtime over the live catalog, so a\n * fourth verdict fails the test rather than silently falling through.\n *\n * @internal\n */\nexport type MembershipVerdict = 'bridge' | 'not-a-bridge' | 'unadjudicated';\n\n/**\n * A witness as this derivation reads it.\n *\n * Structural, not an import of `Witness`, for two reasons that are findings in\n * their own right (both reported to the Lead):\n *\n * - `Witness.kind` is `'symbolic' | 'numeric' | 'formal'` — there is NO\n * `'dimensional'` member, so `dimension-checked` has no source on today's\n * data. The kind is widened here to include `'dimensional'` so the rule is\n * written once and correctly; it simply never fires until such a witness\n * exists. Widening it is not inventing evidence: no record carries one.\n * - `Witness` records no list of the convention fields a check consumes, so\n * `consumes` is optional here. Absent ⇒ the witness consumes nothing ⇒\n * `convention-checked` cannot be earned. Conservative by construction.\n *\n * @internal\n */\nexport interface WitnessLike {\n readonly id: string;\n readonly kind: 'symbolic' | 'numeric' | 'formal' | 'dimensional';\n /** Convention fields this check actually consumes, when it declares any. */\n readonly consumes?: readonly (keyof Conventions)[];\n}\n\n/**\n * A counterexample as this derivation reads it.\n *\n * `Counterexample` (`src/atlas/types.ts`) carries `description` and `witness`\n * and has NO `resolvedBy` field — so on today's data every counterexample is\n * unresolved. `resolvedBy` is read here as an optional property rather than\n * assumed absent, so that adding it later resolves counterexamples without\n * touching this file. This module adds no field to any type.\n *\n * @internal\n */\nexport interface CounterexampleLike {\n readonly description?: string;\n readonly witness?: string;\n /** Present and non-empty ⇒ the counterexample is resolved and does not contradict. */\n readonly resolvedBy?: string;\n}\n\n/**\n * A rejection as this projection reads it — structural, so this module still\n * imports nothing from `src/bridges`.\n *\n * @internal\n */\nexport interface RejectionLike {\n readonly beId: number;\n readonly reason: string;\n}\n\n/**\n * A row's counterexamples INCLUDING the one its rejection constitutes.\n *\n * ROADMAP §7 Phase 1 asks for \"a `RejectedBridgeAdjudication` ⇒ `contradicted`\n * with the counterexample LINKED\". The linking half is what matters and was\n * missing: BE-35 had a counterexample written by hand and earned `contradicted`\n * honestly, while BE-28, BE-29, BE-32 and BE-40 had none — and an earlier rule\n * papered over that by FORCING `contradicted` onto every rejected row, which\n * manufactured a refutation from nothing (Eve E1).\n *\n * This is the linking done properly. The rejection's own `reason` IS the\n * counterexample: a row rejected for being single-regime is refuted AS A BRIDGE\n * by exactly that argument. Projecting it means `contradicted` is then EARNED\n * through the ordinary derivation rather than asserted by a special case.\n *\n * **It is a projection, not a copy.** The reason string is never duplicated into\n * a catalog row; `bridges/rejected.ts` remains its single source, which is what\n * the ROADMAP means by \"cross-linked ... rather than duplicating it\". The caller\n * supplies the rejection, so this module still owns no view of WHICH ids are\n * rejected.\n *\n * @internal\n */\nexport function counterexamplesWithRejection(\n record: EvidenceInput,\n rejection: RejectionLike | undefined,\n): readonly CounterexampleLike[] {\n const own = record.counterexamples ?? [];\n if (rejection === undefined) return own;\n // Do not double-count. A row may ALREADY cite the rejection by hand — BE-35\n // does, with `witness: 'src/bridges/rejected.ts - REJECTED_BRIDGE_ADJUDICATIONS,\n // beId 35'`. My first predicate matched only the machine key `rejection:<id>`\n // and so missed it, appending the SAME argument a second time in different\n // words, which is exactly the duplication the ROADMAP says to avoid. The\n // predicate therefore accepts either form: the machine key, or any witness\n // that names the rejection registry together with this beId.\n const key = `rejection:${rejection.beId}`;\n const alreadyLinked = own.some((c) => {\n const w = c.witness ?? '';\n if (w === key) return true;\n return w.includes('REJECTED_BRIDGE_ADJUDICATIONS') && w.includes(String(rejection.beId));\n });\n if (alreadyLinked) return own;\n return [\n ...own,\n { description: rejection.reason, witness: `rejection:${rejection.beId}` },\n ];\n}\n\n/** The artifacts a record carries, all optional. @internal */\nexport interface EvidenceInput {\n readonly witnesses?: readonly WitnessLike[];\n readonly conventions?: Conventions;\n readonly counterexamples?: readonly CounterexampleLike[];\n /**\n * The record's formal reference, read for its fidelity, its kind, and its\n * axioms. Structural so a caller can pass an `AtlasBridge` directly. A\n * missing kind cannot be supplied by this function: only `'bridge'` derives\n * `formally-proved`. An axiom list naming `sorryAx` is a proof with a hole\n * (Lean exits 0 on `sorry`; TOOLS.md) and derives no proof label.\n */\n readonly formalRef?: {\n readonly fidelity: FormalFidelity;\n readonly kind: FormalRefKind;\n readonly axioms?: readonly string[];\n };\n}\n\n/**\n * The empty passing set, for a caller that genuinely has nothing marked passing.\n *\n * ⚠ This is EXPORTED and must be passed EXPLICITLY. It used to be a default\n * parameter value, and that was a defect found by post-implementation review\n * (Eve, E1) and confirmed by execution: a record carrying three passing\n * witnesses and a consumed convention derived `{'proposed'}` under the default —\n * byte-identical to an empty record. A caller who simply forgot the argument got\n * an answer indistinguishable from a real negative.\n *\n * That made a catalog-wide check VACUOUS rather than reassuring. \"No row gains\n * evidence\" was the only outcome the call could produce, whatever the rows\n * contained, so the check could not fail and proved nothing. Requiring the\n * argument forces the caller to STATE which witnesses were verified, which is\n * exactly the decision that must never be implicit.\n */\nexport const NO_PASSING_WITNESSES: ReadonlySet<string> = new Set<string>();\n\n/** The axiom Lean 4 records for a proof that contains `sorry`. */\nconst SORRY_AXIOM = 'sorryAx';\n\n/** The fields `Conventions` may declare. Kept in one place so the check is total. */\nconst CONVENTION_FIELDS = [\n 'heatWorkSign',\n 'metricSignature',\n 'fourierNormalization',\n 'unitSystem',\n 'capacitorChargeSign',\n] as const satisfies readonly (keyof Conventions)[];\n\n/** The convention fields a record actually declares (a `undefined` value declares nothing). */\nfunction declaredConventionFields(\n conventions: Conventions | undefined,\n): readonly (keyof Conventions)[] {\n if (conventions === undefined) return [];\n return CONVENTION_FIELDS.filter((field) => conventions[field] !== undefined);\n}\n\n/**\n * Derive the evidence set of one record.\n *\n * @param record - the artifacts the record carries.\n * @param passingWitnessIds - ids of witnesses VERIFIED to pass. REQUIRED: pass\n * {@link NO_PASSING_WITNESSES} explicitly when nothing is verified, so that a\n * vacuous result is a stated choice rather than a forgotten argument.\n * @returns a fresh set; never cached, never stored.\n * @internal\n */\nexport function deriveEvidence(\n record: EvidenceInput,\n passingWitnessIds: ReadonlySet<string>,\n): ReadonlySet<EvidenceTag> {\n const tags = new Set<EvidenceTag>();\n\n const passing = (record.witnesses ?? []).filter((w) => passingWitnessIds.has(w.id));\n\n // Existentials over the passing witnesses — false on the empty set.\n // `symbolically-checked` has exactly ONE derivation: a passing symbolic\n // witness. Which symbolic witnesses pass is DEFINED by the committed results\n // artifact (`data/atlas/witness-results.json`, Phase 4 §3) — the caller feeds\n // it in through `passingWitnessIds` via `artifactPassingWitnessIds`.\n if (passing.some((w) => w.kind === 'dimensional')) tags.add('dimension-checked');\n if (passing.some((w) => w.kind === 'symbolic')) tags.add('symbolically-checked');\n\n // `formally-proved` iff the reference is a reviewed bridge. `'unreviewed'`\n // records a reference without earning a tag — a proof of the wrong statement\n // proves nothing. A property and a cross-check earn their own labels and do\n // not count as a proved bridge. A reduction, a limit, and a derivation-step\n // earn neither. A proof resting on `sorryAx` is a hole, not a proof, and\n // earns none of the three whatever its fidelity says.\n if (\n record.formalRef !== undefined &&\n record.formalRef.fidelity !== 'unreviewed' &&\n !(record.formalRef.axioms ?? []).includes(SORRY_AXIOM)\n ) {\n if (record.formalRef.kind === 'bridge') tags.add('formally-proved');\n else if (record.formalRef.kind === 'property') tags.add('formally-proved-property');\n else if (record.formalRef.kind === 'cross-check') tags.add('formally-proved-cross-check');\n }\n if (passing.some((w) => w.kind === 'numeric')) tags.add('numerically-supported');\n\n // The ONE universal in the table — guarded by non-emptiness. See §3 above.\n const declared = declaredConventionFields(record.conventions);\n if (\n declared.length > 0 &&\n declared.every((field) => passing.some((w) => (w.consumes ?? []).includes(field)))\n ) {\n tags.add('convention-checked');\n }\n\n // Existential: a counterexample with no resolution.\n if (\n (record.counterexamples ?? []).some(\n (c) => c.resolvedBy === undefined || c.resolvedBy === '',\n )\n ) {\n tags.add('contradicted');\n }\n\n if (tags.size === 0) tags.add('proposed');\n return tags;\n}\n\n/**\n * A reviewed bridge whose delimiting counterexample is still unresolved.\n *\n * Both tags stay. This does not clear the counterexample and it does not\n * remove `formally-proved`. Callers that print only the proof tag hide the\n * other one; this is the flag that names the pair.\n *\n * @internal\n */\nexport function provedWithUnresolvedCounterexample(tags: ReadonlySet<EvidenceTag>): boolean {\n return tags.has('formally-proved') && tags.has('contradicted');\n}\n\n/**\n * The artifacts a catalog row may be judged on.\n *\n * A manifest-checked `lean4-physjs` reference of kind `bridge` is included.\n * {@link deriveEvidence} then lights `formally-proved`. A reduction, a limit,\n * a derivation-step, a property, and a cross-check are left off this input,\n * so those rows keep the grade they had. An unadjudicated verdict still\n * returns `proposed` and does not read this reference.\n *\n * @internal\n */\nexport function catalogEvidenceInput(row: {\n readonly id?: number;\n readonly conventions?: Conventions;\n readonly counterexamples?: readonly CounterexampleLike[];\n}): EvidenceInput {\n const formalRef = row.id === undefined ? undefined : catalogFormalRef(row.id);\n const provedBridge =\n formalRef !== undefined &&\n formalRef.system === 'lean4-physjs' &&\n formalRef.fidelity !== 'unreviewed' &&\n formalRef.kind === 'bridge';\n return {\n ...(row.conventions !== undefined ? { conventions: row.conventions } : {}),\n ...(row.counterexamples !== undefined ? { counterexamples: row.counterexamples } : {}),\n ...(provedBridge ? { formalRef } : {}),\n };\n}\n\n/**\n * Derive the evidence set of a catalog row, under the adjudication precedence\n * of design note §4. The verdict is supplied by the caller — it comes from\n * `adjudicateBridgeEntry`, which owns the rejected-id registry\n * (`REJECTED_BRIDGE_IDS`). Reading that registry here would make this file a\n * second source of truth about which ids are rejected.\n *\n * | Verdict | Derives |\n * |---|---|\n * | `'not-a-bridge'` | {@link deriveEvidence} runs normally — see below |\n * | `'unadjudicated'` | `{'proposed'}` only — never a refutation, never support |\n * | `'bridge'` | {@link deriveEvidence} runs normally |\n *\n * ## ⚠ `'not-a-bridge'` no longer forces `'contradicted'` (Eve E1, 2026-09-21)\n *\n * It used to, \"regardless of witnesses\", and that rule — written by me in design\n * note §4 — **violated §3 of the same document.** `contradicted` means THE CLAIM\n * IS REFUTED. `not-a-bridge` means THE ROW IS NOT A REGIME-CROSSING BRIDGE.\n * Those are different assertions about different things, and conflating them made\n * the library report BE-35 as `status: 'established'` and `evidence:\n * {'contradicted'}` in the same breath — from which a reader cannot tell whether\n * the equation is a true in-regime identity the bridge graph ignores, or a\n * refuted statement.\n *\n * Measured when the rule was removed: of the five rejected rows, only **BE-35**\n * carries an actual counterexample, and it derives `{'contradicted'}` NATURALLY\n * through the normal path. **BE-28, BE-29, BE-32 and BE-40 carry none** — the old\n * rule was manufacturing a refutation for four rows with no refuting artifact\n * whatsoever. That is exactly what §3 forbids: a tag is emitted only when the\n * artifact it names is present and passing.\n *\n * Membership already has a single owner — `adjudicateBridgeEntry` — and it does\n * not need restating in the evidence vocabulary. Removing the case leaves each\n * fact with exactly one source, which is what §4 was trying to achieve and this\n * rule was quietly undermining.\n *\n * @internal\n */\nexport function deriveEvidenceForVerdict(\n verdict: MembershipVerdict,\n record: EvidenceInput,\n passingWitnessIds: ReadonlySet<string>,\n): ReadonlySet<EvidenceTag> {\n switch (verdict) {\n // 'not-a-bridge' falls through to the normal derivation on purpose: a row\n // is refuted by a COUNTEREXAMPLE, not by failing a membership test. See the\n // block comment above for the measurement that forced this change.\n case 'not-a-bridge':\n return deriveEvidence(record, passingWitnessIds);\n case 'unadjudicated':\n return new Set<EvidenceTag>(['proposed']);\n case 'bridge':\n return deriveEvidence(record, passingWitnessIds);\n }\n}\n\n/**\n * The evidence set of a COMPOSITE claim, derived from its parts' sets: every\n * step of a route and every norm transport it applied\n * (`docs/planning/ADR-transported-norm-composition.md` §4).\n *\n * - A positive tag survives only if EVERY part carries it: a chain is never\n * better supported than its weakest link, so the composite is the\n * intersection. `formally-proved` therefore needs a proof of every part; a\n * transport declaration's set holds at most its numeric or symbolic basis, so\n * no route through one is formally proved.\n * - `contradicted` survives if ANY part carries it: a refuted part refutes the\n * chain that rests on it.\n * - With no positive tag left, the composite is `{'proposed'}` (plus\n * `contradicted` when present). An unwitnessed declaration contributes\n * `{'proposed'}` and so caps the composite there.\n *\n * @throws RangeError on no parts: a composite of nothing has no evidence to state.\n * @internal\n */\nexport function deriveCompositeEvidence(parts: readonly ReadonlySet<EvidenceTag>[]): ReadonlySet<EvidenceTag> {\n if (parts.length === 0) {\n throw new RangeError('deriveCompositeEvidence: a composite of no parts has no evidence to derive');\n }\n const positive = (s: ReadonlySet<EvidenceTag>) => [...s].filter((t) => t !== 'proposed' && t !== 'contradicted');\n let common = new Set(positive(parts[0]!));\n for (const part of parts.slice(1)) common = new Set(positive(part).filter((t) => common.has(t)));\n const tags = new Set<EvidenceTag>(common);\n if (parts.some((p) => p.has('contradicted'))) tags.add('contradicted');\n if (common.size === 0) tags.add('proposed');\n return tags;\n}\n"]}
|
|
@@ -20,14 +20,10 @@
|
|
|
20
20
|
* @module atlas/diffusion/bridges-closure
|
|
21
21
|
*/
|
|
22
22
|
import type { AtlasBridge } from '../types.js';
|
|
23
|
-
/** τ_p/t ceiling of the Langevin → Fick regime: WD4's fine resolution, t = 100 τ_p. @internal */
|
|
24
|
-
export declare const LANGEVIN_MAX_TAU_RATIO = 0.01;
|
|
25
23
|
/** ε = τDq² ceiling of the telegraph → Fick domain. @internal */
|
|
26
24
|
export declare const TELEGRAPH_FICK_MAX_EPS = 0.05;
|
|
27
25
|
/** ε = τDq² floor of the telegraph → wave domain. @internal */
|
|
28
26
|
export declare const TELEGRAPH_WAVE_MIN_EPS = 25;
|
|
29
|
-
/** Fourier-number floor of the steady-state restriction. @internal */
|
|
30
|
-
export declare const STEADY_MIN_FOURIER = 1;
|
|
31
27
|
/** Bridge: Langevin → Fick, the Einstein coarse-graining D = k_BT/γ. @internal */
|
|
32
28
|
export declare const BRIDGE_LANGEVIN_DIFFUSION: AtlasBridge;
|
|
33
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY/C,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAuBzC,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,EAAE,WAyDvC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,WA4DpC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,WA0ExC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAkDnC,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,EAAE,WAqCjC,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,yBAAyB,EAAE,SAAS,WAAW,EAM3D,CAAC"}
|
|
@@ -22,29 +22,25 @@
|
|
|
22
22
|
import { ENERGY, LENGTH, MASS, TIME, VELOCITY } from '../../dimensional/types.js';
|
|
23
23
|
import { makeApproximation } from '../oscillators/bridges-limits.js';
|
|
24
24
|
import { DAMPING } from '../oscillators/dimensions.js';
|
|
25
|
-
import {
|
|
25
|
+
import { makeRegime } from '../regime.js';
|
|
26
26
|
import { physjsFormalRef } from '../physjs-ref.js';
|
|
27
27
|
import { WAVENUMBER } from '../waves/models.js';
|
|
28
28
|
import { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';
|
|
29
29
|
import { DIFFUSION_FAMILY_NAME, VISCOSITY } from './models.js';
|
|
30
|
-
import {
|
|
30
|
+
import { telegraphSlowRateExcess, telegraphWaveFrequencyRatio } from './numerics.js';
|
|
31
31
|
const TEST = 'tests/atlas/closure.test.ts';
|
|
32
32
|
const WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';
|
|
33
33
|
/** τ_p/t ceiling of the Langevin → Fick regime: WD4's fine resolution, t = 100 τ_p. @internal */
|
|
34
|
-
|
|
34
|
+
const LANGEVIN_MAX_TAU_RATIO = 0.01;
|
|
35
35
|
/** ε = τDq² ceiling of the telegraph → Fick domain. @internal */
|
|
36
36
|
export const TELEGRAPH_FICK_MAX_EPS = 0.05;
|
|
37
37
|
/** ε = τDq² floor of the telegraph → wave domain. @internal */
|
|
38
38
|
export const TELEGRAPH_WAVE_MIN_EPS = 25;
|
|
39
39
|
/** Fourier-number floor of the steady-state restriction. @internal */
|
|
40
|
-
|
|
40
|
+
const STEADY_MIN_FOURIER = 1;
|
|
41
41
|
const regime = (parameters, inequalities) => regimeWithInputs(parameters, [], inequalities);
|
|
42
42
|
/** A regime whose coordinates also include dimensionless model inputs (such as Re). */
|
|
43
|
-
const regimeWithInputs = (parameters, dimensionlessInputs, inequalities) => (
|
|
44
|
-
family: DIFFUSION_FAMILY_NAME,
|
|
45
|
-
inequalities,
|
|
46
|
-
groupDefinitions: deriveRegimeGroups(DIFFUSION_FAMILY_NAME, parameters, dimensionlessInputs),
|
|
47
|
-
});
|
|
43
|
+
const regimeWithInputs = (parameters, dimensionlessInputs, inequalities) => makeRegime(DIFFUSION_FAMILY_NAME, parameters, dimensionlessInputs, inequalities);
|
|
48
44
|
/** Reynolds-number ceiling of the Stokes–Einstein derivation: a chosen threshold for Re ≪ 1. @internal */
|
|
49
45
|
const STOKES_MAX_RE = 0.1;
|
|
50
46
|
/** Ceiling of τ_p/t = m/(γt) for the overdamped limit: a chosen threshold for ≪ 1. @internal */
|
|
@@ -84,7 +80,6 @@ export const BRIDGE_LANGEVIN_DIFFUSION = {
|
|
|
84
80
|
witness: 'WD4b',
|
|
85
81
|
},
|
|
86
82
|
],
|
|
87
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
88
83
|
witnesses: [
|
|
89
84
|
{
|
|
90
85
|
id: 'WD4',
|
|
@@ -148,7 +143,6 @@ export const BRIDGE_STOKES_EINSTEIN = {
|
|
|
148
143
|
},
|
|
149
144
|
]),
|
|
150
145
|
counterexamples: [],
|
|
151
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
152
146
|
witnesses: [
|
|
153
147
|
{
|
|
154
148
|
id: 'WD5',
|
|
@@ -195,8 +189,8 @@ export const BRIDGE_TELEGRAPH_DIFFUSION = {
|
|
|
195
189
|
sideConditions: ['ε = τDq² ≤ 0.05', 'after the initial layer: t ≫ τ'],
|
|
196
190
|
bound: makeApproximation({
|
|
197
191
|
K: 1,
|
|
198
|
-
delta:
|
|
199
|
-
deltaAt: (p) =>
|
|
192
|
+
delta: telegraphSlowRateExcess(TELEGRAPH_FICK_MAX_EPS, 1, 1),
|
|
193
|
+
deltaAt: (p) => telegraphSlowRateExcess(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN),
|
|
200
194
|
deltaAtBasis: 'closed-form',
|
|
201
195
|
norm: 'relative error of the slow-mode decay rate of a Fourier mode, normalized by the value of the reduced model',
|
|
202
196
|
domain: 'ε = τDq² ≤ 0.05',
|
|
@@ -206,7 +200,7 @@ export const BRIDGE_TELEGRAPH_DIFFUSION = {
|
|
|
206
200
|
const { tau, D, q } = p;
|
|
207
201
|
if (tau === undefined || D === undefined || q === undefined)
|
|
208
202
|
return false;
|
|
209
|
-
const delta =
|
|
203
|
+
const delta = telegraphSlowRateExcess(tau, D, q);
|
|
210
204
|
if (!Number.isFinite(delta))
|
|
211
205
|
return false;
|
|
212
206
|
if (t <= 5 * tau)
|
|
@@ -231,7 +225,6 @@ export const BRIDGE_TELEGRAPH_DIFFUSION = {
|
|
|
231
225
|
witness: 'WD6b',
|
|
232
226
|
},
|
|
233
227
|
],
|
|
234
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
235
228
|
witnesses: [
|
|
236
229
|
{
|
|
237
230
|
id: 'WD6',
|
|
@@ -293,7 +286,6 @@ export const BRIDGE_TELEGRAPH_WAVE = {
|
|
|
293
286
|
{ name: 'c', dim: VELOCITY },
|
|
294
287
|
], [{ group: 'tau · D · q^2', op: '>=', bound: TELEGRAPH_WAVE_MIN_EPS, alias: 'ε = τDq² ≥ 25' }]),
|
|
295
288
|
counterexamples: [],
|
|
296
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
297
289
|
witnesses: [
|
|
298
290
|
{
|
|
299
291
|
id: 'WD7',
|
|
@@ -331,7 +323,6 @@ export const BRIDGE_HEAT_LAPLACE = {
|
|
|
331
323
|
},
|
|
332
324
|
]),
|
|
333
325
|
counterexamples: [],
|
|
334
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
335
326
|
witnesses: [
|
|
336
327
|
{
|
|
337
328
|
id: 'WD8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4 — the five diffusion-family bridges added to close Sprint 4's\n * \"≥ 20 bridges\" exit criterion.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4 (Sprint 4 closure).\n *\n * | Bridge | Relation | Witnesses |\n * |---|---|---|\n * | Langevin → Fick | `coarse-graining` | WD4 (convergence), WD4b (ballistic regime) |\n * | Langevin + Stokes drag → Fick | `derivation`, **hyperedge** | WD5 (canonical + water), WD5s (CAS) |\n * | telegraph → Fick | `approximation` (singular, τ → 0) | WD6 (convergence), WD6b (oscillatory modes) |\n * | telegraph → 1-D wave | `approximation` (τDq² → ∞, t ≪ τ) | WD7 (convergence) |\n * | heat → Laplace | `restriction` (steady state) | WD8 (convergence in time) |\n *\n * Every regime inequality keys a `PiGroup.formula` derived from the dimension\n * matrix. Every `delta` is the EXACT error at its domain edge; every error\n * function used for it is monotone on the domain, so the edge value is the\n * supremum.\n *\n * @module atlas/diffusion/bridges-closure\n */\n\nimport { ENERGY, LENGTH, MASS, TIME, VELOCITY } from '../../dimensional/types.js';\nimport { makeApproximation } from '../oscillators/bridges-limits.js';\nimport { DAMPING } from '../oscillators/dimensions.js';\nimport { makeRegime } from '../regime.js';\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport type { AtlasBridge } from '../types.js';\nimport { WAVENUMBER } from '../waves/models.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\nimport { DIFFUSION_FAMILY_NAME, VISCOSITY } from './models.js';\nimport { telegraphSlowRateExcess, telegraphWaveFrequencyRatio } from './numerics.js';\n\nconst TEST = 'tests/atlas/closure.test.ts';\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/** τ_p/t ceiling of the Langevin → Fick regime: WD4's fine resolution, t = 100 τ_p. @internal */\nconst LANGEVIN_MAX_TAU_RATIO = 0.01;\n\n/** ε = τDq² ceiling of the telegraph → Fick domain. @internal */\nexport const TELEGRAPH_FICK_MAX_EPS = 0.05;\n\n/** ε = τDq² floor of the telegraph → wave domain. @internal */\nexport const TELEGRAPH_WAVE_MIN_EPS = 25;\n\n/** Fourier-number floor of the steady-state restriction. @internal */\nconst STEADY_MIN_FOURIER = 1;\n\nconst regime = (\n parameters: readonly { name: string; dim: import('../../dimensional/types.js').Dimension }[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => regimeWithInputs(parameters, [], inequalities);\n\n/** A regime whose coordinates also include dimensionless model inputs (such as Re). */\nconst regimeWithInputs = (\n parameters: readonly { name: string; dim: import('../../dimensional/types.js').Dimension }[],\n dimensionlessInputs: readonly string[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => makeRegime(DIFFUSION_FAMILY_NAME, parameters, dimensionlessInputs, inequalities);\n\n/** Reynolds-number ceiling of the Stokes–Einstein derivation: a chosen threshold for Re ≪ 1. @internal */\nconst STOKES_MAX_RE = 0.1;\n\n/** Ceiling of τ_p/t = m/(γt) for the overdamped limit: a chosen threshold for ≪ 1. @internal */\nconst STOKES_MAX_TAU_RATIO = 0.01;\n\n/** Bridge: Langevin → Fick, the Einstein coarse-graining D = k_BT/γ. @internal */\nexport const BRIDGE_LANGEVIN_DIFFUSION: AtlasBridge = {\n id: 'ab-langevin-diffusion',\n relation: 'coarse-graining',\n premises: ['model-langevin'],\n conclusion: 'model-fick',\n transformation: 'average over times t ≫ τ_p = m/γ: ⟨x²⟩ → 2Dt with D = k_B T/γ (Einstein)',\n preserves: ['the long-time mean-square displacement', 'the equilibrium velocity variance k_B T/m'],\n doesNotPreserve: [\n 'the velocity as a state variable',\n 'the ballistic regime t ≲ τ_p, where ⟨x²⟩ ≈ (k_B T/m) t²',\n 'the momentum relaxation time τ_p as an independent scale',\n ],\n sideConditions: ['overdamped observation times: τ_p/t ≪ 1', 'white thermal noise, fluctuation–dissipation 2γk_BT'],\n regime: regime(\n [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 'kT', dim: ENERGY },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 't', dim: TIME },\n ],\n [\n {\n group: 'm · gamma^-1 · t^-1',\n op: '<=',\n bound: LANGEVIN_MAX_TAU_RATIO,\n alias: 'τ_p/t ≪ 1 (machine form ≤ 0.01)',\n },\n ],\n ),\n counterexamples: [\n {\n description:\n 'At t = 0.1 τ_p the Langevin mean-square displacement is 0.048 of 2Dt: the particle is ' +\n 'still ballistic, ⟨x²⟩ ≈ (k_BT/m)t², and the diffusion model does not describe it.',\n witness: 'WD4b',\n },\n ],\n witnesses: [\n {\n id: 'WD4',\n kind: 'numeric',\n test: TEST,\n tolerance: '⟨x²⟩/(2Dt) within 0.02 of 1 at t = 100 τ_p, from the Langevin moment equations by RK4',\n },\n {\n id: 'WD4b',\n kind: 'numeric',\n test: TEST,\n tolerance: '⟨x²⟩/(2Dt) = 0.0484 at t = 0.1 τ_p',\n },\n ],\n citations: [\n 'Uhlenbeck & Ornstein, Phys. Rev. 36 (1930) 823 - On the theory of the Brownian motion',\n 'Einstein, Ann. Phys. 17 (1905) 549 - the relation D = k_B T/γ',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: Langevin + Stokes drag → Fick with the Stokes–Einstein coefficient.\n *\n * A HYPEREDGE: the Langevin model supplies D = k_BT/γ with γ free; Stokes drag\n * supplies γ = 6πηa for a sphere. Neither alone gives D in terms of the fluid.\n *\n * @internal\n */\nexport const BRIDGE_STOKES_EINSTEIN: AtlasBridge = {\n id: 'ab-stokes-einstein',\n relation: 'derivation',\n premises: ['model-langevin', 'model-stokes-drag'],\n conclusion: 'model-fick',\n transformation: 'substitute γ = 6πηa into D = k_B T/γ: D = k_B T/(6πηa)',\n preserves: ['the long-time diffusion coefficient of a sphere'],\n doesNotPreserve: ['the particle mass (it drops out)', 'the shape beyond the radius a'],\n sideConditions: [\n 'creeping flow around the sphere, Re ≪ 1 (machine form Re ≤ 0.1: a chosen threshold for \"≪ 1\")',\n 'no-slip boundary',\n 'overdamped times t ≫ m/γ (machine form m/(γt) ≤ 0.01: a chosen threshold for \"≪ 1\", as in ab-langevin-diffusion)',\n ],\n // The prose conditions were not machine-checked, so `upt regime` reported this\n // bridge VACUOUS and \"valid\" at Re = 1000 (persona finding L8). Re is a\n // dimensionless input of the flow; m/(γt) is listed first so its π-group key is\n // the one ab-langevin-diffusion uses, and one --at value checks both bridges.\n regime: regimeWithInputs(\n [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 't', dim: TIME },\n { name: 'kT', dim: ENERGY },\n { name: 'eta', dim: VISCOSITY },\n { name: 'a', dim: LENGTH },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n ['Re'],\n [\n { group: 'Re', op: '<=', bound: STOKES_MAX_RE, alias: 'Re ≪ 1 (machine form Re ≤ 0.1)' },\n {\n group: 'm · gamma^-1 · t^-1',\n op: '<=',\n bound: STOKES_MAX_TAU_RATIO,\n alias: 'τ_p/t ≪ 1 (machine form m/(γt) ≤ 0.01)',\n },\n ],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD5',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'agrees with CE-stokes-einstein to 1e-12 relative; a sphere of radius a = 0.5 µm (1 µm diameter) in water ' +\n 'at T = 293.15 K, η = 1.0016e-3 Pa·s gives D = 4.29e-13 m²/s',\n },\n {\n id: 'WD5s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: k_BT/γ under γ ↦ 6πηa minus k_BT/(6πηa) simplifies to literal 0',\n },\n ],\n citations: [\n 'Einstein, Ann. Phys. 17 (1905) 549 - Brownian motion of a sphere, D = k_B T/(6πηa)',\n 'Stokes, Trans. Camb. Phil. Soc. 9 (1851) 8 - the drag on a sphere in creeping flow',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: telegraph → Fick, the SINGULAR limit τ → 0.\n *\n * Singular because the highest time derivative is lost: the telegraph equation\n * needs two initial conditions and diffusion takes one, so a fast mode\n * `e^{−t/τ}` forms an initial layer. The bound therefore holds only AFTER that\n * layer, and the machine horizon has a LOWER edge as well as an upper one.\n *\n * @internal\n */\nexport const BRIDGE_TELEGRAPH_DIFFUSION: AtlasBridge = {\n id: 'ab-telegraph-diffusion',\n relation: 'approximation',\n premises: ['model-telegraph'],\n conclusion: 'model-fick',\n transformation: 'drop τ u_tt: the slow mode decays at Dq²(1 + ε + 2ε² + …) → Dq², ε = τDq²',\n preserves: ['the slow decay rate of each Fourier mode to O(ε)', 'the total amount ∫u dx'],\n doesNotPreserve: [\n 'the finite signal speed √(D/τ)',\n 'the second initial condition u_t(x, 0)',\n 'oscillatory modes, which exist for ε > 1/4',\n ],\n sideConditions: ['ε = τDq² ≤ 0.05', 'after the initial layer: t ≫ τ'],\n bound: makeApproximation({\n K: 1,\n delta: telegraphSlowRateExcess(TELEGRAPH_FICK_MAX_EPS, 1, 1),\n deltaAt: (p) =>\n telegraphSlowRateExcess(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN),\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the slow-mode decay rate of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ε = τDq² ≤ 0.05',\n horizon:\n 'τ ≪ t ≪ 1/(δ D q²): after the initial layer and before the decay-rate error accumulates; ' +\n 'machine form 5τ < t < 0.1/(δ D q²)',\n horizonHolds: (t, p) => {\n const { tau, D, q } = p;\n if (tau === undefined || D === undefined || q === undefined) return false;\n const delta = telegraphSlowRateExcess(tau, D, q);\n if (!Number.isFinite(delta)) return false;\n if (t <= 5 * tau) return false;\n return delta === 0 || t < 0.1 / (delta * D * q * q);\n },\n parameterRange: 'ε = τDq² ≤ 0.05',\n limitCharacter: 'singular',\n // A slow-mode decay-rate error. The horizon says that error accumulates,\n // so time is not listed.\n uniformity: ['slow-mode decay rate of one Fourier mode, for ε = τDq² ≤ 0.05'],\n }),\n regime: regime(\n [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'q', dim: WAVENUMBER },\n ],\n [{ group: 'tau · D · q^2', op: '<=', bound: TELEGRAPH_FICK_MAX_EPS, alias: 'ε = τDq² ≤ 0.05' }],\n ),\n counterexamples: [\n {\n description:\n 'At ε = τDq² = 1 the telegraph mode is OSCILLATORY (complex rate, NaN on the slow branch): ' +\n 'no diffusion mode oscillates.',\n witness: 'WD6b',\n },\n ],\n witnesses: [\n {\n id: 'WD6',\n kind: 'numeric',\n test: TEST,\n tolerance: 'slow rate / Dq² within 0.03 of 1 at τ = 0.025 (D = q = 1); error halves with τ',\n },\n {\n id: 'WD6b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'no real slow rate at ε = 1',\n },\n ],\n citations: [\n 'Cattaneo, Atti Sem. Mat. Fis. Univ. Modena 3 (1948) 83 - heat conduction with a relaxation time',\n 'Goldstein, Q. J. Mech. Appl. Math. 4 (1951) 129 - On diffusion by discontinuous movements, and on the telegraph equation',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-telegraph-diffusion'),\n};\n\n/**\n * Bridge: telegraph → 1-D wave, for strongly underdamped modes over short times.\n *\n * @internal\n */\nexport const BRIDGE_TELEGRAPH_WAVE: AtlasBridge = {\n id: 'ab-telegraph-wave',\n relation: 'approximation',\n premises: ['model-telegraph'],\n conclusion: 'model-wave-1d',\n transformation: 'drop u_t: τ u_tt = D u_xx, a wave with c² = D/τ',\n preserves: ['the signal speed √(D/τ)', 'the oscillation frequency to O(1/ε)'],\n doesNotPreserve: ['damping: telegraph modes decay as e^{−t/(2τ)}', 'relaxation to diffusion at long times'],\n sideConditions: ['ε = τDq² ≥ 25', 'short times t ≪ τ (the bound is not uniform in time)'],\n bound: makeApproximation({\n K: 1,\n delta: 1 - telegraphWaveFrequencyRatio(TELEGRAPH_WAVE_MIN_EPS, 1, 1),\n deltaAt: (p) =>\n 1 - telegraphWaveFrequencyRatio(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN),\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the oscillation frequency of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ε = τDq² ≥ 25',\n horizon:\n 't ≪ τ: before damping e^{−t/(2τ)} removes 10% of the amplitude; machine form t < 2τ ln(10/9)',\n horizonHolds: (t, p) => {\n const { tau } = p;\n if (tau === undefined || !(tau > 0)) return false;\n return t >= 0 && t < 2 * tau * Math.log(10 / 9);\n },\n parameterRange: 'ε = τDq² ≥ 25',\n limitCharacter: 'regular',\n // An oscillation-frequency error. The record says it is not uniform in time.\n uniformity: ['oscillation frequency of one Fourier mode, for ε = τDq² ≥ 25'],\n }),\n regime: regime(\n [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'q', dim: WAVENUMBER },\n { name: 'c', dim: VELOCITY },\n ],\n [{ group: 'tau · D · q^2', op: '>=', bound: TELEGRAPH_WAVE_MIN_EPS, alias: 'ε = τDq² ≥ 25' }],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD7',\n kind: 'numeric',\n test: TEST,\n tolerance: 'frequency ratio within 3e-3 of 1 at ε = 50; error halves as ε doubles',\n },\n ],\n citations: ['Goldstein, Q. J. Mech. Appl. Math. 4 (1951) 129 - On diffusion by discontinuous movements, and on the telegraph equation'],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-telegraph-wave'),\n};\n\n/** Bridge: heat → Laplace, the steady-state restriction. @internal */\nexport const BRIDGE_HEAT_LAPLACE: AtlasBridge = {\n id: 'ab-heat-laplace',\n relation: 'restriction',\n premises: ['model-heat'],\n conclusion: 'model-laplace-1d',\n transformation: '∂T/∂t = 0: κ T_xx = 0, T linear between the end temperatures',\n preserves: ['the end temperatures', 'the steady heat flux κ(T_b − T_a)/ℓ'],\n doesNotPreserve: ['the transient', 'ρ and c_p, which drop out of the steady state'],\n sideConditions: ['fixed end temperatures', 'Fourier number αt/ℓ² ≥ 1 (transients decayed)'],\n regime: regime(\n [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'ell', dim: LENGTH },\n { name: 't', dim: TIME },\n ],\n [\n {\n group: 'kappa · rho^-1 · cp^-1 · ell^-2 · t',\n op: '>=',\n bound: STEADY_MIN_FOURIER,\n alias: 'Fo = αt/ℓ² ≥ 1',\n },\n ],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD8',\n kind: 'numeric',\n test: TEST,\n tolerance: 'max deviation from the linear profile below 0.025 at αt/ℓ² = 0.4; shrinks with time',\n },\n ],\n citations: ['Carslaw & Jaeger, Conduction of Heat in Solids - steady linear flow in a slab'],\n reviewStatus: 'proposed',\n};\n\n/** The diffusion-family closure bridges. @internal */\nexport const DIFFUSION_CLOSURE_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_LANGEVIN_DIFFUSION,\n BRIDGE_STOKES_EINSTEIN,\n BRIDGE_TELEGRAPH_DIFFUSION,\n BRIDGE_TELEGRAPH_WAVE,\n BRIDGE_HEAT_LAPLACE,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,WAoEnC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,EAAE,WAuDnC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,EAAE,WA+D1C,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,SAAS,WAAW,EAInD,CAAC"}
|