@stevenvo780/st-lang 4.14.0 → 4.14.1
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 +6 -6
- package/dist/ast/nodes.d.ts +50 -0
- package/dist/ast/nodes.d.ts.map +1 -1
- package/dist/format/stnb/parser.d.ts +14 -0
- package/dist/format/stnb/parser.d.ts.map +1 -0
- package/dist/format/stnb/parser.js +123 -0
- package/dist/format/stnb/parser.js.map +1 -0
- package/dist/format/stnb/types.d.ts +45 -0
- package/dist/format/stnb/types.d.ts.map +1 -0
- package/dist/format/stnb/types.js +7 -0
- package/dist/format/stnb/types.js.map +1 -0
- package/dist/logic/profile-bridge/index.d.ts.map +1 -1
- package/dist/logic/profile-bridge/index.js +20 -3
- package/dist/logic/profile-bridge/index.js.map +1 -1
- package/dist/logic/profiles/classical/propositional.d.ts.map +1 -1
- package/dist/logic/profiles/classical/propositional.js.map +1 -1
- package/dist/logic/profiles/ctl/check.d.ts.map +1 -1
- package/dist/logic/profiles/ctl/check.js +21 -11
- package/dist/logic/profiles/ctl/check.js.map +1 -1
- package/dist/logic/profiles/ctl/witness.d.ts.map +1 -1
- package/dist/logic/profiles/ctl/witness.js +2 -0
- package/dist/logic/profiles/ctl/witness.js.map +1 -1
- package/dist/logic/profiles/description-logic/types.d.ts +15 -0
- package/dist/logic/profiles/description-logic/types.d.ts.map +1 -1
- package/dist/logic/profiles/description-logic/types.js +13 -0
- package/dist/logic/profiles/description-logic/types.js.map +1 -1
- package/dist/logic/profiles/hybrid-logic/types.d.ts +17 -0
- package/dist/logic/profiles/hybrid-logic/types.d.ts.map +1 -1
- package/dist/logic/profiles/hybrid-logic/types.js +17 -0
- package/dist/logic/profiles/hybrid-logic/types.js.map +1 -1
- package/dist/logic/profiles/intuitionistic-nj/kripke.d.ts.map +1 -1
- package/dist/logic/profiles/intuitionistic-nj/kripke.js +8 -5
- package/dist/logic/profiles/intuitionistic-nj/kripke.js.map +1 -1
- package/dist/logic/profiles/ltl-sat/tableau.d.ts +31 -0
- package/dist/logic/profiles/ltl-sat/tableau.d.ts.map +1 -1
- package/dist/logic/profiles/ltl-sat/tableau.js +18 -0
- package/dist/logic/profiles/ltl-sat/tableau.js.map +1 -1
- package/dist/logic/profiles/ltl-sat/types.d.ts +15 -0
- package/dist/logic/profiles/ltl-sat/types.d.ts.map +1 -1
- package/dist/logic/profiles/ltl-sat/types.js +2 -1
- package/dist/logic/profiles/ltl-sat/types.js.map +1 -1
- package/dist/logic/profiles/modal-frame-axioms/formula.d.ts +10 -0
- package/dist/logic/profiles/modal-frame-axioms/formula.d.ts.map +1 -1
- package/dist/logic/profiles/modal-frame-axioms/formula.js +10 -0
- package/dist/logic/profiles/modal-frame-axioms/formula.js.map +1 -1
- package/dist/logic/profiles/mu-calculus/check.d.ts.map +1 -1
- package/dist/logic/profiles/mu-calculus/check.js +7 -4
- package/dist/logic/profiles/mu-calculus/check.js.map +1 -1
- package/dist/logic/profiles/natural-deduction-nk/formula.d.ts +8 -0
- package/dist/logic/profiles/natural-deduction-nk/formula.d.ts.map +1 -1
- package/dist/logic/profiles/natural-deduction-nk/formula.js +8 -0
- package/dist/logic/profiles/natural-deduction-nk/formula.js.map +1 -1
- package/dist/logic/profiles/quantum/index.d.ts.map +1 -1
- package/dist/logic/profiles/quantum/index.js +11 -8
- package/dist/logic/profiles/quantum/index.js.map +1 -1
- package/dist/logic/profiles/sequent-lj/index.d.ts +90 -0
- package/dist/logic/profiles/sequent-lj/index.d.ts.map +1 -0
- package/dist/logic/profiles/sequent-lj/index.js +903 -0
- package/dist/logic/profiles/sequent-lj/index.js.map +1 -0
- package/dist/logic/profiles/shared/tableau-engine.d.ts.map +1 -1
- package/dist/logic/profiles/shared/tableau-engine.js +0 -17
- package/dist/logic/profiles/shared/tableau-engine.js.map +1 -1
- package/dist/namespaces/proof-systems.d.ts +1 -1
- package/dist/namespaces/proof-systems.d.ts.map +1 -1
- package/dist/namespaces/proof-systems.js.map +1 -1
- package/dist/namespaces/semantics.d.ts +1 -1
- package/dist/namespaces/semantics.d.ts.map +1 -1
- package/dist/namespaces/semantics.js.map +1 -1
- package/dist/proof-systems/distributed-exchange/index.d.ts +29 -0
- package/dist/proof-systems/distributed-exchange/index.d.ts.map +1 -1
- package/dist/proof-systems/distributed-exchange/index.js +18 -0
- package/dist/proof-systems/distributed-exchange/index.js.map +1 -1
- package/dist/proof-systems/fol-prover/types.d.ts +16 -0
- package/dist/proof-systems/fol-prover/types.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover/types.js +7 -0
- package/dist/proof-systems/fol-prover/types.js.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/index.d.ts +3 -3
- package/dist/proof-systems/fol-prover-advanced/index.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/index.js.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/ordering.js +1 -1
- package/dist/proof-systems/fol-prover-advanced/prover.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/prover.js +19 -12
- package/dist/proof-systems/fol-prover-advanced/prover.js.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/resolve.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/resolve.js +7 -7
- package/dist/proof-systems/fol-prover-advanced/resolve.js.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/subsumption.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/subsumption.js.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/types.d.ts +12 -0
- package/dist/proof-systems/fol-prover-advanced/types.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover-advanced/unify.js +2 -2
- package/dist/proof-systems/fol-prover-equality/term-utils.d.ts +46 -0
- package/dist/proof-systems/fol-prover-equality/term-utils.d.ts.map +1 -1
- package/dist/proof-systems/fol-prover-equality/term-utils.js +46 -0
- package/dist/proof-systems/fol-prover-equality/term-utils.js.map +1 -1
- package/dist/proof-systems/proof-nets/correctness.d.ts.map +1 -1
- package/dist/proof-systems/proof-nets/correctness.js +24 -12
- package/dist/proof-systems/proof-nets/correctness.js.map +1 -1
- package/dist/proof-systems/proof-nets/types.d.ts +18 -0
- package/dist/proof-systems/proof-nets/types.d.ts.map +1 -1
- package/dist/proof-systems/proof-nets/types.js +6 -0
- package/dist/proof-systems/proof-nets/types.js.map +1 -1
- package/dist/proof-systems/tableau-framework/TableauProver.d.ts.map +1 -1
- package/dist/proof-systems/tableau-framework/TableauProver.js +5 -5
- package/dist/proof-systems/tableau-framework/TableauProver.js.map +1 -1
- package/dist/proof-systems/tableau-framework/propositional.d.ts.map +1 -1
- package/dist/proof-systems/tableau-framework/propositional.js +21 -21
- package/dist/proof-systems/tableau-framework/propositional.js.map +1 -1
- package/dist/reasoning/ban-logic/terms.d.ts +24 -0
- package/dist/reasoning/ban-logic/terms.d.ts.map +1 -1
- package/dist/reasoning/ban-logic/terms.js +24 -0
- package/dist/reasoning/ban-logic/terms.js.map +1 -1
- package/dist/reasoning/bayesian/factor.js +8 -8
- package/dist/reasoning/bayesian/factor.js.map +1 -1
- package/dist/reasoning/bayesian/inference.d.ts.map +1 -1
- package/dist/reasoning/bayesian/inference.js +11 -5
- package/dist/reasoning/bayesian/inference.js.map +1 -1
- package/dist/reasoning/combinatorics/generators.js.map +1 -1
- package/dist/reasoning/combinatorics/index.d.ts +3 -3
- package/dist/reasoning/combinatorics/index.d.ts.map +1 -1
- package/dist/reasoning/combinatorics/index.js.map +1 -1
- package/dist/reasoning/combinatorics/set-partitions.js.map +1 -1
- package/dist/reasoning/combinatorics/special-numbers.d.ts.map +1 -1
- package/dist/reasoning/combinatorics/special-numbers.js.map +1 -1
- package/dist/reasoning/constructive-analysis/cauchy.js +2 -2
- package/dist/reasoning/constructive-analysis/compact.js +1 -1
- package/dist/reasoning/constructive-analysis/continuity.d.ts.map +1 -1
- package/dist/reasoning/constructive-analysis/continuity.js +4 -4
- package/dist/reasoning/constructive-analysis/continuity.js.map +1 -1
- package/dist/reasoning/constructive-analysis/index.d.ts.map +1 -1
- package/dist/reasoning/constructive-analysis/index.js.map +1 -1
- package/dist/reasoning/constructive-analysis/ivt.d.ts.map +1 -1
- package/dist/reasoning/constructive-analysis/ivt.js +2 -2
- package/dist/reasoning/constructive-analysis/ivt.js.map +1 -1
- package/dist/reasoning/constructive-reals/index.d.ts.map +1 -1
- package/dist/reasoning/constructive-reals/index.js +4 -8
- package/dist/reasoning/constructive-reals/index.js.map +1 -1
- package/dist/reasoning/galois-fields/index.d.ts +64 -0
- package/dist/reasoning/galois-fields/index.d.ts.map +1 -1
- package/dist/reasoning/galois-fields/index.js +56 -6
- package/dist/reasoning/galois-fields/index.js.map +1 -1
- package/dist/reasoning/graph-theory/index.d.ts +31 -0
- package/dist/reasoning/graph-theory/index.d.ts.map +1 -1
- package/dist/reasoning/graph-theory/index.js +28 -10
- package/dist/reasoning/graph-theory/index.js.map +1 -1
- package/dist/reasoning/hoare-logic/index.d.ts +34 -0
- package/dist/reasoning/hoare-logic/index.d.ts.map +1 -1
- package/dist/reasoning/hoare-logic/index.js +26 -0
- package/dist/reasoning/hoare-logic/index.js.map +1 -1
- package/dist/reasoning/hyperreal/index.d.ts +30 -0
- package/dist/reasoning/hyperreal/index.d.ts.map +1 -1
- package/dist/reasoning/hyperreal/index.js +25 -0
- package/dist/reasoning/hyperreal/index.js.map +1 -1
- package/dist/reasoning/information-theory/index.d.ts +34 -0
- package/dist/reasoning/information-theory/index.d.ts.map +1 -1
- package/dist/reasoning/information-theory/index.js +27 -44
- package/dist/reasoning/information-theory/index.js.map +1 -1
- package/dist/reasoning/lemma-synthesis/index.d.ts +36 -0
- package/dist/reasoning/lemma-synthesis/index.d.ts.map +1 -1
- package/dist/reasoning/lemma-synthesis/index.js +12 -0
- package/dist/reasoning/lemma-synthesis/index.js.map +1 -1
- package/dist/reasoning/linear-algebra/index.d.ts +38 -0
- package/dist/reasoning/linear-algebra/index.d.ts.map +1 -1
- package/dist/reasoning/linear-algebra/index.js +34 -5
- package/dist/reasoning/linear-algebra/index.js.map +1 -1
- package/dist/reasoning/markov-logic/grounding.js +1 -1
- package/dist/reasoning/markov-logic/grounding.js.map +1 -1
- package/dist/reasoning/markov-logic/inference.js +1 -1
- package/dist/reasoning/markov-logic/inference.js.map +1 -1
- package/dist/reasoning/order-theory/index.d.ts +121 -0
- package/dist/reasoning/order-theory/index.d.ts.map +1 -0
- package/dist/reasoning/order-theory/index.js +562 -0
- package/dist/reasoning/order-theory/index.js.map +1 -0
- package/dist/reasoning/peano-arithmetic/index.d.ts +114 -0
- package/dist/reasoning/peano-arithmetic/index.d.ts.map +1 -0
- package/dist/reasoning/peano-arithmetic/index.js +650 -0
- package/dist/reasoning/peano-arithmetic/index.js.map +1 -0
- package/dist/reasoning/polynomial-ring/index.d.ts +80 -0
- package/dist/reasoning/polynomial-ring/index.d.ts.map +1 -1
- package/dist/reasoning/polynomial-ring/index.js +75 -0
- package/dist/reasoning/polynomial-ring/index.js.map +1 -1
- package/dist/reasoning/separation-logic/index.d.ts +30 -0
- package/dist/reasoning/separation-logic/index.d.ts.map +1 -1
- package/dist/reasoning/separation-logic/index.js +21 -0
- package/dist/reasoning/separation-logic/index.js.map +1 -1
- package/dist/reasoning/set-theory/hf-functions.js +3 -3
- package/dist/reasoning/set-theory/hf-sets.js +1 -1
- package/dist/reasoning/set-theory/index.d.ts +3 -3
- package/dist/reasoning/set-theory/index.d.ts.map +1 -1
- package/dist/reasoning/set-theory/zfc-axioms.js +4 -4
- package/dist/reasoning/tactic-dsl/tactics.d.ts +87 -0
- package/dist/reasoning/tactic-dsl/tactics.d.ts.map +1 -1
- package/dist/reasoning/tactic-dsl/tactics.js +86 -36
- package/dist/reasoning/tactic-dsl/tactics.js.map +1 -1
- package/dist/reasoning/topology/index.d.ts +81 -0
- package/dist/reasoning/topology/index.d.ts.map +1 -1
- package/dist/reasoning/topology/index.js +69 -45
- package/dist/reasoning/topology/index.js.map +1 -1
- package/dist/runtime/countermodel-min/minimize.js +0 -0
- package/dist/runtime/countermodel-min/minimize.js.map +1 -1
- package/dist/runtime/csp-hoare/semantics.d.ts +12 -0
- package/dist/runtime/csp-hoare/semantics.d.ts.map +1 -1
- package/dist/runtime/csp-hoare/semantics.js +12 -0
- package/dist/runtime/csp-hoare/semantics.js.map +1 -1
- package/dist/runtime/symbolic-diff/constructors.d.ts +20 -0
- package/dist/runtime/symbolic-diff/constructors.d.ts.map +1 -1
- package/dist/runtime/symbolic-diff/constructors.js +20 -0
- package/dist/runtime/symbolic-diff/constructors.js.map +1 -1
- package/dist/runtime/term-rewriting/term-utils.d.ts.map +1 -1
- package/dist/runtime/term-rewriting/term-utils.js +33 -2
- package/dist/runtime/term-rewriting/term-utils.js.map +1 -1
- package/dist/runtime/typecheck/checker.js +2 -2
- package/dist/runtime/typecheck/checker.js.map +1 -1
- package/dist/runtime/typecheck/levenshtein.js +1 -1
- package/dist/runtime/typecheck/levenshtein.js.map +1 -1
- package/dist/semantics/categorical/fin-set.d.ts.map +1 -1
- package/dist/semantics/categorical/fin-set.js +8 -1
- package/dist/semantics/categorical/fin-set.js.map +1 -1
- package/dist/semantics/categorical/free.d.ts.map +1 -1
- package/dist/semantics/categorical/free.js +8 -2
- package/dist/semantics/categorical/free.js.map +1 -1
- package/dist/semantics/categorical/limits.d.ts.map +1 -1
- package/dist/semantics/categorical/limits.js +13 -4
- package/dist/semantics/categorical/limits.js.map +1 -1
- package/dist/semantics/categorical/monoidal.d.ts.map +1 -1
- package/dist/semantics/categorical/monoidal.js +3 -1
- package/dist/semantics/categorical/monoidal.js.map +1 -1
- package/dist/semantics/text-layer/compiler.d.ts +46 -0
- package/dist/semantics/text-layer/compiler.d.ts.map +1 -1
- package/dist/semantics/text-layer/compiler.js +46 -11
- package/dist/semantics/text-layer/compiler.js.map +1 -1
- package/dist/solver/cdcl-v2/index.d.ts +8 -0
- package/dist/solver/cdcl-v2/index.d.ts.map +1 -1
- package/dist/solver/cdcl-v2/index.js +8 -0
- package/dist/solver/cdcl-v2/index.js.map +1 -1
- package/dist/solver/smt-z3/z3-wasm-backend.d.ts +0 -1
- package/dist/solver/smt-z3/z3-wasm-backend.d.ts.map +1 -1
- package/dist/solver/smt-z3/z3-wasm-backend.js +2 -3
- package/dist/solver/smt-z3/z3-wasm-backend.js.map +1 -1
- package/dist/tests/agora-integration-fixtures.test.js +7 -2
- package/dist/tests/agora-integration-fixtures.test.js.map +1 -1
- package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.js +123 -0
- package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-certificate-rules.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-certificate-rules.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-certificate-rules.test.js +172 -0
- package/dist/tests/coverage-90/coverage-90-certificate-rules.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.js +326 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-features.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-features.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-features.test.js +418 -0
- package/dist/tests/coverage-90/coverage-90-interpreter-features.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-modal-temporal.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-modal-temporal.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-modal-temporal.test.js +162 -0
- package/dist/tests/coverage-90/coverage-90-modal-temporal.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-nk-prover.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-nk-prover.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-nk-prover.test.js +104 -0
- package/dist/tests/coverage-90/coverage-90-nk-prover.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-parser-deep.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-parser-deep.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-parser-deep.test.js +262 -0
- package/dist/tests/coverage-90/coverage-90-parser-deep.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-sat-engines.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-sat-engines.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-sat-engines.test.js +101 -0
- package/dist/tests/coverage-90/coverage-90-sat-engines.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-sequent-lk.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-sequent-lk.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-sequent-lk.test.js +219 -0
- package/dist/tests/coverage-90/coverage-90-sequent-lk.test.js.map +1 -0
- package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.d.ts +2 -0
- package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.d.ts.map +1 -0
- package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.js +154 -0
- package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.js.map +1 -0
- package/dist/tests/coverage-95/first-order.test.js.map +1 -1
- package/dist/tests/coverage-95/fol-prover.test.js.map +1 -1
- package/dist/tests/integration/cross-modules.test.js +43 -19
- package/dist/tests/integration/cross-modules.test.js.map +1 -1
- package/dist/tests/logic/ctl/check.test.js.map +1 -1
- package/dist/tests/logic/profile-bridge/translations.test.js +3 -3
- package/dist/tests/logic/profile-bridge/translations.test.js.map +1 -1
- package/dist/tests/logic/profiles/sequent-lj/lj.test.d.ts +2 -0
- package/dist/tests/logic/profiles/sequent-lj/lj.test.d.ts.map +1 -0
- package/dist/tests/logic/profiles/sequent-lj/lj.test.js +400 -0
- package/dist/tests/logic/profiles/sequent-lj/lj.test.js.map +1 -0
- package/dist/tests/logic/sequent-g3/prover.test.js.map +1 -1
- package/dist/tests/logic/substructural/prover.test.js.map +1 -1
- package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js +40 -13
- package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js.map +1 -1
- package/dist/tests/proof-systems/higher-order-unify/ho-unify.test.js.map +1 -1
- package/dist/tests/proof-systems/tableau-framework/tableau.test.js +8 -8
- package/dist/tests/proof-systems/tableau-framework/tableau.test.js.map +1 -1
- package/dist/tests/properties/agm.property.test.js +1 -1
- package/dist/tests/properties/agm.property.test.js.map +1 -1
- package/dist/tests/properties/anti-unification.property.test.js.map +1 -1
- package/dist/tests/properties/argumentation.property.test.js.map +1 -1
- package/dist/tests/properties/bisimulation.property.test.js.map +1 -1
- package/dist/tests/properties/cdcl.property.test.js.map +1 -1
- package/dist/tests/properties/coinduction.property.test.js.map +1 -1
- package/dist/tests/properties/constructive-reals.property.test.js.map +1 -1
- package/dist/tests/properties/csp.property.test.js +1 -3
- package/dist/tests/properties/csp.property.test.js.map +1 -1
- package/dist/tests/properties/generators.d.ts +1 -1
- package/dist/tests/properties/generators.d.ts.map +1 -1
- package/dist/tests/properties/generators.js +22 -30
- package/dist/tests/properties/generators.js.map +1 -1
- package/dist/tests/properties/intuit-nj.property.test.js +3 -1
- package/dist/tests/properties/intuit-nj.property.test.js.map +1 -1
- package/dist/tests/properties/lambda-calc.property.test.js.map +1 -1
- package/dist/tests/properties/mln.property.test.js +1 -3
- package/dist/tests/properties/mln.property.test.js.map +1 -1
- package/dist/tests/properties/planning.property.test.js.map +1 -1
- package/dist/tests/properties/profile-bridge.property.test.js.map +1 -1
- package/dist/tests/properties/theorem-cache.property.test.js.map +1 -1
- package/dist/tests/protocol-text-layer.test.js.map +1 -1
- package/dist/tests/reasoning/combinatorics/combinatorics.test.js +1 -1
- package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js +9 -9
- package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js.map +1 -1
- package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js +80 -38
- package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js.map +1 -1
- package/dist/tests/reasoning/order-theory/order-theory.test.d.ts +2 -0
- package/dist/tests/reasoning/order-theory/order-theory.test.d.ts.map +1 -0
- package/dist/tests/reasoning/order-theory/order-theory.test.js +211 -0
- package/dist/tests/reasoning/order-theory/order-theory.test.js.map +1 -0
- package/dist/tests/reasoning/peano-arithmetic/peano.test.d.ts +2 -0
- package/dist/tests/reasoning/peano-arithmetic/peano.test.d.ts.map +1 -0
- package/dist/tests/reasoning/peano-arithmetic/peano.test.js +159 -0
- package/dist/tests/reasoning/peano-arithmetic/peano.test.js.map +1 -0
- package/dist/tests/reasoning/set-theory/hf-functions.test.js +11 -11
- package/dist/tests/reasoning/set-theory/zfc-axioms.test.js +1 -1
- package/dist/tests/semantics/text-layer-v2/claim-graph.test.js.map +1 -1
- package/dist/tests/solver/smt-lib/emitter.test.js.map +1 -1
- package/dist/tests/solver/smt-z3/z3-wasm-backend.test.js.map +1 -1
- package/dist/tests/tooling/test-harness/test-harness.test.js +9 -6
- package/dist/tests/tooling/test-harness/test-harness.test.js.map +1 -1
- package/dist/tooling/lsp/types.d.ts +13 -0
- package/dist/tooling/lsp/types.d.ts.map +1 -1
- package/dist/tooling/lsp/types.js +1 -0
- package/dist/tooling/lsp/types.js.map +1 -1
- package/dist/tooling/test-harness/combinators.d.ts.map +1 -1
- package/dist/tooling/test-harness/combinators.js +4 -4
- package/dist/tooling/test-harness/combinators.js.map +1 -1
- package/dist/tooling/test-harness/coverage.js +1 -1
- package/dist/tooling/test-harness/generators.d.ts.map +1 -1
- package/dist/tooling/test-harness/generators.js.map +1 -1
- package/dist/tooling/test-harness/index.d.ts +1 -1
- package/dist/tooling/test-harness/index.d.ts.map +1 -1
- package/dist/tooling/test-harness/index.js.map +1 -1
- package/dist/tooling/test-harness/snapshot.d.ts.map +1 -1
- package/dist/tooling/test-harness/snapshot.js +2 -2
- package/dist/tooling/test-harness/snapshot.js.map +1 -1
- package/dist/type-theory/cubical/types.d.ts +25 -0
- package/dist/type-theory/cubical/types.d.ts.map +1 -1
- package/dist/type-theory/cubical/types.js +20 -0
- package/dist/type-theory/cubical/types.js.map +1 -1
- package/dist/type-theory/curry-howard/types.d.ts +27 -0
- package/dist/type-theory/curry-howard/types.d.ts.map +1 -1
- package/dist/type-theory/curry-howard/types.js +18 -0
- package/dist/type-theory/curry-howard/types.js.map +1 -1
- package/dist/type-theory/hindley-milner/substitution.d.ts +39 -0
- package/dist/type-theory/hindley-milner/substitution.d.ts.map +1 -1
- package/dist/type-theory/hindley-milner/substitution.js +37 -0
- package/dist/type-theory/hindley-milner/substitution.js.map +1 -1
- package/dist/type-theory/hindley-milner/types.d.ts +25 -0
- package/dist/type-theory/hindley-milner/types.d.ts.map +1 -1
- package/dist/type-theory/hindley-milner/types.js +22 -2
- package/dist/type-theory/hindley-milner/types.js.map +1 -1
- package/dist/type-theory/hol/rules.d.ts +36 -0
- package/dist/type-theory/hol/rules.d.ts.map +1 -1
- package/dist/type-theory/hol/rules.js +36 -0
- package/dist/type-theory/hol/rules.js.map +1 -1
- package/dist/type-theory/hott/types.d.ts +32 -0
- package/dist/type-theory/hott/types.d.ts.map +1 -1
- package/dist/type-theory/hott/types.js +31 -1
- package/dist/type-theory/hott/types.js.map +1 -1
- package/dist/type-theory/lambda-cube/types.d.ts +17 -0
- package/dist/type-theory/lambda-cube/types.d.ts.map +1 -1
- package/dist/type-theory/lambda-cube/types.js +13 -0
- package/dist/type-theory/lambda-cube/types.js.map +1 -1
- package/dist/type-theory/mltt/types.d.ts +19 -0
- package/dist/type-theory/mltt/types.d.ts.map +1 -1
- package/dist/type-theory/mltt/types.js +15 -1
- package/dist/type-theory/mltt/types.js.map +1 -1
- package/dist/type-theory/nbe/types.d.ts +21 -0
- package/dist/type-theory/nbe/types.d.ts.map +1 -1
- package/dist/type-theory/nbe/types.js +13 -1
- package/dist/type-theory/nbe/types.js.map +1 -1
- package/dist/type-theory/refinement-types/types.d.ts +38 -0
- package/dist/type-theory/refinement-types/types.d.ts.map +1 -1
- package/dist/type-theory/refinement-types/types.js +35 -0
- package/dist/type-theory/refinement-types/types.js.map +1 -1
- package/dist/type-theory/system-f/types.d.ts +30 -0
- package/dist/type-theory/system-f/types.d.ts.map +1 -1
- package/dist/type-theory/system-f/types.js +24 -3
- package/dist/type-theory/system-f/types.js.map +1 -1
- package/dist/types/index.d.ts +42 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
**ST** es un lenguaje ejecutable para lógica, argumentación y formalización documental.
|
|
8
8
|
Combina verificación formal, scripting declarativo, control de flujo, funciones, perfiles lógicos múltiples y una **Text Layer** para conectar fórmulas con texto humano real.
|
|
9
9
|
|
|
10
|
-
[](package.json)
|
|
11
|
+
[]()
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
[]()
|
|
14
14
|
|
|
@@ -38,7 +38,7 @@ Combina verificación formal, scripting declarativo, control de flujo, funciones
|
|
|
38
38
|
### Con npm
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
npm install @stevenvo780/st-lang@4.
|
|
41
|
+
npm install @stevenvo780/st-lang@4.14.0
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
### Desde el código fuente
|
|
@@ -53,9 +53,9 @@ npm link
|
|
|
53
53
|
|
|
54
54
|
---
|
|
55
55
|
|
|
56
|
-
## What's new in V4 (4.0 → 4.
|
|
56
|
+
## What's new in V4–V5 (4.0 → 4.14.0)
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
80+ módulos nuevos. 6333 tests (eran 1583 en v3.3).
|
|
59
59
|
|
|
60
60
|
### Performance & SAT
|
|
61
61
|
- CDCL v2 con VSIDS, clause learning y reinicios Luby.
|
|
@@ -493,7 +493,7 @@ La extensión oficial en `editors/vscode-st` aporta:
|
|
|
493
493
|
## Documentación ampliada
|
|
494
494
|
|
|
495
495
|
- Guía completa local: [`DOCS.md`](./DOCS.md)
|
|
496
|
-
- Documentación web: [agora.
|
|
496
|
+
- Documentación web: [agora.elenxos.com/docs#st-lang](https://agora.elenxos.com/docs#st-lang)
|
|
497
497
|
|
|
498
498
|
---
|
|
499
499
|
|
package/dist/ast/nodes.d.ts
CHANGED
|
@@ -1,51 +1,64 @@
|
|
|
1
1
|
import { Formula, SourceLocation } from '../types';
|
|
2
|
+
/** Discriminante de todos los nodos de sentencia del AST de ST. */
|
|
2
3
|
export type StatementKind = 'logic_decl' | 'axiom_decl' | 'theorem_decl' | 'derive_cmd' | 'check_valid_cmd' | 'check_satisfiable_cmd' | 'check_equivalent_cmd' | 'prove_cmd' | 'countermodel_cmd' | 'truth_table_cmd' | 'let_decl' | 'claim_decl' | 'support_decl' | 'confidence_decl' | 'context_decl' | 'render_cmd' | 'analyze_cmd' | 'explain_cmd' | 'import_decl' | 'proof_block' | 'theory_decl' | 'print_cmd' | 'set_cmd' | 'if_stmt' | 'for_stmt' | 'while_stmt' | 'fn_decl' | 'return_stmt' | 'fn_call' | 'export_decl' | 'define_decl' | 'unfold_cmd' | 'fold_cmd' | 'source_decl' | 'interpret_cmd' | 'glossary_cmd';
|
|
4
|
+
/** Nodo base del AST. Todos los nodos de sentencia extienden esta interfaz. */
|
|
3
5
|
export interface ASTNode {
|
|
4
6
|
kind: StatementKind;
|
|
5
7
|
source: SourceLocation;
|
|
6
8
|
}
|
|
9
|
+
/** Declaración de perfil lógico activo: `logic classical.propositional`. */
|
|
7
10
|
export interface LogicDeclNode extends ASTNode {
|
|
8
11
|
kind: 'logic_decl';
|
|
9
12
|
profile: string;
|
|
10
13
|
}
|
|
14
|
+
/** Declaración de axioma: `axiom <nombre> := <fórmula>`. */
|
|
11
15
|
export interface AxiomDeclNode extends ASTNode {
|
|
12
16
|
kind: 'axiom_decl';
|
|
13
17
|
name: string;
|
|
14
18
|
formula: Formula;
|
|
15
19
|
}
|
|
20
|
+
/** Declaración de teorema: `theorem <nombre> := <fórmula>`. */
|
|
16
21
|
export interface TheoremDeclNode extends ASTNode {
|
|
17
22
|
kind: 'theorem_decl';
|
|
18
23
|
name: string;
|
|
19
24
|
formula: Formula;
|
|
20
25
|
}
|
|
26
|
+
/** Comando `derive <goal> from <premises...>`: deriva una fórmula a partir de premisas nombradas. */
|
|
21
27
|
export interface DeriveCmdNode extends ASTNode {
|
|
22
28
|
kind: 'derive_cmd';
|
|
23
29
|
goal: Formula;
|
|
24
30
|
premises: string[];
|
|
25
31
|
}
|
|
32
|
+
/** Comando `check valid <fórmula>`: verifica si la fórmula es tautología. */
|
|
26
33
|
export interface CheckValidCmdNode extends ASTNode {
|
|
27
34
|
kind: 'check_valid_cmd';
|
|
28
35
|
formula: Formula;
|
|
29
36
|
}
|
|
37
|
+
/** Comando `check satisfiable <fórmula>`: verifica si existe valoración que satisfaga la fórmula. */
|
|
30
38
|
export interface CheckSatisfiableCmdNode extends ASTNode {
|
|
31
39
|
kind: 'check_satisfiable_cmd';
|
|
32
40
|
formula: Formula;
|
|
33
41
|
}
|
|
42
|
+
/** Comando `check equivalent <A> <B>`: comprueba equivalencia lógica entre dos fórmulas. */
|
|
34
43
|
export interface CheckEquivalentCmdNode extends ASTNode {
|
|
35
44
|
kind: 'check_equivalent_cmd';
|
|
36
45
|
left: Formula;
|
|
37
46
|
right: Formula;
|
|
38
47
|
}
|
|
48
|
+
/** Comando `prove <goal> from <premises...>`: intenta construir una prueba formal del goal. */
|
|
39
49
|
export interface ProveCmdNode extends ASTNode {
|
|
40
50
|
kind: 'prove_cmd';
|
|
41
51
|
goal: Formula;
|
|
42
52
|
premises: string[];
|
|
43
53
|
}
|
|
54
|
+
/** Comando `countermodel <fórmula>`: busca un modelo que falsifique la fórmula. */
|
|
44
55
|
export interface CountermodelCmdNode extends ASTNode {
|
|
45
56
|
kind: 'countermodel_cmd';
|
|
46
57
|
formula: Formula;
|
|
47
58
|
}
|
|
59
|
+
/** Discriminante de las acciones que puede encapsular un `let x = <acción>`. */
|
|
48
60
|
export type ActionExprKind = 'check_valid' | 'check_satisfiable' | 'check_equivalent' | 'derive' | 'prove' | 'countermodel' | 'truth_table' | 'explain';
|
|
61
|
+
/** Expresión de acción usada dentro de `let x = <acción>`. */
|
|
49
62
|
export interface ActionExprNode {
|
|
50
63
|
kind: 'action_expr';
|
|
51
64
|
action: ActionExprKind;
|
|
@@ -56,28 +69,34 @@ export interface ActionExprNode {
|
|
|
56
69
|
goal?: Formula;
|
|
57
70
|
premises?: string[];
|
|
58
71
|
}
|
|
72
|
+
/** Comando `truth_table <fórmula>`: genera la tabla de verdad completa. */
|
|
59
73
|
export interface TruthTableCmdNode extends ASTNode {
|
|
60
74
|
kind: 'truth_table_cmd';
|
|
61
75
|
formula: Formula;
|
|
62
76
|
}
|
|
77
|
+
/** Comando `render <target> as <format>`: serializa un símbolo a un formato dado. */
|
|
63
78
|
export interface RenderCmdNode extends ASTNode {
|
|
64
79
|
kind: 'render_cmd';
|
|
65
80
|
target: string;
|
|
66
81
|
format: string;
|
|
67
82
|
}
|
|
83
|
+
/** Comando `analyze <premises> therefore <conclusion>`: analiza la validez de un argumento. */
|
|
68
84
|
export interface AnalyzeCmdNode extends ASTNode {
|
|
69
85
|
kind: 'analyze_cmd';
|
|
70
86
|
premises: Formula[];
|
|
71
87
|
conclusion: Formula;
|
|
72
88
|
}
|
|
89
|
+
/** Comando `explain <fórmula>`: produce una explicación en lenguaje natural de la fórmula. */
|
|
73
90
|
export interface ExplainCmdNode extends ASTNode {
|
|
74
91
|
kind: 'explain_cmd';
|
|
75
92
|
formula: Formula;
|
|
76
93
|
}
|
|
94
|
+
/** Declaración `import "<path>"`: importa otro archivo ST al scope actual. */
|
|
77
95
|
export interface ImportDeclNode extends ASTNode {
|
|
78
96
|
kind: 'import_decl';
|
|
79
97
|
path: string;
|
|
80
98
|
}
|
|
99
|
+
/** Bloque de prueba estructurado con supuestos locales y goal explícito. */
|
|
81
100
|
export interface ProofBlockNode extends ASTNode {
|
|
82
101
|
kind: 'proof_block';
|
|
83
102
|
assumptions: {
|
|
@@ -87,10 +106,12 @@ export interface ProofBlockNode extends ASTNode {
|
|
|
87
106
|
goal: Formula;
|
|
88
107
|
body: Statement[];
|
|
89
108
|
}
|
|
109
|
+
/** Miembro de una teoría con control de visibilidad pública/privada. */
|
|
90
110
|
export interface TheoryMember {
|
|
91
111
|
statement: Statement;
|
|
92
112
|
visibility: 'public' | 'private';
|
|
93
113
|
}
|
|
114
|
+
/** Declaración de teoría con herencia opcional: `theory T extends Parent { ... }`. */
|
|
94
115
|
export interface TheoryDeclNode extends ASTNode {
|
|
95
116
|
kind: 'theory_decl';
|
|
96
117
|
name: string;
|
|
@@ -98,32 +119,38 @@ export interface TheoryDeclNode extends ASTNode {
|
|
|
98
119
|
parent?: string;
|
|
99
120
|
members: TheoryMember[];
|
|
100
121
|
}
|
|
122
|
+
/** Comando `print <expr>`: imprime un valor o fórmula en stdout. */
|
|
101
123
|
export interface PrintCmdNode extends ASTNode {
|
|
102
124
|
kind: 'print_cmd';
|
|
103
125
|
value: string | null;
|
|
104
126
|
formula?: Formula;
|
|
105
127
|
}
|
|
128
|
+
/** Comando `set <nombre> := <fórmula>`: asigna una fórmula a una variable mutable. */
|
|
106
129
|
export interface SetCmdNode extends ASTNode {
|
|
107
130
|
kind: 'set_cmd';
|
|
108
131
|
name: string;
|
|
109
132
|
formula: Formula;
|
|
110
133
|
}
|
|
134
|
+
/** Rama condicional de un `if` con condición lógica sobre una fórmula. */
|
|
111
135
|
export interface IfBranch {
|
|
112
136
|
condition: 'valid' | 'satisfiable' | 'unsatisfiable' | 'invalid';
|
|
113
137
|
formula: Formula;
|
|
114
138
|
body: Statement[];
|
|
115
139
|
}
|
|
140
|
+
/** Sentencia `if <condición lógica> { ... } else { ... }` del control flow de ST. */
|
|
116
141
|
export interface IfStmtNode extends ASTNode {
|
|
117
142
|
kind: 'if_stmt';
|
|
118
143
|
branches: IfBranch[];
|
|
119
144
|
elseBranch?: Statement[];
|
|
120
145
|
}
|
|
146
|
+
/** Sentencia `for <var> in {A, B, C} { ... }`: itera sobre un conjunto de fórmulas. */
|
|
121
147
|
export interface ForStmtNode extends ASTNode {
|
|
122
148
|
kind: 'for_stmt';
|
|
123
149
|
variable: string;
|
|
124
150
|
items: Formula[];
|
|
125
151
|
body: Statement[];
|
|
126
152
|
}
|
|
153
|
+
/** Sentencia `while <condición lógica> <fórmula> { ... }` con límite de iteraciones por seguridad. */
|
|
127
154
|
export interface WhileStmtNode extends ASTNode {
|
|
128
155
|
kind: 'while_stmt';
|
|
129
156
|
condition: 'valid' | 'satisfiable' | 'unsatisfiable' | 'invalid';
|
|
@@ -131,25 +158,30 @@ export interface WhileStmtNode extends ASTNode {
|
|
|
131
158
|
body: Statement[];
|
|
132
159
|
maxIterations: number;
|
|
133
160
|
}
|
|
161
|
+
/** Declaración de función ST: `fn <nombre>(<params>) { ... }`. */
|
|
134
162
|
export interface FnDeclNode extends ASTNode {
|
|
135
163
|
kind: 'fn_decl';
|
|
136
164
|
name: string;
|
|
137
165
|
params: string[];
|
|
138
166
|
body: Statement[];
|
|
139
167
|
}
|
|
168
|
+
/** Sentencia `return <fórmula>` dentro de una función ST. */
|
|
140
169
|
export interface ReturnStmtNode extends ASTNode {
|
|
141
170
|
kind: 'return_stmt';
|
|
142
171
|
formula?: Formula;
|
|
143
172
|
}
|
|
173
|
+
/** Llamada a función ST: `<nombre>(<args...>)`. */
|
|
144
174
|
export interface FnCallNode extends ASTNode {
|
|
145
175
|
kind: 'fn_call';
|
|
146
176
|
name: string;
|
|
147
177
|
args: Formula[];
|
|
148
178
|
}
|
|
179
|
+
/** Declara una sentencia como pública al importar el módulo ST. */
|
|
149
180
|
export interface ExportDeclNode extends ASTNode {
|
|
150
181
|
kind: 'export_decl';
|
|
151
182
|
statement: Statement;
|
|
152
183
|
}
|
|
184
|
+
/** Declaración `define <nombre>[(<params>)] := <body>`: crea una abreviación de fórmula. */
|
|
153
185
|
export interface DefineDeclNode extends ASTNode {
|
|
154
186
|
kind: 'define_decl';
|
|
155
187
|
name: string;
|
|
@@ -157,38 +189,46 @@ export interface DefineDeclNode extends ASTNode {
|
|
|
157
189
|
body: Formula;
|
|
158
190
|
description?: string;
|
|
159
191
|
}
|
|
192
|
+
/** Comando `unfold <fórmula>`: expande las definiciones en la fórmula dada. */
|
|
160
193
|
export interface UnfoldCmdNode extends ASTNode {
|
|
161
194
|
kind: 'unfold_cmd';
|
|
162
195
|
formula: Formula;
|
|
163
196
|
}
|
|
197
|
+
/** Comando `fold <fórmula>`: contrae subexpresiones que coinciden con definiciones. */
|
|
164
198
|
export interface FoldCmdNode extends ASTNode {
|
|
165
199
|
kind: 'fold_cmd';
|
|
166
200
|
formula: Formula;
|
|
167
201
|
}
|
|
202
|
+
/** Campo clave-valor de una declaración `source`. */
|
|
168
203
|
export interface SourceField {
|
|
169
204
|
key: string;
|
|
170
205
|
value: string | number;
|
|
171
206
|
}
|
|
207
|
+
/** Declaración bibliográfica `source <nombre> { author: ..., year: ... }`. */
|
|
172
208
|
export interface SourceDeclNode extends ASTNode {
|
|
173
209
|
kind: 'source_decl';
|
|
174
210
|
name: string;
|
|
175
211
|
fields: SourceField[];
|
|
176
212
|
}
|
|
213
|
+
/** Comando `interpret "<texto>" as <fórmula>`: vincula un texto en lenguaje natural a su formalización. */
|
|
177
214
|
export interface InterpretCmdNode extends ASTNode {
|
|
178
215
|
kind: 'interpret_cmd';
|
|
179
216
|
text: string;
|
|
180
217
|
passageRef?: string;
|
|
181
218
|
formula: Formula;
|
|
182
219
|
}
|
|
220
|
+
/** Comando `glossary`: imprime el glosario semántico del documento actual. */
|
|
183
221
|
export interface GlossaryCmdNode extends ASTNode {
|
|
184
222
|
kind: 'glossary_cmd';
|
|
185
223
|
}
|
|
224
|
+
/** Nodo `let <nombre> = passage "<path>"`: vincula un pasaje textual externo. */
|
|
186
225
|
export interface LetPassageNode extends ASTNode {
|
|
187
226
|
kind: 'let_decl';
|
|
188
227
|
name: string;
|
|
189
228
|
letType: 'passage';
|
|
190
229
|
anchorPath: string;
|
|
191
230
|
}
|
|
231
|
+
/** Nodo `let <nombre> = formalize <pasaje> as <fórmula>`: asocia una formalización a un pasaje. */
|
|
192
232
|
export interface LetFormalizeNode extends ASTNode {
|
|
193
233
|
kind: 'let_decl';
|
|
194
234
|
name: string;
|
|
@@ -196,6 +236,7 @@ export interface LetFormalizeNode extends ASTNode {
|
|
|
196
236
|
passageName: string;
|
|
197
237
|
formula: Formula;
|
|
198
238
|
}
|
|
239
|
+
/** Nodo `let <nombre> = <fórmula>`: declara un alias de fórmula con descripción opcional. */
|
|
199
240
|
export interface LetFormulaNode extends ASTNode {
|
|
200
241
|
kind: 'let_decl';
|
|
201
242
|
name: string;
|
|
@@ -203,19 +244,23 @@ export interface LetFormulaNode extends ASTNode {
|
|
|
203
244
|
formula: Formula;
|
|
204
245
|
description?: string;
|
|
205
246
|
}
|
|
247
|
+
/** Nodo `let <nombre> = "<texto>"`: asigna una descripción semántica en lenguaje natural. */
|
|
206
248
|
export interface LetDescriptionNode extends ASTNode {
|
|
207
249
|
kind: 'let_decl';
|
|
208
250
|
name: string;
|
|
209
251
|
letType: 'description';
|
|
210
252
|
description: string;
|
|
211
253
|
}
|
|
254
|
+
/** Nodo `let <nombre> = <acción>`: almacena el resultado de una acción lógica en una variable. */
|
|
212
255
|
export interface LetActionNode extends ASTNode {
|
|
213
256
|
kind: 'let_decl';
|
|
214
257
|
name: string;
|
|
215
258
|
letType: 'action';
|
|
216
259
|
action: ActionExprNode;
|
|
217
260
|
}
|
|
261
|
+
/** Unión discriminada de todas las variantes de la declaración `let`. */
|
|
218
262
|
export type LetDeclNode = LetPassageNode | LetFormalizeNode | LetFormulaNode | LetDescriptionNode | LetActionNode;
|
|
263
|
+
/** Declaración de aserto: `claim <nombre> := <variable o fórmula>`. */
|
|
219
264
|
export interface ClaimDeclNode extends ASTNode {
|
|
220
265
|
kind: 'claim_decl';
|
|
221
266
|
name: string;
|
|
@@ -223,22 +268,27 @@ export interface ClaimDeclNode extends ASTNode {
|
|
|
223
268
|
formula?: Formula;
|
|
224
269
|
formalization?: string;
|
|
225
270
|
}
|
|
271
|
+
/** Declaración `support <claim> from <source>`: vincula evidencia bibliográfica a un aserto. */
|
|
226
272
|
export interface SupportDeclNode extends ASTNode {
|
|
227
273
|
kind: 'support_decl';
|
|
228
274
|
claimName: string;
|
|
229
275
|
sourceName: string;
|
|
230
276
|
}
|
|
277
|
+
/** Declara un nivel de confianza numérico (0-1) para un aserto. */
|
|
231
278
|
export interface ConfidenceDeclNode extends ASTNode {
|
|
232
279
|
kind: 'confidence_decl';
|
|
233
280
|
claimName: string;
|
|
234
281
|
value: number;
|
|
235
282
|
}
|
|
283
|
+
/** Declaración de contexto textual adicional para un aserto. */
|
|
236
284
|
export interface ContextDeclNode extends ASTNode {
|
|
237
285
|
kind: 'context_decl';
|
|
238
286
|
claimName: string;
|
|
239
287
|
text: string;
|
|
240
288
|
}
|
|
289
|
+
/** Unión discriminada de todas las sentencias válidas en un programa ST. */
|
|
241
290
|
export type Statement = LogicDeclNode | AxiomDeclNode | TheoremDeclNode | DeriveCmdNode | CheckValidCmdNode | CheckSatisfiableCmdNode | CheckEquivalentCmdNode | ProveCmdNode | CountermodelCmdNode | TruthTableCmdNode | LetDeclNode | ClaimDeclNode | SupportDeclNode | ConfidenceDeclNode | ContextDeclNode | RenderCmdNode | AnalyzeCmdNode | ExplainCmdNode | ImportDeclNode | ProofBlockNode | TheoryDeclNode | PrintCmdNode | SetCmdNode | IfStmtNode | ForStmtNode | WhileStmtNode | FnDeclNode | ReturnStmtNode | FnCallNode | ExportDeclNode | DefineDeclNode | UnfoldCmdNode | FoldCmdNode | SourceDeclNode | InterpretCmdNode | GlossaryCmdNode;
|
|
291
|
+
/** Representa un programa ST completo: lista de sentencias + ruta del archivo fuente. */
|
|
242
292
|
export interface Program {
|
|
243
293
|
statements: Statement[];
|
|
244
294
|
file: string;
|
package/dist/ast/nodes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAInD,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,iBAAiB,GACjB,uBAAuB,GACvB,sBAAsB,GACtB,WAAW,GACX,kBAAkB,GAClB,iBAAiB,GACjB,UAAU,GACV,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,WAAW,GACX,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,GACZ,SAAS,GACT,aAAa,GACb,SAAS,GACT,aAAa,GACb,aAAa,GACb,YAAY,GACZ,UAAU,GACV,aAAa,GACb,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;CACxB;AAID,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,OAAO;IACtD,IAAI,EAAE,uBAAuB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACrD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,QAAQ,GACR,OAAO,GACP,cAAc,GACd,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAClD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAID,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACtB;AAID,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,cAAc,CAAC;CACtB;AAID,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAID,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,aAAa,GACb,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,uBAAuB,GACvB,sBAAsB,GACtB,YAAY,GACZ,mBAAmB,GACnB,iBAAiB,GACjB,WAAW,GACX,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,eAAe,GACf,aAAa,GACb,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,YAAY,GACZ,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,UAAU,GACV,cAAc,GACd,UAAU,GACV,cAAc,GACd,cAAc,GACd,aAAa,GACb,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,eAAe,CAAC;AAEpB,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser del formato .stnb — JSON → Notebook
|
|
3
|
+
* Validación estructural sin dependencia de zod (no está en deps).
|
|
4
|
+
*/
|
|
5
|
+
import type { Notebook } from './types';
|
|
6
|
+
export declare class ParseError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Parsea un string JSON → Notebook validado.
|
|
11
|
+
* Lanza ParseError si el formato es inválido.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseNotebook(source: string): Notebook;
|
|
14
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/format/stnb/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAsC,MAAM,SAAS,CAAC;AAE5E,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAiGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAgCtD"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Parser del formato .stnb — JSON → Notebook
|
|
4
|
+
* Validación estructural sin dependencia de zod (no está en deps).
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ParseError = void 0;
|
|
8
|
+
exports.parseNotebook = parseNotebook;
|
|
9
|
+
class ParseError extends Error {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = 'ParseError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.ParseError = ParseError;
|
|
16
|
+
function isObject(v) {
|
|
17
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
18
|
+
}
|
|
19
|
+
function assertString(v, field) {
|
|
20
|
+
if (typeof v !== 'string') {
|
|
21
|
+
throw new ParseError(`Field "${field}" must be a string, got ${typeof v}`);
|
|
22
|
+
}
|
|
23
|
+
return v;
|
|
24
|
+
}
|
|
25
|
+
function validateOutput(raw, cellId, idx) {
|
|
26
|
+
if (!isObject(raw)) {
|
|
27
|
+
throw new ParseError(`Output ${idx} in cell "${cellId}" must be an object`);
|
|
28
|
+
}
|
|
29
|
+
const type = raw['type'];
|
|
30
|
+
if (type !== 'result' && type !== 'error' && type !== 'stream') {
|
|
31
|
+
throw new ParseError(`Output ${idx} in cell "${cellId}" has invalid type "${String(type)}"`);
|
|
32
|
+
}
|
|
33
|
+
if (!isObject(raw['data'])) {
|
|
34
|
+
throw new ParseError(`Output ${idx} in cell "${cellId}" must have "data" object`);
|
|
35
|
+
}
|
|
36
|
+
const output = {
|
|
37
|
+
type,
|
|
38
|
+
data: raw['data'],
|
|
39
|
+
};
|
|
40
|
+
if (raw['metadata'] !== undefined) {
|
|
41
|
+
if (!isObject(raw['metadata'])) {
|
|
42
|
+
throw new ParseError(`Output ${idx} metadata in cell "${cellId}" must be an object`);
|
|
43
|
+
}
|
|
44
|
+
output.metadata = raw['metadata'];
|
|
45
|
+
}
|
|
46
|
+
return output;
|
|
47
|
+
}
|
|
48
|
+
function validateCell(raw, idx) {
|
|
49
|
+
if (!isObject(raw)) {
|
|
50
|
+
throw new ParseError(`Cell ${idx} must be an object`);
|
|
51
|
+
}
|
|
52
|
+
const id = assertString(raw['id'], `cells[${idx}].id`);
|
|
53
|
+
const type = raw['type'];
|
|
54
|
+
const source = assertString(raw['source'], `cells[${idx}].source`);
|
|
55
|
+
if (type === 'markdown') {
|
|
56
|
+
return { id, type: 'markdown', source };
|
|
57
|
+
}
|
|
58
|
+
if (type === 'code') {
|
|
59
|
+
const rawOutputs = raw['outputs'];
|
|
60
|
+
let outputs = [];
|
|
61
|
+
if (rawOutputs !== undefined) {
|
|
62
|
+
if (!Array.isArray(rawOutputs)) {
|
|
63
|
+
throw new ParseError(`Cell "${id}" outputs must be an array`);
|
|
64
|
+
}
|
|
65
|
+
outputs = rawOutputs.map((o, i) => validateOutput(o, id, i));
|
|
66
|
+
}
|
|
67
|
+
const cell = { id, type: 'code', source, outputs };
|
|
68
|
+
if (raw['profile'] !== undefined) {
|
|
69
|
+
cell.profile = assertString(raw['profile'], `cells[${idx}].profile`);
|
|
70
|
+
}
|
|
71
|
+
return cell;
|
|
72
|
+
}
|
|
73
|
+
throw new ParseError(`Cell ${idx} has invalid type "${String(type)}". Must be "code" or "markdown".`);
|
|
74
|
+
}
|
|
75
|
+
function validateMetadata(raw) {
|
|
76
|
+
if (!isObject(raw)) {
|
|
77
|
+
throw new ParseError('"metadata" must be an object');
|
|
78
|
+
}
|
|
79
|
+
const title = assertString(raw['title'], 'metadata.title');
|
|
80
|
+
const profile = assertString(raw['profile'], 'metadata.profile');
|
|
81
|
+
const createdAt = assertString(raw['createdAt'], 'metadata.createdAt');
|
|
82
|
+
const updatedAt = assertString(raw['updatedAt'], 'metadata.updatedAt');
|
|
83
|
+
const meta = { title, profile, createdAt, updatedAt };
|
|
84
|
+
if (typeof raw['author'] === 'string') {
|
|
85
|
+
meta.author = raw['author'];
|
|
86
|
+
}
|
|
87
|
+
// copy extra keys
|
|
88
|
+
for (const [k, v] of Object.entries(raw)) {
|
|
89
|
+
if (!(k in meta)) {
|
|
90
|
+
meta[k] = v;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return meta;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Parsea un string JSON → Notebook validado.
|
|
97
|
+
* Lanza ParseError si el formato es inválido.
|
|
98
|
+
*/
|
|
99
|
+
function parseNotebook(source) {
|
|
100
|
+
let raw;
|
|
101
|
+
try {
|
|
102
|
+
raw = JSON.parse(source);
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
throw new ParseError(`Invalid JSON: ${e.message}`);
|
|
106
|
+
}
|
|
107
|
+
if (!isObject(raw)) {
|
|
108
|
+
throw new ParseError('Notebook must be a JSON object');
|
|
109
|
+
}
|
|
110
|
+
const version = assertString(raw['version'], 'version');
|
|
111
|
+
if (!version.startsWith('1.')) {
|
|
112
|
+
throw new ParseError(`Unsupported notebook version "${version}". Only "1.x" is supported.`);
|
|
113
|
+
}
|
|
114
|
+
const kernel = assertString(raw['kernel'], 'kernel');
|
|
115
|
+
const kernelVersion = assertString(raw['kernelVersion'], 'kernelVersion');
|
|
116
|
+
const metadata = validateMetadata(raw['metadata']);
|
|
117
|
+
if (!Array.isArray(raw['cells'])) {
|
|
118
|
+
throw new ParseError('"cells" must be an array');
|
|
119
|
+
}
|
|
120
|
+
const cells = raw['cells'].map((c, i) => validateCell(c, i));
|
|
121
|
+
return { version, kernel, kernelVersion, metadata, cells };
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/format/stnb/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos del formato .stnb (ST Notebook)
|
|
3
|
+
* Análogo a Jupyter .ipynb para proofs ST.
|
|
4
|
+
*/
|
|
5
|
+
export type CellType = 'code' | 'markdown';
|
|
6
|
+
export type OutputType = 'result' | 'error' | 'stream';
|
|
7
|
+
export interface CellOutputMetadata {
|
|
8
|
+
executionTime?: number;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
export interface CellOutput {
|
|
12
|
+
type: OutputType;
|
|
13
|
+
data: Record<string, unknown>;
|
|
14
|
+
metadata?: CellOutputMetadata;
|
|
15
|
+
}
|
|
16
|
+
export interface BaseCell {
|
|
17
|
+
id: string;
|
|
18
|
+
type: CellType;
|
|
19
|
+
source: string;
|
|
20
|
+
}
|
|
21
|
+
export interface MarkdownCell extends BaseCell {
|
|
22
|
+
type: 'markdown';
|
|
23
|
+
}
|
|
24
|
+
export interface CodeCell extends BaseCell {
|
|
25
|
+
type: 'code';
|
|
26
|
+
profile?: string;
|
|
27
|
+
outputs: CellOutput[];
|
|
28
|
+
}
|
|
29
|
+
export type Cell = MarkdownCell | CodeCell;
|
|
30
|
+
export interface NotebookMetadata {
|
|
31
|
+
title: string;
|
|
32
|
+
author?: string;
|
|
33
|
+
profile: string;
|
|
34
|
+
createdAt: string;
|
|
35
|
+
updatedAt: string;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
}
|
|
38
|
+
export interface Notebook {
|
|
39
|
+
version: string;
|
|
40
|
+
kernel: string;
|
|
41
|
+
kernelVersion: string;
|
|
42
|
+
metadata: NotebookMetadata;
|
|
43
|
+
cells: Cell[];
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/format/stnb/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/format/stnb/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logic/profile-bridge/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAGnE;AA+BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAGnE;AAmDD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAGxD;AA4DD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAGxD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logic/profile-bridge/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAGnE;AA+BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAGnE;AAmDD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAGxD;AA4DD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAGxD;AA0ED,eAAO,MAAM,YAAY,EAAE,WAAW,EAqCrC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAqBhF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAkBhG"}
|
|
@@ -195,9 +195,21 @@ function ctlToLTLRec(f) {
|
|
|
195
195
|
case 'atom':
|
|
196
196
|
return { kind: 'atom', name: f.name };
|
|
197
197
|
case 'true':
|
|
198
|
-
return {
|
|
198
|
+
return {
|
|
199
|
+
kind: 'or',
|
|
200
|
+
args: [
|
|
201
|
+
{ kind: 'atom', name: '__true__' },
|
|
202
|
+
{ kind: 'not', arg: { kind: 'atom', name: '__true__' } },
|
|
203
|
+
],
|
|
204
|
+
};
|
|
199
205
|
case 'false':
|
|
200
|
-
return {
|
|
206
|
+
return {
|
|
207
|
+
kind: 'and',
|
|
208
|
+
args: [
|
|
209
|
+
{ kind: 'atom', name: '__false__' },
|
|
210
|
+
{ kind: 'not', arg: { kind: 'atom', name: '__false__' } },
|
|
211
|
+
],
|
|
212
|
+
};
|
|
201
213
|
case 'not':
|
|
202
214
|
return { kind: 'not', arg: ctlToLTLRec(f.arg) };
|
|
203
215
|
case 'and':
|
|
@@ -205,7 +217,10 @@ function ctlToLTLRec(f) {
|
|
|
205
217
|
case 'or':
|
|
206
218
|
return { kind: 'or', args: f.args.map(ctlToLTLRec) };
|
|
207
219
|
case 'implies':
|
|
208
|
-
return {
|
|
220
|
+
return {
|
|
221
|
+
kind: 'or',
|
|
222
|
+
args: [{ kind: 'not', arg: ctlToLTLRec(f.left) }, ctlToLTLRec(f.right)],
|
|
223
|
+
};
|
|
209
224
|
case 'EX':
|
|
210
225
|
case 'AX':
|
|
211
226
|
return { kind: 'X', arg: ctlToLTLRec(f.arg) };
|
|
@@ -289,6 +304,8 @@ function findTranslationPath(from, to) {
|
|
|
289
304
|
const queue = [[from]];
|
|
290
305
|
while (queue.length > 0) {
|
|
291
306
|
const path = queue.shift();
|
|
307
|
+
if (path === undefined)
|
|
308
|
+
break;
|
|
292
309
|
const current = path[path.length - 1];
|
|
293
310
|
for (const next of neighbours(current)) {
|
|
294
311
|
if (next === to)
|