universal-physics-tensor 9.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -16
- package/data/atlas/atlas.json +55 -44
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +19 -18
- package/data/atlas/oscillators.json +15 -10
- package/data/atlas/waves.json +23 -18
- package/data/bridge-catalog.json +886 -1473
- package/data/bridge-catalog.schema.json +349 -132
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +15 -8
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +79 -45
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +143 -62
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +171 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +48 -24
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +15 -2
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +49 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +27 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +90 -10
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +5 -1
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +18 -3
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.js.map +1 -1
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.js.map +1 -1
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +4 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +2 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +2 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +29 -22
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +42 -7
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +1 -3
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -20
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +42 -17
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +15 -9
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +13 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +53 -31
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +14 -7
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +40 -10
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +82 -89
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -18
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +24 -26
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +13 -9
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +1 -1
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.js +1 -1
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +15 -9
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +14 -13
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -18
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +57 -47
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +8 -9
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +25 -67
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +153 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +21 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +81 -21
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -8
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +24 -11
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +46 -13
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +6 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +4 -3
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +11 -4
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +34 -9
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +8 -8
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +8 -10
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +1 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +31 -7
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +10 -6
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +16 -4
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts.map +1 -1
- package/dist/dimensional/constant-rows.js +9 -5
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +7 -2
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts.map +1 -1
- package/dist/dimensional/unit-data.js +9 -5
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +50 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -20
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +5 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +41 -42
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +13 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +126 -248
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -8,50 +8,27 @@
|
|
|
8
8
|
* `tests/atlas/physjs-manifest.test.ts` fails when the file and that table disagree
|
|
9
9
|
* on the commit, a theorem, a key, or the coverage phrase.
|
|
10
10
|
*
|
|
11
|
-
* The commit is `PHYSJS_COMMIT`, copied from the manifest.
|
|
12
|
-
* the pin
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* twenty-one counted catalog entries, keyed `be-<n>`. BE-20 is the nested
|
|
29
|
-
* `corollary` on `be-13` and has no key. Each statement's `kind`, nested ones
|
|
30
|
-
* included, is the manifest's own field (schema `physjs-bridge-manifest/v2`),
|
|
31
|
-
* which PhysJS reads from the kind line of the Lean file that declares the
|
|
32
|
-
* theorem; this module keeps no
|
|
33
|
-
* override and does not parse the covers line for it. The sentence that a
|
|
34
|
-
* counted covers line begins with `reduction`, `limit`, or `derivation-step`,
|
|
35
|
-
* and that a catalog entry's `formalKind` overrides that word, is the record
|
|
36
|
-
* from before that schema. A field of a manifest entry outside the
|
|
37
|
-
* base fields is a nested statement: a second theorem on the same entry,
|
|
38
|
-
* named by the field, with no key. It is recorded and compared, and it is not
|
|
39
|
-
* a `formalRef`. The generator reads it by its shape, so a new nested name
|
|
40
|
-
* needs no edit here. The sentence that the nested names are a fixed list in
|
|
41
|
-
* this module and in the generator is the record from before that change.
|
|
42
|
-
* PhysJS #66 adds be-103 through be-125. The sentence that the pin is
|
|
43
|
-
* `03e8bb77c952f720bdd2730af2afc6a7f2d36243` and that the table stops at
|
|
44
|
-
* be-102 is the record from before that pin. PhysJS #67 adds be-126 through
|
|
45
|
-
* be-133. The sentence that the pin is
|
|
46
|
-
* `d519c2c6504e7fbbd2cf6932f9e52981ce595a0f` and that the table stops at
|
|
47
|
-
* be-125 is the record from before that pin. PhysJS #68 adds be-134 through
|
|
48
|
-
* be-146. The sentence that the pin is
|
|
49
|
-
* `8515c621d1c6e6d31c2eea4467181eb85d58234b` and that the table stops at
|
|
50
|
-
* be-133 is the record from before that pin.
|
|
11
|
+
* The commit is `PHYSJS_COMMIT`, copied from the manifest. Which PhysJS pull
|
|
12
|
+
* request added which keys, and what the pin was before, is history and lives
|
|
13
|
+
* in `NOTES.md` and `CHANGELOG.md`, not here.
|
|
14
|
+
*
|
|
15
|
+
* Each statement's `kind`, nested ones included, is the manifest's own field
|
|
16
|
+
* (schema `physjs-bridge-manifest/v2`), which PhysJS reads from the kind line
|
|
17
|
+
* of the Lean file that declares the theorem; this module keeps no override
|
|
18
|
+
* and does not parse the covers line for it. A field of a manifest entry
|
|
19
|
+
* outside the base fields is a nested statement: a second theorem on the same
|
|
20
|
+
* entry, named by the field, with no key. It is recorded and compared, and it
|
|
21
|
+
* is not a `formalRef`. The generator reads it by its shape, so a new nested
|
|
22
|
+
* name needs no edit here.
|
|
23
|
+
*
|
|
24
|
+
* A reference's `fidelity` is DERIVED here, never typed on a record:
|
|
25
|
+
* `physjsFidelity` reads the reviewed-row table (`physjs-reviewed.ts`) and the
|
|
26
|
+
* sanity-lemma key list, and a key ahead of the catalog, or whose row is not
|
|
27
|
+
* in that table, is `'unreviewed'`.
|
|
51
28
|
*
|
|
52
29
|
* @module atlas/physjs-ref
|
|
53
30
|
*/
|
|
54
|
-
import type { FormalRef, FormalRefKind } from './types.js';
|
|
31
|
+
import type { FormalFidelity, FormalRef, FormalRefKind } from './types.js';
|
|
55
32
|
/**
|
|
56
33
|
* PhysJS commit the vendored manifest records.
|
|
57
34
|
*
|
|
@@ -178,9 +155,62 @@ export declare function bridgeSeedKeys(entries?: readonly {
|
|
|
178
155
|
}[]): readonly string[];
|
|
179
156
|
/** Every manifest key ahead of the catalog, in manifest order. @internal */
|
|
180
157
|
export declare function physjsKeysAheadOfCatalog(): readonly string[];
|
|
158
|
+
/** The fields of one manifest row that a review reads, nested statements included. @internal */
|
|
159
|
+
export interface PhysjsReviewedRow {
|
|
160
|
+
readonly key: string;
|
|
161
|
+
readonly theorem: string;
|
|
162
|
+
readonly kind: string;
|
|
163
|
+
readonly covers: string;
|
|
164
|
+
readonly leanProof: string;
|
|
165
|
+
readonly axioms: readonly string[];
|
|
166
|
+
readonly nested: readonly {
|
|
167
|
+
readonly name: string;
|
|
168
|
+
readonly theorem: string;
|
|
169
|
+
readonly kind: string;
|
|
170
|
+
readonly covers: string;
|
|
171
|
+
readonly leanProof: string;
|
|
172
|
+
readonly axioms: readonly string[];
|
|
173
|
+
}[];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* The row of a manifest entry as PhysJS writes it, in the shape
|
|
177
|
+
* {@link physjsRowHash} reads. @internal
|
|
178
|
+
*/
|
|
179
|
+
export declare function physjsManifestRow(entry: PhysjsManifestEntry): PhysjsReviewedRow;
|
|
180
|
+
/**
|
|
181
|
+
* SHA-256 of one row: `[key, theorem, kind, covers, leanProof, axioms,
|
|
182
|
+
* nested[]]`, each nested statement as `[name, theorem, kind, covers,
|
|
183
|
+
* leanProof, axioms]`. A swapped theorem or key, a changed kind, a reworded
|
|
184
|
+
* covers line, a proof status, an axiom, or a nested statement changes it.
|
|
185
|
+
* This is what `physjs-reviewed.ts` pins per key.
|
|
186
|
+
*
|
|
187
|
+
* @internal
|
|
188
|
+
*/
|
|
189
|
+
export declare function physjsRowHash(row: PhysjsReviewedRow): string;
|
|
190
|
+
/**
|
|
191
|
+
* The fidelity a manifest key earns, derived from what checks it:
|
|
192
|
+
*
|
|
193
|
+
* - `'unreviewed'` when the key is ahead of the catalog
|
|
194
|
+
* ({@link physjsAheadOfCatalog}): no bridge exists to read the row against;
|
|
195
|
+
* - `'unreviewed'` when the compiled row's hash is not the one
|
|
196
|
+
* `PHYSJS_REVIEWED_ROWS` records for the key, or the key has no entry there;
|
|
197
|
+
* - `'sanity-lemmas'` when the row is reviewed AND the key is in
|
|
198
|
+
* `PHYSJS_SANITY_LEMMA_KEYS`, whose statements
|
|
199
|
+
* `tests/atlas/formal-sanity.test.ts` instantiates on known cases;
|
|
200
|
+
* - `'reviewed-manifest'` when the row is reviewed and no sanity lemma exists.
|
|
201
|
+
*
|
|
202
|
+
* A key the manifest does not name throws, like {@link physjsFormalRef}.
|
|
203
|
+
*
|
|
204
|
+
* @internal
|
|
205
|
+
*/
|
|
206
|
+
export declare function physjsFidelity(key: string,
|
|
207
|
+
/** Defaults to the generated table. A test passes a mutated copy. */
|
|
208
|
+
compiledEntries?: readonly PhysjsEntry[]): FormalFidelity;
|
|
181
209
|
/**
|
|
182
|
-
* The
|
|
183
|
-
* entry, so a typo cannot ship a bridge with no reference.
|
|
210
|
+
* The reference for a manifest key, with its derived fidelity. Throws when
|
|
211
|
+
* the key is not an entry, so a typo cannot ship a bridge with no reference.
|
|
212
|
+
* A key ahead of the catalog, or whose row is not reviewed, is returned
|
|
213
|
+
* `'unreviewed'` and derives no proof tag.
|
|
184
214
|
*
|
|
185
215
|
* @internal
|
|
186
216
|
*/
|
|
@@ -195,10 +225,14 @@ export declare function physjsFormalRef(key: string): FormalRef;
|
|
|
195
225
|
* is a problem: the gate does not skip that system. A nested object is kept
|
|
196
226
|
* and compared; naming it as the `formalRef` is a problem. The top-level
|
|
197
227
|
* theorem stays the reference. The reference's kind is the entry's
|
|
198
|
-
* `kind`; a kind outside the formal-reference kinds is a problem.
|
|
228
|
+
* `kind`; a kind outside the formal-reference kinds is a problem. An axiom
|
|
229
|
+
* outside {@link PHYSJS_ALLOWED_AXIOMS} on any statement is a problem. A `be-`
|
|
199
230
|
* key in the unbroken run above the catalog's highest id is ahead of the
|
|
200
231
|
* catalog and is not a problem (`physjsAheadOfCatalog`); any other key with
|
|
201
|
-
* no bridge is.
|
|
232
|
+
* no bridge is. Every structural check (fields, kinds, coverage, proof
|
|
233
|
+
* status, axioms, Lean file, compiled copy) runs for every entry, ahead keys
|
|
234
|
+
* included; only the checks against a bridge's reference are skipped for a
|
|
235
|
+
* key that has no bridge yet.
|
|
202
236
|
*
|
|
203
237
|
* @internal
|
|
204
238
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physjs-ref.d.ts","sourceRoot":"","sources":["../../src/atlas/physjs-ref.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"physjs-ref.d.ts","sourceRoot":"","sources":["../../src/atlas/physjs-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAY3E;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAgB9D,2EAA2E;AAC3E,UAAU,eAAe;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAQD,+FAA+F;AAC/F,UAAU,uBAAwB,SAAQ,eAAe;IACvD,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,kFAAkF;AAClF,UAAU,qBAAsB,SAAQ,uBAAuB;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED,iFAAiF;AACjF,UAAU,WAAY,SAAQ,uBAAuB;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACnD;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAClE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC1E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAUA;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAClD;AAWD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,SAAS,MAAM,EAA6C,GACjE,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAE,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,EAAmB,GAC1F,SAAS,MAAM,EAAE,CAEnB;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,IAAI,SAAS,MAAM,EAAE,CAE5D;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,EAAE,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CAiB/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAW5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM;AACX,qEAAqE;AACrE,eAAe,GAAE,SAAS,WAAW,EAAmB,GACvD,cAAc,CAMhB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAatD;AAsCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IACrF,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACnD,GAAG,MAAM,EAAE,CAmJX"}
|
package/dist/atlas/physjs-ref.js
CHANGED
|
@@ -8,51 +8,30 @@
|
|
|
8
8
|
* `tests/atlas/physjs-manifest.test.ts` fails when the file and that table disagree
|
|
9
9
|
* on the commit, a theorem, a key, or the coverage phrase.
|
|
10
10
|
*
|
|
11
|
-
* The commit is `PHYSJS_COMMIT`, copied from the manifest.
|
|
12
|
-
* the pin
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* twenty-one counted catalog entries, keyed `be-<n>`. BE-20 is the nested
|
|
29
|
-
* `corollary` on `be-13` and has no key. Each statement's `kind`, nested ones
|
|
30
|
-
* included, is the manifest's own field (schema `physjs-bridge-manifest/v2`),
|
|
31
|
-
* which PhysJS reads from the kind line of the Lean file that declares the
|
|
32
|
-
* theorem; this module keeps no
|
|
33
|
-
* override and does not parse the covers line for it. The sentence that a
|
|
34
|
-
* counted covers line begins with `reduction`, `limit`, or `derivation-step`,
|
|
35
|
-
* and that a catalog entry's `formalKind` overrides that word, is the record
|
|
36
|
-
* from before that schema. A field of a manifest entry outside the
|
|
37
|
-
* base fields is a nested statement: a second theorem on the same entry,
|
|
38
|
-
* named by the field, with no key. It is recorded and compared, and it is not
|
|
39
|
-
* a `formalRef`. The generator reads it by its shape, so a new nested name
|
|
40
|
-
* needs no edit here. The sentence that the nested names are a fixed list in
|
|
41
|
-
* this module and in the generator is the record from before that change.
|
|
42
|
-
* PhysJS #66 adds be-103 through be-125. The sentence that the pin is
|
|
43
|
-
* `03e8bb77c952f720bdd2730af2afc6a7f2d36243` and that the table stops at
|
|
44
|
-
* be-102 is the record from before that pin. PhysJS #67 adds be-126 through
|
|
45
|
-
* be-133. The sentence that the pin is
|
|
46
|
-
* `d519c2c6504e7fbbd2cf6932f9e52981ce595a0f` and that the table stops at
|
|
47
|
-
* be-125 is the record from before that pin. PhysJS #68 adds be-134 through
|
|
48
|
-
* be-146. The sentence that the pin is
|
|
49
|
-
* `8515c621d1c6e6d31c2eea4467181eb85d58234b` and that the table stops at
|
|
50
|
-
* be-133 is the record from before that pin.
|
|
11
|
+
* The commit is `PHYSJS_COMMIT`, copied from the manifest. Which PhysJS pull
|
|
12
|
+
* request added which keys, and what the pin was before, is history and lives
|
|
13
|
+
* in `NOTES.md` and `CHANGELOG.md`, not here.
|
|
14
|
+
*
|
|
15
|
+
* Each statement's `kind`, nested ones included, is the manifest's own field
|
|
16
|
+
* (schema `physjs-bridge-manifest/v2`), which PhysJS reads from the kind line
|
|
17
|
+
* of the Lean file that declares the theorem; this module keeps no override
|
|
18
|
+
* and does not parse the covers line for it. A field of a manifest entry
|
|
19
|
+
* outside the base fields is a nested statement: a second theorem on the same
|
|
20
|
+
* entry, named by the field, with no key. It is recorded and compared, and it
|
|
21
|
+
* is not a `formalRef`. The generator reads it by its shape, so a new nested
|
|
22
|
+
* name needs no edit here.
|
|
23
|
+
*
|
|
24
|
+
* A reference's `fidelity` is DERIVED here, never typed on a record:
|
|
25
|
+
* `physjsFidelity` reads the reviewed-row table (`physjs-reviewed.ts`) and the
|
|
26
|
+
* sanity-lemma key list, and a key ahead of the catalog, or whose row is not
|
|
27
|
+
* in that table, is `'unreviewed'`.
|
|
51
28
|
*
|
|
52
29
|
* @module atlas/physjs-ref
|
|
53
30
|
*/
|
|
31
|
+
import { createHash } from 'node:crypto';
|
|
54
32
|
import { FORMAL_REF_KINDS } from '../relations/types.js';
|
|
55
33
|
import { catalogEntries, catalogIdNumber } from '../bridges/catalog-load.js';
|
|
34
|
+
import { PHYSJS_REVIEWED_ROWS, PHYSJS_SANITY_LEMMA_KEYS } from './physjs-reviewed.js';
|
|
56
35
|
import { PHYSJS_COMMIT, PHYSJS_MATHLIB, PHYSJS_PHYS_LIB, PHYSJS_TOOLCHAIN, PHYSJS_ENTRIES as GENERATED_PHYSJS_ENTRIES, } from './physjs-entries.generated.js';
|
|
57
36
|
/**
|
|
58
37
|
* PhysJS commit the vendored manifest records.
|
|
@@ -65,6 +44,13 @@ export { PHYSJS_COMMIT } from './physjs-entries.generated.js';
|
|
|
65
44
|
* `bound.delta` does not certify the regime, the horizon, or the side conditions.
|
|
66
45
|
*/
|
|
67
46
|
const PHYSJS_COVERAGE = 'covers its statement only';
|
|
47
|
+
/**
|
|
48
|
+
* The axioms a complete Lean 4 proof over Mathlib may rest on. `#print axioms`
|
|
49
|
+
* of a proof with a `sorry` adds `sorryAx`, and Lean still exits 0 (TOOLS.md),
|
|
50
|
+
* so every statement's list is held to this set; PhysJS reports the list and
|
|
51
|
+
* this repository does not re-measure it.
|
|
52
|
+
*/
|
|
53
|
+
const PHYSJS_ALLOWED_AXIOMS = new Set(['propext', 'Classical.choice', 'Quot.sound']);
|
|
68
54
|
/** The fields of a manifest entry. Any other field is a nested statement. */
|
|
69
55
|
const BASE_FIELDS = new Set(['key', 'bridgeId', 'theorem', 'kind', 'covers', 'coverage', 'leanProof', 'axioms', 'imports']);
|
|
70
56
|
/** The fields of a statement, sorted. A nested field with exactly these is a statement. */
|
|
@@ -181,8 +167,81 @@ export function physjsKeysAheadOfCatalog() {
|
|
|
181
167
|
return PHYSJS_ENTRIES.filter((entry) => physjsAheadOfCatalog(entry.key)).map((entry) => entry.key);
|
|
182
168
|
}
|
|
183
169
|
/**
|
|
184
|
-
* The
|
|
185
|
-
*
|
|
170
|
+
* The row of a manifest entry as PhysJS writes it, in the shape
|
|
171
|
+
* {@link physjsRowHash} reads. @internal
|
|
172
|
+
*/
|
|
173
|
+
export function physjsManifestRow(entry) {
|
|
174
|
+
return {
|
|
175
|
+
key: entry.key,
|
|
176
|
+
theorem: entry.theorem,
|
|
177
|
+
kind: entry.kind,
|
|
178
|
+
covers: entry.covers,
|
|
179
|
+
leanProof: entry.leanProof,
|
|
180
|
+
axioms: entry.axioms,
|
|
181
|
+
nested: physjsNestedStatements(entry).nested.map((statement) => ({
|
|
182
|
+
name: statement.name,
|
|
183
|
+
theorem: statement.theorem,
|
|
184
|
+
kind: statement.kind,
|
|
185
|
+
covers: statement.covers,
|
|
186
|
+
leanProof: statement.leanProof,
|
|
187
|
+
axioms: statement.axioms,
|
|
188
|
+
})),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* SHA-256 of one row: `[key, theorem, kind, covers, leanProof, axioms,
|
|
193
|
+
* nested[]]`, each nested statement as `[name, theorem, kind, covers,
|
|
194
|
+
* leanProof, axioms]`. A swapped theorem or key, a changed kind, a reworded
|
|
195
|
+
* covers line, a proof status, an axiom, or a nested statement changes it.
|
|
196
|
+
* This is what `physjs-reviewed.ts` pins per key.
|
|
197
|
+
*
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
export function physjsRowHash(row) {
|
|
201
|
+
const columns = [
|
|
202
|
+
row.key,
|
|
203
|
+
row.theorem,
|
|
204
|
+
row.kind,
|
|
205
|
+
row.covers,
|
|
206
|
+
row.leanProof,
|
|
207
|
+
[...row.axioms],
|
|
208
|
+
row.nested.map((n) => [n.name, n.theorem, n.kind, n.covers, n.leanProof, [...n.axioms]]),
|
|
209
|
+
];
|
|
210
|
+
return createHash('sha256').update(JSON.stringify(columns)).digest('hex');
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* The fidelity a manifest key earns, derived from what checks it:
|
|
214
|
+
*
|
|
215
|
+
* - `'unreviewed'` when the key is ahead of the catalog
|
|
216
|
+
* ({@link physjsAheadOfCatalog}): no bridge exists to read the row against;
|
|
217
|
+
* - `'unreviewed'` when the compiled row's hash is not the one
|
|
218
|
+
* `PHYSJS_REVIEWED_ROWS` records for the key, or the key has no entry there;
|
|
219
|
+
* - `'sanity-lemmas'` when the row is reviewed AND the key is in
|
|
220
|
+
* `PHYSJS_SANITY_LEMMA_KEYS`, whose statements
|
|
221
|
+
* `tests/atlas/formal-sanity.test.ts` instantiates on known cases;
|
|
222
|
+
* - `'reviewed-manifest'` when the row is reviewed and no sanity lemma exists.
|
|
223
|
+
*
|
|
224
|
+
* A key the manifest does not name throws, like {@link physjsFormalRef}.
|
|
225
|
+
*
|
|
226
|
+
* @internal
|
|
227
|
+
*/
|
|
228
|
+
export function physjsFidelity(key,
|
|
229
|
+
/** Defaults to the generated table. A test passes a mutated copy. */
|
|
230
|
+
compiledEntries = PHYSJS_ENTRIES) {
|
|
231
|
+
const entry = compiledEntries.find((candidate) => candidate.key === key);
|
|
232
|
+
if (entry === undefined)
|
|
233
|
+
throw new Error(`PhysJS manifest has no entry for '${key}'`);
|
|
234
|
+
if (physjsAheadOfCatalog(key))
|
|
235
|
+
return 'unreviewed';
|
|
236
|
+
if (PHYSJS_REVIEWED_ROWS[key] !== physjsRowHash(entry))
|
|
237
|
+
return 'unreviewed';
|
|
238
|
+
return PHYSJS_SANITY_LEMMA_KEYS.includes(key) ? 'sanity-lemmas' : 'reviewed-manifest';
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* The reference for a manifest key, with its derived fidelity. Throws when
|
|
242
|
+
* the key is not an entry, so a typo cannot ship a bridge with no reference.
|
|
243
|
+
* A key ahead of the catalog, or whose row is not reviewed, is returned
|
|
244
|
+
* `'unreviewed'` and derives no proof tag.
|
|
186
245
|
*
|
|
187
246
|
* @internal
|
|
188
247
|
*/
|
|
@@ -195,12 +254,16 @@ export function physjsFormalRef(key) {
|
|
|
195
254
|
statement: entry.theorem,
|
|
196
255
|
version: physjsVersion(),
|
|
197
256
|
axioms: entry.axioms,
|
|
198
|
-
fidelity:
|
|
257
|
+
fidelity: physjsFidelity(key),
|
|
199
258
|
kind: entry.kind,
|
|
200
259
|
url: physjsStatementUrl(entry.theorem),
|
|
201
260
|
covers: `${entry.covers} — ${entry.coverage}`,
|
|
202
261
|
};
|
|
203
262
|
}
|
|
263
|
+
/** The axioms of a statement that are outside {@link PHYSJS_ALLOWED_AXIOMS}. */
|
|
264
|
+
function disallowedAxioms(axioms) {
|
|
265
|
+
return axioms.filter((axiom) => !PHYSJS_ALLOWED_AXIOMS.has(axiom));
|
|
266
|
+
}
|
|
204
267
|
function sameAxioms(recorded, manifest) {
|
|
205
268
|
return recorded.length === manifest.length && recorded.every((axiom, i) => axiom === manifest[i]);
|
|
206
269
|
}
|
|
@@ -231,10 +294,14 @@ function isFormalRefKind(kind) {
|
|
|
231
294
|
* is a problem: the gate does not skip that system. A nested object is kept
|
|
232
295
|
* and compared; naming it as the `formalRef` is a problem. The top-level
|
|
233
296
|
* theorem stays the reference. The reference's kind is the entry's
|
|
234
|
-
* `kind`; a kind outside the formal-reference kinds is a problem.
|
|
297
|
+
* `kind`; a kind outside the formal-reference kinds is a problem. An axiom
|
|
298
|
+
* outside {@link PHYSJS_ALLOWED_AXIOMS} on any statement is a problem. A `be-`
|
|
235
299
|
* key in the unbroken run above the catalog's highest id is ahead of the
|
|
236
300
|
* catalog and is not a problem (`physjsAheadOfCatalog`); any other key with
|
|
237
|
-
* no bridge is.
|
|
301
|
+
* no bridge is. Every structural check (fields, kinds, coverage, proof
|
|
302
|
+
* status, axioms, Lean file, compiled copy) runs for every entry, ahead keys
|
|
303
|
+
* included; only the checks against a bridge's reference are skipped for a
|
|
304
|
+
* key that has no bridge yet.
|
|
238
305
|
*
|
|
239
306
|
* @internal
|
|
240
307
|
*/
|
|
@@ -256,7 +323,10 @@ export function physjsManifestProblems(input) {
|
|
|
256
323
|
if (manifest.physlib !== PHYSJS_PHYS_LIB) {
|
|
257
324
|
problems.push(`manifest physlib is '${manifest.physlib}', expected '${PHYSJS_PHYS_LIB}'`);
|
|
258
325
|
}
|
|
259
|
-
const
|
|
326
|
+
const compiledEntries = input.compiledEntries ?? PHYSJS_ENTRIES;
|
|
327
|
+
const compiledByKey = new Map(compiledEntries.map((entry) => [entry.key, entry]));
|
|
328
|
+
/** Theorem → Lean file over the compiled table under test, nested statements included. */
|
|
329
|
+
const fileByTheorem = new Map(compiledEntries.flatMap((entry) => [entry, ...entry.nested].map((statement) => [statement.theorem, statement.file])));
|
|
260
330
|
const byId = new Map(input.bridges.map((bridge) => [bridge.id, bridge]));
|
|
261
331
|
const seen = new Set();
|
|
262
332
|
const manifestKeys = manifest.entries.map((entry) => entry.key);
|
|
@@ -278,6 +348,9 @@ export function physjsManifestProblems(input) {
|
|
|
278
348
|
if (!isFormalRefKind(entry.kind)) {
|
|
279
349
|
problems.push(`manifest key '${entry.key}' kind '${String(entry.kind)}' is not one of ${FORMAL_REF_KINDS.join(', ')}`);
|
|
280
350
|
}
|
|
351
|
+
if (disallowedAxioms(entry.axioms).length > 0) {
|
|
352
|
+
problems.push(`manifest key '${entry.key}' axioms [${entry.axioms.join(', ')}] are not a subset of [${[...PHYSJS_ALLOWED_AXIOMS].join(', ')}]`);
|
|
353
|
+
}
|
|
281
354
|
for (const statement of nested) {
|
|
282
355
|
if (!isFormalRefKind(statement.kind)) {
|
|
283
356
|
problems.push(`${statement.name} kind for '${entry.key}' is '${String(statement.kind)}', not one of ${FORMAL_REF_KINDS.join(', ')}`);
|
|
@@ -288,6 +361,29 @@ export function physjsManifestProblems(input) {
|
|
|
288
361
|
if (statement.leanProof !== 'complete') {
|
|
289
362
|
problems.push(`${statement.name} leanProof for '${entry.key}' is '${statement.leanProof}', expected 'complete'`);
|
|
290
363
|
}
|
|
364
|
+
if (disallowedAxioms(statement.axioms).length > 0) {
|
|
365
|
+
problems.push(`${statement.name} axioms for '${entry.key}' [${statement.axioms.join(', ')}] are not a subset of [${[...PHYSJS_ALLOWED_AXIOMS].join(', ')}]`);
|
|
366
|
+
}
|
|
367
|
+
if (!fileByTheorem.has(statement.theorem)) {
|
|
368
|
+
problems.push(`manifest theorem '${statement.theorem}' (${entry.key}.${statement.name}) has no Lean file in formal/physjs/theorem-files.json`);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
const file = fileByTheorem.get(entry.theorem);
|
|
372
|
+
if (file === undefined) {
|
|
373
|
+
problems.push(`manifest theorem '${entry.theorem}' has no Lean file in formal/physjs/theorem-files.json`);
|
|
374
|
+
}
|
|
375
|
+
const compiled = compiledByKey.get(entry.key);
|
|
376
|
+
if (compiled === undefined) {
|
|
377
|
+
problems.push(`manifest key '${entry.key}' is not in the compiled entry table`);
|
|
378
|
+
}
|
|
379
|
+
else if (compiled.theorem !== entry.theorem ||
|
|
380
|
+
compiled.kind !== entry.kind ||
|
|
381
|
+
compiled.covers !== entry.covers ||
|
|
382
|
+
compiled.coverage !== entry.coverage ||
|
|
383
|
+
compiled.leanProof !== entry.leanProof ||
|
|
384
|
+
!sameAxioms(compiled.axioms, entry.axioms) ||
|
|
385
|
+
!sameNested(compiled.nested, nested)) {
|
|
386
|
+
problems.push(`compiled entry for '${entry.key}' disagrees with the vendored manifest`);
|
|
291
387
|
}
|
|
292
388
|
const bridge = byId.get(entry.key);
|
|
293
389
|
if (bridge === undefined) {
|
|
@@ -326,24 +422,9 @@ export function physjsManifestProblems(input) {
|
|
|
326
422
|
if (ref.kind !== entry.kind) {
|
|
327
423
|
problems.push(`bridge '${entry.key}' kind is '${ref.kind}', expected '${entry.kind}'`);
|
|
328
424
|
}
|
|
329
|
-
|
|
330
|
-
if (file === undefined) {
|
|
331
|
-
problems.push(`manifest theorem '${entry.theorem}' has no Lean file in formal/physjs/theorem-files.json`);
|
|
332
|
-
}
|
|
333
|
-
else if (ref.url !== physjsFileUrl(file)) {
|
|
425
|
+
if (file !== undefined && ref.url !== physjsFileUrl(file)) {
|
|
334
426
|
problems.push(`bridge '${entry.key}' url is '${ref.url}', expected '${physjsFileUrl(file)}'`);
|
|
335
427
|
}
|
|
336
|
-
const compiled = compiledByKey.get(entry.key);
|
|
337
|
-
if (compiled === undefined) {
|
|
338
|
-
problems.push(`manifest key '${entry.key}' is not in the compiled entry table`);
|
|
339
|
-
}
|
|
340
|
-
else if (compiled.theorem !== entry.theorem ||
|
|
341
|
-
compiled.kind !== entry.kind ||
|
|
342
|
-
compiled.covers !== entry.covers ||
|
|
343
|
-
compiled.coverage !== entry.coverage ||
|
|
344
|
-
!sameNested(compiled.nested, nested)) {
|
|
345
|
-
problems.push(`compiled entry for '${entry.key}' disagrees with the vendored manifest`);
|
|
346
|
-
}
|
|
347
428
|
}
|
|
348
429
|
for (const bridge of input.bridges) {
|
|
349
430
|
if (bridge.formalRef?.system !== 'lean4-physjs')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physjs-ref.js","sourceRoot":"","sources":["../../src/atlas/physjs-ref.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"physjs-ref.js","sourceRoot":"","sources":["../../src/atlas/physjs-ref.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Reviewed `formalRef`s keyed by the vendored PhysJS bridge manifest.\n *\n * The manifest file is `formal/physjs/manifest.json` (PhysJS `manifest/bridges.json`\n * at the commit that file records). `src/` cannot import a file outside its root,\n * so `physjs-entries.generated.ts` is the table this module reads.\n * `bun run physjs:table` writes that file from the manifest and writes nothing else.\n * `tests/atlas/physjs-manifest.test.ts` fails when the file and that table disagree\n * on the commit, a theorem, a key, or the coverage phrase.\n *\n * The commit is `PHYSJS_COMMIT`, copied from the manifest. Which PhysJS pull\n * request added which keys, and what the pin was before, is history and lives\n * in `NOTES.md` and `CHANGELOG.md`, not here.\n *\n * Each statement's `kind`, nested ones included, is the manifest's own field\n * (schema `physjs-bridge-manifest/v2`), which PhysJS reads from the kind line\n * of the Lean file that declares the theorem; this module keeps no override\n * and does not parse the covers line for it. A field of a manifest entry\n * outside the base fields is a nested statement: a second theorem on the same\n * entry, named by the field, with no key. It is recorded and compared, and it\n * is not a `formalRef`. The generator reads it by its shape, so a new nested\n * name needs no edit here.\n *\n * A reference's `fidelity` is DERIVED here, never typed on a record:\n * `physjsFidelity` reads the reviewed-row table (`physjs-reviewed.ts`) and the\n * sanity-lemma key list, and a key ahead of the catalog, or whose row is not\n * in that table, is `'unreviewed'`.\n *\n * @module atlas/physjs-ref\n */\n\nimport { createHash } from 'node:crypto';\nimport type { FormalFidelity, FormalRef, FormalRefKind } from './types.js';\nimport { FORMAL_REF_KINDS } from '../relations/types.js';\nimport { catalogEntries, catalogIdNumber } from '../bridges/catalog-load.js';\nimport { PHYSJS_REVIEWED_ROWS, PHYSJS_SANITY_LEMMA_KEYS } from './physjs-reviewed.js';\nimport {\n PHYSJS_COMMIT,\n PHYSJS_MATHLIB,\n PHYSJS_PHYS_LIB,\n PHYSJS_TOOLCHAIN,\n PHYSJS_ENTRIES as GENERATED_PHYSJS_ENTRIES,\n} from './physjs-entries.generated.js';\n\n/**\n * PhysJS commit the vendored manifest records.\n *\n * @internal\n */\nexport { PHYSJS_COMMIT } from './physjs-entries.generated.js';\n\n/**\n * Every reviewed PhysJS reference covers its statement only. A lemma about\n * `bound.delta` does not certify the regime, the horizon, or the side conditions.\n */\nconst PHYSJS_COVERAGE = 'covers its statement only';\n\n/**\n * The axioms a complete Lean 4 proof over Mathlib may rest on. `#print axioms`\n * of a proof with a `sorry` adds `sorryAx`, and Lean still exits 0 (TOOLS.md),\n * so every statement's list is held to this set; PhysJS reports the list and\n * this repository does not re-measure it.\n */\nconst PHYSJS_ALLOWED_AXIOMS: ReadonlySet<string> = new Set(['propext', 'Classical.choice', 'Quot.sound']);\n\n/** One statement the manifest records: an entry's own, or a nested one. */\ninterface PhysjsStatement {\n readonly theorem: string;\n /** How the theorem relates to the equation the key names, as the manifest writes it. */\n readonly kind: string;\n readonly covers: string;\n readonly coverage: string;\n readonly leanProof: string;\n readonly axioms: readonly string[];\n}\n\n/** The fields of a manifest entry. Any other field is a nested statement. */\nconst BASE_FIELDS = new Set<string>(['key', 'bridgeId', 'theorem', 'kind', 'covers', 'coverage', 'leanProof', 'axioms', 'imports']);\n\n/** The fields of a statement, sorted. A nested field with exactly these is a statement. */\nconst STATEMENT_FIELDS = ['axioms', 'coverage', 'covers', 'kind', 'leanProof', 'theorem'] as const;\n\n/** A compiled statement: the manifest's fields and the Lean file that declares its theorem. */\ninterface PhysjsCompiledStatement extends PhysjsStatement {\n /** `<File>.lean` under `lean/` at the pin, from `formal/physjs/theorem-files.json`. */\n readonly file: string;\n}\n\n/** A nested statement, named by its manifest field. No key. Not a `formalRef`. */\ninterface PhysjsNestedStatement extends PhysjsCompiledStatement {\n readonly name: string;\n readonly kind: FormalRefKind;\n}\n\n/** One compiled entry: its own statement, and every nested statement by name. */\ninterface PhysjsEntry extends PhysjsCompiledStatement {\n readonly key: string;\n readonly bridgeId: string;\n /** The manifest's kind: how the theorem relates to the equation the key names. */\n readonly kind: FormalRefKind;\n readonly imports?: string;\n readonly nested: readonly PhysjsNestedStatement[];\n}\n\n/**\n * One manifest entry as PhysJS writes it: the base fields, and each nested\n * statement under a field of its own (`planeWave`, `corollary`).\n * @internal\n */\nexport interface PhysjsManifestEntry extends PhysjsStatement {\n readonly key: string;\n readonly bridgeId: string;\n readonly kind: string;\n readonly imports?: string;\n readonly [field: string]: unknown;\n}\n\n/**\n * The nested statements of a manifest entry, in field order: every field\n * outside the base fields whose value has exactly the statement fields. A\n * field that is neither is returned in `problems`.\n * @internal\n */\nexport function physjsNestedStatements(entry: PhysjsManifestEntry): {\n readonly nested: readonly (PhysjsStatement & { readonly name: string })[];\n readonly problems: readonly string[];\n} {\n const nested: (PhysjsStatement & { readonly name: string })[] = [];\n const problems: string[] = [];\n for (const [field, value] of Object.entries(entry)) {\n if (BASE_FIELDS.has(field)) continue;\n const keys = typeof value === 'object' && value !== null && !Array.isArray(value) ? Object.keys(value).sort() : [];\n if (keys.join() === STATEMENT_FIELDS.join()) nested.push({ name: field, ...(value as PhysjsStatement) });\n else problems.push(`manifest entry '${entry.key}' has unexpected field '${field}'`);\n }\n return { nested, problems };\n}\n\n/** The vendored manifest, as this module compares it. @internal */\nexport interface PhysjsManifestFile {\n readonly schema: string;\n readonly commit: string;\n readonly toolchain: string;\n readonly mathlib: string;\n readonly physlib: string;\n readonly entries: readonly PhysjsManifestEntry[];\n}\n\nconst PHYSJS_ENTRIES: readonly PhysjsEntry[] = GENERATED_PHYSJS_ENTRIES;\n\nconst entryByKey = new Map(PHYSJS_ENTRIES.map((entry) => [entry.key, entry]));\n\n/** Theorem → its Lean file, for every statement of the compiled table, nested ones included. */\nconst FILE_BY_THEOREM: ReadonlyMap<string, string> = new Map(\n PHYSJS_ENTRIES.flatMap((entry) => [entry, ...entry.nested].map((statement) => [statement.theorem, statement.file] as const)),\n);\n\n/**\n * Theorem name on the compiled manifest copy for `key`.\n *\n * This reads the compiled table. It does not build a formal reference\n * and it does not derive an evidence tag.\n *\n * @internal\n */\nexport function physjsTheorem(key: string): string | undefined {\n return entryByKey.get(key)?.theorem;\n}\n\n/** `formalRef.version` for the pinned manifest. */\nfunction physjsVersion(): string {\n return `physjs@${PHYSJS_COMMIT} ${PHYSJS_TOOLCHAIN} mathlib:${PHYSJS_MATHLIB} physlib@${PHYSJS_PHYS_LIB}`;\n}\n\n/**\n * Lean file name that contains `theorem` at the pinned commit.\n *\n * Read from the compiled table, which copies `formal/physjs/theorem-files.json`:\n * the file is where the theorem is declared, not its namespace\n * (`PhysJS.Einstein.friedmann_corollary` is in `VacuumFriedmann.lean`;\n * `PhysJS.SpringLc` is a namespace inside `OscillatorDictionary.lean`).\n * Throws for a theorem the manifest does not name.\n *\n * @internal\n */\nexport function physjsLeanFile(theorem: string): string {\n const file = FILE_BY_THEOREM.get(theorem);\n if (file === undefined) throw new Error(`PhysJS theorem '${theorem}' is not a statement of the vendored manifest`);\n return file;\n}\n\n/**\n * Permalink to one Lean file at the pinned commit.\n *\n * PhysJS #63 stores sources at `lean/<File>.lean`. This is the only builder\n * of those URLs.\n *\n * @internal\n */\nexport function physjsFileUrl(file: string): string {\n return `https://github.com/danielsimonjr/PhysJS/blob/${PHYSJS_COMMIT}/lean/${file}`;\n}\n\n/** Permalink to the Lean file that contains `theorem` at the pinned commit. */\nfunction physjsStatementUrl(theorem: string): string {\n return physjsFileUrl(physjsLeanFile(theorem));\n}\n\n/** The highest id in the bridge catalog. */\nconst CATALOG_MAX_ID = Math.max(...catalogEntries().map((entry) => entry.id));\n\n/**\n * True when `key` is ahead of the catalog: PhysJS proved the statement for a\n * catalog id the catalog has not reached yet. That is an id above the\n * catalog's highest, with every id between them also a key of `keys` (the\n * manifest's), so the ahead keys are one unbroken run that starts right after\n * the catalog. Such an entry is vendored and compared, and it is not a seed\n * and not a problem until the catalog entry exists. A missing id inside the\n * catalog's range is not ahead, nor is an id past a gap in the run (a typo\n * such as an extra digit), nor an atlas key.\n *\n * @internal\n */\nexport function physjsAheadOfCatalog(\n key: string,\n keys: readonly string[] = PHYSJS_ENTRIES.map((entry) => entry.key),\n): boolean {\n const id = catalogIdNumber(key);\n if (id === undefined || id <= CATALOG_MAX_ID) return false;\n const ids = new Set(keys.map(catalogIdNumber));\n for (let n = CATALOG_MAX_ID + 1; n < id; n++) if (!ids.has(n)) return false;\n return true;\n}\n\n/**\n * Manifest keys of kind `bridge`, the theorem stating the equation its key\n * names, that resolve to a bridge: every such atlas key, and every such\n * catalog key whose catalog entry exists. The kind is the manifest's own\n * field. A caller-supplied overlay entry is read the same way. The return\n * value is not stored on a bridge.\n *\n * @internal\n */\nexport function bridgeSeedKeys(\n entries: readonly { readonly key: string; readonly kind: FormalRefKind }[] = PHYSJS_ENTRIES,\n): readonly string[] {\n return entries.filter((entry) => entry.kind === 'bridge' && !physjsAheadOfCatalog(entry.key)).map((entry) => entry.key);\n}\n\n/** Every manifest key ahead of the catalog, in manifest order. @internal */\nexport function physjsKeysAheadOfCatalog(): readonly string[] {\n return PHYSJS_ENTRIES.filter((entry) => physjsAheadOfCatalog(entry.key)).map((entry) => entry.key);\n}\n\n/** The fields of one manifest row that a review reads, nested statements included. @internal */\nexport interface PhysjsReviewedRow {\n readonly key: string;\n readonly theorem: string;\n readonly kind: string;\n readonly covers: string;\n readonly leanProof: string;\n readonly axioms: readonly string[];\n readonly nested: readonly {\n readonly name: string;\n readonly theorem: string;\n readonly kind: string;\n readonly covers: string;\n readonly leanProof: string;\n readonly axioms: readonly string[];\n }[];\n}\n\n/**\n * The row of a manifest entry as PhysJS writes it, in the shape\n * {@link physjsRowHash} reads. @internal\n */\nexport function physjsManifestRow(entry: PhysjsManifestEntry): PhysjsReviewedRow {\n return {\n key: entry.key,\n theorem: entry.theorem,\n kind: entry.kind,\n covers: entry.covers,\n leanProof: entry.leanProof,\n axioms: entry.axioms,\n nested: physjsNestedStatements(entry).nested.map((statement) => ({\n name: statement.name,\n theorem: statement.theorem,\n kind: statement.kind,\n covers: statement.covers,\n leanProof: statement.leanProof,\n axioms: statement.axioms,\n })),\n };\n}\n\n/**\n * SHA-256 of one row: `[key, theorem, kind, covers, leanProof, axioms,\n * nested[]]`, each nested statement as `[name, theorem, kind, covers,\n * leanProof, axioms]`. A swapped theorem or key, a changed kind, a reworded\n * covers line, a proof status, an axiom, or a nested statement changes it.\n * This is what `physjs-reviewed.ts` pins per key.\n *\n * @internal\n */\nexport function physjsRowHash(row: PhysjsReviewedRow): string {\n const columns = [\n row.key,\n row.theorem,\n row.kind,\n row.covers,\n row.leanProof,\n [...row.axioms],\n row.nested.map((n) => [n.name, n.theorem, n.kind, n.covers, n.leanProof, [...n.axioms]]),\n ];\n return createHash('sha256').update(JSON.stringify(columns)).digest('hex');\n}\n\n/**\n * The fidelity a manifest key earns, derived from what checks it:\n *\n * - `'unreviewed'` when the key is ahead of the catalog\n * ({@link physjsAheadOfCatalog}): no bridge exists to read the row against;\n * - `'unreviewed'` when the compiled row's hash is not the one\n * `PHYSJS_REVIEWED_ROWS` records for the key, or the key has no entry there;\n * - `'sanity-lemmas'` when the row is reviewed AND the key is in\n * `PHYSJS_SANITY_LEMMA_KEYS`, whose statements\n * `tests/atlas/formal-sanity.test.ts` instantiates on known cases;\n * - `'reviewed-manifest'` when the row is reviewed and no sanity lemma exists.\n *\n * A key the manifest does not name throws, like {@link physjsFormalRef}.\n *\n * @internal\n */\nexport function physjsFidelity(\n key: string,\n /** Defaults to the generated table. A test passes a mutated copy. */\n compiledEntries: readonly PhysjsEntry[] = PHYSJS_ENTRIES,\n): FormalFidelity {\n const entry = compiledEntries.find((candidate) => candidate.key === key);\n if (entry === undefined) throw new Error(`PhysJS manifest has no entry for '${key}'`);\n if (physjsAheadOfCatalog(key)) return 'unreviewed';\n if (PHYSJS_REVIEWED_ROWS[key] !== physjsRowHash(entry)) return 'unreviewed';\n return PHYSJS_SANITY_LEMMA_KEYS.includes(key) ? 'sanity-lemmas' : 'reviewed-manifest';\n}\n\n/**\n * The reference for a manifest key, with its derived fidelity. Throws when\n * the key is not an entry, so a typo cannot ship a bridge with no reference.\n * A key ahead of the catalog, or whose row is not reviewed, is returned\n * `'unreviewed'` and derives no proof tag.\n *\n * @internal\n */\nexport function physjsFormalRef(key: string): FormalRef {\n const entry = entryByKey.get(key);\n if (entry === undefined) throw new Error(`PhysJS manifest has no entry for '${key}'`);\n return {\n system: 'lean4-physjs',\n statement: entry.theorem,\n version: physjsVersion(),\n axioms: entry.axioms,\n fidelity: physjsFidelity(key),\n kind: entry.kind,\n url: physjsStatementUrl(entry.theorem),\n covers: `${entry.covers} — ${entry.coverage}`,\n };\n}\n\n/** The axioms of a statement that are outside {@link PHYSJS_ALLOWED_AXIOMS}. */\nfunction disallowedAxioms(axioms: readonly string[]): readonly string[] {\n return axioms.filter((axiom) => !PHYSJS_ALLOWED_AXIOMS.has(axiom));\n}\n\nfunction sameAxioms(recorded: readonly string[], manifest: readonly string[]): boolean {\n return recorded.length === manifest.length && recorded.every((axiom, i) => axiom === manifest[i]);\n}\n\nfunction sameStatement(compiled: PhysjsStatement, manifest: PhysjsStatement): boolean {\n return (\n compiled.theorem === manifest.theorem &&\n compiled.kind === manifest.kind &&\n compiled.covers === manifest.covers &&\n compiled.coverage === manifest.coverage &&\n compiled.leanProof === manifest.leanProof &&\n sameAxioms(compiled.axioms, manifest.axioms)\n );\n}\n\n/** The compiled nested statements are the manifest's: the same names, in order, each the same statement. */\nfunction sameNested(\n compiled: readonly PhysjsNestedStatement[],\n manifest: readonly (PhysjsStatement & { readonly name: string })[],\n): boolean {\n return (\n compiled.length === manifest.length &&\n compiled.every((statement, i) => statement.name === manifest[i]!.name && sameStatement(statement, manifest[i]!))\n );\n}\n\n/** The kind of a manifest entry is one of the formal-reference kinds. */\nfunction isFormalRefKind(kind: unknown): kind is FormalRefKind {\n return typeof kind === 'string' && (FORMAL_REF_KINDS as readonly string[]).includes(kind);\n}\n\n/**\n * Problems in the vendored manifest against the bridges that claim to be keyed\n * by it. Empty means every entry resolves to a `lean4-physjs` reference whose\n * theorem, axioms, commit and coverage phrase are the entry's own.\n *\n * A wrong commit, theorem, key or coverage phrase is a problem. A manifest\n * entry with no bridge is a problem. A `lean4-physjs` reference with no entry\n * is a problem: the gate does not skip that system. A nested object is kept\n * and compared; naming it as the `formalRef` is a problem. The top-level\n * theorem stays the reference. The reference's kind is the entry's\n * `kind`; a kind outside the formal-reference kinds is a problem. An axiom\n * outside {@link PHYSJS_ALLOWED_AXIOMS} on any statement is a problem. A `be-`\n * key in the unbroken run above the catalog's highest id is ahead of the\n * catalog and is not a problem (`physjsAheadOfCatalog`); any other key with\n * no bridge is. Every structural check (fields, kinds, coverage, proof\n * status, axioms, Lean file, compiled copy) runs for every entry, ahead keys\n * included; only the checks against a bridge's reference are skipped for a\n * key that has no bridge yet.\n *\n * @internal\n */\nexport function physjsManifestProblems(input: {\n readonly manifest: PhysjsManifestFile;\n readonly bridges: readonly { readonly id: string; readonly formalRef?: FormalRef }[];\n /** Defaults to the generated table. A test passes a mutated copy. */\n readonly compiledEntries?: readonly PhysjsEntry[];\n}): string[] {\n const problems: string[] = [];\n const manifest = input.manifest;\n if (manifest.schema !== 'physjs-bridge-manifest/v2') {\n problems.push(`manifest schema is '${manifest.schema}', expected 'physjs-bridge-manifest/v2'`);\n }\n if (manifest.commit !== PHYSJS_COMMIT) {\n problems.push(`manifest commit is '${manifest.commit}', expected '${PHYSJS_COMMIT}'`);\n }\n if (manifest.toolchain !== PHYSJS_TOOLCHAIN) {\n problems.push(`manifest toolchain is '${manifest.toolchain}', expected '${PHYSJS_TOOLCHAIN}'`);\n }\n if (manifest.mathlib !== PHYSJS_MATHLIB) {\n problems.push(`manifest mathlib is '${manifest.mathlib}', expected '${PHYSJS_MATHLIB}'`);\n }\n if (manifest.physlib !== PHYSJS_PHYS_LIB) {\n problems.push(`manifest physlib is '${manifest.physlib}', expected '${PHYSJS_PHYS_LIB}'`);\n }\n\n const compiledEntries = input.compiledEntries ?? PHYSJS_ENTRIES;\n const compiledByKey = new Map(compiledEntries.map((entry) => [entry.key, entry]));\n /** Theorem → Lean file over the compiled table under test, nested statements included. */\n const fileByTheorem = new Map(\n compiledEntries.flatMap((entry) => [entry, ...entry.nested].map((statement) => [statement.theorem, statement.file] as const)),\n );\n const byId = new Map(input.bridges.map((bridge) => [bridge.id, bridge]));\n const seen = new Set<string>();\n const manifestKeys = manifest.entries.map((entry) => entry.key);\n for (const entry of manifest.entries) {\n if (seen.has(entry.key)) problems.push(`manifest key '${entry.key}' is duplicated`);\n seen.add(entry.key);\n const { nested, problems: fieldProblems } = physjsNestedStatements(entry);\n problems.push(...fieldProblems);\n if (entry.key !== entry.bridgeId) {\n problems.push(`manifest key '${entry.key}' does not equal bridgeId '${entry.bridgeId}'`);\n }\n if (entry.coverage !== PHYSJS_COVERAGE) {\n problems.push(\n `coverage phrase for '${entry.key}' is '${entry.coverage}', expected '${PHYSJS_COVERAGE}'`,\n );\n }\n if (entry.leanProof !== 'complete') {\n problems.push(`leanProof for '${entry.key}' is '${entry.leanProof}', expected 'complete'`);\n }\n if (!isFormalRefKind(entry.kind)) {\n problems.push(`manifest key '${entry.key}' kind '${String(entry.kind)}' is not one of ${FORMAL_REF_KINDS.join(', ')}`);\n }\n if (disallowedAxioms(entry.axioms).length > 0) {\n problems.push(\n `manifest key '${entry.key}' axioms [${entry.axioms.join(', ')}] are not a subset of [${[...PHYSJS_ALLOWED_AXIOMS].join(', ')}]`,\n );\n }\n for (const statement of nested) {\n if (!isFormalRefKind(statement.kind)) {\n problems.push(\n `${statement.name} kind for '${entry.key}' is '${String(statement.kind)}', not one of ${FORMAL_REF_KINDS.join(', ')}`,\n );\n }\n if (statement.coverage !== PHYSJS_COVERAGE) {\n problems.push(\n `${statement.name} coverage phrase for '${entry.key}' is '${statement.coverage}', expected '${PHYSJS_COVERAGE}'`,\n );\n }\n if (statement.leanProof !== 'complete') {\n problems.push(`${statement.name} leanProof for '${entry.key}' is '${statement.leanProof}', expected 'complete'`);\n }\n if (disallowedAxioms(statement.axioms).length > 0) {\n problems.push(\n `${statement.name} axioms for '${entry.key}' [${statement.axioms.join(', ')}] are not a subset of [${[...PHYSJS_ALLOWED_AXIOMS].join(', ')}]`,\n );\n }\n if (!fileByTheorem.has(statement.theorem)) {\n problems.push(`manifest theorem '${statement.theorem}' (${entry.key}.${statement.name}) has no Lean file in formal/physjs/theorem-files.json`);\n }\n }\n const file = fileByTheorem.get(entry.theorem);\n if (file === undefined) {\n problems.push(`manifest theorem '${entry.theorem}' has no Lean file in formal/physjs/theorem-files.json`);\n }\n const compiled = compiledByKey.get(entry.key);\n if (compiled === undefined) {\n problems.push(`manifest key '${entry.key}' is not in the compiled entry table`);\n } else if (\n compiled.theorem !== entry.theorem ||\n compiled.kind !== entry.kind ||\n compiled.covers !== entry.covers ||\n compiled.coverage !== entry.coverage ||\n compiled.leanProof !== entry.leanProof ||\n !sameAxioms(compiled.axioms, entry.axioms) ||\n !sameNested(compiled.nested, nested)\n ) {\n problems.push(`compiled entry for '${entry.key}' disagrees with the vendored manifest`);\n }\n const bridge = byId.get(entry.key);\n if (bridge === undefined) {\n if (!physjsAheadOfCatalog(entry.key, manifestKeys)) problems.push(`manifest key '${entry.key}' does not resolve to a bridge`);\n continue;\n }\n const ref = bridge.formalRef;\n if (ref === undefined || ref.system !== 'lean4-physjs') {\n problems.push(\n `bridge '${entry.key}' has no lean4-physjs formalRef (system '${ref?.system ?? 'none'}')`,\n );\n continue;\n }\n for (const statement of nested) {\n if (ref.statement === statement.theorem) {\n problems.push(\n `bridge '${entry.key}' formalRef names the nested ${statement.name} theorem '${statement.theorem}'; the top-level theorem stays the reference`,\n );\n }\n }\n if (ref.statement !== entry.theorem) {\n problems.push(`bridge '${entry.key}' theorem is '${ref.statement}', manifest theorem is '${entry.theorem}'`);\n }\n if (!sameAxioms(ref.axioms, entry.axioms)) {\n problems.push(\n `bridge '${entry.key}' axioms [${ref.axioms.join(', ')}] differ from the manifest [${entry.axioms.join(', ')}]`,\n );\n }\n if (!ref.covers.includes(PHYSJS_COVERAGE)) {\n problems.push(`bridge '${entry.key}' covers line does not say '${PHYSJS_COVERAGE}'`);\n }\n if (!ref.covers.includes(entry.covers)) {\n problems.push(`bridge '${entry.key}' covers line does not record '${entry.covers}'`);\n }\n if (ref.version !== physjsVersion() || !ref.version.includes(`physjs@${manifest.commit}`)) {\n problems.push(`bridge '${entry.key}' version '${ref.version}' does not record commit '${manifest.commit}'`);\n }\n if (ref.fidelity === 'unreviewed') {\n problems.push(`bridge '${entry.key}' formalRef is unreviewed`);\n }\n if (ref.kind !== entry.kind) {\n problems.push(`bridge '${entry.key}' kind is '${ref.kind}', expected '${entry.kind}'`);\n }\n if (file !== undefined && ref.url !== physjsFileUrl(file)) {\n problems.push(`bridge '${entry.key}' url is '${ref.url}', expected '${physjsFileUrl(file)}'`);\n }\n }\n\n for (const bridge of input.bridges) {\n if (bridge.formalRef?.system !== 'lean4-physjs') continue;\n if (!seen.has(bridge.id)) {\n problems.push(`lean4-physjs formalRef on '${bridge.id}' has no manifest entry`);\n }\n }\n return problems;\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The reviewed PhysJS manifest rows, pinned per key.
|
|
3
|
+
*
|
|
4
|
+
* Each value is `physjsRowHash` of the row as the manifest writes it:
|
|
5
|
+
* `[key, theorem, kind, covers, leanProof, axioms, nested statements]`. A key
|
|
6
|
+
* is listed only after its row was read against the bridge it keys (the
|
|
7
|
+
* procedure is WORKFLOWS.md, "Adding or changing a Lean formalRef"). A key
|
|
8
|
+
* that is ahead of the catalog has no bridge to read it against and is not
|
|
9
|
+
* listed; `physjsFidelity` returns `'unreviewed'` for it.
|
|
10
|
+
*
|
|
11
|
+
* `tests/atlas/physjs-manifest.test.ts` fails, and prints the line to paste
|
|
12
|
+
* here, when a manifest row that resolves to a bridge is missing or has
|
|
13
|
+
* changed since its review, and when a listed key no longer resolves to a
|
|
14
|
+
* bridge. The sentence that the review was one SHA-256 over every row in
|
|
15
|
+
* that test file is the record from before this table.
|
|
16
|
+
*
|
|
17
|
+
* @module atlas/physjs-reviewed
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Keys whose statements `tests/atlas/formal-sanity.test.ts` instantiates on
|
|
21
|
+
* known cases. A reviewed row with its key here derives
|
|
22
|
+
* `fidelity: 'sanity-lemmas'`; every other reviewed row derives
|
|
23
|
+
* `'reviewed-manifest'`. That test fails when a key listed here has no
|
|
24
|
+
* lemma in it, and when a lemma there names a key missing here.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare const PHYSJS_SANITY_LEMMA_KEYS: readonly string[];
|
|
29
|
+
/** Manifest key → `physjsRowHash` of its reviewed row. @internal */
|
|
30
|
+
export declare const PHYSJS_REVIEWED_ROWS: Readonly<Record<string, string>>;
|
|
31
|
+
//# sourceMappingURL=physjs-reviewed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physjs-reviewed.d.ts","sourceRoot":"","sources":["../../src/atlas/physjs-reviewed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAWrD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwJjE,CAAC"}
|