@stevenvo780/st-lang 3.2.3 → 4.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 +47 -7
- package/dist/api.d.ts +2 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +5 -1
- package/dist/api.js.map +1 -1
- package/dist/argumentation/dot.d.ts +3 -0
- package/dist/argumentation/dot.d.ts.map +1 -0
- package/dist/argumentation/dot.js +25 -0
- package/dist/argumentation/dot.js.map +1 -0
- package/dist/argumentation/extensions.d.ts +11 -0
- package/dist/argumentation/extensions.d.ts.map +1 -0
- package/dist/argumentation/extensions.js +173 -0
- package/dist/argumentation/extensions.js.map +1 -0
- package/dist/argumentation/framework.d.ts +13 -0
- package/dist/argumentation/framework.d.ts.map +1 -0
- package/dist/argumentation/framework.js +117 -0
- package/dist/argumentation/framework.js.map +1 -0
- package/dist/argumentation/index.d.ts +6 -0
- package/dist/argumentation/index.d.ts.map +1 -0
- package/dist/argumentation/index.js +33 -0
- package/dist/argumentation/index.js.map +1 -0
- package/dist/argumentation/types.d.ts +11 -0
- package/dist/argumentation/types.d.ts.map +1 -0
- package/dist/argumentation/types.js +8 -0
- package/dist/argumentation/types.js.map +1 -0
- package/dist/ast/visitor.d.ts +95 -0
- package/dist/ast/visitor.d.ts.map +1 -0
- package/dist/ast/visitor.js +223 -0
- package/dist/ast/visitor.js.map +1 -0
- package/dist/citation-reasoning/derive.d.ts +31 -0
- package/dist/citation-reasoning/derive.d.ts.map +1 -0
- package/dist/citation-reasoning/derive.js +157 -0
- package/dist/citation-reasoning/derive.js.map +1 -0
- package/dist/citation-reasoning/index.d.ts +4 -0
- package/dist/citation-reasoning/index.d.ts.map +1 -0
- package/dist/citation-reasoning/index.js +10 -0
- package/dist/citation-reasoning/index.js.map +1 -0
- package/dist/citation-reasoning/types.d.ts +36 -0
- package/dist/citation-reasoning/types.d.ts.map +1 -0
- package/dist/citation-reasoning/types.js +6 -0
- package/dist/citation-reasoning/types.js.map +1 -0
- package/dist/educational/checker.d.ts +3 -0
- package/dist/educational/checker.d.ts.map +1 -0
- package/dist/educational/checker.js +244 -0
- package/dist/educational/checker.js.map +1 -0
- package/dist/educational/generator.d.ts +4 -0
- package/dist/educational/generator.d.ts.map +1 -0
- package/dist/educational/generator.js +158 -0
- package/dist/educational/generator.js.map +1 -0
- package/dist/educational/index.d.ts +6 -0
- package/dist/educational/index.d.ts.map +1 -0
- package/dist/educational/index.js +21 -0
- package/dist/educational/index.js.map +1 -0
- package/dist/educational/normalize.d.ts +6 -0
- package/dist/educational/normalize.d.ts.map +1 -0
- package/dist/educational/normalize.js +124 -0
- package/dist/educational/normalize.js.map +1 -0
- package/dist/educational/rng.d.ts +10 -0
- package/dist/educational/rng.d.ts.map +1 -0
- package/dist/educational/rng.js +47 -0
- package/dist/educational/rng.js.map +1 -0
- package/dist/educational/templates.d.ts +30 -0
- package/dist/educational/templates.d.ts.map +1 -0
- package/dist/educational/templates.js +567 -0
- package/dist/educational/templates.js.map +1 -0
- package/dist/educational/types.d.ts +44 -0
- package/dist/educational/types.d.ts.map +1 -0
- package/dist/educational/types.js +20 -0
- package/dist/educational/types.js.map +1 -0
- package/dist/exporters/coq/index.d.ts +35 -0
- package/dist/exporters/coq/index.d.ts.map +1 -0
- package/dist/exporters/coq/index.js +299 -0
- package/dist/exporters/coq/index.js.map +1 -0
- package/dist/fol-prover/cnf.d.ts +10 -0
- package/dist/fol-prover/cnf.d.ts.map +1 -0
- package/dist/fol-prover/cnf.js +357 -0
- package/dist/fol-prover/cnf.js.map +1 -0
- package/dist/fol-prover/index.d.ts +7 -0
- package/dist/fol-prover/index.d.ts.map +1 -0
- package/dist/fol-prover/index.js +27 -0
- package/dist/fol-prover/index.js.map +1 -0
- package/dist/fol-prover/prove.d.ts +4 -0
- package/dist/fol-prover/prove.d.ts.map +1 -0
- package/dist/fol-prover/prove.js +34 -0
- package/dist/fol-prover/prove.js.map +1 -0
- package/dist/fol-prover/resolve.d.ts +27 -0
- package/dist/fol-prover/resolve.d.ts.map +1 -0
- package/dist/fol-prover/resolve.js +234 -0
- package/dist/fol-prover/resolve.js.map +1 -0
- package/dist/fol-prover/types.d.ts +34 -0
- package/dist/fol-prover/types.d.ts.map +1 -0
- package/dist/fol-prover/types.js +38 -0
- package/dist/fol-prover/types.js.map +1 -0
- package/dist/fol-prover/unify.d.ts +9 -0
- package/dist/fol-prover/unify.d.ts.map +1 -0
- package/dist/fol-prover/unify.js +110 -0
- package/dist/fol-prover/unify.js.map +1 -0
- package/dist/hyperreal/index.d.ts +45 -0
- package/dist/hyperreal/index.d.ts.map +1 -0
- package/dist/hyperreal/index.js +183 -0
- package/dist/hyperreal/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +72 -1
- package/dist/index.js.map +1 -1
- package/dist/lsp/index.d.ts +6 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +29 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp/protocol.d.ts +20 -0
- package/dist/lsp/protocol.d.ts.map +1 -0
- package/dist/lsp/protocol.js +64 -0
- package/dist/lsp/protocol.js.map +1 -0
- package/dist/lsp/server.d.ts +47 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +529 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/types.d.ts +152 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +70 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/parser/formulas.d.ts +7 -0
- package/dist/parser/formulas.d.ts.map +1 -0
- package/dist/parser/formulas.js +511 -0
- package/dist/parser/formulas.js.map +1 -0
- package/dist/parser/parser.d.ts +11 -41
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +410 -1037
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/state.d.ts +34 -0
- package/dist/parser/state.d.ts.map +1 -0
- package/dist/parser/state.js +163 -0
- package/dist/parser/state.js.map +1 -0
- package/dist/plugin-system/demo-min-logic.d.ts +3 -0
- package/dist/plugin-system/demo-min-logic.d.ts.map +1 -0
- package/dist/plugin-system/demo-min-logic.js +116 -0
- package/dist/plugin-system/demo-min-logic.js.map +1 -0
- package/dist/plugin-system/errors.d.ts +9 -0
- package/dist/plugin-system/errors.d.ts.map +1 -0
- package/dist/plugin-system/errors.js +24 -0
- package/dist/plugin-system/errors.js.map +1 -0
- package/dist/plugin-system/index.d.ts +6 -0
- package/dist/plugin-system/index.d.ts.map +1 -0
- package/dist/plugin-system/index.js +14 -0
- package/dist/plugin-system/index.js.map +1 -0
- package/dist/plugin-system/registry.d.ts +12 -0
- package/dist/plugin-system/registry.d.ts.map +1 -0
- package/dist/plugin-system/registry.js +46 -0
- package/dist/plugin-system/registry.js.map +1 -0
- package/dist/plugin-system/types.d.ts +23 -0
- package/dist/plugin-system/types.d.ts.map +1 -0
- package/dist/plugin-system/types.js +3 -0
- package/dist/plugin-system/types.js.map +1 -0
- package/dist/plugin-system/validate.d.ts +4 -0
- package/dist/plugin-system/validate.d.ts.map +1 -0
- package/dist/plugin-system/validate.js +60 -0
- package/dist/plugin-system/validate.js.map +1 -0
- package/dist/profiles/classical/parallel-sat.js +3 -3
- package/dist/profiles/classical/parallel-sat.js.map +1 -1
- package/dist/proof-exchange/index.d.ts +26 -0
- package/dist/proof-exchange/index.d.ts.map +1 -0
- package/dist/proof-exchange/index.js +94 -0
- package/dist/proof-exchange/index.js.map +1 -0
- package/dist/runtime/memo/cache.d.ts +32 -0
- package/dist/runtime/memo/cache.d.ts.map +1 -0
- package/dist/runtime/memo/cache.js +129 -0
- package/dist/runtime/memo/cache.js.map +1 -0
- package/dist/runtime/memo/hash.d.ts +9 -0
- package/dist/runtime/memo/hash.d.ts.map +1 -0
- package/dist/runtime/memo/hash.js +87 -0
- package/dist/runtime/memo/hash.js.map +1 -0
- package/dist/runtime/memo/index.d.ts +4 -0
- package/dist/runtime/memo/index.d.ts.map +1 -0
- package/dist/runtime/memo/index.js +8 -0
- package/dist/runtime/memo/index.js.map +1 -0
- package/dist/runtime/parallel/index.d.ts +34 -0
- package/dist/runtime/parallel/index.d.ts.map +1 -0
- package/dist/runtime/parallel/index.js +220 -0
- package/dist/runtime/parallel/index.js.map +1 -0
- package/dist/runtime/parallel/worker.d.ts +22 -0
- package/dist/runtime/parallel/worker.d.ts.map +1 -0
- package/dist/runtime/parallel/worker.js +43 -0
- package/dist/runtime/parallel/worker.js.map +1 -0
- package/dist/runtime/smt/index.d.ts +6 -0
- package/dist/runtime/smt/index.d.ts.map +1 -0
- package/dist/runtime/smt/index.js +18 -0
- package/dist/runtime/smt/index.js.map +1 -0
- package/dist/runtime/smt/mock-backend.d.ts +30 -0
- package/dist/runtime/smt/mock-backend.d.ts.map +1 -0
- package/dist/runtime/smt/mock-backend.js +460 -0
- package/dist/runtime/smt/mock-backend.js.map +1 -0
- package/dist/runtime/smt/serializer.d.ts +21 -0
- package/dist/runtime/smt/serializer.d.ts.map +1 -0
- package/dist/runtime/smt/serializer.js +314 -0
- package/dist/runtime/smt/serializer.js.map +1 -0
- package/dist/runtime/smt/subprocess-backend.d.ts +62 -0
- package/dist/runtime/smt/subprocess-backend.d.ts.map +1 -0
- package/dist/runtime/smt/subprocess-backend.js +261 -0
- package/dist/runtime/smt/subprocess-backend.js.map +1 -0
- package/dist/runtime/smt/types.d.ts +57 -0
- package/dist/runtime/smt/types.d.ts.map +1 -0
- package/dist/runtime/smt/types.js +6 -0
- package/dist/runtime/smt/types.js.map +1 -0
- package/dist/runtime/streaming/index.d.ts +4 -0
- package/dist/runtime/streaming/index.d.ts.map +1 -0
- package/dist/runtime/streaming/index.js +9 -0
- package/dist/runtime/streaming/index.js.map +1 -0
- package/dist/runtime/streaming/stream-eval.d.ts +31 -0
- package/dist/runtime/streaming/stream-eval.d.ts.map +1 -0
- package/dist/runtime/streaming/stream-eval.js +155 -0
- package/dist/runtime/streaming/stream-eval.js.map +1 -0
- package/dist/runtime/streaming/types.d.ts +33 -0
- package/dist/runtime/streaming/types.d.ts.map +1 -0
- package/dist/runtime/streaming/types.js +6 -0
- package/dist/runtime/streaming/types.js.map +1 -0
- package/dist/runtime/typecheck/checker.d.ts +72 -0
- package/dist/runtime/typecheck/checker.d.ts.map +1 -0
- package/dist/runtime/typecheck/checker.js +462 -0
- package/dist/runtime/typecheck/checker.js.map +1 -0
- package/dist/runtime/typecheck/index.d.ts +4 -0
- package/dist/runtime/typecheck/index.d.ts.map +1 -0
- package/dist/runtime/typecheck/index.js +13 -0
- package/dist/runtime/typecheck/index.js.map +1 -0
- package/dist/runtime/typecheck/levenshtein.d.ts +11 -0
- package/dist/runtime/typecheck/levenshtein.d.ts.map +1 -0
- package/dist/runtime/typecheck/levenshtein.js +49 -0
- package/dist/runtime/typecheck/levenshtein.js.map +1 -0
- package/dist/runtime/typecheck/types.d.ts +14 -0
- package/dist/runtime/typecheck/types.d.ts.map +1 -0
- package/dist/runtime/typecheck/types.js +26 -0
- package/dist/runtime/typecheck/types.js.map +1 -0
- package/dist/solver/cdcl-v2/clause-learning.d.ts +33 -0
- package/dist/solver/cdcl-v2/clause-learning.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/clause-learning.js +110 -0
- package/dist/solver/cdcl-v2/clause-learning.js.map +1 -0
- package/dist/solver/cdcl-v2/index.d.ts +9 -0
- package/dist/solver/cdcl-v2/index.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/index.js +39 -0
- package/dist/solver/cdcl-v2/index.js.map +1 -0
- package/dist/solver/cdcl-v2/lbd.d.ts +34 -0
- package/dist/solver/cdcl-v2/lbd.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/lbd.js +72 -0
- package/dist/solver/cdcl-v2/lbd.js.map +1 -0
- package/dist/solver/cdcl-v2/luby.d.ts +28 -0
- package/dist/solver/cdcl-v2/luby.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/luby.js +70 -0
- package/dist/solver/cdcl-v2/luby.js.map +1 -0
- package/dist/solver/cdcl-v2/phase-saving.d.ts +14 -0
- package/dist/solver/cdcl-v2/phase-saving.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/phase-saving.js +44 -0
- package/dist/solver/cdcl-v2/phase-saving.js.map +1 -0
- package/dist/solver/cdcl-v2/solver.d.ts +10 -0
- package/dist/solver/cdcl-v2/solver.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/solver.js +442 -0
- package/dist/solver/cdcl-v2/solver.js.map +1 -0
- package/dist/solver/cdcl-v2/state.d.ts +54 -0
- package/dist/solver/cdcl-v2/state.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/state.js +22 -0
- package/dist/solver/cdcl-v2/state.js.map +1 -0
- package/dist/solver/cdcl-v2/vsids.d.ts +19 -0
- package/dist/solver/cdcl-v2/vsids.d.ts.map +1 -0
- package/dist/solver/cdcl-v2/vsids.js +77 -0
- package/dist/solver/cdcl-v2/vsids.js.map +1 -0
- package/dist/tests/agora-integration-fixtures.test.js.map +1 -1
- package/dist/tests/argumentation/dung.test.d.ts +2 -0
- package/dist/tests/argumentation/dung.test.d.ts.map +1 -0
- package/dist/tests/argumentation/dung.test.js +219 -0
- package/dist/tests/argumentation/dung.test.js.map +1 -0
- package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts +2 -0
- package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts.map +1 -0
- package/dist/tests/citation-reasoning/citation-reasoning.test.js +240 -0
- package/dist/tests/citation-reasoning/citation-reasoning.test.js.map +1 -0
- package/dist/tests/coverage-fill-api.test.d.ts +7 -0
- package/dist/tests/coverage-fill-api.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-api.test.js +310 -0
- package/dist/tests/coverage-fill-api.test.js.map +1 -0
- package/dist/tests/coverage-fill-aristotelian.test.d.ts +7 -0
- package/dist/tests/coverage-fill-aristotelian.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-aristotelian.test.js +377 -0
- package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -0
- package/dist/tests/coverage-fill-belnap.test.d.ts +6 -0
- package/dist/tests/coverage-fill-belnap.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-belnap.test.js +277 -0
- package/dist/tests/coverage-fill-belnap.test.js.map +1 -0
- package/dist/tests/coverage-fill-cross-system.test.d.ts +6 -0
- package/dist/tests/coverage-fill-cross-system.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-cross-system.test.js +75 -0
- package/dist/tests/coverage-fill-cross-system.test.js.map +1 -0
- package/dist/tests/coverage-fill-fallacies.test.d.ts +6 -0
- package/dist/tests/coverage-fill-fallacies.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-fallacies.test.js +287 -0
- package/dist/tests/coverage-fill-fallacies.test.js.map +1 -0
- package/dist/tests/coverage-fill-format.test.d.ts +7 -0
- package/dist/tests/coverage-fill-format.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-format.test.js +455 -0
- package/dist/tests/coverage-fill-format.test.js.map +1 -0
- package/dist/tests/coverage-fill-intuitionistic.test.d.ts +6 -0
- package/dist/tests/coverage-fill-intuitionistic.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-intuitionistic.test.js +293 -0
- package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -0
- package/dist/tests/coverage-fill-probabilistic.test.d.ts +7 -0
- package/dist/tests/coverage-fill-probabilistic.test.d.ts.map +1 -0
- package/dist/tests/coverage-fill-probabilistic.test.js +314 -0
- package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -0
- package/dist/tests/educational/checker.test.d.ts +2 -0
- package/dist/tests/educational/checker.test.d.ts.map +1 -0
- package/dist/tests/educational/checker.test.js +212 -0
- package/dist/tests/educational/checker.test.js.map +1 -0
- package/dist/tests/educational/generator.test.d.ts +2 -0
- package/dist/tests/educational/generator.test.d.ts.map +1 -0
- package/dist/tests/educational/generator.test.js +137 -0
- package/dist/tests/educational/generator.test.js.map +1 -0
- package/dist/tests/exporters/coq/coq-exporter.test.d.ts +2 -0
- package/dist/tests/exporters/coq/coq-exporter.test.d.ts.map +1 -0
- package/dist/tests/exporters/coq/coq-exporter.test.js +353 -0
- package/dist/tests/exporters/coq/coq-exporter.test.js.map +1 -0
- package/dist/tests/fol-prover/cnf.test.d.ts +2 -0
- package/dist/tests/fol-prover/cnf.test.d.ts.map +1 -0
- package/dist/tests/fol-prover/cnf.test.js +74 -0
- package/dist/tests/fol-prover/cnf.test.js.map +1 -0
- package/dist/tests/fol-prover/prove.test.d.ts +2 -0
- package/dist/tests/fol-prover/prove.test.d.ts.map +1 -0
- package/dist/tests/fol-prover/prove.test.js +106 -0
- package/dist/tests/fol-prover/prove.test.js.map +1 -0
- package/dist/tests/fol-prover/unify.test.d.ts +2 -0
- package/dist/tests/fol-prover/unify.test.d.ts.map +1 -0
- package/dist/tests/fol-prover/unify.test.js +66 -0
- package/dist/tests/fol-prover/unify.test.js.map +1 -0
- package/dist/tests/hyperreal/hyperreal.test.d.ts +2 -0
- package/dist/tests/hyperreal/hyperreal.test.d.ts.map +1 -0
- package/dist/tests/hyperreal/hyperreal.test.js +219 -0
- package/dist/tests/hyperreal/hyperreal.test.js.map +1 -0
- package/dist/tests/lsp/server.test.d.ts +2 -0
- package/dist/tests/lsp/server.test.d.ts.map +1 -0
- package/dist/tests/lsp/server.test.js +406 -0
- package/dist/tests/lsp/server.test.js.map +1 -0
- package/dist/tests/memo/cache.test.d.ts +2 -0
- package/dist/tests/memo/cache.test.d.ts.map +1 -0
- package/dist/tests/memo/cache.test.js +252 -0
- package/dist/tests/memo/cache.test.js.map +1 -0
- package/dist/tests/parallel/parallel-pool.test.d.ts +11 -0
- package/dist/tests/parallel/parallel-pool.test.d.ts.map +1 -0
- package/dist/tests/parallel/parallel-pool.test.js +192 -0
- package/dist/tests/parallel/parallel-pool.test.js.map +1 -0
- package/dist/tests/plugin-system/demo-min-logic.test.d.ts +2 -0
- package/dist/tests/plugin-system/demo-min-logic.test.d.ts.map +1 -0
- package/dist/tests/plugin-system/demo-min-logic.test.js +85 -0
- package/dist/tests/plugin-system/demo-min-logic.test.js.map +1 -0
- package/dist/tests/plugin-system/registry.test.d.ts +2 -0
- package/dist/tests/plugin-system/registry.test.d.ts.map +1 -0
- package/dist/tests/plugin-system/registry.test.js +88 -0
- package/dist/tests/plugin-system/registry.test.js.map +1 -0
- package/dist/tests/plugin-system/validate.test.d.ts +2 -0
- package/dist/tests/plugin-system/validate.test.d.ts.map +1 -0
- package/dist/tests/plugin-system/validate.test.js +101 -0
- package/dist/tests/plugin-system/validate.test.js.map +1 -0
- package/dist/tests/proof-exchange/proof-exchange.test.d.ts +2 -0
- package/dist/tests/proof-exchange/proof-exchange.test.d.ts.map +1 -0
- package/dist/tests/proof-exchange/proof-exchange.test.js +161 -0
- package/dist/tests/proof-exchange/proof-exchange.test.js.map +1 -0
- package/dist/tests/sat-v2/clause-learning.test.d.ts +2 -0
- package/dist/tests/sat-v2/clause-learning.test.d.ts.map +1 -0
- package/dist/tests/sat-v2/clause-learning.test.js +73 -0
- package/dist/tests/sat-v2/clause-learning.test.js.map +1 -0
- package/dist/tests/sat-v2/lbd.test.d.ts +2 -0
- package/dist/tests/sat-v2/lbd.test.d.ts.map +1 -0
- package/dist/tests/sat-v2/lbd.test.js +82 -0
- package/dist/tests/sat-v2/lbd.test.js.map +1 -0
- package/dist/tests/sat-v2/luby.test.d.ts +2 -0
- package/dist/tests/sat-v2/luby.test.d.ts.map +1 -0
- package/dist/tests/sat-v2/luby.test.js +58 -0
- package/dist/tests/sat-v2/luby.test.js.map +1 -0
- package/dist/tests/sat-v2/phase-saving.test.d.ts +2 -0
- package/dist/tests/sat-v2/phase-saving.test.d.ts.map +1 -0
- package/dist/tests/sat-v2/phase-saving.test.js +38 -0
- package/dist/tests/sat-v2/phase-saving.test.js.map +1 -0
- package/dist/tests/sat-v2/solver-end-to-end.test.d.ts +2 -0
- package/dist/tests/sat-v2/solver-end-to-end.test.d.ts.map +1 -0
- package/dist/tests/sat-v2/solver-end-to-end.test.js +199 -0
- package/dist/tests/sat-v2/solver-end-to-end.test.js.map +1 -0
- package/dist/tests/sat-v2/vsids.test.d.ts +2 -0
- package/dist/tests/sat-v2/vsids.test.d.ts.map +1 -0
- package/dist/tests/sat-v2/vsids.test.js +69 -0
- package/dist/tests/sat-v2/vsids.test.js.map +1 -0
- package/dist/tests/smt/mock-backend.test.d.ts +2 -0
- package/dist/tests/smt/mock-backend.test.d.ts.map +1 -0
- package/dist/tests/smt/mock-backend.test.js +129 -0
- package/dist/tests/smt/mock-backend.test.js.map +1 -0
- package/dist/tests/smt/serializer.test.d.ts +2 -0
- package/dist/tests/smt/serializer.test.d.ts.map +1 -0
- package/dist/tests/smt/serializer.test.js +94 -0
- package/dist/tests/smt/serializer.test.js.map +1 -0
- package/dist/tests/smt/subprocess-backend.test.d.ts +2 -0
- package/dist/tests/smt/subprocess-backend.test.d.ts.map +1 -0
- package/dist/tests/smt/subprocess-backend.test.js +89 -0
- package/dist/tests/smt/subprocess-backend.test.js.map +1 -0
- package/dist/tests/streaming/stream-eval.test.d.ts +2 -0
- package/dist/tests/streaming/stream-eval.test.d.ts.map +1 -0
- package/dist/tests/streaming/stream-eval.test.js +170 -0
- package/dist/tests/streaming/stream-eval.test.js.map +1 -0
- package/dist/tests/text-layer-v2/claim-graph.test.d.ts +2 -0
- package/dist/tests/text-layer-v2/claim-graph.test.d.ts.map +1 -0
- package/dist/tests/text-layer-v2/claim-graph.test.js +255 -0
- package/dist/tests/text-layer-v2/claim-graph.test.js.map +1 -0
- package/dist/tests/time-travel/snapshot.test.d.ts +2 -0
- package/dist/tests/time-travel/snapshot.test.d.ts.map +1 -0
- package/dist/tests/time-travel/snapshot.test.js +75 -0
- package/dist/tests/time-travel/snapshot.test.js.map +1 -0
- package/dist/tests/time-travel/store.test.d.ts +2 -0
- package/dist/tests/time-travel/store.test.d.ts.map +1 -0
- package/dist/tests/time-travel/store.test.js +242 -0
- package/dist/tests/time-travel/store.test.js.map +1 -0
- package/dist/tests/typecheck-core.test.d.ts +2 -0
- package/dist/tests/typecheck-core.test.d.ts.map +1 -0
- package/dist/tests/typecheck-core.test.js +339 -0
- package/dist/tests/typecheck-core.test.js.map +1 -0
- package/dist/text-layer/v2/claim-graph.d.ts +45 -0
- package/dist/text-layer/v2/claim-graph.d.ts.map +1 -0
- package/dist/text-layer/v2/claim-graph.js +270 -0
- package/dist/text-layer/v2/claim-graph.js.map +1 -0
- package/dist/text-layer/v2/index.d.ts +6 -0
- package/dist/text-layer/v2/index.d.ts.map +1 -0
- package/dist/text-layer/v2/index.js +10 -0
- package/dist/text-layer/v2/index.js.map +1 -0
- package/dist/text-layer/v2/types.d.ts +32 -0
- package/dist/text-layer/v2/types.d.ts.map +1 -0
- package/dist/text-layer/v2/types.js +11 -0
- package/dist/text-layer/v2/types.js.map +1 -0
- package/dist/time-travel/index.d.ts +4 -0
- package/dist/time-travel/index.d.ts.map +1 -0
- package/dist/time-travel/index.js +8 -0
- package/dist/time-travel/index.js.map +1 -0
- package/dist/time-travel/snapshot.d.ts +9 -0
- package/dist/time-travel/snapshot.d.ts.map +1 -0
- package/dist/time-travel/snapshot.js +24 -0
- package/dist/time-travel/snapshot.js.map +1 -0
- package/dist/time-travel/store.d.ts +14 -0
- package/dist/time-travel/store.d.ts.map +1 -0
- package/dist/time-travel/store.js +119 -0
- package/dist/time-travel/store.js.map +1 -0
- package/dist/time-travel/types.d.ts +50 -0
- package/dist/time-travel/types.d.ts.map +1 -0
- package/dist/time-travel/types.js +3 -0
- package/dist/time-travel/types.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Formula } from '../../types';
|
|
2
|
+
/** Sorts SMT-LIB v2 soportados por el bridge. */
|
|
3
|
+
export type SMTSort = 'Bool' | 'Int' | 'Real' | 'BitVec';
|
|
4
|
+
/** Lógicas SMT-LIB v2 reconocidas por el serializador. */
|
|
5
|
+
export type SMTLogic = 'QF_LRA' | 'QF_LIA' | 'QF_BV' | 'AUFLIA';
|
|
6
|
+
/** Resultado de checkSat según SMT-LIB v2. */
|
|
7
|
+
export type SMTResult = 'sat' | 'unsat' | 'unknown';
|
|
8
|
+
/** Modelo devuelto por getModel: mapa de constante → valor decodificado. */
|
|
9
|
+
export type SMTModel = Record<string, string | number | boolean>;
|
|
10
|
+
/** Opciones para el serializador SMT-LIB v2. */
|
|
11
|
+
export interface ToSMTLIBOptions {
|
|
12
|
+
/** Lógica para emitir `(set-logic ...)`. Default: QF_LRA. */
|
|
13
|
+
logic?: SMTLogic;
|
|
14
|
+
/** Si true emite (set-logic ...) y `(check-sat)`. Default: false (solo formula). */
|
|
15
|
+
full?: boolean;
|
|
16
|
+
/** Tamaño en bits para sort BitVec (default 32). */
|
|
17
|
+
bvWidth?: number;
|
|
18
|
+
}
|
|
19
|
+
/** Backend SMT — abstracción común para mock e implementaciones reales. */
|
|
20
|
+
export interface SMTBackend {
|
|
21
|
+
readonly name: string;
|
|
22
|
+
reset(): void;
|
|
23
|
+
push(): void;
|
|
24
|
+
pop(levels?: number): void;
|
|
25
|
+
declareConst(name: string, sort: SMTSort): void;
|
|
26
|
+
assertFormula(smtlib: string): void;
|
|
27
|
+
checkSat(): SMTResult;
|
|
28
|
+
getModel(): SMTModel | undefined;
|
|
29
|
+
getUnsatCore(): string[];
|
|
30
|
+
}
|
|
31
|
+
/** Solver externo detectado en el PATH. */
|
|
32
|
+
export type DetectedSolver = 'z3' | 'cvc5' | 'none';
|
|
33
|
+
/** Resultado interno de una operación de detección. */
|
|
34
|
+
export interface DetectionResult {
|
|
35
|
+
solver: DetectedSolver;
|
|
36
|
+
/** Path absoluto si está disponible (resuelto por `which`). */
|
|
37
|
+
binaryPath?: string;
|
|
38
|
+
}
|
|
39
|
+
/** Declaración de constante registrada en un scope. */
|
|
40
|
+
export interface ConstDeclaration {
|
|
41
|
+
name: string;
|
|
42
|
+
sort: SMTSort;
|
|
43
|
+
bvWidth?: number;
|
|
44
|
+
}
|
|
45
|
+
/** Aserción registrada en un scope. */
|
|
46
|
+
export interface ScopedAssertion {
|
|
47
|
+
/** SMT-LIB v2 raw del cuerpo (sin `(assert ...)`). */
|
|
48
|
+
body: string;
|
|
49
|
+
/** Fórmula original si fue inyectada vía toSMTLIB, para razonamiento del mock. */
|
|
50
|
+
formula?: Formula;
|
|
51
|
+
}
|
|
52
|
+
/** Estado de un nivel del stack push/pop. */
|
|
53
|
+
export interface SMTScope {
|
|
54
|
+
decls: ConstDeclaration[];
|
|
55
|
+
assertions: ScopedAssertion[];
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/smt/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,iDAAiD;AACjD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzD,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEjE,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,IAAI,SAAS,CAAC;IACtB,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAAC;IACjC,YAAY,IAAI,MAAM,EAAE,CAAC;CAC1B;AAED,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST SMT — Tipos públicos del bridge a solvers SMT externos
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/smt/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,+DAA+D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/streaming/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Streaming — Barrel de exportaciones
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.streamEval = void 0;
|
|
7
|
+
var stream_eval_1 = require("./stream-eval");
|
|
8
|
+
Object.defineProperty(exports, "streamEval", { enumerable: true, get: function () { return stream_eval_1.streamEval; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/streaming/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,yCAAyC;AACzC,+DAA+D;;;AAE/D,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Formula } from '../../types';
|
|
2
|
+
import '../../profiles';
|
|
3
|
+
import type { StreamEvent, ProfileName } from './types';
|
|
4
|
+
export interface StreamEvalOptions {
|
|
5
|
+
abortSignal?: AbortSignal;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Evalúa una fórmula AST bajo el perfil dado y emite eventos progresivos.
|
|
9
|
+
*
|
|
10
|
+
* Orden garantizado de eventos:
|
|
11
|
+
* `start` → (`subproof` | `progress`)* → `partial` → `done` | `error`
|
|
12
|
+
*
|
|
13
|
+
* Soporta cancelación vía `AbortSignal`. Cuando se cancela:
|
|
14
|
+
* - Se emite un evento `error` con mensaje de cancelación.
|
|
15
|
+
* - El iterable termina inmediatamente.
|
|
16
|
+
*
|
|
17
|
+
* Errores en la evaluación producen un evento `error` (no throw).
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const formula: Formula = { kind: 'implies', args: [
|
|
22
|
+
* { kind: 'atom', name: 'P' },
|
|
23
|
+
* { kind: 'atom', name: 'P' },
|
|
24
|
+
* ]};
|
|
25
|
+
* for await (const event of streamEval(formula, 'classical.propositional')) {
|
|
26
|
+
* console.log(event);
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function streamEval(formula: Formula, profile: ProfileName, opts?: StreamEvalOptions): AsyncIterable<StreamEvent>;
|
|
31
|
+
//# sourceMappingURL=stream-eval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-eval.d.ts","sourceRoot":"","sources":["../../../src/runtime/streaming/stream-eval.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAc,WAAW,EAAE,MAAM,SAAS,CAAC;AAIpE,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAoDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAuB,UAAU,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,iBAAiB,GACvB,aAAa,CAAC,WAAW,CAAC,CA4F5B"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Streaming — streamEval(): evaluación incremental con AsyncIterable
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.streamEval = streamEval;
|
|
7
|
+
const interface_1 = require("../../profiles/interface");
|
|
8
|
+
const propositional_1 = require("../../profiles/classical/propositional");
|
|
9
|
+
require("../../profiles"); // registra perfiles built-in
|
|
10
|
+
// ── Helpers internos ──────────────────────────────────────────
|
|
11
|
+
/** Yield un tick de event-loop para que el iterable sea genuinamente async. */
|
|
12
|
+
function tick() {
|
|
13
|
+
return new Promise((resolve) => setImmediate(resolve));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Mapea el status de RunResult a las categorías de subproof.
|
|
17
|
+
*/
|
|
18
|
+
function statusToSubproofResult(status) {
|
|
19
|
+
switch (status) {
|
|
20
|
+
case 'valid':
|
|
21
|
+
case 'provable':
|
|
22
|
+
case 'satisfiable':
|
|
23
|
+
return 'T';
|
|
24
|
+
case 'invalid':
|
|
25
|
+
case 'refutable':
|
|
26
|
+
case 'unsatisfiable':
|
|
27
|
+
return 'F';
|
|
28
|
+
case 'error':
|
|
29
|
+
return 'unknown';
|
|
30
|
+
default:
|
|
31
|
+
return 'unknown';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Extrae sub-nodos significativos de la fórmula para generar eventos subproof.
|
|
36
|
+
* Devuelve hasta maxNodes sub-fórmulas con su representación string.
|
|
37
|
+
*/
|
|
38
|
+
function extractSubnodes(formula, maxNodes = 8) {
|
|
39
|
+
const result = [];
|
|
40
|
+
function walk(f, depth) {
|
|
41
|
+
if (result.length >= maxNodes)
|
|
42
|
+
return;
|
|
43
|
+
if (depth > 0 && f.kind !== 'atom') {
|
|
44
|
+
result.push(f);
|
|
45
|
+
}
|
|
46
|
+
for (const arg of f.args ?? []) {
|
|
47
|
+
walk(arg, depth + 1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
walk(formula, 0);
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
// ── API principal ─────────────────────────────────────────────
|
|
54
|
+
/**
|
|
55
|
+
* Evalúa una fórmula AST bajo el perfil dado y emite eventos progresivos.
|
|
56
|
+
*
|
|
57
|
+
* Orden garantizado de eventos:
|
|
58
|
+
* `start` → (`subproof` | `progress`)* → `partial` → `done` | `error`
|
|
59
|
+
*
|
|
60
|
+
* Soporta cancelación vía `AbortSignal`. Cuando se cancela:
|
|
61
|
+
* - Se emite un evento `error` con mensaje de cancelación.
|
|
62
|
+
* - El iterable termina inmediatamente.
|
|
63
|
+
*
|
|
64
|
+
* Errores en la evaluación producen un evento `error` (no throw).
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* const formula: Formula = { kind: 'implies', args: [
|
|
69
|
+
* { kind: 'atom', name: 'P' },
|
|
70
|
+
* { kind: 'atom', name: 'P' },
|
|
71
|
+
* ]};
|
|
72
|
+
* for await (const event of streamEval(formula, 'classical.propositional')) {
|
|
73
|
+
* console.log(event);
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
async function* streamEval(formula, profile, opts) {
|
|
78
|
+
const signal = opts?.abortSignal;
|
|
79
|
+
const startTime = Date.now();
|
|
80
|
+
const checkAborted = () => signal?.aborted ?? false;
|
|
81
|
+
const formulaStr = (0, propositional_1.formulaToString)(formula);
|
|
82
|
+
// ── start ────────────────────────────────────────────────────
|
|
83
|
+
yield { kind: 'start', formula: formulaStr };
|
|
84
|
+
await tick();
|
|
85
|
+
if (checkAborted()) {
|
|
86
|
+
yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
// ── Resolver perfil ─────────────────────────────────────────
|
|
90
|
+
const logicProfile = interface_1.registry.get(profile);
|
|
91
|
+
if (!logicProfile) {
|
|
92
|
+
yield {
|
|
93
|
+
kind: 'error',
|
|
94
|
+
error: `Perfil lógico desconocido: "${profile}"`,
|
|
95
|
+
};
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// ── Sub-nodos para eventos subproof ──────────────────────────
|
|
99
|
+
const subnodes = extractSubnodes(formula);
|
|
100
|
+
const total = subnodes.length;
|
|
101
|
+
for (let i = 0; i < subnodes.length; i++) {
|
|
102
|
+
if (checkAborted()) {
|
|
103
|
+
yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const sub = subnodes[i];
|
|
107
|
+
if (!sub)
|
|
108
|
+
continue;
|
|
109
|
+
let subResult;
|
|
110
|
+
try {
|
|
111
|
+
subResult = logicProfile.checkValid(sub);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
subResult = { status: 'unknown', diagnostics: [], formula: sub };
|
|
115
|
+
}
|
|
116
|
+
const subStr = (0, propositional_1.formulaToString)(sub);
|
|
117
|
+
yield {
|
|
118
|
+
kind: 'subproof',
|
|
119
|
+
node: subStr,
|
|
120
|
+
result: statusToSubproofResult(subResult.status),
|
|
121
|
+
};
|
|
122
|
+
await tick();
|
|
123
|
+
const ratio = (i + 1) / (total + 1);
|
|
124
|
+
yield { kind: 'progress', ratio };
|
|
125
|
+
await tick();
|
|
126
|
+
}
|
|
127
|
+
if (checkAborted()) {
|
|
128
|
+
yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// ── Progreso: 90% — a punto de evaluar ──────────────────────
|
|
132
|
+
yield { kind: 'progress', ratio: 0.9 };
|
|
133
|
+
await tick();
|
|
134
|
+
// ── Evaluación principal ─────────────────────────────────────
|
|
135
|
+
let finalResult;
|
|
136
|
+
try {
|
|
137
|
+
finalResult = logicProfile.checkValid(formula);
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
141
|
+
yield { kind: 'error', error: message };
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (checkAborted()) {
|
|
145
|
+
yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
// ── partial result ───────────────────────────────────────────
|
|
149
|
+
yield { kind: 'partial', result: finalResult };
|
|
150
|
+
await tick();
|
|
151
|
+
// ── done ─────────────────────────────────────────────────────
|
|
152
|
+
const totalMs = Date.now() - startTime;
|
|
153
|
+
yield { kind: 'done', result: finalResult, totalMs };
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=stream-eval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-eval.js","sourceRoot":"","sources":["../../../src/runtime/streaming/stream-eval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RunResult } from '../../types';
|
|
2
|
+
/** Resultado de evaluación expuesto por el streaming API. Alias de RunResult. */
|
|
3
|
+
export type EvalResult = RunResult;
|
|
4
|
+
/**
|
|
5
|
+
* Evento emitido por streamEval().
|
|
6
|
+
*
|
|
7
|
+
* Orden garantizado:
|
|
8
|
+
* start → (subproof | progress | partial)* → done | error
|
|
9
|
+
*/
|
|
10
|
+
export type StreamEvent = {
|
|
11
|
+
kind: 'start';
|
|
12
|
+
formula: string;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'subproof';
|
|
15
|
+
node: string;
|
|
16
|
+
result: 'T' | 'F' | 'both' | 'neither' | 'unknown';
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'progress';
|
|
19
|
+
ratio: number;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'partial';
|
|
22
|
+
result: EvalResult;
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'done';
|
|
25
|
+
result: EvalResult;
|
|
26
|
+
totalMs: number;
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'error';
|
|
29
|
+
error: string;
|
|
30
|
+
};
|
|
31
|
+
/** Nombres válidos de perfil lógico (string abierto para extensibilidad). */
|
|
32
|
+
export type ProfileName = string;
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/streaming/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Streaming — Tipos públicos del API de evaluación incremental
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/streaming/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kEAAkE;AAClE,+DAA+D"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { BaseASTVisitor } from '../../ast/visitor';
|
|
2
|
+
import type { Statement, Program } from '../../ast/nodes';
|
|
3
|
+
import type { LogicDeclNode, AxiomDeclNode, TheoremDeclNode, DeriveCmdNode, CheckValidCmdNode, CheckSatisfiableCmdNode, CheckEquivalentCmdNode, ProveCmdNode, CountermodelCmdNode, TruthTableCmdNode, LetDeclNode, AnalyzeCmdNode, ExplainCmdNode, ImportDeclNode, ProofBlockNode, TheoryDeclNode, IfStmtNode, ForStmtNode, WhileStmtNode, FnDeclNode, ReturnStmtNode, FnCallNode, ExportDeclNode, DefineDeclNode, UnfoldCmdNode, FoldCmdNode, InterpretCmdNode } from '../../ast/nodes';
|
|
4
|
+
import type { TypeError, ProfileName } from './types';
|
|
5
|
+
export declare class TypeChecker extends BaseASTVisitor<TypeError[]> {
|
|
6
|
+
private profile;
|
|
7
|
+
private scope;
|
|
8
|
+
/** Axioms y teoremas declarados (nombres) — para duplicados */
|
|
9
|
+
private axiomNames;
|
|
10
|
+
private theoremNames;
|
|
11
|
+
/** Imports vistos en este programa (para TC007) */
|
|
12
|
+
private importsSeen;
|
|
13
|
+
/** Nombre del archivo actual */
|
|
14
|
+
private file;
|
|
15
|
+
constructor(profile?: ProfileName, file?: string);
|
|
16
|
+
protected defaultResult(_node: Statement): TypeError[];
|
|
17
|
+
private err;
|
|
18
|
+
/** Todos los nombres declarados en el scope actual (para sugerencias) */
|
|
19
|
+
private allDeclaredNames;
|
|
20
|
+
/** Comprueba si el perfil actual es modal */
|
|
21
|
+
private isModalProfile;
|
|
22
|
+
/** Comprueba si el perfil actual es temporal */
|
|
23
|
+
private isTemporalProfile;
|
|
24
|
+
/** Comprueba si el perfil actual soporta FO (cuantificadores) */
|
|
25
|
+
private isFirstOrderProfile;
|
|
26
|
+
/**
|
|
27
|
+
* Recorre una Formula recursivamente buscando errores.
|
|
28
|
+
* Devuelve lista de errores encontrados.
|
|
29
|
+
*/
|
|
30
|
+
private checkFormula;
|
|
31
|
+
/**
|
|
32
|
+
* Visita recursivamente una lista de statements en un scope dado.
|
|
33
|
+
*/
|
|
34
|
+
private visitStatements;
|
|
35
|
+
visitLogicDecl(node: LogicDeclNode): TypeError[];
|
|
36
|
+
visitAxiomDecl(node: AxiomDeclNode): TypeError[];
|
|
37
|
+
visitTheoremDecl(node: TheoremDeclNode): TypeError[];
|
|
38
|
+
visitDeriveCmd(node: DeriveCmdNode): TypeError[];
|
|
39
|
+
visitCheckValidCmd(node: CheckValidCmdNode): TypeError[];
|
|
40
|
+
visitCheckSatisfiableCmd(node: CheckSatisfiableCmdNode): TypeError[];
|
|
41
|
+
visitCheckEquivalentCmd(node: CheckEquivalentCmdNode): TypeError[];
|
|
42
|
+
visitProveCmd(node: ProveCmdNode): TypeError[];
|
|
43
|
+
visitCountermodelCmd(node: CountermodelCmdNode): TypeError[];
|
|
44
|
+
visitTruthTableCmd(node: TruthTableCmdNode): TypeError[];
|
|
45
|
+
visitLetDecl(node: LetDeclNode): TypeError[];
|
|
46
|
+
visitAnalyzeCmd(node: AnalyzeCmdNode): TypeError[];
|
|
47
|
+
visitExplainCmd(node: ExplainCmdNode): TypeError[];
|
|
48
|
+
visitImportDecl(node: ImportDeclNode): TypeError[];
|
|
49
|
+
visitProofBlock(node: ProofBlockNode): TypeError[];
|
|
50
|
+
visitTheoryDecl(node: TheoryDeclNode): TypeError[];
|
|
51
|
+
visitIfStmt(node: IfStmtNode): TypeError[];
|
|
52
|
+
visitForStmt(node: ForStmtNode): TypeError[];
|
|
53
|
+
visitWhileStmt(node: WhileStmtNode): TypeError[];
|
|
54
|
+
visitFnDecl(node: FnDeclNode): TypeError[];
|
|
55
|
+
visitReturnStmt(node: ReturnStmtNode): TypeError[];
|
|
56
|
+
visitFnCall(node: FnCallNode): TypeError[];
|
|
57
|
+
visitExportDecl(node: ExportDeclNode): TypeError[];
|
|
58
|
+
visitDefineDecl(node: DefineDeclNode): TypeError[];
|
|
59
|
+
visitUnfoldCmd(node: UnfoldCmdNode): TypeError[];
|
|
60
|
+
visitFoldCmd(node: FoldCmdNode): TypeError[];
|
|
61
|
+
visitInterpretCmd(node: InterpretCmdNode): TypeError[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Ejecuta el type-checker estático sobre un Program ya parseado.
|
|
65
|
+
*
|
|
66
|
+
* @param program AST del programa ST
|
|
67
|
+
* @param profile Nombre del perfil activo (puede estar en el AST como logic_decl)
|
|
68
|
+
* @param file Nombre del archivo (para TC007)
|
|
69
|
+
* @returns Lista de TypeError[] — vacía si no hay errores
|
|
70
|
+
*/
|
|
71
|
+
export declare function typeCheck(program: Program, profile?: ProfileName, file?: string): TypeError[];
|
|
72
|
+
//# sourceMappingURL=checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/runtime/typecheck/checker.ts"],"names":[],"mappings":"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"}
|